Remove a line from the Berlin City Tour basket
Automatically remove a line from the Berlin City Tour basket on berlin-city-tour.de. Takes one line out of a Berlin City Tour basket, using the cartId and cartPackageGroupId that add_to_cart returned, and reports what the basket holds afterwards. This is the counterpart to add_to_cart: because the shop merges repeated adds for one travel date into a single line, a run that was retried leaves more guests on that date than intended, and this is how that is undone. It refuses when the basket has no such line, and it checks the line is really gone before reporting success rather than trusting the request it sent.
Input
cartId requiredThe basket, as add_to_cart returned it.
cartPackageGroupId requiredThe basket line to remove, as add_to_cart returned it.
Output
cartId requiredcartTotal requiredremainingLines requiredremovedGroupId requiredremovedQuantity requiredHow many guests the removed line held.
currency optionalFAQ
Add a Berlin City Tour ticket to the basket for a date
Puts tickets for one travel date into the Berlin City Tour basket and returns the basket contents it created. Takes the guest counts per price category, as check_availability reports them, and the offer_hash from that same check. Before it writes anything it re-reads what the shop sells on that date and recomputes the hash: if the date, the timeslots or the prices have moved since the check, it adds nothing and refuses with what the shop shows now, so the caller can confirm the new offer and retry. It also refuses a date the shop does not sell, a guest category the product does not offer, and a request for more guests than the remaining capacity. The basket lives in the browser, so the cartPackageGroupId it returns is what the later booking steps work from.
Check Berlin City Tour ticket availability for a date
Reads the Berlin City Tour shop for one calendar date and returns the bookable timeslots, the per-guest-category prices, and the remaining capacity. The Hop-on Hop-off Classic tour is sold as a day ticket, so a bookable date has a single open timeslot covering the whole day rather than departure times. When the date is not on sale it returns available false with the reason the shop gave and the other dates on sale around it, so the caller can offer an alternative instead of guessing. The offer_hash it returns identifies the date, the slots and the prices it saw; pass it to add_to_cart, which refuses if the shop has changed since.
