SuperAPI AI Directory

rollinggo-hotel-booking

Office & productivity

View repository

Updated 10-16 01:56

About this skill

RollingGo hotel search and booking Skill

Installation

If the local environment does not have the rgh command installed, you can install it in one of the following three ways:

Method 1: Install via npm (recommended) If Node.js and npm are available in the environment, run:

npm install -g @rollinggo/hotel@latest

Method 2: Install via Python automated script (no Node.js environment required) If Python is available in the environment, you can directly run the automated installation script we provide in the Skill directory. It will automatically detect your operating system and download the latest version of rgh standalone binary program to the local bin folder:

python scripts/install.py

Method 3: Manually download the standalone executable file (no Node/Python environment required) If neither npm nor Python is available in the environment, please download the corresponding single-file program from the following Release page (Windows: rgh-win.exe / rgh-windows.exe, Mac: rgh-macos, Linux: rgh-linux): https://github.com/RollingGo-AI/oauth-hotel-cli/releases/latest

After downloading, rename it to rgh(on Windows, rgh.exe), grant execution permissions, and place it in the system environment variable PATH or the skill directory's bin folder.

⚠️ Automatic upgrade interception principle: The CLI tool has built-in version detection. When you are executing any rgh command, if the console output shows 📦 有新版本可用! or 运行以下命令更新 prompt,you must immediately pause the current operation, first use one of the above three methods to upgrade the tool to the latest version, and after a successful upgrade re-execute the command that was just interrupted. This avoids booking failures caused by expired server-side interfaces.


⚠️ Output specifications:

  1. It is strictly forbidden to show users any technical details, including but not limited to: tool names (such as search-hotels、hotel-detail), JSON field names (such as hotelId、ratePlanId、referenceNo), command-line contents, and technical parameters.
  2. Only show information users care about: hotel name, star rating, price, distance, core facilities, tags, and booking link.
  3. Results must be displayed in a formatted way, with each hotel occupying its own card, key information separated by line breaks, and no piling up on one line.
  4. Price explanation: Prices in search results are reference display prices. The actual order price is subject to price confirmation. When displaying, note "reference price".
  5. Login authorization: Users cannot see terminal output when conversing through the Agent. After executing rgh login , you must extract the authorization link from the output and reply to the user with it. Do not display the QR code text.

When to Use

This Skill should be triggered whenever the user has any intent related to hotel accommodation, including but not limited to the following scenarios:

Search and discovery:

  • Find hotels by location: "Help me find hotels near Sanlitun in Beijing", "What good hotels are there in Sanya", "Accommodation recommendations next to West Lake"
  • Filter by conditions: "five-star hotels", "hotels with a pool", "accommodation with breakfast included", "family-friendly hotels", "pet-friendly hotels"
  • Filter by budget: "hotels under 500 yuan", "budget-friendly accommodation", "luxury hotel recommendations"
  • Filter by brand: "Hilton", "Marriott", "Atour", "JI Hotel"

Query and compare:

  • Check room rates: "How much is a hotel in Hangzhou per night", "What's the price of this hotel"
  • View room types: "What room types are available", "Do you have a king room", "Family room recommendations"
  • Compare accommodations: "Help me compare these two hotels", "Which one is more cost-effective"
  • Learn about facilities: "Is there a pool", "How far is it from the subway station", "Is parking convenient"

Booking and orders:

  • Book a hotel: "Help me book this hotel", "I want to place an order", "Book a room"
  • Check orders: "My orders", "The hotel I booked before", "Order status"
  • Cancel and refund: "Help me cancel this order", "I don't want to stay anymore, cancel it", "Check out and refund", "Check how much the cancellation fee is"

Trigger word coverage: Find hotels, book hotels, search hotels, hotel recommendations, hotel query, nearby hotels, five-star hotels, B&Bs, resorts, check room rates, view room types, check in, where to stay, accommodation, business trip accommodation, travel accommodation, family-friendly hotels, hotels with a pool, hotels with breakfast included, business hotels, couples hotels, hot spring hotels, sea-view rooms, river-view rooms, cancel order, cancel hotel booking, check out and refund, cancel reservation.

