Hotelumo Hotel Operations
See your hotel's room availability, rates, housekeeping and upcoming arrivals and departures.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"hotelumo": {
"url": "https://mcp.hotelumo.com/mcp"
}
}
}Puntos de conexión remotos
https://mcp.hotelumo.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (11)
🟢list_hotels(limit, offset)
List a bounded page of non-sensitive hotel metadata in the authenticated Hotelumo organization. Addresses, phone numbers, channel credentials, payment configuration, reminder configuration, and guest data are excluded.
Esquema de entrada
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 10000
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"hotels": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"currency": {
"$ref": "#/properties/hotels/items/properties/name"
},
"locale": {
"$ref": "#/properties/hotels/items/properties/name"
},
"timezone": {
"$ref": "#/properties/hotels/items/properties/name"
},
"lastEditTime": {
"$ref": "#/properties/hotels/items/properties/name"
}
},
"required": [
"id",
"name",
"currency",
"locale",
"timezone",
"lastEditTime"
],
"additionalProperties": false
},
"maxItems": 100
},
"page": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"returned": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"hasMore": {
"type": "boolean"
}
},
"required": [
"limit",
"offset",
"returned",
"hasMore"
],
"additionalProperties": false
}
},
"required": [
"hotels",
"page"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_hotel(hotelId)
Get safe operational metadata for one organization-owned hotel. Contact details, addresses, integrations, credentials, payment configuration, reminders, and guest data are never returned.
Esquema de entrada
{
"type": "object",
"properties": {
"hotelId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "24-character lowercase hexadecimal hotel id"
}
},
"required": [
"hotelId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"not-found"
]
},
"hotel": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"currency": {
"$ref": "#/properties/hotel/anyOf/0/properties/name"
},
"locale": {
"$ref": "#/properties/hotel/anyOf/0/properties/name"
},
"timezone": {
"$ref": "#/properties/hotel/anyOf/0/properties/name"
},
"countryCode": {
"$ref": "#/properties/hotel/anyOf/0/properties/name"
},
"checkInDefaultTime": {
"$ref": "#/properties/hotel/anyOf/0/properties/name"
},
"checkOutDefaultTime": {
"$ref": "#/properties/hotel/anyOf/0/properties/name"
},
"lastEditTime": {
"$ref": "#/properties/hotel/anyOf/0/properties/name"
}
},
"required": [
"id",
"name",
"currency",
"locale",
"timezone",
"countryCode",
"checkInDefaultTime",
"checkOutDefaultTime",
"lastEditTime"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"hotel"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_hotel_availability(hotelId, checkInDate, checkOutDate, adults, children, ...)
Review bounded, non-person-linked room-type availability and prices for one tenant-owned hotel and a stay of at most 30 nights. Amounts are minor currency units. Guest records, reservations, room assignments, access data, notes, payments, channel references, photos, free-text descriptions, and credentials are excluded.
Esquema de entrada
{
"type": "object",
"properties": {
"hotelId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "24-character lowercase hexadecimal hotel id"
},
"checkInDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD check-in"
},
"checkOutDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "YYYY-MM-DD check-out"
},
"adults": {
"type": "integer",
"minimum": 1,
"maximum": 20
},
"children": {
"type": "integer",
"minimum": 0,
"maximum": 20
},
"infants": {
"type": "integer",
"minimum": 0,
"maximum": 20
}
},
"required": [
"hotelId",
"checkInDate",
"checkOutDate"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"search": {
"type": "object",
"properties": {
"checkInDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"checkOutDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"nights": {
"type": "integer",
"minimum": 1,
"maximum": 30
},
"adults": {
"type": "integer",
"minimum": 1,
"maximum": 20
},
"children": {
"type": "integer",
"minimum": 0,
"maximum": 20
},
"infants": {
"type": "integer",
"minimum": 0,
"maximum": 20
}
},
"required": [
"checkInDate",
"checkOutDate",
"nights",
"adults",
"children",
"infants"
],
"additionalProperties": false
},
"offers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"roomTypeId": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"roomTypeName": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"ratePlanId": {
"$ref": "#/properties/offers/items/properties/roomTypeId"
},
"ratePlanTitle": {
"$ref": "#/properties/offers/items/properties/roomTypeName"
},
"mealPlan": {
"$ref": "#/properties/offers/items/properties/roomTypeName"
},
"sellMode": {
"$ref": "#/properties/offers/items/properties/roomTypeName"
},
"availableRooms": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 100000
},
{
"type": "null"
}
]
},
"nightlyRate": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
{
"type": "null"
}
]
},
"totalPrice": {
"$ref": "#/properties/offers/items/properties/nightlyRate"
},
"currency": {
"$ref": "#/properties/offers/items/properties/roomTypeName"
},
"nightlyRates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"price": {
"$ref": "#/properties/offers/items/properties/nightlyRate"
}
},
"required": [
"date",
"price"
],
"additionalProperties": false
},
"maxItems": 30
}
},
"required": [
"roomTypeId",
"roomTypeName",
"ratePlanId",
"ratePlanTitle",
"mealPlan",
"sellMode",
"availableRooms",
"nightlyRate",
"totalPrice",
"currency",
"nightlyRates"
],
"additionalProperties": false
},
"maxItems": 100
},
"offersAreTruncated": {
"type": "boolean"
}
},
"required": [
"search",
"offers",
"offersAreTruncated"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_hotel_schedule_summary(hotelId, dateFrom, dateTo)
Count tenant-owned reservations and active stays by UTC day for one hotel over at most 31 days. Returns aggregate operational counts only—never reservation or allocation identifiers, individual stay records, guest data, room assignments, notes, documents, payments, access data, channel references, or credentials.
Esquema de entrada
{
"type": "object",
"properties": {
"hotelId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "24-character lowercase hexadecimal hotel id"
},
"dateFrom": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Inclusive UTC date as YYYY-MM-DD; defaults to today"
},
"dateTo": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Inclusive UTC date as YYYY-MM-DD; defaults to six days later"
}
},
"required": [
"hotelId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"hotel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"timezone": {
"$ref": "#/properties/hotel/properties/name"
}
},
"required": [
"id",
"name",
"timezone"
],
"additionalProperties": false
},
"range": {
"type": "object",
"properties": {
"dateFrom": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"dateTo": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"dateFrom",
"dateTo"
],
"additionalProperties": false
},
"reservationCount": {
"type": "integer",
"minimum": 0,
"maximum": 500
},
"reservationCountIsLowerBound": {
"type": "boolean"
},
"statusCounts": {
"type": "object",
"additionalProperties": {
"type": "integer",
"minimum": 0,
"maximum": 500
},
"propertyNames": {
"enum": [
"INQUIRY",
"REQUESTED",
"CONFIRMED",
"CHECKED_IN",
"CHECKED_OUT",
"NO_SHOW",
"CANCELED",
"UNSPECIFIED"
]
}
},
"days": {
"type": "array",
"items": {
"type": "object",
"properties": {
"day": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"arrivals": {
"type": "integer",
"minimum": 0,
"maximum": 500
},
"departures": {
"type": "integer",
"minimum": 0,
"maximum": 500
},
"inHouseReservations": {
"type": "integer",
"minimum": 0,
"maximum": 500
}
},
"required": [
"day",
"arrivals",
"departures",
"inHouseReservations"
],
"additionalProperties": false
},
"maxItems": 31
}
},
"required": [
"hotel",
"range",
"reservationCount",
"reservationCountIsLowerBound",
"statusCounts",
"days"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_room_types(hotelId, limit, offset)
List a bounded page of room-type inventory metadata in the authenticated organization. Photos, public descriptions, rate-plan internals, channel mappings, and credentials are excluded.
Esquema de entrada
{
"type": "object",
"properties": {
"hotelId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 10000
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"roomTypes": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
"hotelId": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"maxGuests": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 100
},
{
"type": "null"
}
]
},
"lastEditTime": {
"$ref": "#/properties/roomTypes/items/properties/name"
}
},
"required": [
"id",
"hotelId",
"name",
"maxGuests",
"lastEditTime"
],
"additionalProperties": false
},
"maxItems": 100
},
"page": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"returned": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"hasMore": {
"type": "boolean"
}
},
"required": [
"limit",
"offset",
"returned",
"hasMore"
],
"additionalProperties": false
}
},
"required": [
"roomTypes",
"page"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_room_type(roomTypeId)
Get bounded inventory metadata for one organization-owned room type. Free-text descriptions, facilities, photos, channel mappings, integrations, credentials, and arbitrary metadata are never returned.
Esquema de entrada
{
"type": "object",
"properties": {
"roomTypeId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "24-character lowercase hexadecimal room-type id"
}
},
"required": [
"roomTypeId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"not-found"
]
},
"roomType": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
"hotelId": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"maxGuests": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 100
},
{
"type": "null"
}
]
},
"lastEditTime": {
"$ref": "#/properties/roomType/anyOf/0/properties/name"
}
},
"required": [
"id",
"hotelId",
"name",
"maxGuests",
"lastEditTime"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"status",
"roomType"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_rooms(hotelId, roomTypeId, limit, offset)
List a bounded page of physical room status metadata in the authenticated organization. Reservation, occupant, guest, access-control, and channel data are excluded.
Esquema de entrada
{
"type": "object",
"properties": {
"hotelId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
"roomTypeId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 10000
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"rooms": {
"type": "array",
"items": {
"type": "object",
"properties": {
"hotelId": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"roomTypeId": {
"$ref": "#/properties/rooms/items/properties/hotelId"
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"status": {
"$ref": "#/properties/rooms/items/properties/name"
},
"housekeepingStatus": {
"$ref": "#/properties/rooms/items/properties/name"
},
"lastEditTime": {
"$ref": "#/properties/rooms/items/properties/name"
}
},
"required": [
"hotelId",
"roomTypeId",
"name",
"status",
"housekeepingStatus",
"lastEditTime"
],
"additionalProperties": false
},
"maxItems": 100
},
"page": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"returned": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"hasMore": {
"type": "boolean"
}
},
"required": [
"limit",
"offset",
"returned",
"hasMore"
],
"additionalProperties": false
}
},
"required": [
"rooms",
"page"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_rate_plans(hotelId, roomTypeId, limit, offset)
List a bounded page of rate-plan pricing configuration for one organization-owned hotel. Channel-manager mappings, integration metadata, and credentials are excluded.
Esquema de entrada
{
"type": "object",
"properties": {
"hotelId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "24-character lowercase hexadecimal hotel id"
},
"roomTypeId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 10000
}
},
"required": [
"hotelId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"ratePlans": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
"roomTypeId": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"basePrice": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
{
"type": "null"
}
]
},
"currency": {
"$ref": "#/properties/ratePlans/items/properties/title"
},
"mealPlan": {
"$ref": "#/properties/ratePlans/items/properties/title"
},
"sellMode": {
"$ref": "#/properties/ratePlans/items/properties/title"
},
"rateMode": {
"$ref": "#/properties/ratePlans/items/properties/title"
},
"isDefault": {
"type": "boolean"
}
},
"required": [
"id",
"roomTypeId",
"title",
"basePrice",
"currency",
"mealPlan",
"sellMode",
"rateMode",
"isDefault"
],
"additionalProperties": false
},
"maxItems": 100
},
"page": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"returned": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"hasMore": {
"type": "boolean"
}
},
"required": [
"limit",
"offset",
"returned",
"hasMore"
],
"additionalProperties": false
}
},
"required": [
"ratePlans",
"page"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_daily_rates(hotelId, ratePlanId, dateFrom, dateTo)
List the per-day price and stay restrictions of one organization-owned rate plan over a date range of at most 90 days. Guest, payment, channel, credential, and arbitrary metadata are excluded.
Esquema de entrada
{
"type": "object",
"properties": {
"hotelId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "24-character lowercase hexadecimal hotel id"
},
"ratePlanId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "24-character lowercase hexadecimal rate-plan id"
},
"dateFrom": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Inclusive YYYY-MM-DD start"
},
"dateTo": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Inclusive YYYY-MM-DD end"
}
},
"required": [
"hotelId",
"ratePlanId",
"dateFrom",
"dateTo"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"found",
"not-found"
]
},
"dailyRates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"ratePlanId": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
{
"type": "null"
}
]
},
"date": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "null"
}
]
},
"price": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
{
"type": "null"
}
]
},
"minStay": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 365
},
{
"type": "null"
}
]
},
"closedToArrival": {
"type": "boolean"
},
"closedToDeparture": {
"type": "boolean"
},
"stopSell": {
"type": "boolean"
}
},
"required": [
"ratePlanId",
"date",
"price",
"minStay",
"closedToArrival",
"closedToDeparture",
"stopSell"
],
"additionalProperties": false
},
"maxItems": 90
}
},
"required": [
"status",
"dailyRates"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_extras(hotelId, limit, offset)
List a bounded page of the active add-on / extra-service catalog in the authenticated organization. Guest charges, folio data, display colors, and credentials are excluded.
Esquema de entrada
{
"type": "object",
"properties": {
"hotelId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 10000
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"extras": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"price": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 1000000000000
},
{
"type": "null"
}
]
},
"currency": {
"$ref": "#/properties/extras/items/properties/name"
},
"taxable": {
"type": "boolean"
},
"category": {
"$ref": "#/properties/extras/items/properties/name"
}
},
"required": [
"name",
"price",
"currency",
"taxable",
"category"
],
"additionalProperties": false
},
"maxItems": 100
},
"page": {
"type": "object",
"properties": {
"limit": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
},
"offset": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"returned": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"hasMore": {
"type": "boolean"
}
},
"required": [
"limit",
"offset",
"returned",
"hasMore"
],
"additionalProperties": false
}
},
"required": [
"extras",
"page"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢show_hotel_overview(hotelId)
Render a bounded tenant-scoped operational snapshot for one Hotelumo hotel. Reservation counts cover an aggregate next-seven-UTC-day sample and never expose individual stays. Guest identities, contact details, reservation or allocation identifiers, exact individual stay records, notes, documents, occupant ids, payments, access data, integration configuration, credentials, and arbitrary metadata are excluded.
Esquema de entrada
{
"type": "object",
"properties": {
"hotelId": {
"type": "string",
"pattern": "^[0-9a-f]{24}$",
"description": "24-character lowercase hexadecimal hotel id"
}
},
"required": [
"hotelId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Esquema de salida
{
"type": "object",
"properties": {
"hotel": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-f]{24}$"
},
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"currency": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"locale": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"timezone": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"name",
"currency",
"locale",
"timezone"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"scheduleRange": {
"type": "object",
"properties": {
"dateFrom": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"dateTo": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"dateFrom",
"dateTo"
],
"additionalProperties": false
},
"reservations": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"minimum": 0,
"maximum": 50
},
"hasMore": {
"type": "boolean"
}
},
"required": [
"count",
"hasMore"
],
"additionalProperties": false
},
"rooms": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"minimum": 0,
"maximum": 100
},
"hasMore": {
"type": "boolean"
}
},
"required": [
"count",
"hasMore"
],
"additionalProperties": false
},
"roomTypes": {
"type": "object",
"properties": {
"count": {
"type": "integer",
"minimum": 0,
"maximum": 50
},
"hasMore": {
"type": "boolean"
}
},
"required": [
"count",
"hasMore"
],
"additionalProperties": false
},
"reservationStatusCounts": {
"type": "object",
"propertyNames": {
"type": "string",
"enum": [
"INQUIRY",
"REQUESTED",
"CONFIRMED",
"CHECKED_IN",
"CHECKED_OUT",
"NO_SHOW",
"CANCELED",
"UNSPECIFIED"
]
},
"additionalProperties": {
"type": "integer",
"minimum": 0,
"maximum": 50
}
},
"roomStatusCounts": {
"type": "object",
"propertyNames": {
"type": "string",
"enum": [
"AVAILABLE",
"OUT_OF_ORDER",
"OUT_OF_SERVICE",
"UNSPECIFIED"
]
},
"additionalProperties": {
"type": "integer",
"minimum": 0,
"maximum": 100
}
},
"housekeepingStatusCounts": {
"type": "object",
"propertyNames": {
"type": "string",
"enum": [
"CLEAN",
"DIRTY",
"INSPECTED",
"UNSPECIFIED"
]
},
"additionalProperties": {
"type": "integer",
"minimum": 0,
"maximum": 100
}
}
},
"required": [
"hotel",
"scheduleRange",
"reservations",
"rooms",
"roomTypes",
"reservationStatusCounts",
"roomStatusCounts",
"housekeepingStatusCounts"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Comunidad
Evidencia