create_booking_session
Create a booking session for a room at the property. Returns prices (totals), payment terms (pay now or at the property), the cancellation policy and what is still needed (messages).
Schema
Input Schema
{
"type": "object",
"required": [
"meta",
"booking"
],
"properties": {
"meta": {
"type": "object",
"required": [
"ucp-agent"
],
"properties": {
"ucp-agent": {
"type": "object",
"required": [
"profile"
],
"properties": {
"profile": {
"type": "string",
"format": "uri"
},
"version": {
"type": "string"
}
}
},
"idempotency-key": {
"type": "string",
"format": "uuid"
}
},
"description": "Request metadata: the platform's profile URL; complete and cancel also take an idempotency-key (UUID)."
},
"booking": {
"type": "object",
"required": [
"property",
"stays"
],
"properties": {
"stays": {
"type": "array",
"items": {
"type": "object",
"required": [
"stay_dates"
],
"properties": {
"id": {
"type": "string"
},
"occupancy": {
"type": "object",
"required": [
"total"
],
"properties": {
"total": {
"type": "integer",
"minimum": 1
},
"adults": {
"type": "integer",
"minimum": 0
},
"children": {
"type": "integer",
"minimum": 0
},
"child_ages": {
"type": "array",
"items": {
"type": "integer"
}
}
}
},
"rate_plan": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
}
},
"stay_dates": {
"type": "object",
"required": [
"start_date",
"end_date"
],
"properties": {
"end_date": {
"type": "string",
"format": "date"
},
"start_date": {
"type": "string",
"format": "date"
}
},
"description": "start_date = check-in day, end_date = check-out day (YYYY-MM-DD)."
},
"guest_assignments": {
"type": "array",
"items": {
"type": "object",
"required": [
"guest_id"
],
"properties": {
"role": {
"type": "string",
"description": "primary or accompanying"
},
"guest_id": {
"type": "string"
}
}
}
},
"accommodation_type": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
}
}
},
"description": "One room. Identify it by `id` (a stay id from search_properties) or by accommodation_type.id + rate_plan.id."
},
"maxItems": 1,
"minItems": 1
},
"booker": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"last_name": {
"type": "string"
},
"first_name": {
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"description": "The person making the booking."
},
"guests": {
"type": "array",
"items": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"age": {
"type": "integer"
},
"email": {
"type": "string"
},
"last_name": {
"type": "string"
},
"first_name": {
"type": "string"
},
"phone_number": {
"type": "string"
}
}
}
},
"payment": {
"type": "object",
"properties": {
"selected_term_id": {
"type": "string",
"description": "Which of payment.terms[] the buyer chose: pt_pay_now or pt_pay_at_property."
}
}
},
"property": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
}
}
},
"requests": {
"type": "string"
},
"arrival_time": {
"type": "string",
"description": "e.g. \"5 to 7 pm\""
},
"travel_purpose": {
"type": "string"
}
},
"description": "The full booking request (update replaces it entirely: resend property and stays)."
}
}
}
Verified Stores
1
Member Stores
Stores exposing the create_booking_session tool
Weekly UCP Report
Get the agentic commerce digest every Monday
Real adoption data, ecosystem trends, new spec versions, and the stores that broke or recovered this week. Read by founders and engineers building the next generation of commerce.
Weekly UCP Report
Issue #52 · Sep 28, 2026
+664
new verified stores
Verified rate
Latest spec
Cart capability
