hemmabo_booking_checkout
Generates a host-configured Stripe checkout URL for a fallback non-VRP booking. Use only after explicit user confirmation.
Instructions
Create a fallback non-VRP booking and return a host-configured Stripe checkout URL. Use only after explicit user confirmation when no signed VRP direct_booking_url is available. When get_verified_stay_offer returns a signed direct_booking_url, route the guest there instead. Requires Authorization: Bearer token (MCP_API_KEY or OAuth). Creates a pending booking and Stripe session server-side; not idempotent — check hemmabo_booking_status before retrying. Rate-limited per token. Pass quoteId to honor a price locked by hemmabo_booking_negotiate for the same propertyId/dates/guests, or omit it to price fresh at checkout; paymentMode picks the Stripe flow and channel picks the pricing channel, while guestName and guestEmail identify the guest.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| guests | Yes | Total number of guests as integer >= 1 (e.g. 4). | |
| channel | No | Pricing channel selector. 'federation' (default for agent flows): direct host-source total. 'public': standard website rate without agent channel pricing. Omit to use federation. | |
| checkIn | Yes | Arrival date in ISO 8601 calendar format YYYY-MM-DD (e.g. '2026-07-15'). Must be today or later in the property's timezone. Must be strictly before checkOut; together they define the stay length used for pricing and availability. | |
| quoteId | No | Quote ID string from hemmabo_booking_negotiate (e.g. 'q_abc123'). Optional — omit to calculate a fresh host-source price at checkout. Provide when the guest locked a price within the 15-minute quote window. | |
| checkOut | Yes | Departure date in ISO 8601 calendar format YYYY-MM-DD (e.g. '2026-07-22'). Must be strictly after checkIn on the same calendar. The guest does not stay the departure night. | |
| guestName | Yes | Primary guest full name as plain text (e.g. 'Anna Svensson'). Stored on the booking for host confirmation; use the name the guest provided. | |
| guestEmail | Yes | Primary guest email in RFC 5322 format (e.g. 'anna@example.com'). Used for booking confirmation and host contact; must be deliverable. | |
| guestPhone | No | Primary guest phone in E.164 format with country code (e.g. '+46701234567'). Optional; omit when unknown. Recommended for check-in coordination. | |
| propertyId | Yes | Stable property UUID from hemmabo_search_properties (e.g. '550e8400-e29b-41d4-a716-446655440000'). Pass the exact UUID string — never a property name, host domain, or booking URL. | |
| paymentMode | No | Stripe payment flow. 'checkout_session' (default): returns a browser redirect URL. 'payment_intent': returns client_secret for embedded/agentic payment integrations. Omit to use checkout_session. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mpp | No | Present when paymentMode='payment_intent'. | |
| error | No | Present only when isError=true. | |
| guests | No | ||
| nights | No | ||
| status | No | Booking status (typically 'pending' until payment succeeds). | |
| checkIn | No | ||
| checkOut | No | ||
| currency | Yes | ||
| createdAt | No | ||
| paymentUrl | No | Stripe Checkout redirect URL. | |
| propertyId | No | ||
| totalPrice | Yes | Final total charged (or to be charged), in minor currency units. | |
| payment_modes | No | Supported payment modes. | |
| reservationId | Yes | Booking UUID. Use for subsequent status/cancel/reschedule calls. |