Roomza Hotel Intelligence
Ce que fait ce MCP
Searches hotels and provides room-level details, scores, reviews, pricing, nearby places, booking links, and booking-management features.
Outils
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['booking_id', 'request'], 'properties': {'request': {'type': 'string', 'description': 'The special request to add'}, 'booking_id': {'type': 'string', 'description': 'The booking ID to add the request to (get this from get_my_trips)'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'message'], 'properties': {'ok': {'type': 'boolean'}, 'message': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotel_id', 'question'], 'properties': {'hotel_id': {'type': 'string', 'description': 'Hotel UUID (the URL slug also works)'}, 'question': {'type': 'string', 'description': 'The specific question about the hotel'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['answer'], 'properties': {'answer': {'type': 'string'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['identifier'], 'properties': {'identifier': {'type': 'string', 'description': 'Hotel name, slug, or UUID'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['found', 'hotel'], 'properties': {'found': {'type': 'boolean'}, 'hotel': {'anyOf': [{'type': 'object', 'required': ['id', 'slug', 'name', 'url', 'address', 'city', 'state', 'zip', 'starRating', 'verificationStatus', 'score', 'reviewCount', 'scoreBreakdown', 'topStrengths', 'googleRating', 'googleReviewCount', 'amenities', 'hotelType', 'vibes', 'bestFor', 'neighborhood', 'awards', 'knownViews', 'uniqueFeatures', 'landmarks', 'roomzaTruth'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'zip': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'name': {'type': 'string'}, 'slug': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Roomza score 0-100; null when unreviewed'}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'vibes': {'type': 'array', 'items': {'type': 'string'}}, 'awards': {'type': 'array', 'items': {'type': 'string'}}, 'address': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'bestFor': {'type': 'array', 'items': {'type': 'string'}}, 'amenities': {'type': 'array', 'items': {'type': 'string'}}, 'hotelType': {'type': 'array', 'items': {'type': 'string'}}, 'landmarks': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'distanceMi'], 'properties': {'name': {'type': 'string'}, 'distanceMi': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'knownViews': {'type': 'array', 'items': {'type': 'string'}}, 'starRating': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'reviewCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'roomzaTruth': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'googleRating': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'neighborhood': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'topStrengths': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'score'], 'properties': {'label': {'type': 'string'}, 'score': {'type': 'number'}}, 'additionalProperties': False}}, 'scoreBreakdown': {'type': 'array', 'items': {'type': 'object', 'required': ['label', 'score'], 'properties': {'label': {'type': 'string'}, 'score': {'type': 'number'}}, 'additionalProperties': False}}, 'uniqueFeatures': {'type': 'array', 'items': {'type': 'string'}}, 'googleReviewCount': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'verificationStatus': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'null'}], 'description': 'null when the hotel was not found'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotel_id'], 'properties': {'check_in': {'type': 'string', 'description': 'Check-in date in YYYY-MM-DD format (defaults to today)'}, 'hotel_id': {'type': 'string', 'description': 'Hotel UUID (the URL slug also works)'}, 'check_out': {'type': 'string', 'description': 'Check-out date in YYYY-MM-DD format (defaults to tomorrow)'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['found', 'hotelName', 'currency', 'checkIn', 'checkOut', 'nights', 'roomTypes', 'typicalNightlyFrom', 'note'], 'properties': {'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'found': {'type': 'boolean', 'description': 'false when the hotel is unknown'}, 'nights': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'checkIn': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'checkOut': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'currency': {'type': 'string'}, 'hotelName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'roomTypes': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'fromNightly'], 'properties': {'name': {'type': 'string'}, 'fromNightly': {'type': 'number', 'description': "Nightly from-price in whole dollars, hotel's own public rate"}}, 'additionalProperties': False}, 'description': 'Per-room-type from-prices when dates were given and live rates exist'}, 'typicalNightlyFrom': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Hotel-level typical nightly from-price in dollars'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotel_id'], 'properties': {'hotel_id': {'type': 'string', 'description': 'Hotel UUID from search_hotels/get_hotel (the URL slug also works)'}, 'room_number': {'type': 'string', 'description': 'Look up a specific room by number, e.g. "434"'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['count', 'rooms', 'roomTypes', 'bookUrl', 'note'], 'properties': {'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "Copy encouraging a booking + review to start this hotel's room record"}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'rooms': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'roomNumber', 'floor', 'roomTypeName', 'bedType', 'view', 'sqFt', 'bathtub', 'balcony', 'adaAccessible', 'miniFridge', 'microwave', 'adaFeatures', 'score', 'reviewCount', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Room UUID â\x80\x94 pass to show_rooms or secure_room'}, 'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'sqFt': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'view': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'floor': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Roomza room score 0-100'}, 'balcony': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'bathtub': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'null = unknown; false = confirmed absent'}, 'bedType': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'microwave': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'miniFridge': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'roomNumber': {'type': 'string'}, 'adaFeatures': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'reviewCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'roomTypeName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'adaAccessible': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'bookUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Roomza booking link for this hotel; set only on the no-records fallback'}, 'roomTypes': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'fromNightly'], 'properties': {'name': {'type': 'string'}, 'fromNightly': {'type': 'number', 'description': "Typical nightly from-price in USD from the hotel's public rates"}}, 'additionalProperties': False}, 'description': 'Only populated when the hotel has no room records yet: bookable room types from live rates'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['found', 'preferences', 'standingRequests', 'loyaltyPrograms', 'travelCards'], 'properties': {'found': {'type': 'boolean'}, 'preferences': {'anyOf': [{'type': 'object', 'required': ['bedType', 'view', 'bathtub', 'balcony', 'petFriendly', 'highFloor', 'awayFromElevator', 'quietSide', 'minStars', 'maxPricePerNight', 'upgradePreference'], 'properties': {'view': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'balcony': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'bathtub': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'bedType': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'minStars': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'highFloor': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'quietSide': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'petFriendly': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'awayFromElevator': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}, 'maxPricePerNight': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'upgradePreference': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}, {'type': 'null'}]}, 'travelCards': {'type': 'array', 'items': {'type': 'string'}}, 'loyaltyPrograms': {'type': 'array', 'items': {'type': 'object', 'required': ['program', 'tier'], 'properties': {'tier': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'program': {'type': 'string'}}, 'additionalProperties': False}}, 'standingRequests': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['count', 'upcoming', 'past'], 'properties': {'past': {'type': 'array', 'items': {'type': 'object', 'required': ['bookingId', 'hotelId', 'hotelName', 'hotelUrl', 'city', 'state', 'checkIn', 'checkOut', 'nights', 'confirmationNumber', 'hotelConfirmationCode', 'bookingPlatform', 'status', 'specialRequests'], 'properties': {'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'nights': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'checkIn': {'type': 'string', 'description': 'YYYY-MM-DD'}, 'hotelId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'checkOut': {'type': 'string', 'description': 'YYYY-MM-DD'}, 'hotelUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'bookingId': {'type': 'string', 'description': 'Pass to add_special_request'}, 'hotelName': {'type': 'string'}, 'bookingPlatform': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'specialRequests': {'type': 'array', 'items': {'type': 'string'}}, 'confirmationNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Booking reference. For stays booked through Roomza this is the supplier reference until the hotel issues its own number'}, 'hotelConfirmationCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "The hotel's own confirmation number; null until the hotel issues it"}}, 'additionalProperties': False}}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'upcoming': {'type': 'array', 'items': {'type': 'object', 'required': ['bookingId', 'hotelId', 'hotelName', 'hotelUrl', 'city', 'state', 'checkIn', 'checkOut', 'nights', 'confirmationNumber', 'hotelConfirmationCode', 'bookingPlatform', 'status', 'specialRequests'], 'properties': {'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'nights': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'status': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'checkIn': {'type': 'string', 'description': 'YYYY-MM-DD'}, 'hotelId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'checkOut': {'type': 'string', 'description': 'YYYY-MM-DD'}, 'hotelUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'bookingId': {'type': 'string', 'description': 'Pass to add_special_request'}, 'hotelName': {'type': 'string'}, 'bookingPlatform': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'specialRequests': {'type': 'array', 'items': {'type': 'string'}}, 'confirmationNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Booking reference. For stays booked through Roomza this is the supplier reference until the hotel issues its own number'}, 'hotelConfirmationCode': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "The hotel's own confirmation number; null until the hotel issues it"}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotel_id'], 'properties': {'end_date': {'type': 'string', 'description': 'Travel end date YYYY-MM-DD -- filters events to this window'}, 'hotel_id': {'type': 'string', 'description': 'Hotel UUID from search_hotels/get_hotel (the URL slug also works)'}, 'start_date': {'type': 'string', 'description': 'Travel start date YYYY-MM-DD -- filters events to this window'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['found', 'places', 'events'], 'properties': {'found': {'type': 'boolean'}, 'events': {'type': 'array', 'items': {'type': 'object', 'required': ['title', 'date', 'when', 'venueName', 'ticketLink'], 'properties': {'date': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'when': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'title': {'type': 'string'}, 'venueName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'ticketLink': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}, 'places': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'category', 'rating', 'priceLevel', 'address'], 'properties': {'name': {'type': 'string'}, 'rating': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'address': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'category': {'type': 'string'}, 'priceLevel': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['hotel_id'], 'properties': {'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Number of reviews (default 5)'}, 'hotel_id': {'type': 'string', 'description': 'Hotel UUID (the URL slug also works)'}, 'room_number': {'type': 'string', 'description': 'Filter reviews to a specific room number, e.g. "434"'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['count', 'note', 'reviews'], 'properties': {'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Set when no reviews are returned, e.g. unknown room'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'reviews': {'type': 'array', 'items': {'type': 'object', 'required': ['guestDisplayName', 'stayMonth', 'roomId', 'roomNumber', 'roomUrl', 'score', 'comment', 'insiderTip'], 'properties': {'score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Overall score 0-100'}, 'roomId': {'type': 'string'}, 'comment': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'roomUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'stayMonth': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'insiderTip': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'roomNumber': {'type': 'string'}, 'guestDisplayName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'city': {'type': 'string', 'description': 'Narrow results to a specific city'}, 'limit': {'type': 'integer', 'maximum': 20, 'minimum': 1, 'description': 'Max results (default 10)'}, 'query': {'type': 'string', 'description': 'Hotel name, city, or keyword'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['count', 'note', 'hotels'], 'properties': {'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Search note, e.g. a nearby-city fallback explanation'}, 'count': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Number of hotels returned'}, 'hotels': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'city', 'state', 'country', 'url', 'score', 'reviewCount', 'hotelType', 'vibes', 'neighborhood', 'lat', 'lng', 'photoUrl', 'roomCount', 'roomsWithRecords', 'fromNightly'], 'properties': {'id': {'type': 'string', 'description': 'Hotel UUID â\x80\x94 pass to get_hotel_rooms, get_hotel_pricing, get_nearby, ask_about_hotel'}, 'lat': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'lng': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'url': {'type': 'string', 'description': 'Canonical Roomza hotel page'}, 'city': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'name': {'type': 'string'}, 'score': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Roomza score 0-100; null when unreviewed'}, 'state': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'vibes': {'type': 'array', 'items': {'type': 'string'}}, 'country': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'photoUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'hotelType': {'type': 'array', 'items': {'type': 'string'}}, 'roomCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Rooms tracked on Roomza for this hotel'}, 'fromNightly': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Cached nightly from-price in USD; null when uncovered'}, 'reviewCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'neighborhood': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'roomsWithRecords': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991, 'description': 'Tracked rooms with at least one verified review'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['room_id', 'check_in', 'check_out'], 'properties': {'guests': {'type': 'integer', 'maximum': 8, 'minimum': 1, 'description': 'Guest count (default 2)'}, 'room_id': {'type': 'string', 'description': 'Room UUID (from show_rooms or get_hotel_rooms)'}, 'check_in': {'type': 'string', 'description': 'Check-in date, YYYY-MM-DD'}, 'check_out': {'type': 'string', 'description': 'Check-out date, YYYY-MM-DD'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'message', 'roomId', 'roomNumber', 'hotelId', 'hotelName', 'checkIn', 'checkOut', 'nights', 'guests', 'currency', 'bookable', 'indicativeOnly', 'rateName', 'totalToday', 'dueAtHotel', 'publicRate', 'cancellation', 'trackRecord', 'bookingUrl'], 'properties': {'ok': {'type': 'boolean', 'description': 'false = the request could not be quoted; see message'}, 'guests': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'nights': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'roomId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'checkIn': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'hotelId': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'message': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Set when ok is false'}, 'bookable': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'true when a live bookable rate was found'}, 'checkOut': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'currency': {'type': 'string'}, 'rateName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'hotelName': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'bookingUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Secure checkout link with the room preselected; payment happens only there'}, 'dueAtHotel': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Additional amount due at the hotel, dollars'}, 'publicRate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': "Hotel's public rate in dollars, for comparison"}, 'roomNumber': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'totalToday': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Total charged today in dollars'}, 'trackRecord': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': "Hotel's room-request honor track record"}, 'cancellation': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'indicativeOnly': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'description': 'true when the price is from public listings, not bookable'}}, 'additionalProperties': False}
Schéma d’entrée
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['room_ids'], 'properties': {'check_in': {'type': 'string', 'description': "Check-in date YYYY-MM-DD. Pass whenever the user's dates are known so card prices match those dates."}, 'room_ids': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 8, 'minItems': 1, 'description': 'Room UUIDs to display, in ranked order (best first). 1-8 rooms.'}, 'check_out': {'type': 'string', 'description': 'Check-out date YYYY-MM-DD.'}}}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rooms'], 'properties': {'rooms': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'hotelId', 'hotelName', 'location', 'roomLabel', 'roomNumber', 'floor', 'score', 'reviewCount', 'pricePerNight', 'priceNote', 'currency', 'photoUrl', 'photoSource', 'view', 'bedType', 'sqFt', 'blurb', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string'}, 'sqFt': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'view': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'blurb': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'floor': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'score': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'bedType': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'hotelId': {'type': 'string'}, 'currency': {'type': 'string'}, 'location': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'photoUrl': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'hotelName': {'type': 'string'}, 'priceNote': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'Shown in the price slot when pricePerNight is null, e.g. a prompt to provide dates'}, 'roomLabel': {'type': 'string'}, 'roomNumber': {'type': 'string'}, 'photoSource': {'anyOf': [{'enum': ['room', 'hotel'], 'type': 'string'}, {'type': 'null'}], 'description': 'Whether photoUrl shows the actual room or is a hotel-level fallback'}, 'reviewCount': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': -9007199254740991}, 'pricePerNight': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'Nightly price for the requested dates; null when no dates were given or no live rate exists'}}, 'additionalProperties': False}}}, 'additionalProperties': False}
Modifications récentes des outils
Serveurs MCP similaires
Award Travel Finder
Searches award flights and hotels, tracks bookings and loyalty balances, evaluates points and credit cards, and monitors travel r…
AI 代理人任務中樞
Aggregates Taiwan-focused tools for AI service comparisons, cryptocurrency data, game information, health guidance, and other con…
Good Turn Studio (all tools)
Offers consumer utilities for insurance claim appeals, subscription cancellation, flight fare research, financial recovery resour…
Gover MCP
Searches and manages corporate travel requests, flights, hotels, rental vehicles, passengers, carts, approvals, reservations, and…
DC Member API
Provides access to Dynamite Circle membership data, community profiles, chapters, events, trips, calendars, alerts, follows, agen…
Nomad Stays
Searches and books remote-work accommodations while supporting host listing management, rooms, packages, availability, and hospit…
lilo Vacation Rentals
Supports vacation-rental discovery, availability and direct booking, property operations, short-term-rental compliance, guest and…
mcp-server
Provides immigration, citizenship and residency programme research alongside tax, wealth structuring, banking, visa, treaty and c…