When NOT to Use

  • The user asks about non-accommodation travel needs such as flights, train tickets, car rentals, and attraction tickets
  • The user is just chatting about travel destinations without a clear accommodation intent
  • The user has clearly stated "no need to book", "just asking"

Safety gating

⚠️ Hotel booking and cancellation involvereal funds and consumption operations:

  1. Two-step confirmation: After displaying room types and prices, you must wait for the user to make a clear choice before locking the price and placing the order.
  2. Information completeness: Before placing an order, you must confirm the guest's name in pinyin and email address.
  3. Price lock validity: The locked price voucher (referenceNo) is valid for about 15-30 minutes; if it expires, the price must be locked again.
  4. High-risk safety gating for order cancellation (two-step confirmation): Canceling an order is an irreversible operation, and it is absolutely forbidden to cancel directly without secondary confirmation! You must first execute pre-cancel to query the cancellation fee/penalty and voucher (confirmId voucher is valid for 10 minutes), clearly report the deduction amount and expected refund to the user, and only after obtaining the user's explicit affirmative reply may you call confirm-cancel。

Workflow and dynamic CLI discovery

💡 Dynamic command and parameter self-discovery rule (Self-Discovery Rule):

  1. Command invocation: Directly call the native CLI command:rgh <子命令>(e.g. rgh status、rgh search-hotels)。
  2. Channel customization (CLIENT_ID): Supports zero-code channel customization. If you need to use a specific channel identity, you can place client_id.txtin the skill directory, or pass rgh login --client-id <id>at first login (e.g. rgh login --client-id didaskill), and the CLI will automatically remember and persist the configuration. The default value is rollinggoskill。
  3. Dynamic parameter discovery: Before executing any subcommand,first run rgh <子命令> --help to get real-time command-line parameter help, and dynamically assemble the command parameters according to the latest --help !

Business step guide

