geo360_book_offer
PHASE 2/3 (API): Confirms a booking against a hold_id (preferred) or directly against offer_id if partner allows. Does not collect card PANs — accepts opaque payment_ref or principal_consent_token from calling agent. On success returns order_id / voucher references. If API book is unavailable, returns structured fallback to deep_link.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | auto | |
| sub_id | No | ||
| hold_id | No | Hold id returned by geo360_hold_offer (preferred path) | |
| currency | No | EUR | |
| offer_id | No | Required if partner supports direct book without hold, or for reconciliation | |
| agent_ref | No | ||
| travelers | No | Minimal traveler data required by partner | |
| session_id | No | ||
| payment_ref | No | Opaque payment handle from agent/payment rail — never raw card data | |
| idempotency_key | No | Caller-generated key to safely retry book without double purchase | |
| principal_consent_token | No | Opaque token proving the human principal authorized this book within limits |