hotelumo

Read-only hotel availability, rooms, housekeeping, rates, extras, and aggregate stay operations.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
87%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~5,625Tokens (tool definitions)
~4.7 KBTypical response size
Significant attention impact (4.39% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "hotelumo": {
      "url": "https://mcp.hotelumo.com/mcp"
    }
  }
}

Remote endpoints

https://mcp.hotelumo.com/mcpstreamable-http

What it can do

Tool inventory

Tools (11)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒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.

Input Schema

{
  "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#"
}

Output Schema

{
  "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.

Input Schema

{
  "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#"
}

Output Schema

{
  "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.

Input Schema

{
  "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#"
}

Output Schema

{
  "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.

Input Schema

{
  "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#"
}

Output Schema

{
  "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.

Input Schema

{
  "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#"
}

Output Schema

{
  "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.

Input Schema

{
  "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#"
}

Output Schema

{
  "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.

Input Schema

{
  "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#"
}

Output Schema

{
  "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.

Input Schema

{
  "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#"
}

Output Schema

{
  "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.

Input Schema

{
  "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#"
}

Output Schema

{
  "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.

Input Schema

{
  "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#"
}

Output Schema

{
  "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.

Input Schema

{
  "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"
}

Output Schema

{
  "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
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded11 tools