Request a Booking (hotel confirms, pay at the hotel)
request_bookingSends a booking request for a room at an OpenTravel partner hotel. Nothing is charged and no room is held: the hotel confirms the request by email, and the guest pays at the property on arrival. There is no payment step, now or later. Takes the room and rate from get_hotel_detail and the guest's name, phone number and email; when any of these is missing, the result asks for it and, in clients that show widgets, opens a form for it. One request covers several rooms of the same room type (roomCount), with adults and children counted across all of them; each call is a separate request with its own code, so rooms of one type booked call by call reach the hotel as unrelated requests. Returns one confirmation code for the whole request.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| adults | Yes | Number of adults across ALL rooms of the request — at least one per room | |
| checkIn | Yes | Check-in date YYYY-MM-DD. Must be today or later. | |
| checkOut | Yes | Check-out date YYYY-MM-DD. Must be after checkIn. | |
| children | No | Number of children across ALL rooms of the request (default 0) | |
| currency | Yes | Currency of totalAmount, as quoted by get_hotel_detail for the chosen room. | |
| language | No | Optional response language hint. Only used when queryText gives no signal. | |
| guestName | No | Full name of the primary guest. When omitted, the result asks the user for it. | |
| queryText | No | Short excerpt (one sentence at most) of the guest's latest message in their own words, used only to detect the reply language; it is not stored or forwarded. It carries no names, contact details or other parts of the conversation. | |
| roomCount | No | How many rooms of this room type the guest wants (default 1). All of them go in this one request, under one confirmation code. | |
| guestEmail | No | Email address the confirmation is sent to, as the guest gave it; it cannot be changed after the request is sent. When omitted, the result asks the user for it. | |
| guestPhone | No | Guest phone number; the hotel calls it to confirm the request. When omitted, the result asks the user for it. | |
| propertyId | Yes | OpenTravel propertyId from get_hotel_detail | |
| roomTypeId | Yes | roomTypeId from get_hotel_detail roomTypes array | |
| totalAmount | Yes | Total amount for ALL rooms in the property's base currency: the room's price for the stay × roomCount |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| nextStep | Yes | ||
| bookingId | Yes | ||
| roomCount | Yes | ||
| quotedAmount | Yes | ||
| assignedRoomId | Yes | ||
| quotedCurrency | Yes | ||
| paymentRequired | Yes | ||
| confirmationCode | Yes |