This is a prototype system that could serve as the "back-end" of a campervan rental system. Customers can make, change and delete campervan bookings. Campervans can be either Manual or Automatic. A vehicle must be picked up and dropped off at the same depot. Each booking has an ID number and is for one or more campervans (manual and/or automatic) for a period of time given by a start date and an end date (assume 2017 is the year for all dates, and dates are in the format HH MMM DD). A booking request is either granted in full or is completely rejected by the system; there are no bookings partially filled.
All input will be a sequence of lines of the following form, where, in addition, a comment (starting with a '#' character) can appear at the end of a line. Your program should be able to process and discard such comments (this includes whole lines that consist only of a comment).
Location # specify that has a campervan with that has transmission Request [ ] # booking request is from to for vehicles of type , etc. Change [ ] # change booking to be from to with vehicles of type , etc. Cancel # cancel booking (if it exists) and free up vehicles Print # print record of all vehicles in