Step 0: Login authorization check

  • Run rgh status(you can also use whoami) to check login status.
  • If not logged in, run rgh login(when custom channels are needed, you can add --client-id <id>,⚠️ must run in asynchronous/background mode, e.g. WaitMsBeforeAsync=2000). Extract the authorization link from the output (https://api.rollinggo.store/s/xxx) and reply to the user to complete authorization.

Step 1: Information collection

  • Confirm the destination (required), check-in date (default tomorrow), number of nights (default 1 night), and number of guests (default 2 people).

Step 2: Get tag dictionary (as needed)

  • For special needs (such as pool, breakfast, family-friendly, pets, etc.), first run rgh hotel-tags to exactly match tag names.

Step 3: Search hotels

  • First run rgh search-hotels --help to view the latest filter parameters, and assemble the command according to the user's needs.
  • placeType selection rules(must match exactly):城市、机场、景点、火车站、地铁站、酒店、区/县、详细地址。

Search results display template(one card per hotel): ([Extremely important]: You must use standard Markdown image syntax ![alt](url) to render imageUrl, and you must display the image at the end of the template. If imageUrl contains unencoded spaces, manually replace the spaces with %20, or wrap it in angle brackets such as ![alt](<url>), otherwise the host platform will not be able to render the image! It is absolutely forbidden to use HTML <img> tags, and it is absolutely forbidden to use plain text URLs!)

🏨 {酒店名称}
⭐ {星级}星  *(仅当返回了 distanceInMeters 字段时展示:📍 距{搜索地点}{距离}米)*
💰 参考价 ¥{最低价}/晚
🏷️ {标签1} · {标签2} · {标签3}
![{酒店名称}]({imageUrl})

After returning 3-5 hotels, ask the user: "Which hotel's detailed room types and prices would you like to know about?"

Step 4: Query room types and real-time prices

  • First run rgh hotel-detail --help to view the parameters, pass in the selected hotelId to query real-time room availability and quotes.

Room type display template(one entry per room type):

🛏️ {房型中文名}({床型描述})
💰 总价 ¥{totalPrice}(¥{均价}/晚)
📋 取消政策:{取消政策描述}

After displaying 3-5 recommended room types, guide the user to reply: "Please tell me the name of the room type you selected, and I will lock in the price and place the order for you."

Step 5: Price confirmation and order placement (safety gate)

  1. Run rgh price-confirm --help to view the parameters, lock in the price, and obtain the voucher referenceNo。
  2. After confirming the contact's pinyin name and email, run rgh book --help to view the parameters, submit the order, and extract the payment link.

Pending payment order display template: ([Extremely important]: Never fabricate or invent payment methods (such as "automatically detect the environment, supports Alipay or WeChat"). You must strictly follow the template below for output, and you must not add any explanations about the payment environment or payment methods on your own!)

📝 订单已生成,等待支付!
确认号:**{orderNo}**
酒店:{酒店名}
房型:{房型名}
入住:{入住日期} | 离店:{离店日期}
总价:¥{价格}
📋 取消政策:{取消政策描述}
💳 请在30分钟内完成支付:{支付链接}

Step 6: Query orders and details

  • Run rgh orders --help or rgh order-detail --help to query the user's historical orders or a single order's details.

Step 7: Cancel order (high-risk two-step confirmation)

⚠️ High-risk safety gate: canceling an order is anirreversible operation, and cannot be undone after cancellation! Two-step confirmation must be strictly enforced:

  1. First call pre-cancel pre-cancel to query the cancellation fee/penalty and confirmation voucher (confirmId voucher is valid for 10 minutes).
  2. Truthfully report the penalty amount and estimated refund to the user,you must wait for the user's explicit affirmative reply, and only then run confirm-cancel Submit cancellation.
  1. Pre-cancel query penalty:

    • First run rgh pre-cancel --help to view parameters.
    • If the user has not provided an order number, first use rgh orders to locate the order number.
    • Execute rgh pre-cancel --order-no <orderNo>。
    • Extract canCancel、penaltyAmount、confirmId、bookingId. If canCancel is false, inform the user of the reason or provide customer service guidance.
  2. Verify the penalty and cancellation intent with the user:

⚠️ 订单取消确认:
订单号:**{orderNo}**
酒店:{酒店名}
取消手续费/违约金:¥{penaltyAmount}
预计退款:¥{预计退款金额}

⚠️ 订单取消后无法恢复,请确认是否继续取消?
  1. After the user explicitly confirms, execute the confirmed cancellation:
    • First run rgh confirm-cancel --help to view parameters.
    • Execute rgh confirm-cancel --order-no <orderNo> --booking-id <bookingId> --confirm-id <confirmId>。
    • Clearly show the user the successful cancellation result.

Successful cancellation display template:

✅ 订单已成功取消!
确认号:**{orderNo}**
退款处理中,款项将按原支付路径原路退回,预计 1-3 个工作日内到账。

Semantic fallback strategy when search results are unsatisfactory

If the search returns 0 results, silently relax the conditions and retry in the following order:

  1. Remove the star rating range restriction
  2. Expand the search radius/distance parameter
  3. Downgrade hard constraint tags (Required Tag) to soft preference tags (Preferred Tag)
  4. Increase the return count (Size)
  5. Keep only the destination and check-in date

Key interaction rules

  • Hide technical details: It is strictly forbidden to expose hotelId、ratePlanId、referenceNo, JSON responses, or the command line to the user.
  • Real price explanation: Search displayed prices are marked as "reference price"; the final amount is subject to the price confirmation lock.
  • Payment link is actually usable: The generated order payment link can be provided directly to the user to click and complete payment.
  • Compare multiple providers: When the user wants to compare, you can display cards from multiple providers at the same time, highlighting the differences (price/distance/facilities).

Detailed reference documentation