book_ride
Create a secure payment link to book a private chauffeur transfer. The reservation is created automatically ONLY after the customer completes payment. REQUIRED: call get_quote first and pass the resulting quote_id + the chosen vehicle_id. The price is taken from the stored quote (not from any price field you pass). Pass idempotency_key to make retries safe: the same key returns the same payment link instead of creating a duplicate.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bags | No | Number of bags | |
| channel | No | Caller channel identifier for observability. If omitted, the channel stored with the quote (from get_quote) is used. | |
| quote_id | Yes | quote_id returned by get_quote. Must be passed. Expired quote (>15 min) requires a fresh get_quote. | |
| passengers | No | Number of passengers | |
| vehicle_id | Yes | Vehicle ID chosen from the get_quote results | |
| flight_number | No | Flight number for airport pickups (e.g. AF123) | |
| passenger_name | Yes | Full name of the passenger | |
| idempotency_key | No | Optional agent-generated key (e.g. UUID) to deduplicate retries. Same key + same params returns the same payment link for 24 h. Same key + different params returns an IDEMPOTENCY_CONFLICT error. | |
| passenger_email | Yes | Passenger email for booking confirmation | |
| passenger_phone | Yes | Passenger phone with country code (e.g. +33612345678) |