Confirm
Lock the offer the guest picked. Confirm returns the first authoritative price and cancellation policy, the guest fields Prebook needs, and a new combinationKey.
Handling warnings
warnings[] tells you the offer changed since Quote. Booking silently at a new price or on stricter terms leads to disputes.
| Warning | What changed | What to do | |
|---|---|---|---|
| None | Nothing | Continue to the guest form. | |
PRICE_CHANGE | The price | Show the old and the new price. Continue only after the guest explicitly accepts. | |
CANCELLATION_POLICIES_CHANGE | The cancellation terms. A refundable rate may now be non-refundable. | Show the new policy from cancellationPolicies[]. Continue only after the guest explicitly accepts. |
Prebook can return the same warnings. Handle them the same way.
Required guest fields
requiredField lists what to collect for each guest role. Build your guest form from it, and pre-validate before Prebook.
| Role | Who | Fields from |
|---|---|---|
| Contact person | The first person of the first room | contactPerson[] |
| Room holder | The first person of each other room | roomHolders[] |
| Other persons | Everyone else | otherPersons[] |
Put the adult with an email address and phone number first in the first room.
Prebook enforces these lists: a listed field that is missing gets 400 with one message per person and field, for example Missing the following required field of the contact person: Birthdate. The lists vary by supplier, and a test supplier asked for BIRTH_DATE for every guest.
How the common values map to guest fields at Prebook:
requiredField value | Send in the person |
|---|---|
TITLE | courtesyTitle: MISTER, MRS or MS |
FIRST_NAME | name |
LAST_NAME | lastName |
BIRTH_DATE | birthDate, consistent with requestedAge |
EMAIL | email |
PHONE | phoneCountryCode (such as +34) and phone |
DOCUMENT | documentNumber and documentType |
COUNTRY | countryId |
The full table, with PASSPORT, DOCUMENT_EXPIRY_DATE, ADDRESS and the rest, is in Rooms and guests.
With the sample response above and two rooms, the contact person needs first name, last name, title, phone and email. The first person of room 2 needs first name and email. Everyone else, children included, needs first name, last name and title. The Prebook example follows exactly this.
Gotchas
- Send the new key to Prebook. Keys are tied to the step that issued them, so the Quote key fails at Prebook even before it expires.
- The new key expires 60 minutes after this response. Each later response restarts the clock.
categoryis an object (code,name) here and a plain string such asS4in datasheets. Normalise both into one type.mealPlan.typecollapses mixed plans: the sample's "1 BED AND BREAKFAST + 1 HALF BOARD" has typeHALF_BOARD. Showdescription.- The price is in the microsite currency. You cannot request another.
Related
- Prebook, the next step
- Rooms and guests
- Quote and Quote single
- Cancellations
- The booking flow
Quote single
Get every room combination of one hotel. Use it for a hotel page, or when Quote marked a hotel quoteSingleNeeded. Never call it in parallel for many hotels.
Prebook
Send the guests' details and re-validate the offer with the supplier. Prebook returns the combinationKey for Book, so compare its offer with Confirm before you book.