Hotel Search Tool
hotel_searchFull Description
Use this ONLY when the user is trying to FIND/SEARCH for hotels (new lodging options) for a destination and date range. Include all details in inputQuery if provided by the user like: destination, dates (convert relative dates like 'next weekend' to specific dates), number of adults, number of children, number of rooms, and preferences (e.g., 'near Times Square', 'pet-friendly', 'under $200/night'). When you can infer structured inputs, set the optional fields on the tool schema—location and stay (cityName, state, countryName, rooms, adults, childOcc, hotelName, neighborhoodsNames), filters (amenityCodes, minGuestRating, starRatings, minPrice, maxPrice, brands), beds (bedCounts), rate and sort preferences (isFullyRefundableHotel, isFreeCancellationHotel, needCheapestHotel, needPayLaterRateHotel, shouldSortByReviewScore, isSearchingResort, isExpressDeal). If dates are not provided, default to today +2 nights. For brands: pass only chain names the user explicitly said—do not add sibling sub-brands (e.g. Hilton + Hyatt only, not Hampton, Doubletree, Hyatt Place, etc.) unless the user named them. Results are displayed in an interactive map widget and POI markers may appear when the server returns them. Users can tap a hotel to complete booking on Priceline.com. For follow-ups, preserve context (destination, dates) and issue a new search with updated parameters. DO NOT use for reservation/booking management or support requests, including but not limited to: existing reservations, itinerary details, confirmation numbers, changes/cancellations, refunds, payment issues, account/login problems, customer service, or general Priceline policy questions. Also do not use for flights, car rentals, vacation packages, or general travel advice without lodging-search intent. Do not use this tool to book hotels directly or to retrieve details about a specific hotel. When summarizing results, do not display, cite, or repeat hotel IDs, hotelDetailsURL, thumbnailUrl, or lat/lng coordinates to the user; IDs and URLs are for tools and the widget only. Refer to properties by name only. Direct users to the widget to view details or book.
Parameters (3 required, 22 optional)
checkInstringCheck-in date in YYYY-MM-DD format. Extract from user query and convert: '12/09' → '2026-12-09', 'December 9' → '2026-12-09', 'tomorrow' → appropriate date. Use the current year. If user doesn't specify, use today's date.
checkOutstringCheck-out date in YYYY-MM-DD format. Extract from user query and convert: '12/13' → '2026-12-13', 'for 2 nights' → checkIn +2 days. Use the current year. If user doesn't specify, use checkIn +2 days.
inputQuerystringThe natural language query to search for hotels. Generate this from user's current query and conversation history. Include all necessary information if provided such as: city, check-in date, check-out date, number of rooms, number of adults as well as any additional preferences.
adultsintegerNumber of adults to accommodate in those rooms.
2amenityCodesarrayOptional amenity filters using these codes only: HANDFAC, FPRKING, FINTRNT, SPOOL, PETALLOW, RESTRNT, FBRKFST, FITSPA, HOTTUB, SPA, BUSCNTR, SPOOLOUT, KITCHEN, BCHFRNT, CASINO, FAIRSHUTTL, AIRSHUTTL, ADULTONLY, INCLUSIVE. Map what the user says to a code (e.g. hot tub → HOTTUB, free parking → FPRKING, kitchen → KITCHEN, pool → SPOOL). For fitness / fitness center / gym, use FITSPA. Only the codes above have any effect.
bedCountsstringBed needs for the stay. One number (e.g. "2") or comma-separated options (e.g. "3,4" when the user is flexible).
brandsarrayOnly the hotel chain names the user explicitly asked for—each value must be one of the allowed brand names exactly, one entry per name they used. Do not expand a chain into related sub-brands: e.g. "Hilton or Hyatt" → ["Hilton","Hyatt"] only, not Hampton Inn, Doubletree, Hyatt Place, Embassy Suites, etc., unless the user named those brands themselves. Do not add extra brands to cover a "family" of hotels unless the user requested that.
childOccstringComma-separated list of children to accommodate, each segment as count-age (number of children of that age). Format per segment: '{{number_of_children}}-{{age}}'. Example: one child age 10 and one age 2 → '1-10,1-2'. For infants under 1 year old, use age 0 (e.g. one infant → '1-0').
cityNamestringCity for the stay when known (e.g. "New York", "Los Angeles"). Infer from conversation when the user names a neighborhood, POI, or street. Do not use a region as cityName (e.g. "Caribbean" is not a city).
countryNamestringCountry code for the destination (e.g. "US", "CA", "UK"), not the full country name. Resolve from the city when you can. Do not use a region as countryName.
UShotelNamestringProperty or chain name when the user is searching for one hotel. Use the core name only—do not add "The", "A", or "Hotel" (e.g. "the Sofitel hotel" → "Sofitel"). Extra words can break name matching.
isExpressDealbooleanSet true when the user wants Express Deal hotels only (discounted opaque offers). Omit or false to include the usual mix of standard and Express Deal options in results.
isFreeCancellationHotelbooleanTrue when the user wants free cancellation.
isFullyRefundableHotelbooleanTrue when the user wants fully refundable rates.
isSearchingResortbooleanTrue when the user is clearly looking for a resort stay.
maxPricenumber/stringMaximum price per night for the hotel (budget upper bound).
minGuestRatingstringMinimum guest rating filter when applicable; typically a value from 1 to 9.
minPricenumber/stringMinimum price per night for the hotel (budget lower bound).
needCheapestHotelbooleanTrue when the user asks for cheapest, cheaper, affordable options, or wants results sorted by price low to high.
needPayLaterRateHotelbooleanTrue when the user wants pay-at-hotel, pay later, or similar payment timing.
neighborhoodsNamesstringComma-separated hints for where in the city to stay—neighborhoods, areas, landmarks, or streets. Examples: near the airport or SoHo → 'airport,soho'; a street like "11 Madison" → '11 Madison'. Each segment should be at least 2 characters.
roomsintegerNumber of rooms to accommodate.
1shouldSortByReviewScorebooleanTrue when the user wants best-reviewed hotels or sorting by guest rating / review score.
starRatingsstringComma-separated star levels to include, e.g. 3,4,5 or 3,3.5,4,4.5,5.
statestringUS state as two-letter abbreviation when applicable (e.g. "NY", "CA"). Resolve from the city when you can. Do not invent a state for a region-only destination.