booking-com · Schema
Booking.com Order
Represents a booking order on Booking.com, including accommodation reservations, guest details, pricing, cancellation policies, and order lifecycle status.
Properties
| Name | Type | Description |
|---|---|---|
| order_id | string | Unique identifier for the booking order |
| status | string | Current status of the order |
| accommodation_id | integer | Identifier of the booked accommodation |
| accommodation_name | string | Name of the booked accommodation |
| checkin | string | Check-in date in YYYY-MM-DD format |
| checkout | string | Check-out date in YYYY-MM-DD format |
| booker | object | |
| guests | object | |
| products | array | Products (rooms/rates) included in the order |
| total_price | object | |
| payment | object | |
| cancellation_policy | object | |
| special_requests | string | Any special requests from the guest |
| created_at | string | Timestamp when the order was created |
| modified_at | string | Timestamp when the order was last modified |
| cancelled_at | string | Timestamp when the order was cancelled, if applicable |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://booking.com/schemas/booking-com/order.json",
"title": "Booking.com Order",
"description": "Represents a booking order on Booking.com, including accommodation reservations, guest details, pricing, cancellation policies, and order lifecycle status.",
"type": "object",
"required": ["order_id", "status", "accommodation_id", "checkin", "checkout"],
"properties": {
"order_id": {
"type": "string",
"description": "Unique identifier for the booking order"
},
"status": {
"type": "string",
"description": "Current status of the order",
"enum": ["pending", "confirmed", "cancelled", "modified", "completed", "no_show"]
},
"accommodation_id": {
"type": "integer",
"description": "Identifier of the booked accommodation"
},
"accommodation_name": {
"type": "string",
"description": "Name of the booked accommodation"
},
"checkin": {
"type": "string",
"format": "date",
"description": "Check-in date in YYYY-MM-DD format"
},
"checkout": {
"type": "string",
"format": "date",
"description": "Check-out date in YYYY-MM-DD format"
},
"booker": {
"$ref": "#/$defs/Booker"
},
"guests": {
"$ref": "#/$defs/GuestAllocation"
},
"products": {
"type": "array",
"description": "Products (rooms/rates) included in the order",
"items": {
"$ref": "#/$defs/BookedProduct"
}
},
"total_price": {
"$ref": "#/$defs/Price"
},
"payment": {
"$ref": "#/$defs/PaymentSummary"
},
"cancellation_policy": {
"$ref": "#/$defs/CancellationPolicy"
},
"special_requests": {
"type": "string",
"description": "Any special requests from the guest"
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the order was created"
},
"modified_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the order was last modified"
},
"cancelled_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the order was cancelled, if applicable"
}
},
"$defs": {
"Booker": {
"type": "object",
"description": "Person who made the booking",
"required": ["first_name", "last_name", "email"],
"properties": {
"first_name": {
"type": "string",
"description": "Booker first name",
"minLength": 1
},
"last_name": {
"type": "string",
"description": "Booker last name",
"minLength": 1
},
"email": {
"type": "string",
"format": "email",
"description": "Booker email address"
},
"telephone": {
"type": "string",
"description": "Booker telephone number"
},
"country": {
"type": "string",
"description": "Booker country code (ISO 3166-1 alpha-2)",
"pattern": "^[a-z]{2}$"
},
"platform": {
"type": "string",
"description": "Platform the booking was made from",
"enum": ["desktop", "mobile", "tablet"]
}
}
},
"GuestAllocation": {
"type": "object",
"description": "Guest allocation for the booking",
"required": ["number_of_adults", "number_of_rooms"],
"properties": {
"number_of_adults": {
"type": "integer",
"description": "Number of adult guests",
"minimum": 1
},
"number_of_rooms": {
"type": "integer",
"description": "Number of rooms booked",
"minimum": 1
},
"children_ages": {
"type": "array",
"description": "Ages of children in the booking",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 17
}
}
}
},
"BookedProduct": {
"type": "object",
"description": "A room/rate product included in the booking",
"required": ["product_id"],
"properties": {
"product_id": {
"type": "string",
"description": "Unique product identifier"
},
"room_name": {
"type": "string",
"description": "Name of the booked room type"
},
"meal_plan": {
"type": "string",
"description": "Included meal plan",
"enum": ["room_only", "breakfast_included", "half_board", "full_board", "all_inclusive"]
},
"cancellation_type": {
"type": "string",
"description": "Cancellation policy type for this product"
},
"price": {
"$ref": "#/$defs/Price"
},
"quantity": {
"type": "integer",
"description": "Number of this product booked",
"minimum": 1
}
}
},
"Price": {
"type": "object",
"description": "Monetary amount with currency",
"required": ["amount", "currency"],
"properties": {
"amount": {
"type": "number",
"description": "Numeric price amount",
"minimum": 0
},
"currency": {
"type": "string",
"description": "ISO 4217 currency code",
"pattern": "^[A-Z]{3}$"
}
}
},
"PaymentSummary": {
"type": "object",
"description": "Summary of payment information for the order",
"properties": {
"payment_type": {
"type": "string",
"description": "Payment method used"
},
"payment_status": {
"type": "string",
"description": "Current payment status",
"enum": ["pending", "paid", "refunded", "partially_refunded"]
},
"paid_amount": {
"$ref": "#/$defs/Price"
}
}
},
"CancellationPolicy": {
"type": "object",
"description": "Cancellation policy details for the order",
"properties": {
"free_cancellation_until": {
"type": "string",
"format": "date-time",
"description": "Deadline for free cancellation"
},
"cancellation_fee": {
"$ref": "#/$defs/Price"
},
"description": {
"type": "string",
"description": "Human-readable cancellation policy text"
}
}
}
}
}