mcpField
S
search-room

search-room

github.com/justintravalaOther041 installsUpdated 23w ago
Repository

About search-room

search-room is a travel skill for checking room types and rate packages after a hotel has been found with `search-hotel`. It uses that search’s hotel and session details to retrieve options, including meal and cancellation differences.

Key features

  1. 01Retrieve room types and rate packages
  2. 02Sort packages by price
  3. 03Compare meals and refund terms
  4. 04Show cancellation deadlines

Use cases

  1. 01Explore rooms at a specific hotel
  2. 02Find packages with breakfast
  3. 03Compare refundable and non-refundable rates

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/justintravala/travel-skills --skill search-room

After installing, type/search-roomin Claude Code to confirm it loaded.

Details

From the project README

search-room

Get all room types and rate packages for one specific hotel. Use this when the user wants to explore alternatives beyond the default package returned by search-hotel.

When to use

After the user has run search-hotel and wants to drill into a specific hotel:

  • "Show me the rooms at Park Hyatt Tokyo"
  • "What room types does hotel #2 have?"
  • "I want a refundable rate"
  • "Is there a package with breakfast included?"

Do NOT use this skill if the user hasn't already searched for hotels — run search-hotel first to obtain a sessionId.

Prerequisites

You need both:

  1. A hotelId from a prior search-hotel result
  2. The sessionId from that same search

Both are in the JSON output of search-hotel. Don't ask the user — pull them from the previous tool output in your conversation.

How to call

npx @tvl-justin/travel-cli@latest search-package \
  --hotel-id "<hotelId>" \
  --session-id "<sessionId>" \
  --checkin <YYYY-MM-DD> \
  --checkout <YYYY-MM-DD>

--checkin and --checkout are required by the CLI — reuse the dates from the prior search-hotel call.

Optional overrides

If the user wants different dates or occupancy than the original search, pass them explicitly:

npx @tvl-justin/travel-cli@latest search-package \
  --hotel-id "h_001" \
  --session-id "abc123" \
  --checkin 2026-05-02 \
  --checkout 2026-05-06 \
  --rooms "2,8"

Output

{
  "sessionId": "abc123",
  "hotelId": "h_001",
  "hotelName": "Park Hyatt Tokyo",
  "options": [
    {
      "packageId": "pkg_a",
      "roomName": "Park Deluxe King",
      "mealType": "Breakfast included",
      "totalPriceAllRoomsUSD": 1800,
      "totalPricePerNightAllRoomsUSD": 450,
      "refundability": "Refundable",
      "nights": 4,
      "availableRooms": 3
    }
  ]
}

Presenting to the user

List packages sorted by price. Highlight what differs (meal type, refundability). Example:

Park Hyatt Tokyo — 4 nights, May 1–5:

  1. Park Deluxe King — $450/night · Breakfast included · Free cancellation
  2. Park Deluxe King — $400/night · Room only · Non-refundable
  3. Park Suite — $720/night · Breakfast + dinner · Free cancellation

Which one would you like to book?

Save each packageId — that's what book-hotel needs.

Edge cases

  • If options is empty, the hotel has no availability for those dates. Suggest alternatives (different dates or run search-hotel again).
  • Some packages have a cancellation.time_remaining_human field. Surface it when refundability matters: "Free cancellation expires in 18 hours."

Comments

Markdown supported