You're viewing a demo portfolio

Join the waitlist
PRSM

hemmabo_booking_checkout

Active

Tool of com.hemmabo/hemmabo-mcp-server

declared in 3.2.16

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.

Parameters schema

{
  "type": "object",
  "required": [
    "propertyId",
    "checkIn",
    "checkOut",
    "guests",
    "guestName",
    "guestEmail"
  ],
  "properties": {
    "guests": {
      "type": "integer",
      "minimum": 1,
      "description": "Total number of guests as integer >= 1 (e.g. 4)."
    },
    "channel": {
      "enum": [
        "public",
        "federation"
      ],
      "type": "string",
      "description": "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": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "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": {
      "type": "string",
      "description": "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": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "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": {
      "type": "string",
      "description": "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": {
      "type": "string",
      "format": "email",
      "description": "Primary guest email in RFC 5322 format (e.g. 'anna@example.com'). Used for booking confirmation and host contact; must be deliverable."
    },
    "guestPhone": {
      "type": "string",
      "description": "Primary guest phone in E.164 format with country code (e.g. '+46701234567'). Optional; omit when unknown. Recommended for check-in coordination."
    },
    "propertyId": {
      "type": "string",
      "format": "uuid",
      "description": "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": {
      "enum": [
        "checkout_session",
        "payment_intent"
      ],
      "type": "string",
      "description": "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."
    }
  },
  "additionalProperties": false
}

What this tool wraps· 2 endpoints

min confidence0.700.50

Parent server

com.hemmabo/hemmabo-mcp-server

https://github.com/HemmaBo-se/hemmabo-mcp-server

2/7 registries
View full server →