Roomza Hotel Intelligence
Qué hace este MCP
Searches hotels and provides room-level details, scores, reviews, pricing, nearby places, booking links, and booking-management features.
Herramientas
Esquema de entrada
{'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)'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'message'], 'properties': {'ok': {'type': 'boolean'}, 'message': {'type': 'string'}}, 'additionalProperties': False}
Esquema de entrada
{'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'}}}
Esquema de salida
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['answer'], 'properties': {'answer': {'type': 'string'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['identifier'], 'properties': {'identifier': {'type': 'string', 'description': 'Hotel name, slug, or UUID'}}}
Esquema de salida
{'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}
Esquema de entrada
{'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)'}}}
Esquema de salida
{'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}
Esquema de entrada
{'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"'}}}
Esquema de salida
{'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}
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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}
Esquema de entrada
{'type': 'object', 'properties': {}}
Esquema de salida
{'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}
Esquema de entrada
{'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'}}}
Esquema de salida
{'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}
Esquema de entrada
{'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"'}}}
Esquema de salida
{'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}
Esquema de entrada
{'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'}}}
Esquema de salida
{'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}
Esquema de entrada
{'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'}}}
Esquema de salida
{'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}
Esquema de entrada
{'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.'}}}
Esquema de salida
{'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}
Cambios recientes en herramientas
Servidores MCP similares
Award Travel Finder
Searches award flights and hotels, tracks bookings and loyalty balances, evaluates points and credit cards, and monitors travel r…
Good Turn Studio (all tools)
Offers consumer utilities for insurance claim appeals, subscription cancellation, flight fare research, financial recovery resour…
AI 代理人任務中樞
Aggregates Taiwan-focused tools for AI service comparisons, cryptocurrency data, game information, health guidance, and other con…
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…