Change a booking
change_bookingChanges an existing booking at the customer's request (date, time, address, pickup, drop-off, passengers, luggage, car, flight, notes). First call get_quote with the complete changed ride and get the customer's approval of the new price, then send the same ride fields with that quoteToken plus the bookingId and the customer's email. Requests not yet confirmed by the driver are updated at once (a request still waiting for the email confirmation is re-sent with a new link; an unpaid tour gets a new payment link). Confirmed or paid bookings are passed to Jet Cab AMS as a change request, which they confirm by email. The ride type (transfer, custom ride, tour) cannot change: cancel and book anew instead.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"bookingId": "<bookingId>",
"email": "<email>",
"quoteToken": "<quoteToken>",
"type": "<type>",
"car": "<car>",
"date": "<date>",
"time": "<time>",
"passengers": "<passengers>"
},
"name": "change_booking"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| car | Yes | E-Class max 4, S-Class max 2, V-Class max 7 passengers. | |
| date | Yes | Local date in Europe/Amsterdam. | |
| lang | No | ||
| time | Yes | Local time in Europe/Amsterdam, between 04:00 and 20:00. | |
| type | Yes | ||
| Yes | The customer's email address used for the booking (proves it is their booking). | ||
| notes | No | ||
| flight | No | ||
| pickup | No | Required for custom rides and tours: agreed pickup address or hotel, preserved in review and confirmations. | |
| address | No | Fixed routes only: the non-airport pickup/drop-off address. The fare follows the route zone of the address (postcode first, then town name). An address whose Dutch postcode is in no fixed-route zone is refused with error code address_zone; book it as a custom ride. | |
| dropoff | No | Required for custom rides: drop-off address. | |
| routeId | No | Fixed routes only; ids from /data/rates.json. The server reprices to the route the address belongs to. | |
| tourIds | No | Tours only; ids from /data/tours.json. | |
| bookingId | Yes | The bookingId returned by request_booking. | |
| direction | No | Fixed routes only: to or from Schiphol. | |
| meetGreet | No | Optional €25 arrivals-area name card; only for direction=from. | |
| driverName | No | ||
| passengers | Yes | ||
| quoteToken | Yes | Signed token returned by POST /api/quote. Send unchanged only after the customer approves that quote's total and deposit. It binds the normalized journey, vehicle, passengers, options, fare, rules version and 15-minute expiry. HTTP 409 reviewRequired=true means obtain a new quote and renewed customer approval before retrying. Never supply your own price. | |
| returnTrip | No | Fixed rides only. Books the return leg as well: the opposite direction between the same address and Schiphol, with the same vehicle, passengers and luggage. It is priced as a second ride (plus the name-card fee when meetGreet is set on a return that starts at Schiphol). It must be at least one hour after the first ride, between 04:00 and 20:00, and not on a blocked date. Error codes: retour_type, retour, retour_datetime, retour_hours, retour_date_blocked, retour_order. The booking is stored as two linked bookings: the request id and `<id>-ret`. | |
| luggageLarge | No | Large check-in suitcases. E-Class and S-Class take at most 2; more needs the V-Class (error code luggage). | |
| luggageSmall | No | Pieces of hand luggage. E-Class and S-Class take at most 2; more needs the V-Class (error code luggage). | |
| ticketService | No | Tours only: attraction ticket purchase assistance, requires 28 days' notice. |