RollingGo MCP Tool 参考文档
面向: 第三方 AI Agent 开发者、系统集成架构师、MCP 客户端用户
目标: 详细说明 RollingGo MCP 服务在初级版本(APIKEY 鉴权)与全流程交易闭环版本(OAUTH 鉴权)的 API 参数规范、响应结构以及演进差异。
📌 一、初级版本与全流程交易闭环版本核心差异
RollingGo MCP 的演进方向:核心从 “单一信息查询” 演进为 “从搜索到在线下单履约的完整交易闭环”。1. 核心维度对比表
2. 调用链路对比
极简查询链路(初级版本)
全流程预订与履约闭环链路(全流程交易闭环版本)
🔍 二、初级版本接口规范(APIKEY 鉴权)
初级版本适用于仅需要向用户展示酒店信息、将下单动作交由用户自行完成的 Agent 场景:Agent 不创建订单,但返回bookingUrl 供用户跳转 H5/小程序自行下单。
说明: 本节的 3 个 Tool(searchHotels、getHotelDetail、getHotelSearchTags)为初级版本与全流程交易闭环版本共有,字段定义以当前生产版为准。
1. searchHotels — 搜索全球酒店
按地点、日期、星级、标签筛选酒店,返回候选列表及首夜预估最低参考价。
-
Input 关键入参:
originQuery(string, 必填): 多轮会话提炼出的完整住宿意图(如“上海外滩五星酒店”)place(string, 必填): 目标搜索名称(如“上海外滩”)placeType(string, 必填): 地点类型枚举 (城市/景点/机场/火车站/地铁站/酒店/区/县/详细地址)checkInParam(object): 入住信息包checkInParam.checkInDate(string): 入住日期YYYY-MM-DD(默认明天)checkInParam.stayNights(integer): 入住晚数 (范围 1~28,默认1)checkInParam.adultCount(integer): 每间房成人数 (默认2)
countryCode(string): 国家二字码(ISO 3166-1,如CN、JP)filterOptions(object): 地理解析与星级过滤filterOptions.distanceInMeter(integer): 直线距离限制(米,默认2000,景点/机场时生效)filterOptions.starRatings(float[]): 星级范围,如[4.0, 5.0]
hotelTags(object): 高级标签、品牌与预算过滤hotelTags.requiredTags(string[]): 必须满足的硬性标签hotelTags.preferredBrands(string[]): 偏好品牌列表hotelTags.maxPricePerNight(float): 每晚预算上限
size(integer): 返回条数 (默认5,最大 20)
-
Output 响应特征:
返回
success/message/hotelInformationList数组,价格字段price仅代表首夜展示用参考价;每个酒店附带bookingUrl,可由 Agent 以链接卡片形式推送给用户,用户点击后在 H5/小程序内自行完成下单:
2. getHotelDetail — 查询房型与价格
根据酒店 ID(或名称)获取指定入住时段的详细房型与报价。
-
Input 关键入参:
hotelId(integer, 与name二选一,优先使用): 酒店唯一 IDname(string, 二选一): 酒店名称(模糊搜索)dateParam(object):checkInDate/checkOutDate(YYYY-MM-DD,离店必须晚于入住)occupancyParam(object):roomCount(默认 1)/adultCount(默认 2)/childCount(默认 0)/childAgeDetails(儿童年龄数组,须与 childCount 对齐)localeParam(object):countryCode(默认 CN)/currency(默认 CNY)
-
Output 响应特征:返回
roomRatePlans房型套餐列表(核心字段含roomNameCn,ratePlanId(锁价入参),averagePrice,mealTypeStr,isOnRequest,cancelPolicy,roomInfo(房型设施信息包,含房型首图roomInfo.images,无图返回null)),JSON 示例:
3. getHotelSearchTags — 获取搜索标签(通用)
获取当前启用的酒店筛选标签列表(如“含早餐”、“海景房”、“泳池”等)。
- Output 响应特征:返回
success+tags[](含name与category分类)+usageGuide(大模型标签组合使用指导文字与示例请求 JSON)。
4. 机票接口(⚠️ 已下线维护)
searchAirports: 输入城市/机场关键词换取三字码(如HGH)。searchFlights: 使用三字码查询单程/往返机票列表。
🛒 三、全流程交易闭环版本接口规范(OAUTH 鉴权)
全流程交易闭环版本升级为 9 个 Tool 架构,实现了从价格锁死、生成支付链接到订单履约与两阶段安全取消的全流程操作(字段定义对齐《RollingGo Hotel MCP Tool 字段参考文档》v2.7,2026-09-20)。- 服务端点(OAUTH 鉴权接入):国内版
https://mcp.rollinggo.cn/mcp/hotel/ 国际版https://mcp.rollinggo.ai/mcp/hotel;授权流程详见《RollingGo OAuth 2.0 开发者接入文档(中国大陆 / 海外及港澳台)》。 - 国内版 / 国际版核心字段差异:① 国际版支持
localeParam(currency默认USD、支持 25 种货币;language默认en、支持en/zh/ja),国内版固定中文(zh-CN)+ 人民币(CNY),不支持传入;②placeType枚举国内版为中文(城市/机场/景点等)、国际版为英文(city/airport/point_of_interest等);③countryCode与nationality已废弃移除;④contact.email国内版必填、国际版可选;⑤bookingUrl与miniProgramInfo(微信小程序落地对象)按渠道形态互斥返回。
1. getHotelSearchTags — 获取搜索标签
与初级版本一致,返回系统当前启用的全部标签及大模型组合偏好指导文案。
2. searchHotels — 搜索全球酒店
与初级版本一致(含 hotelTags 标签/品牌/预算等全部筛选能力),入参与响应结构详见第二节。注意:countryCode 已废弃移除,语言与币种改用 localeParam(仅国际版);hotelTags.maxPricePerNight 按所传 localeParam.currency 币种理解;响应中 bookingUrl 与 miniProgramInfo 按渠道形态互斥返回。
3. getHotelDetail — 详查房型与套餐
与初级版本一致,直接返回可用于下一步锁价的 ratePlanId,入参与响应结构详见第二节。注意:支持 filter 房型筛选(国内版与国际版均支持,未传时返回全量房型)——filter.mealType 餐食筛选(标准英文枚举 BREAKFAST_INCLUDED / SINGLE_BREAKFAST / DOUBLE_BREAKFAST / NO_MEAL,兼容中/日文别名如“含早餐”“双早”“朝食付き”)、filter.cancelable 退改筛选(CANCELABLE / NON_CANCELABLE,兼容“可免费取消”“不可取消”“無料キャンセル”等)。
4. hotelPriceConfirm — 价格确认与锁价(交易闭环版本新增)
- 功能:锁定选定房型的实时最终价格,生成预订参考凭证号
referenceNo,锁定有效期 30 分钟。 - Input 关键入参:
hotelID(integer, 必填): 酒店 IDratePlanID(string, 必填):getHotelDetail返回的方案 IDnumOfRooms(integer, 必填): 预订房间数 (默认1)dateParam(object, 必填):checkInDate/checkOutDate(YYYY-MM-DD)occupancyDetails(array, 必填): 房间人数配比,项数须与numOfRooms一致occupancyDetails[].roomNum(integer, 必填): 房间序号,从1起递增occupancyDetails[].adultCount(integer, 必填): 该房成人数 (默认2)occupancyDetails[].childCount(integer): 该房儿童数 (默认0)occupancyDetails[].childAgeDetails(integer[]): 儿童年龄数组,有儿童时必传
localeParam(object, 仅国际版): 语言与币种偏好包(language/currency,国内版无需传入)
- Output 输出:
5. createHotelBookingWithPaymentURL — 创建订单与获取收银台(交易闭环版本新增)
- 功能:提交入住人姓名拼音与联系方式,创建系统订单(
orderNo),并下发 Dida 平台通用收银台paymentUrl。 - Input 关键入参:
referenceNo(string, 必填):hotelPriceConfirm返回依然有效的锁价凭证contact(object, 必填): 联系人信息contact.firstName(string, 必填): 名(拼音或英文)contact.lastName(string, 必填): 姓(拼音或英文)contact.email(string, 国内版必填 / 国际版可选): 接收确认邮件及行程单的邮箱contact.phone(string, 必填): 接收短信通知与紧急联络的电话
guestList(array, 必填): 入住旅客名录,长度须与预订间数一致guestList[].roomNum(integer, 必填): 房间序号,从1起递增guestList[].guestInfo(array, 必填): 该房入住旅客列表,每房至少 1 名成人guestInfo[].firstName(string, 必填): 名拼音或官方英文名guestInfo[].lastName(string, 必填): 姓拼音或官方英文姓guestInfo[].isAdult(boolean, 必填):true成人 /false儿童guestInfo[].age(integer, 儿童必填): 儿童年龄,isAdult=false时不得漏传
customerRequest(string, 可选): 备注式选房要求(如无烟、高楼层)
- Output 输出:
bookingResult为实单结果包装(生单失败时为null);paymentType当前固定返回"URL",paymentUrl为 Dida 平台通用收银台支付页链接(前端解析相应 token,可在宿主浏览器环境调起支付宝、微信、手机 H5 等通道支付结算):
6. searchHotelOrders — 查询订单列表(交易闭环版本新增)
- 功能:拉取当前账户绑定的酒店订单概要列表,轻量化结构防止大模型处理多订单时遭遇信息爆炸和 Context 膨胀。
- Input 关键入参:
status(string): 订单状态筛选(默认ALL):ALL全部 /PENDING进行中待出行(映射底层状态PreBook、Booked、Pending、OnRequest、Confirmed)/FINISHED已结束(映射底层状态Canceled、Failed、Finished)dateRange(object): 下单时间区间dateRange.startDate(string): 开始日期YYYY-MM-DDdateRange.endDate(string): 结束日期YYYY-MM-DD
- Output 输出:
orderList[]概要列表(按生单时间倒序),各字段为orderNo,hotelName,roomName,numOfRooms,checkInDate,checkOutDate,mealDesc,cancelPolicyDesc,orderStatus,totalPrice,currency,orderDate,orderDetailUrl(H5 详情页链接,含支付/退改按钮),paymentUrl(待支付时返回收银台链接,否则null):
7. getHotelOrderDetail — 查询订单全量详情(交易闭环版本新增)
- 功能:根据订单号获取单笔订单的完整结构化详情,满足前台快捷办理入住、地图路线导航、订单限时付款、退改时效判定、凭证报销等场景。
- Input 关键入参:
orderNo(string, 必填): 主体订单号(如"H178...") - Output 输出:
success+message+orderDetail,按五个模块分组(baseInfo/hotelInfo/stayInfo/priceInfo/policyInfo):
8. preCancelHotelBooking — 预取消订单与罚金试算(交易闭环版本新增)
- 功能:两阶段安全取消的第一步——查询订单能否在线取消、试算取消罚金,并获取 10 分钟有效 的取消确认凭证
confirmId。实际取消前必须先调用本 Tool,再调用confirmCancelHotelBooking完成最终取消。只读操作(readOnlyHint: true、destructiveHint: false),本步骤不会真正取消订单。 - Input 关键入参:
orderNo(string, 必填): RollingGo 系统订单号 - Output 关键输出:
canCancel(boolean): 核心判断依据——penaltyAmount == 0(完全免费取消)时为true;有罚金或不可退房型时为false,无法在线取消,message中给出客服电话(0755-36847480 / +852 30023293)与邮箱(cs.hotel@rollinggo.cn)引导人工处理confirmId(string/null): 取消确认凭证,仅canCancel=true时返回,有效期 10 分钟;未支付订单返回"UNPAID"bookingId(string/null): 底层供应商预订号,仅canCancel=true时返回,确认取消时须回传penaltyAmount(number) /currency(string): 取消罚金金额与币种代码(0表示免费取消)message(string): 中 / 英 / 日多语言动态提示文案
- Output 示例(未支付订单,可免费取消):
9. confirmCancelHotelBooking — 确认并执行订单取消(交易闭环版本新增)
- 功能:两阶段安全取消的第二步——使用
preCancelHotelBooking返回的凭证执行最终取消。操作不可逆(destructiveHint: true,幂等idempotentHint: true),Agent 调用前必须获得用户的明确确认。 - Input 关键入参:
orderNo(string, 必填):preCancelHotelBooking返回的订单号bookingId(string, 必填):preCancelHotelBooking返回的预订号confirmId(string, 必填):preCancelHotelBooking返回的取消确认凭证(有效期 10 分钟,过期报6207,需重新预取消获取新凭证)description(string, 可选): 取消原因或备注说明
- Output 输出:
success+code+message(中 / 英 / 日结果文案)+orderNo:
10. 统一错误码与异常映射(交易类 Tool)
🔄 四、版本选型建议
-
默认接入初级版本:
- 申请接入默认开通初级版本(APIKEY 鉴权):Agent 完成搜索与推荐后,将
bookingUrl推送给用户,跳转 RollingGo H5/小程序承接下单预订。 - 开发量小、接入简单,最快几分钟完成对接上线。
- 申请接入默认开通初级版本(APIKEY 鉴权):Agent 完成搜索与推荐后,将
-
接入全流程交易闭环版本:
- 若贵方拥有自有 Agent 且希望 Agent 在对话内独立完成查询 → 锁价 → 生单 → 支付 → 订单履约的全流程闭环,可申请接入全流程交易闭环版本(OAUTH 鉴权)。
- 该版本需联系商务开通:商务合作 contact@rollinggo.ai
文档版本: 当前生产版 (对齐v2.7:OAUTH 版本扩展为 9 个 Tool,新增两阶段订单取消与统一错误码)
更新日期: 2026-10-14

