POST /v1/reservations
Create a new reservation
Creates a new reservation with guest information. Checks room availability and calculates pricing.
Request
POST /v1/reservations
Parameters
[]
Response
{
"201": {
"description": "Reservation created successfully",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"data": {
"type": "object",
"properties": {
"reservation": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"company_id": {
"type": "string"
},
"provider": {
"type": "string"
},
"external_id": {
"type": [
"string",
"null"
]
},
"property_id": {
"type": "string"
},
"room_id": {
"type": "string"
},
"guest_id": {
"type": "string"
},
"check_in": {
"type": "string"
},
"check_out": {
"type": "string"
},
"nights": {
"type": "number"
},
"adults": {
"type": "number"
},
"children": {
"type": "number"
},
"total_amount_cents": {
"type": "number"
},
"currency": {
"type": "string"
},
"status": {
"type": "string"
},
"created_at": {
"type": "string"
}
},
"required": [
"id",
"company_id",
"provider",
"external_id",
"property_id",
"room_id",
"guest_id",
"check_in",
"check_out",
"nights",
"adults",
"children",
"total_amount_cents",
"currency",
"status",
"created_at"
]
},
"guest": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"full_name": {
"type": "string"
},
"email": {
"type": [
"string",
"null"
]
},
"phone": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"full_name",
"email",
"phone"
]
}
},
"required": [
"reservation",
"guest"
]
}
},
"required": [
"success",
"data"
]
}
}
}
},
"409": {
"description": "Room not available for selected dates"
}
}
View in Interactive API Reference