このMCPでできること
Provides read-only hotel inventory, room availability, rates, extras, schedules, and aggregate operational summaries.
ツール
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotelId'], 'properties': {'hotelId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Hotel id: 24 lowercase hexadecimal characters'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'hotel'], 'properties': {'hotel': {'anyOf': [{'type': 'object', 'required': ['id', 'name', 'currency', 'locale', 'timezone', 'countryCode', 'checkInDefaultTime', 'checkOutDefaultTime', 'lastEditTime'], 'properties': {'id': {'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, 'name': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}, 'locale': {'$ref': '#/properties/hotel/anyOf/0/properties/name'}, 'currency': {'$ref': '#/properties/hotel/anyOf/0/properties/name'}, 'timezone': {'$ref': '#/properties/hotel/anyOf/0/properties/name'}, 'countryCode': {'$ref': '#/properties/hotel/anyOf/0/properties/name'}, 'lastEditTime': {'$ref': '#/properties/hotel/anyOf/0/properties/name'}, 'checkInDefaultTime': {'$ref': '#/properties/hotel/anyOf/0/properties/name'}, 'checkOutDefaultTime': {'$ref': '#/properties/hotel/anyOf/0/properties/name'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Operational hotel metadata; null when not found. Contact details, addresses, integrations, credentials, payment configuration, reminders and guest data are never returned.'}, 'status': {'enum': ['found', 'not-found'], 'type': 'string'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotelId', 'checkInDate', 'checkOutDate'], 'properties': {'adults': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Adults staying, from 1 to 20; defaults to 2'}, 'hotelId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Hotel id: 24 lowercase hexadecimal characters'}, 'infants': {'type': 'integer', 'maximum': 20, 'minimum': 0, 'description': 'Infants staying, from 0 to 20; defaults to 0'}, 'children': {'type': 'integer', 'maximum': 20, 'minimum': 0, 'description': 'Children staying, from 0 to 20; defaults to 0'}, 'checkInDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': "Arrival date as YYYY-MM-DD, from today to 365 days ahead in the hotel's timezone"}, 'checkOutDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Departure date as YYYY-MM-DD, 1 to 30 nights after checkInDate'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['search', 'offers', 'offersAreTruncated'], 'properties': {'offers': {'type': 'array', 'items': {'type': 'object', 'required': ['roomTypeId', 'roomTypeName', 'ratePlanId', 'ratePlanTitle', 'mealPlan', 'sellMode', 'availableRooms', 'nightlyRate', 'totalPrice', 'currency', 'nightlyRates'], 'properties': {'currency': {'$ref': '#/properties/offers/items/properties/roomTypeName'}, 'mealPlan': {'$ref': '#/properties/offers/items/properties/roomTypeName'}, 'sellMode': {'$ref': '#/properties/offers/items/properties/roomTypeName'}, 'ratePlanId': {'$ref': '#/properties/offers/items/properties/roomTypeId'}, 'roomTypeId': {'anyOf': [{'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, {'type': 'null'}]}, 'totalPrice': {'$ref': '#/properties/offers/items/properties/nightlyRate'}, 'nightlyRate': {'anyOf': [{'type': 'number', 'maximum': 1000000000000, 'minimum': 0}, {'type': 'null'}]}, 'nightlyRates': {'type': 'array', 'items': {'type': 'object', 'required': ['date', 'price'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'price': {'$ref': '#/properties/offers/items/properties/nightlyRate'}}, 'additionalProperties': False}, 'maxItems': 30}, 'roomTypeName': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}, 'ratePlanTitle': {'$ref': '#/properties/offers/items/properties/roomTypeName'}, 'availableRooms': {'anyOf': [{'type': 'integer', 'maximum': 100000, 'minimum': 0}, {'type': 'null'}]}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'One row per bookable room type and rate plan with a free room every night. Amounts are integer minor currency units (12000 is 120.00 in a two-decimal currency). Guest records, reservations, room assignments, access data, notes, payments, channel references, photos, free-text descriptions and credentials are excluded.'}, 'search': {'type': 'object', 'required': ['checkInDate', 'checkOutDate', 'nights', 'adults', 'children', 'infants'], 'properties': {'adults': {'type': 'integer', 'maximum': 20, 'minimum': 1}, 'nights': {'type': 'integer', 'maximum': 30, 'minimum': 1}, 'infants': {'type': 'integer', 'maximum': 20, 'minimum': 0}, 'children': {'type': 'integer', 'maximum': 20, 'minimum': 0}, 'checkInDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'checkOutDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}}, 'additionalProperties': False}, 'offersAreTruncated': {'type': 'boolean', 'description': 'True when more than 100 offers matched the search'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotelId'], 'properties': {'dateTo': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Last day as YYYY-MM-DD (inclusive), at most 31 days in total; defaults to six days after dateFrom'}, 'hotelId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Hotel id: 24 lowercase hexadecimal characters'}, 'dateFrom': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'First day as YYYY-MM-DD (inclusive); defaults to today in UTC'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotel', 'range', 'reservationCount', 'reservationCountIsLowerBound', 'statusCounts', 'days'], 'properties': {'days': {'type': 'array', 'items': {'type': 'object', 'required': ['day', 'arrivals', 'departures', 'inHouseReservations'], 'properties': {'day': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'arrivals': {'type': 'integer', 'maximum': 500, 'minimum': 0}, 'departures': {'type': 'integer', 'maximum': 500, 'minimum': 0}, 'inHouseReservations': {'type': 'integer', 'maximum': 500, 'minimum': 0}}, 'additionalProperties': False}, 'maxItems': 31, 'description': 'One row per day. arrivals, departures and inHouseReservations count confirmed, checked-in and checked-out stays; a stay is not in-house on its checkout day. Reservation or allocation identifiers, individual stay records, guest data, room assignments, notes, documents, payments, access data, channel references and credentials are never returned.'}, 'hotel': {'type': 'object', 'required': ['id', 'name', 'timezone'], 'properties': {'id': {'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, 'name': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}, 'timezone': {'$ref': '#/properties/hotel/properties/name'}}, 'additionalProperties': False}, 'range': {'type': 'object', 'required': ['dateFrom', 'dateTo'], 'properties': {'dateTo': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'dateFrom': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}}, 'additionalProperties': False}, 'statusCounts': {'type': 'object', 'description': 'Reservations overlapping the range by status, inquiries, requests, no-shows and cancellations included', 'propertyNames': {'enum': ['INQUIRY', 'REQUESTED', 'CONFIRMED', 'CHECKED_IN', 'CHECKED_OUT', 'NO_SHOW', 'CANCELED', 'UNSPECIFIED']}, 'additionalProperties': {'type': 'integer', 'maximum': 500, 'minimum': 0}}, 'reservationCount': {'type': 'integer', 'maximum': 500, 'minimum': 0}, 'reservationCountIsLowerBound': {'type': 'boolean', 'description': 'True when more than 500 reservations overlap the range'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['roomTypeId'], 'properties': {'roomTypeId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Room type id: 24 lowercase hexadecimal characters'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'roomType'], 'properties': {'status': {'enum': ['found', 'not-found'], 'type': 'string'}, 'roomType': {'anyOf': [{'type': 'object', 'required': ['id', 'hotelId', 'name', 'maxGuests', 'lastEditTime'], 'properties': {'id': {'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, 'name': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}, 'hotelId': {'anyOf': [{'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, {'type': 'null'}]}, 'maxGuests': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'lastEditTime': {'$ref': '#/properties/roomType/anyOf/0/properties/name'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Null when not found. Free-text descriptions, facilities, photos, channel mappings, integrations, credentials and arbitrary metadata are never returned.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotelId', 'ratePlanId', 'dateFrom', 'dateTo'], 'properties': {'dateTo': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Last night as YYYY-MM-DD (inclusive); the range covers at most 90 days'}, 'hotelId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Hotel id: 24 lowercase hexadecimal characters'}, 'dateFrom': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'First night as YYYY-MM-DD (inclusive)'}, 'ratePlanId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Rate plan id, belonging to hotelId: 24 lowercase hexadecimal characters'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['status', 'dailyRates'], 'properties': {'status': {'enum': ['found', 'not-found'], 'type': 'string'}, 'dailyRates': {'type': 'array', 'items': {'type': 'object', 'required': ['ratePlanId', 'date', 'price', 'minStay', 'closedToArrival', 'closedToDeparture', 'stopSell'], 'properties': {'date': {'anyOf': [{'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, {'type': 'null'}]}, 'price': {'anyOf': [{'type': 'number', 'maximum': 1000000000000, 'minimum': 0}, {'type': 'null'}]}, 'minStay': {'anyOf': [{'type': 'integer', 'maximum': 365, 'minimum': 0}, {'type': 'null'}]}, 'stopSell': {'type': 'boolean'}, 'ratePlanId': {'anyOf': [{'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, {'type': 'null'}]}, 'closedToArrival': {'type': 'boolean'}, 'closedToDeparture': {'type': 'boolean'}}, 'additionalProperties': False}, 'maxItems': 90, 'description': "Stored per-day rows sorted by date; a date without a row sells at the plan's base price. price is in integer minor currency units. Guest, payment, channel, credential and arbitrary metadata are excluded."}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'description': 'Extras per page, from 1 to 100; defaults to 20', 'exclusiveMinimum': 0}, 'offset': {'type': 'integer', 'maximum': 10000, 'minimum': 0, 'description': 'Extras to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit'}, 'hotelId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Only this hotel (24 lowercase hexadecimal characters); every hotel when absent'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['extras', 'page'], 'properties': {'page': {'type': 'object', 'required': ['limit', 'offset', 'returned', 'hasMore'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'exclusiveMinimum': 0}, 'offset': {'type': 'integer', 'maximum': 10000, 'minimum': 0}, 'hasMore': {'type': 'boolean'}, 'returned': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'description': 'hasMore is true when another page exists; request it with offset + limit', 'additionalProperties': False}, 'extras': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'price', 'currency', 'taxable', 'category'], 'properties': {'name': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}, 'price': {'anyOf': [{'type': 'number', 'maximum': 1000000000000, 'minimum': 0}, {'type': 'null'}]}, 'taxable': {'type': 'boolean'}, 'category': {'anyOf': [{'$ref': '#/properties/extras/items/properties/name/anyOf/0'}, {'type': 'null'}], 'description': 'BREAKFAST, PARKING, SPA, TRANSFER, FEE or OTHER'}, 'currency': {'$ref': '#/properties/extras/items/properties/name'}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'Active extras; price is in integer minor currency units. Guest charges, folio data, display colors and credentials are excluded.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'description': 'Hotels per page, from 1 to 100; defaults to 20', 'exclusiveMinimum': 0}, 'offset': {'type': 'integer', 'maximum': 10000, 'minimum': 0, 'description': 'Hotels to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotels', 'page'], 'properties': {'page': {'type': 'object', 'required': ['limit', 'offset', 'returned', 'hasMore'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'exclusiveMinimum': 0}, 'offset': {'type': 'integer', 'maximum': 10000, 'minimum': 0}, 'hasMore': {'type': 'boolean'}, 'returned': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'description': 'hasMore is true when another page exists; request it with offset + limit', 'additionalProperties': False}, 'hotels': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'currency', 'locale', 'timezone', 'lastEditTime'], 'properties': {'id': {'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, 'name': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}, 'locale': {'$ref': '#/properties/hotels/items/properties/name'}, 'currency': {'$ref': '#/properties/hotels/items/properties/name'}, 'timezone': {'$ref': '#/properties/hotels/items/properties/name'}, 'lastEditTime': {'$ref': '#/properties/hotels/items/properties/name'}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'Hotels in the signed-in organization. Addresses, phone numbers, channel credentials, payment configuration, reminder configuration and guest data are excluded.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotelId'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'description': 'Rate plans per page, from 1 to 100; defaults to 20', 'exclusiveMinimum': 0}, 'offset': {'type': 'integer', 'maximum': 10000, 'minimum': 0, 'description': 'Rate plans to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit'}, 'hotelId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Hotel id: 24 lowercase hexadecimal characters'}, 'roomTypeId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Only this room type (24 lowercase hexadecimal characters)'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ratePlans', 'page'], 'properties': {'page': {'type': 'object', 'required': ['limit', 'offset', 'returned', 'hasMore'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'exclusiveMinimum': 0}, 'offset': {'type': 'integer', 'maximum': 10000, 'minimum': 0}, 'hasMore': {'type': 'boolean'}, 'returned': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'description': 'hasMore is true when another page exists; request it with offset + limit', 'additionalProperties': False}, 'ratePlans': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'roomTypeId', 'title', 'basePrice', 'currency', 'mealPlan', 'sellMode', 'rateMode', 'isDefault'], 'properties': {'id': {'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, 'title': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}, 'currency': {'$ref': '#/properties/ratePlans/items/properties/title'}, 'mealPlan': {'$ref': '#/properties/ratePlans/items/properties/title'}, 'rateMode': {'anyOf': [{'$ref': '#/properties/ratePlans/items/properties/title/anyOf/0'}, {'type': 'null'}], 'description': 'manual or derived'}, 'sellMode': {'$ref': '#/properties/ratePlans/items/properties/title'}, 'basePrice': {'anyOf': [{'type': 'number', 'maximum': 1000000000000, 'minimum': 0}, {'type': 'null'}]}, 'isDefault': {'type': 'boolean'}, 'roomTypeId': {'anyOf': [{'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'basePrice is in integer minor currency units. Channel-manager mappings, integration metadata and credentials are excluded.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'description': 'Rooms per page, from 1 to 100; defaults to 20', 'exclusiveMinimum': 0}, 'offset': {'type': 'integer', 'maximum': 10000, 'minimum': 0, 'description': 'Rooms to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit'}, 'hotelId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Only this hotel (24 lowercase hexadecimal characters); every hotel when absent'}, 'roomTypeId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Only this room type (24 lowercase hexadecimal characters)'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rooms', 'page'], 'properties': {'page': {'type': 'object', 'required': ['limit', 'offset', 'returned', 'hasMore'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'exclusiveMinimum': 0}, 'offset': {'type': 'integer', 'maximum': 10000, 'minimum': 0}, 'hasMore': {'type': 'boolean'}, 'returned': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'description': 'hasMore is true when another page exists; request it with offset + limit', 'additionalProperties': False}, 'rooms': {'type': 'array', 'items': {'type': 'object', 'required': ['hotelId', 'roomTypeId', 'name', 'status', 'housekeepingStatus', 'lastEditTime'], 'properties': {'name': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}, 'status': {'anyOf': [{'$ref': '#/properties/rooms/items/properties/name/anyOf/0'}, {'type': 'null'}], 'description': 'AVAILABLE (in service, not a statement about occupancy), OUT_OF_ORDER or OUT_OF_SERVICE'}, 'hotelId': {'anyOf': [{'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, {'type': 'null'}]}, 'roomTypeId': {'$ref': '#/properties/rooms/items/properties/hotelId'}, 'lastEditTime': {'$ref': '#/properties/rooms/items/properties/name'}, 'housekeepingStatus': {'anyOf': [{'$ref': '#/properties/rooms/items/properties/name/anyOf/0'}, {'type': 'null'}], 'description': 'CLEAN, DIRTY or INSPECTED'}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'Physical rooms sorted by name. Internal room ids, reservation, occupant, guest, access-control and channel data are excluded.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'description': 'Room types per page, from 1 to 100; defaults to 20', 'exclusiveMinimum': 0}, 'offset': {'type': 'integer', 'maximum': 10000, 'minimum': 0, 'description': 'Room types to skip, from 0 to 10000; defaults to 0. For the next page pass offset + limit'}, 'hotelId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Only this hotel (24 lowercase hexadecimal characters); every hotel when absent'}}, 'additionalProperties': False}
出力スキーマ
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['roomTypes', 'page'], 'properties': {'page': {'type': 'object', 'required': ['limit', 'offset', 'returned', 'hasMore'], 'properties': {'limit': {'type': 'integer', 'maximum': 100, 'exclusiveMinimum': 0}, 'offset': {'type': 'integer', 'maximum': 10000, 'minimum': 0}, 'hasMore': {'type': 'boolean'}, 'returned': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'description': 'hasMore is true when another page exists; request it with offset + limit', 'additionalProperties': False}, 'roomTypes': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'hotelId', 'name', 'maxGuests', 'lastEditTime'], 'properties': {'id': {'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, 'name': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}, 'hotelId': {'anyOf': [{'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, {'type': 'null'}]}, 'maxGuests': {'anyOf': [{'type': 'integer', 'maximum': 100, 'minimum': 0}, {'type': 'null'}]}, 'lastEditTime': {'$ref': '#/properties/roomTypes/items/properties/name'}}, 'additionalProperties': False}, 'maxItems': 100, 'description': 'Room types sorted by name. Photos, public descriptions, rate-plan internals, channel mappings and credentials are excluded.'}}, 'additionalProperties': False}
入力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['hotelId'], 'properties': {'hotelId': {'type': 'string', 'pattern': '^[0-9a-f]{24}$', 'description': 'Hotel id: 24 lowercase hexadecimal characters'}}}
出力スキーマ
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['hotel', 'scheduleRange', 'reservations', 'rooms', 'roomTypes', 'reservationStatusCounts', 'roomStatusCounts', 'housekeepingStatusCounts'], 'properties': {'hotel': {'anyOf': [{'type': 'object', 'required': ['id', 'name', 'currency', 'locale', 'timezone'], 'properties': {'id': {'type': 'string', 'pattern': '^[0-9a-f]{24}$'}, 'name': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}, 'locale': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}, 'currency': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}, 'timezone': {'anyOf': [{'type': 'string', 'maxLength': 200}, {'type': 'null'}]}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'Null when not found. Guest identities, contact details, reservation or allocation identifiers, individual stay records, notes, documents, occupant ids, payments, access data, integration configuration, credentials and arbitrary metadata are excluded.'}, 'rooms': {'type': 'object', 'required': ['count', 'hasMore'], 'properties': {'count': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'hasMore': {'type': 'boolean'}}, 'description': 'Physical rooms, sampled up to 100; hasMore marks a lower bound', 'additionalProperties': False}, 'roomTypes': {'type': 'object', 'required': ['count', 'hasMore'], 'properties': {'count': {'type': 'integer', 'maximum': 50, 'minimum': 0}, 'hasMore': {'type': 'boolean'}}, 'description': 'Room types, sampled up to 50; hasMore marks a lower bound', 'additionalProperties': False}, 'reservations': {'type': 'object', 'required': ['count', 'hasMore'], 'properties': {'count': {'type': 'integer', 'maximum': 50, 'minimum': 0}, 'hasMore': {'type': 'boolean'}}, 'description': 'Reservations overlapping the next seven UTC days, any status, sampled up to 50; hasMore marks a lower bound', 'additionalProperties': False}, 'scheduleRange': {'type': 'object', 'required': ['dateFrom', 'dateTo'], 'properties': {'dateTo': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'dateFrom': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}}, 'additionalProperties': False}, 'roomStatusCounts': {'type': 'object', 'propertyNames': {'enum': ['AVAILABLE', 'OUT_OF_ORDER', 'OUT_OF_SERVICE', 'UNSPECIFIED'], 'type': 'string'}, 'additionalProperties': {'type': 'integer', 'maximum': 100, 'minimum': 0}}, 'reservationStatusCounts': {'type': 'object', 'propertyNames': {'enum': ['INQUIRY', 'REQUESTED', 'CONFIRMED', 'CHECKED_IN', 'CHECKED_OUT', 'NO_SHOW', 'CANCELED', 'UNSPECIFIED'], 'type': 'string'}, 'additionalProperties': {'type': 'integer', 'maximum': 50, 'minimum': 0}}, 'housekeepingStatusCounts': {'type': 'object', 'propertyNames': {'enum': ['CLEAN', 'DIRTY', 'INSPECTED', 'UNSPECIFIED'], 'type': 'string'}, 'additionalProperties': {'type': 'integer', 'maximum': 100, 'minimum': 0}}}, 'additionalProperties': False}
最近のツール変更
類似のMCPサーバー
Gover MCP
Searches and manages corporate travel requests, flights, hotels, rental vehicles, passengers, carts, approvals, reservations, and…
Gsa Perdiem
Returns official US federal per diem lodging and meal rates by city, state, or ZIP code.
smoobu
Manages vacation-rental properties, reservations, availability, rates, guest communications and channel-synchronized bookings.
beds24
Manages Beds24 lodging properties, bookings, availability, rates, room calendars, guest messages, reviews and booking invoices.
delegacja
Calculates, stores, summarizes, and exports domestic and international business-trip per diem allowances using bundled rate schem…
per-diem
Calculates and records travel allowances from Poland, HMRC, and GSA CONUS rate tables, with trip listings and reports.
Partelisto
Manages Spanish vacation-rental properties, bookings, guest check-in links, and SES.HOSPEDAJES submission statuses without exposi…
reservations
Lists bookable resources and availability and manages reservations for a booking tenant.