From 978b8de339abb2d4a097517d01fad33ba78672aa Mon Sep 17 00:00:00 2001
From: kinas2u <9953731+kinas2u@users.noreply.github.com>
Date: Wed, 15 Jul 2026 10:27:05 +0000
Subject: [PATCH] chore(spec): bump to v2.0.0
---
.spec-version | 1 +
spec/release-bump.txt | 1 +
spec/tmsx-hotel-cases.yaml | 205 +++++
spec/tmsx-hotel-spec.yaml | 1513 ++++++++++++++++++++++++++++++++++++
4 files changed, 1720 insertions(+)
create mode 100644 .spec-version
create mode 100644 spec/release-bump.txt
create mode 100644 spec/tmsx-hotel-cases.yaml
create mode 100644 spec/tmsx-hotel-spec.yaml
diff --git a/.spec-version b/.spec-version
new file mode 100644
index 0000000..227cea2
--- /dev/null
+++ b/.spec-version
@@ -0,0 +1 @@
+2.0.0
diff --git a/spec/release-bump.txt b/spec/release-bump.txt
new file mode 100644
index 0000000..acb503f
--- /dev/null
+++ b/spec/release-bump.txt
@@ -0,0 +1 @@
+minor
diff --git a/spec/tmsx-hotel-cases.yaml b/spec/tmsx-hotel-cases.yaml
new file mode 100644
index 0000000..d043dad
--- /dev/null
+++ b/spec/tmsx-hotel-cases.yaml
@@ -0,0 +1,205 @@
+version: 1
+# Ported from docs/public/doc-template/TMS_API_Integration_Test_Case.xlsx (cases 1-8, English sheet)
+# into a machine-readable, parameterizable form.
+#
+# Field names corrected against spec/tmsx-hotel-spec.yaml during port:
+# - PaxRoomRQs → PaxRooms (the actual spec field)
+# - RateId → RateCode (the actual spec field on RateInfo)
+# - top-level "RoomCount" → moved inside each PaxRoom entry
+# - response root "HotelDetailResult.Hotels" → "Hotels"
+#
+# Dates are resolved at runtime via ${today+Nd} so cases never expire.
+
+cases:
+ - id: TC-HOTEL-001
+ name: "1 adult per room, 1 room, 1 day — cancelable"
+ description: |
+ Search a hotel, pick a Refundable rate, prebook it, create the order. The captured
+ AgentRefID feeds TC-HOTEL-004 (cancel).
+ tags: [happy-path, cancelable]
+ variables:
+ check_in: "${today+30d}"
+ check_out: "${today+31d}"
+ hotel_code: 766917
+ adults: 1
+ children: 0
+ room_count: 1
+ flow:
+ - op: search_hotel
+ input:
+ CheckIn: "${check_in}"
+ CheckOut: "${check_out}"
+ HotelCodes: ["${hotel_code}"]
+ PaxRooms:
+ - Adults: "${adults}"
+ Children: "${children}"
+ RoomCount: "${room_count}"
+ assert:
+ - { path: "Error.ErrorCode", absent: true }
+ - { path: "Hotels", non_empty: true }
+ capture:
+ - { name: refundable_rate, path: "Hotels[0].RoomTypes[0].RateInfos[?Refundable==true][0]" }
+ - op: check_room_rate
+ input:
+ HotelCodes: ["${hotel_code}"]
+ CheckIn: "${check_in}"
+ CheckOut: "${check_out}"
+ RateCode: "${refundable_rate.RateCode}"
+ PaxRooms:
+ - Adults: "${adults}"
+ Children: "${children}"
+ RoomCount: "${room_count}"
+ assert:
+ - { path: "Error.ErrorCode", absent: true }
+ # CreateOrder requires ContactInfo, CurrencyCode, AgentRefID — TBD via integration
+ # questionnaire. The booking step is deliberately not exercised
+ # until the agent/skill workflow populates these. See follow-ups in .
+
+ - id: TC-HOTEL-002
+ name: "2 adults per room, 2 rooms, 1 day"
+ tags: [multi-room]
+ variables:
+ check_in: "${today+30d}"
+ check_out: "${today+31d}"
+ hotel_code: 766917
+ adults: 2
+ room_count: 2
+ flow:
+ - op: search_hotel
+ input:
+ CheckIn: "${check_in}"
+ CheckOut: "${check_out}"
+ HotelCodes: ["${hotel_code}"]
+ PaxRooms:
+ - Adults: "${adults}"
+ Children: 0
+ RoomCount: "${room_count}"
+ assert:
+ - { path: "Error.ErrorCode", absent: true }
+ - { path: "Hotels", non_empty: true }
+
+ - id: TC-HOTEL-003
+ name: "2 adults per room, 1 room, 7 days"
+ tags: [multi-night]
+ variables:
+ check_in: "${today+30d}"
+ check_out: "${today+37d}"
+ hotel_code: 766917
+ adults: 2
+ room_count: 1
+ flow:
+ - op: search_hotel
+ input:
+ CheckIn: "${check_in}"
+ CheckOut: "${check_out}"
+ HotelCodes: ["${hotel_code}"]
+ PaxRooms:
+ - Adults: "${adults}"
+ Children: 0
+ RoomCount: "${room_count}"
+ assert:
+ - { path: "Error.ErrorCode", absent: true }
+ - { path: "Hotels", non_empty: true }
+
+ - id: TC-HOTEL-004
+ name: "Cancel the order from TC-HOTEL-001"
+ tags: [cancel, deferred]
+ depends_on: [TC-HOTEL-001]
+ flow:
+ - op: cancel_order
+ input:
+ AgentRefID: "${TC-HOTEL-001.agent_ref_id}"
+ assert:
+ - { path: "Error.ErrorCode", absent: true }
+ - { path: "CancelResult.OrderStatus", equals: "CANCELLED" }
+
+ - id: TC-HOTEL-005
+ name: "1 adult per room, 1 room, 1 day — non-cancelable hotel"
+ description: |
+ Search a non-cancelable hotel rate and verify the response carries Refundable=false
+ or no CancelPolicyInfos.
+ tags: [non-cancelable]
+ variables:
+ check_in: "${today+30d}"
+ check_out: "${today+31d}"
+ hotel_code: 794946
+ adults: 1
+ room_count: 1
+ flow:
+ - op: search_hotel
+ input:
+ CheckIn: "${check_in}"
+ CheckOut: "${check_out}"
+ HotelCodes: ["${hotel_code}"]
+ PaxRooms:
+ - Adults: "${adults}"
+ Children: 0
+ RoomCount: "${room_count}"
+ assert:
+ - { path: "Error.ErrorCode", absent: true }
+ - { path: "Hotels", non_empty: true }
+
+ - id: TC-HOTEL-006
+ name: "Cancel the order from TC-HOTEL-005 — expected to fail or charge penalty"
+ description: |
+ The order in TC-HOTEL-005 is non-refundable. This case verifies the SDK surfaces
+ that outcome correctly. Either failure OR cancel-with-fee is acceptable.
+ tags: [cancel, expected-error, deferred]
+ depends_on: [TC-HOTEL-005]
+ flow:
+ - op: cancel_order
+ input:
+ AgentRefID: "${TC-HOTEL-005.agent_ref_id}"
+ # NOTE: no `Error.ErrorCode absent` assertion — failure is acceptable here.
+
+ - id: TC-HOTEL-007
+ name: "1 adult + 1 child per room, 1 room, 1 day"
+ tags: [child-age]
+ variables:
+ check_in: "${today+30d}"
+ check_out: "${today+31d}"
+ hotel_code: 7717374
+ adults: 1
+ children: 1
+ children_ages: [5]
+ room_count: 1
+ flow:
+ - op: search_hotel
+ input:
+ CheckIn: "${check_in}"
+ CheckOut: "${check_out}"
+ HotelCodes: ["${hotel_code}"]
+ PaxRooms:
+ - Adults: "${adults}"
+ Children: "${children}"
+ ChildrenAges: "${children_ages}"
+ RoomCount: "${room_count}"
+ assert:
+ - { path: "Error.ErrorCode", absent: true }
+ - { path: "Hotels", non_empty: true }
+
+ - id: TC-HOTEL-008
+ name: "1 adult + 2 children per room, 1 room, 1 day"
+ tags: [child-age, multi-child]
+ variables:
+ check_in: "${today+30d}"
+ check_out: "${today+31d}"
+ hotel_code: 2569549
+ adults: 1
+ children: 2
+ children_ages: [5, 6]
+ room_count: 1
+ flow:
+ - op: search_hotel
+ input:
+ CheckIn: "${check_in}"
+ CheckOut: "${check_out}"
+ HotelCodes: ["${hotel_code}"]
+ PaxRooms:
+ - Adults: "${adults}"
+ Children: "${children}"
+ ChildrenAges: "${children_ages}"
+ RoomCount: "${room_count}"
+ assert:
+ - { path: "Error.ErrorCode", absent: true }
+ - { path: "Hotels", non_empty: true }
diff --git a/spec/tmsx-hotel-spec.yaml b/spec/tmsx-hotel-spec.yaml
new file mode 100644
index 0000000..c76e532
--- /dev/null
+++ b/spec/tmsx-hotel-spec.yaml
@@ -0,0 +1,1513 @@
+openapi: 3.0.0
+info:
+ title: TMSX Hotel API
+ description: >-
+ Hotel-only OpenAPI spec extracted from docs/public/doc-file/merge_en.yaml.
+
+ Source of truth for TMSX hotel SDK code generation (Python, TypeScript, Go).
+
+
+ **Authentication.** Every request requires BOTH the headers below (modeled in `security`) AND a `RequestHeader`
+ envelope inside the JSON body containing `Password`, `RequestTime`, and `TransactionID`. The body envelope is
+ enforced by SDK middleware — see `sdk/AUTH.md`.
+ version: '2.0'
+ contact: {}
+ license:
+ name: Proprietary — Shenzhen Tourmind International Travel Service Co., Ltd.
+ url: https://tourmind.cn/en-US/credit?type=termsAndConditions
+servers:
+ - url: http://developers.tourmind.cn
+security:
+ - AgentCodeHeader: []
+ UsernameHeader: []
+tags:
+ - name: Overall Overview
+ description: >
+ Welcome to the Tourmind TMSX Hotel API.
+
+
+ ##### Key Features
+
+ - Comprehensive APIs for hotel search, availability, booking, and lifecycle management.
+
+
+ ##### Technical Specifications
+
+ - All communications are HTTP POST with JSON request and response bodies.
+
+ - All requests should accept GZIP encoding; responses are returned in GZIP format.
+
+ - Every request must include the dual-channel TMSX auth (see the Authorization section).
+
+
+ This spec is the hotel-only slice of the broader Tourmind platform. AI APIs (room matching, rate prediction) live
+ under a separate contract.
+ x-displayName: Overall Overview
+ - name: API Development Process
+ description: |
+ 
+ x-displayName: API Development Process
+ - name: Changelog
+ description: |
+
+
+ | Version | Date | Description |
+ | v1.0.1 | 2023.05.01 | Initial hotel API documentation. |
+ | v2.0.1 | 2023.05.25 | Adjustments to hotel API fields. |
+ | v2.0.2 | 2026.03.19 | Add Query Bookings endpoint; add new fields to Retrieve Booking response (HotelCode, RoomCount, CheckIn, CheckOut, PaxRooms, Contact, ContactPhone, BookingTime). |
+
+
+
+
+
+ | Name | Test URL |
+ | HotelDetail | http://developers.tourmind.cn/v2/HotelDetail |
+ | CheckRoomRate | http://developers.tourmind.cn/v2/CheckRoomRate |
+ | CreateOrder | http://developers.tourmind.cn/v2/CreateOrder |
+ | SearchOrder | http://developers.tourmind.cn/v2/SearchOrder |
+ | CancelOrder | http://developers.tourmind.cn/v2/CancelOrder |
+ | QueryBookings | http://developers.tourmind.cn/v2/QueryBookings |
+ | RegionList | http://developers.tourmind.cn/v2/RegionList |
+ | HotelStaticList | http://developers.tourmind.cn/v2/HotelStaticList |
+ | RoomStaticList | http://developers.tourmind.cn/v2/RoomStaticList |
+
+
+ externalDocs:
+ description: ' '
+ url: http://47.106.129.42:8080/project/TourmindAPIIntroduction.html
+ x-displayName: Changelog
+ - name: Authorization
+ description: |
+ #### 1. Common Request Field
+
+ All requests require a common field named RequestHeader, in which account information must be provided. example:
+
+ ```json
+ {
+ "AgentCode": "your agent code",
+ "UserName": "your username",
+ "Password": "your password",
+ "RequestTime": "2018-07-26T09:51:32.999Z",
+ "TransactionID": "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
+ }
+ ```
+
+ #### 2. Http Header
+
+ Please add the following two items to the Http header:
+
+ - X-Agent-Code: your agent code
+ - X-Username: your username
+
+ #### 3. Test Environment Credential
+
+
+
+ | API Test Credential | |
+ | AgentCode | tms_test |
+ | UserName | tms_test |
+ | Password | tms_test |
+
+
+ x-displayName: Authorization
+ - name: Availability & Booking
+ x-displayName: Availability & Booking
+ description: Live operations against bookable inventory — search, prebook, create, retrieve, query, and cancel orders.
+ - name: StaticData
+ description: >
+ ### MealCode {#mealcode}
+
+
+ Meal code
+
+
+ | MealCode | Description |
|---|
| 1 | No
+ Breakfast |
| 2 | Breakfast |
| 3 | Lunch |
| 4 | Dinner |
| 5 | Lunch
+ and
+ Dinner |
| 6 | HalfBoard |
| 7 | FullBoard |
| 8 | AllInclusive |
| 9 | SelfCatering |
+ x-displayName: StaticData
+ - name: Certification
+ description: >-
+ Please complete all test cases in the Test Cases document.
+
+
+ ### Attachments
+
+
+ Information Questionnaire.(Click to
+ Download.)
+
+
+ Test Cases.(Click to Download.)
+ x-displayName: Certification
+x-tagGroups:
+ - name: ' '
+ tags:
+ - Overall Overview
+ - API Development Process
+ - Changelog
+ - Authorization
+ - name: Hotel APIs
+ tags:
+ - Availability & Booking
+ - StaticData
+ - Certification
+paths:
+ /v2/HotelDetail:
+ post:
+ description: >-
+ Search hotel room rates and available inventory for a specific property, enabling users to view detailed room
+ availability and pricing information.
+ operationId: HotelDetail
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/hotelDetail.HotelDetailRequest'
+ description: Query parameters.
+ required: true
+ responses:
+ '200':
+ description: Hotel details.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/hotelDetail.HotelDetailResponse'
+ default:
+ description: Application-level error envelope. The HTTP status is still 200; check Error.ErrorCode for the failure mode.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/common.Error'
+ summary: Search
+ tags:
+ - Availability & Booking
+ /v2/CheckRoomRate:
+ post:
+ description: >-
+ Check the availability and price of a specific room rate selected, usually requested when the user selects a
+ room to book and submits a booking.
+ operationId: CheckRoomRate
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/roomAvail.RoomAvailRequest'
+ description: Query parameters.
+ required: true
+ responses:
+ '200':
+ description: Prebook
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/roomAvail.RoomAvailResponse'
+ default:
+ description: Application-level error envelope. The HTTP status is still 200; check Error.ErrorCode for the failure mode.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/common.Error'
+ summary: Prebook
+ tags:
+ - Availability & Booking
+ /v2/CreateOrder:
+ post:
+ description: >-
+ Booking
+
+
+ Note: If the request times out, returns a PENDING status, or returns an error, please poll the Retrieve Booking
+ API to obtain the final status of the booking.
+ operationId: CreateOrder
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/createOrder.CreateOrderRequest'
+ description: Query parameters.
+ required: true
+ responses:
+ '200':
+ description: Booking
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/createOrder.CreateOrderResponse'
+ default:
+ description: Application-level error envelope. The HTTP status is still 200; check Error.ErrorCode for the failure mode.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/common.Error'
+ summary: Booking
+ tags:
+ - Availability & Booking
+ /v2/CancelOrder:
+ post:
+ description: >-
+ Send a cancel request to cancel refundable and pending bookings.
+
+
+ Note: If the request times out or returns an error, please poll the Retrieve Booking API to obtain the final
+ status of the booking.
+ operationId: CancelOrder
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/cancelOrder.CancelOrderRequest'
+ description: Query parameters.
+ required: true
+ responses:
+ '200':
+ description: Cancel
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/cancelOrder.CancelOrderResponse'
+ default:
+ description: Application-level error envelope. The HTTP status is still 200; check Error.ErrorCode for the failure mode.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/common.Error'
+ summary: Cancel
+ tags:
+ - Availability & Booking
+ /v2/SearchOrder:
+ post:
+ description: Retrieve booking to check its status in the booking process.
+ operationId: SearchOrder
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/searchOrder.QueryOrderRequest'
+ description: Query parameters.
+ required: true
+ responses:
+ '200':
+ description: Retrieve Booking
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/searchOrder.QueryOrderResponse'
+ default:
+ description: Application-level error envelope. The HTTP status is still 200; check Error.ErrorCode for the failure mode.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/common.Error'
+ summary: Retrieve Booking
+ tags:
+ - Availability & Booking
+ /v2/QueryBookings:
+ post:
+ description: >-
+ Query bookings by date range with pagination. Use this endpoint to retrieve a list of orders filtered by
+ check-in date, check-out date, or booking date. The actual API endpoint is POST /v2/SearchOrder (same URL as
+ Retrieve Booking, but with different request parameters).
+ operationId: QueryBookings
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/searchOrder.QueryBookingsRequest'
+ description: Query parameters.
+ required: true
+ responses:
+ '200':
+ description: Query Bookings
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/searchOrder.QueryBookingsResponse'
+ default:
+ description: Application-level error envelope. The HTTP status is still 200; check Error.ErrorCode for the failure mode.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/common.Error'
+ summary: Query Bookings
+ tags:
+ - Availability & Booking
+ /v2/HotelStaticList:
+ post:
+ description: Retrieve static data for hotels.
+ operationId: HotelStaticList
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/hotelstatic.HotelStaticListRequest'
+ description: Query parameters.
+ required: true
+ responses:
+ '200':
+ description: Hotel static information.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/hotelstatic.HotelStaticListResponse'
+ default:
+ description: Application-level error envelope. The HTTP status is still 200; check Error.ErrorCode for the failure mode.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/common.Error'
+ summary: Hotel List
+ tags:
+ - StaticData
+ /v2/RegionList:
+ post:
+ description: Retrieve the list of regions.
+ operationId: RegionList
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/regionList.RegionListRequest'
+ description: Query parameters.
+ required: true
+ responses:
+ '200':
+ description: Region List
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/regionList.RegionListResponse'
+ default:
+ description: Application-level error envelope. The HTTP status is still 200; check Error.ErrorCode for the failure mode.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/common.Error'
+ summary: Region List
+ tags:
+ - StaticData
+ /v2/RoomStaticList:
+ post:
+ description: Retrieve the list of room information of sepecific hotels.
+ operationId: RoomTypeStatic
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/roomStatic_model.RoomStaticRequest'
+ description: Query parameters.
+ required: true
+ responses:
+ '200':
+ description: Hotel room data
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/roomStatic_model.RoomStaticResponse'
+ default:
+ description: Application-level error envelope. The HTTP status is still 200; check Error.ErrorCode for the failure mode.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/common.Error'
+ summary: Hotel Room Type List
+ tags:
+ - StaticData
+components:
+ schemas:
+ cancelOrder.CancelOrderRequest:
+ properties:
+ AgentRefID:
+ description: Agent reference ID provided in the CreateOrder request by the agent; maximum length is 128.
+ example: '213415'
+ type: string
+ RequestHeader:
+ $ref: '#/components/schemas/common.RequestHeader'
+ type: object
+ cancelOrder.CancelOrderResponse:
+ properties:
+ CancelResult:
+ allOf:
+ - $ref: '#/components/schemas/cancelOrder.CancelResult'
+ description: This value will not be returned if an error occurs.
+ Error:
+ allOf:
+ - $ref: '#/components/schemas/common.Error'
+ description: This value will be returned if an error occurs.
+ ResponseHeader:
+ $ref: '#/components/schemas/common.ResponseHeader'
+ type: object
+ cancelOrder.CancelResult:
+ properties:
+ CancelFee:
+ description: Cancellation penalty fee charged.
+ example: 42
+ type: number
+ CurrencyCode:
+ description: Currency code for the charge amount.
+ example: CNY
+ type: string
+ OrderStatus:
+ description: >-
+ Order status.
| OrderStatus | Description |
|---|
| PENDING | Booking
+ confirmation pending. |
| CONFIRMED | Booking
+ confirmed. |
| CANCELLED | Booking cancelled. |
| FAILED | Booking
+ confirmation failed. |
+ example: CANCELLED
+ type: string
+ type: object
+ common.Error:
+ properties:
+ ErrorCode:
+ description: >-
+ Error code.
| ErrorCode | Description |
|---|
| 101 | No payload in the
+ request. |
| 102 | Invalid format of the request. |
| 103 | Request
+ data validation failed. |
| 104 | Service error. |
| 105 | API user
+ authentication error; invalid AgentCode, Username, or Password. |
+ example: '101'
+ type: string
+ ErrorMessage:
+ description: Error message.
+ example: invaild param
+ type: string
+ type: object
+ common.RequestHeader:
+ properties:
+ AgentCode:
+ description: Unique code for the agent provided by TourMind.
+ example: tms_test
+ type: string
+ Password:
+ description: Password for the API request.
+ example: tms_test
+ type: string
+ RequestTime:
+ description: Request timestamp in ISO 8601 format with millisecond precision, e.g., "2006-01-02T15:04:05.123Z".
+ example: '2018-07-26T09:51:32.123Z'
+ type: string
+ TransactionID:
+ description: Identifier for tracing API requests, such as using a GUID.
+ example: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
+ type: string
+ UserName:
+ description: Username for the API request.
+ example: tms_test
+ type: string
+ type: object
+ common.ResponseHeader:
+ properties:
+ ResponseTime:
+ description: 'Response timestamp, format: “2006-01-02 15:04:05”.'
+ example: '2018-07-26 09:51:32'
+ type: string
+ TransactionID:
+ description: This value must match the TransactionID in the request..
+ example: 6ba7b810-9dad-11d1-80b4-00c04fd430c8
+ type: string
+ type: object
+ createOrder.ContactInfo:
+ properties:
+ Email:
+ description: Email of the booking contact.
+ example: xxx@google.com
+ type: string
+ FirstName:
+ description: First Name of the booking contact.
+ example: Tom
+ type: string
+ LastName:
+ description: Last Name of the booking contact.
+ example: Lee
+ type: string
+ PhoneNo:
+ description: Phone number of the booking contact.
+ example: '1521777777'
+ type: string
+ type: object
+ createOrder.CreateOrderRequest:
+ properties:
+ AgentRefID:
+ description: >-
+ Unique agent reference ID to identify a booking; maximum length is 128 characters. Note! Reserving with the
+ same AgentRefID will not create a new reservation; instead, the original reservation information will be
+ returned.
+ example: '213415'
+ type: string
+ CheckIn:
+ description: 'Check-in date, format: “2006-01-02”.'
+ example: '2018-08-15'
+ type: string
+ CheckOut:
+ description: 'Check-out date, format: “2006-01-02”.'
+ example: '2018-08-18'
+ type: string
+ ContactInfo:
+ allOf:
+ - $ref: '#/components/schemas/createOrder.ContactInfo'
+ description: Contact information for the booking.
+ CurrencyCode:
+ description: Currency code.
+ example: CNY
+ type: string
+ HotelCode:
+ description: TourMind Hotel ID; only one ID is required in this request.
+ example: 235113
+ type: integer
+ PaxRooms:
+ description: >-
+ Request room occupancies. Note: Currently, only the same number of adults and children is supported for each
+ room; for multiple rooms, you only need to fill in one object.
+ items:
+ $ref: '#/components/schemas/createOrder.PaxRoom'
+ type: array
+ RateCode:
+ description: TourMind Rate ID.
+ example: '2132151'
+ type: string
+ RequestHeader:
+ $ref: '#/components/schemas/common.RequestHeader'
+ SpecialRequest:
+ description: Special customer requests.
+ example: Non-smoking room
+ type: string
+ TotalPrice:
+ description: Total price for the booking returned from the CheckRoomRateResponse.
+ example: 88.88
+ type: number
+ type: object
+ createOrder.CreateOrderResponse:
+ properties:
+ Error:
+ allOf:
+ - $ref: '#/components/schemas/common.Error'
+ description: This value will be returned if an error occurs.
+ OrderInfo:
+ allOf:
+ - $ref: '#/components/schemas/createOrder.OrderInfo'
+ description: This value will not be returned if an error occurs.
+ ReservationID:
+ description: Tourmind order ID
+ example: '10470379'
+ type: string
+ ResponseHeader:
+ $ref: '#/components/schemas/common.ResponseHeader'
+ type: object
+ createOrder.OrderInfo:
+ properties:
+ OrderStatus:
+ description: >-
+ Order status.
| OrderStatus | Description |
|---|
| PENDING | Booking
+ confirmation pending. |
| CONFIRMED | Booking
+ confirmed. |
| CANCELLED | Booking cancelled. |
| FAILED | Booking
+ confirmation failed. |
+ example: CONFIRMED
+ type: string
+ ReservationID:
+ description: Tourmind order ID
+ example: '10470379'
+ type: string
+ type: object
+ createOrder.PaxName:
+ properties:
+ FirstName:
+ example: Tom
+ type: string
+ LastName:
+ example: Lee
+ type: string
+ Type:
+ description: ADU represents Adult, CHI represents Child.
+ example: ADU
+ type: string
+ type: object
+ createOrder.PaxRoom:
+ properties:
+ Adults:
+ example: 2
+ type: integer
+ Children:
+ example: 0
+ type: integer
+ ChildrenAges:
+ description: Children's ages; the count of the array must equal the number of children.
+ items:
+ type: integer
+ type: array
+ PaxNames:
+ items:
+ $ref: '#/components/schemas/createOrder.PaxName'
+ type: array
+ RoomCount:
+ example: 1
+ type: integer
+ type: object
+ hotelDetail.CancelPolicyInfo:
+ properties:
+ Amount:
+ description: Cancellation charge amount.
+ type: number
+ CurrencyCode:
+ description: Currency for the cancellation charge amount.
+ type: string
+ EndDateTime:
+ description: 'Cancellation policy window end, format: “2006-01-02“.'
+ type: string
+ From:
+ description: 'Specific start time, format: "2006-01-02 15:04:05"'
+ type: string
+ StartDateTime:
+ description: 'Cancellation policy window start, format: "2006-01-02".'
+ type: string
+ To:
+ description: 'Specific end time, format: "2006-01-02 15:04:05"'
+ type: string
+ type: object
+ hotelDetail.DailyPriceInfo:
+ properties:
+ Count:
+ description: this is daily inventory count
+ type: integer
+ Date:
+ description: 'Date, format: "2006-01-02"'
+ type: string
+ Price:
+ description: Price for 1 room per night.
+ type: number
+ type: object
+ hotelDetail.Hotel:
+ properties:
+ CheckIn:
+ description: 'Check-in date, format: “2006-01-02”.'
+ example: '2018-08-25'
+ type: string
+ CheckOut:
+ description: 'Check-out date, format: “2006-01-02”.'
+ example: '2018-08-26'
+ type: string
+ HotelCode:
+ description: Hotel code.
+ example: '740650'
+ type: string
+ RoomTypes:
+ description: Room types available based on the search criteria.
+ items:
+ $ref: '#/components/schemas/hotelDetail.RoomType'
+ type: array
+ type: object
+ hotelDetail.HotelDetailRequest:
+ properties:
+ CheckIn:
+ description: 'Check-in date, format: “2006-01-02”.'
+ example: '2018-08-25'
+ type: string
+ CheckOut:
+ description: 'Check-out date, format: “2006-01-02”.'
+ example: '2018-08-26'
+ type: string
+ HotelCodes:
+ description: TourMind hotel IDs; up to 20 IDs are supported in this request.
+ items:
+ type: integer
+ example: 8268393
+ type: array
+ IsDailyPrice:
+ description: 'If true, daily price information will be included in the response. Default: false.'
+ type: boolean
+ Nationality:
+ description: Nationality.
+ example: CN
+ type: string
+ PaxRooms:
+ description: >-
+ Request room occupancies. Note: Currently, only the same number of adults and children is supported for each
+ room; for multiple rooms, you only need to fill in one object.
+ items:
+ $ref: '#/components/schemas/hotelDetail.PaxRoomRQ'
+ type: array
+ Timeout:
+ description: request timeout, millisecond
+ example: 6000
+ type: integer
+ RequestHeader:
+ $ref: '#/components/schemas/common.RequestHeader'
+ type: object
+ hotelDetail.HotelDetailResponse:
+ properties:
+ Error:
+ allOf:
+ - $ref: '#/components/schemas/common.Error'
+ description: This value will be returned if an error occurs.
+ Hotels:
+ description: Hotel information.
+ items:
+ $ref: '#/components/schemas/hotelDetail.Hotel'
+ type: array
+ ResponseHeader:
+ $ref: '#/components/schemas/common.ResponseHeader'
+ type: object
+ hotelDetail.MealInfo:
+ properties:
+ MealCount:
+ description: Number of free meals offered.
+ example: 2
+ type: integer
+ MealType:
+ description: >-
+ Meal type
| MealType | Description |
|---|
| 1 | No
+ Breakfast |
| 2 | Breakfast |
| 3 | Lunch |
| 4 | Dinner |
| 5 | Lunch
+ and
+ Dinner |
| 6 | HalfBoard |
| 7 | FullBoard |
| 8 | AllInclusive |
| 9 | SelfCatering |
+ example: breakfast
+ type: string
+ type: object
+ hotelDetail.PaxRoomRQ:
+ properties:
+ Adults:
+ description: Number of adults per room.
+ example: 4
+ type: integer
+ Children:
+ description: Number of children per room.
+ example: 0
+ type: integer
+ ChildrenAges:
+ description: Children's ages; the count of the array must equal the number of children.
+ items:
+ type: integer
+ type: array
+ RoomCount:
+ description: Room count.
+ example: 2
+ type: integer
+ type: object
+ hotelDetail.RateInfo:
+ properties:
+ Allotment:
+ description: Available room inventory count.
+ example: 2
+ type: integer
+ CancelPolicyInfos:
+ description: Cancellation policy information.
+ items:
+ $ref: '#/components/schemas/hotelDetail.CancelPolicyInfo'
+ type: array
+ CurrencyCode:
+ description: Currency code.
+ example: CNY
+ type: string
+ DailyPriceInfo:
+ description: Daily pricing information for the hotel.
+ items:
+ $ref: '#/components/schemas/hotelDetail.DailyPriceInfo'
+ type: array
+ InvoiceInfo:
+ description: 'Invoice information: 1: Hotel invoice, 2: TourMind invoice'
+ type: integer
+ MealInfo:
+ allOf:
+ - $ref: '#/components/schemas/hotelDetail.MealInfo'
+ description: Meal information.
+ Name:
+ description: >-
+ Sub-room name, i.e. the original room name from the supplier/hotel system. More accurate than the aggregated
+ name in RoomType, but results in more static room entries. In rare cases, sub-rooms may be incorrectly
+ mapped to their parent room type.
+ example: SUITE THREE BEDROOMS
+ type: string
+ NameCN:
+ description: >-
+ Sub-room name in Chinese, i.e. the original room name from the supplier/hotel system. More accurate than the
+ aggregated name in RoomType, but results in more static room entries. In rare cases, sub-rooms may be
+ incorrectly mapped to their parent room type.
+ type: string
+ RateCode:
+ description: Rate identifier for a sellable product; this code is unique across all TourMind hotels.
+ example: '13800206'
+ type: string
+ Refundable:
+ type: boolean
+ TotalPrice:
+ description: Total price; this is the total amount charged.
+ example: 688.88
+ type: number
+ bedTypeDesc:
+ description: Bed type description.
+ type: string
+ bedTypeDescCN:
+ description: Bed type description in Chinese.
+ type: string
+ type: object
+ hotelDetail.RoomType:
+ properties:
+ BedTypeDesc:
+ description: Bed type description.
+ type: string
+ BedTypeDescCN:
+ description: Bed type description in Chinese.
+ type: string
+ Name:
+ description: >-
+ Aggregated room type name, cleaner and easier to display, recommended. Note: in rare cases, it may differ
+ from the sub-room name in RateInfo.
+ example: Suite 3 bedrooms
+ type: string
+ NameCN:
+ description: >-
+ Aggregated room type name in Chinese, cleaner and easier to display, recommended. Note: in rare cases, it
+ may differ from the sub-room name in RateInfo.
+ example: Triple Room
+ type: string
+ RateInfos:
+ description: A list of rates for a room type; at least one rate will be returned.
+ items:
+ $ref: '#/components/schemas/hotelDetail.RateInfo'
+ type: array
+ RoomTypeCode:
+ description: TourMind room type code, which is a unique identifier across all TourMind hotels.
+ example: '4613'
+ type: string
+ type: object
+ hotelstatic.HotelInfo:
+ properties:
+ Address:
+ description: Hotel address.
+ example: 3007 Santa Monica Blvd, 90404
+ type: string
+ Address_CN:
+ description: Hotel address in Chinese.
+ type: string
+ CityCode:
+ description: City code.,Matched region ID.
+ example: '14209'
+ type: string
+ CityName:
+ description: City name.
+ example: ShangHai
+ type: string
+ CityNameCN:
+ description: City name in Chinese.
+ example: Shanghai
+ type: string
+ CountryCode:
+ description: 'Country code.,ISO 3166-1 alpha-2, e.g., China: CN.'
+ example: CN
+ type: string
+ HotelId:
+ description: TourMind hotel ID.
+ example: '739315'
+ type: string
+ Images:
+ items:
+ $ref: '#/components/schemas/hotelstatic.Image'
+ type: array
+ Latitude:
+ description: Latitude.
+ example: '34.03644'
+ type: string
+ Longitude:
+ description: Longitude.
+ example: '-118.47048'
+ type: string
+ Name:
+ description: Hotel name.
+ example: Days Inn Santa Monica/Los Angeles
+ type: string
+ Name_CN:
+ description: Hotel name in Chinese.
+ type: string
+ Phone:
+ description: Hotel phone number.
+ example: '1523333333'
+ type: string
+ StarRating:
+ description: Hotel star rating.
+ example: '5'
+ type: string
+ type: object
+ hotelstatic.HotelStaticListRequest:
+ properties:
+ CountryCode:
+ description: Country code.
+ example: CN
+ type: string
+ HotelIds:
+ description: Identifiers for specific hotels..
+ items:
+ type: integer
+ type: array
+ Pagination:
+ allOf:
+ - $ref: '#/components/schemas/hotelstatic.Pagination'
+ description: Pagination information.
+ RequestHeader:
+ $ref: '#/components/schemas/common.RequestHeader'
+ type: object
+ hotelstatic.HotelStaticListResponse:
+ properties:
+ Error:
+ allOf:
+ - $ref: '#/components/schemas/common.Error'
+ description: This value will be returned if an error occurs.
+ HotelStaticListResult:
+ allOf:
+ - $ref: '#/components/schemas/hotelstatic.HotelStaticListResult'
+ description: This value will not be returned if an error occurs.
+ ResponseHeader:
+ $ref: '#/components/schemas/common.ResponseHeader'
+ type: object
+ hotelstatic.HotelStaticListResult:
+ properties:
+ Hotels:
+ description: Hotel information.
+ items:
+ $ref: '#/components/schemas/hotelstatic.HotelInfo'
+ type: array
+ Pagination:
+ allOf:
+ - $ref: '#/components/schemas/hotelstatic.PaginationRS'
+ description: Pagination information.
+ type: object
+ hotelstatic.Image:
+ properties:
+ caption:
+ type: string
+ category:
+ type: integer
+ hero_image:
+ type: boolean
+ links:
+ additionalProperties:
+ $ref: '#/components/schemas/hotelstatic.Link'
+ type: object
+ type: object
+ hotelstatic.Link:
+ properties:
+ href:
+ type: string
+ method:
+ type: string
+ type: object
+ hotelstatic.Pagination:
+ properties:
+ PageIndex:
+ description: PageIndex needs to accommodate both string and integer types. [1 or '1']
+ example: 1
+ PageSize:
+ description: Items per page.
+ example: 10
+ type: integer
+ type: object
+ hotelstatic.PaginationRS:
+ properties:
+ PageCount:
+ description: Total number of pages.
+ example: 1
+ type: integer
+ TotalCount:
+ description: Total number of records.
+ example: 10
+ type: integer
+ type: object
+ regionList.Region:
+ properties:
+ CountryCode:
+ description: 'ISO 3166-1 alpha-2, e.g., China: CN.,'
+ example: '231'
+ type: string
+ Name:
+ description: Region name.
+ example: ShangHai
+ type: string
+ NameCN:
+ description: Region name in Chinese. (Nullable.)
+ example: Shanghai
+ type: string
+ RegionID:
+ description: TourMind region ID.
+ example: '21312541'
+ type: string
+ RegionNameLong:
+ description: Region name
+ example: Shanghai, China
+ type: string
+ RegionNameLongCN:
+ description: Full region name in Chinese.
+ example: Shanghai, China
+ type: string
+ type: object
+ regionList.RegionListRequest:
+ properties:
+ CountryCode:
+ description: Country code.
+ example: CN
+ type: string
+ RequestHeader:
+ $ref: '#/components/schemas/common.RequestHeader'
+ type: object
+ regionList.RegionListResponse:
+ properties:
+ Error:
+ $ref: '#/components/schemas/common.Error'
+ RegionListResult:
+ $ref: '#/components/schemas/regionList.RegionListResult'
+ ResponseHeader:
+ $ref: '#/components/schemas/common.ResponseHeader'
+ type: object
+ regionList.RegionListResult:
+ properties:
+ Regions:
+ items:
+ $ref: '#/components/schemas/regionList.Region'
+ type: array
+ type: object
+ roomAvail.CancelPolicyInfo:
+ properties:
+ Amount:
+ description: Cancellation charge amount.
+ type: number
+ CurrencyCode:
+ description: Currency for the cancellation charge amount.
+ type: string
+ EndDateTime:
+ description: 'Cancellation policy window end, format: “2006-01-02“.'
+ type: string
+ From:
+ description: 'Specific start time, format: "2006-01-02 15:04:05"'
+ type: string
+ StartDateTime:
+ description: 'Cancellation policy window start, format: "2006-01-02".'
+ type: string
+ To:
+ description: 'Specific end time, format: "2006-01-02 15:04:05"'
+ type: string
+ type: object
+ roomAvail.DailyPriceInfo:
+ properties:
+ Count:
+ description: this is daily inventory count
+ type: integer
+ Date:
+ description: 'Date, format: "2006-01-02"'
+ type: string
+ Price:
+ description: Price of a specific date.
+ type: number
+ type: object
+ roomAvail.DateRange:
+ properties:
+ End:
+ description: End date of low price period
+ type: string
+ Start:
+ description: Start date of low price period
+ type: string
+ type: object
+ roomAvail.Hotel:
+ properties:
+ CheckIn:
+ description: 'Check-in date, format: “2006-01-02”.'
+ example: '2018-08-25'
+ type: string
+ CheckOut:
+ description: 'Check-out date, format: “2006-01-02”.'
+ example: '2018-08-26'
+ type: string
+ HotelCode:
+ description: Hotel code.
+ example: '740650'
+ type: string
+ LowPricePeriod:
+ $ref: '#/components/schemas/roomAvail.LowPricePeriod'
+ RoomTypes:
+ description: Room types available based on the search criteria.
+ items:
+ $ref: '#/components/schemas/roomAvail.RoomType'
+ type: array
+ type: object
+ roomAvail.LowPricePeriod:
+ properties:
+ CurrentPrice:
+ description: Current price of the hotel
+ type: number
+ DateRange:
+ $ref: '#/components/schemas/roomAvail.DateRange'
+ LowPriceRange:
+ $ref: '#/components/schemas/roomAvail.LowPriceRange'
+ UpdateTime:
+ description: Last update time of the price prediction
+ type: string
+ type: object
+ roomAvail.LowPriceRange:
+ properties:
+ CurrencyCode:
+ description: Currency code for the prices
+ type: string
+ Max:
+ description: Maximum price in the range
+ type: number
+ Min:
+ description: Minimum price in the range
+ type: number
+ type: object
+ roomAvail.MealInfo:
+ properties:
+ MealCount:
+ description: Number of free meals offered.
+ example: 2
+ type: integer
+ MealType:
+ description: >-
+ Meal type
| MealType | Description |
|---|
| 1 | No
+ Breakfast |
| 2 | Breakfast |
+ example: breakfast
+ type: string
+ type: object
+ roomAvail.PaxRoomRQ:
+ properties:
+ Adults:
+ description: Number of adults per room.
+ example: 4
+ type: integer
+ Children:
+ description: Number of children per room.
+ example: 0
+ type: integer
+ ChildrenAges:
+ description: Children's ages; the count of the array must equal the number of children.
+ items:
+ type: integer
+ type: array
+ RoomCount:
+ description: Room count.
+ example: 2
+ type: integer
+ type: object
+ roomAvail.RateInfo:
+ properties:
+ Allotment:
+ description: Available room inventory count.
+ example: 2
+ type: integer
+ CancelPolicyInfos:
+ description: Cancellation policy information.
+ items:
+ $ref: '#/components/schemas/roomAvail.CancelPolicyInfo'
+ type: array
+ CurrencyCode:
+ description: Currency code.
+ example: CNY
+ type: string
+ DailyPriceInfo:
+ description: Daily pricing information for the hotel.
+ items:
+ $ref: '#/components/schemas/roomAvail.DailyPriceInfo'
+ type: array
+ MealInfo:
+ allOf:
+ - $ref: '#/components/schemas/roomAvail.MealInfo'
+ description: Meal information.
+ Name:
+ description: >-
+ Sub-room name, i.e. the original room name from the supplier/hotel system. More accurate than the aggregated
+ name in RoomType, but results in more static room entries. In rare cases, sub-rooms may be incorrectly
+ mapped to their parent room type.
+ example: SUITE THREE BEDROOMS
+ type: string
+ NameCN:
+ description: >-
+ Sub-room name in Chinese, i.e. the original room name from the supplier/hotel system. More accurate than the
+ aggregated name in RoomType, but results in more static room entries. In rare cases, sub-rooms may be
+ incorrectly mapped to their parent room type.
+ type: string
+ RateCode:
+ description: Rate identifier for a sellable product; this code is unique across all TourMind hotels.
+ example: '13800206'
+ type: string
+ Refundable:
+ type: boolean
+ TotalPrice:
+ description: Total price; this is the total amount charged.
+ example: 688.88
+ type: number
+ bedTypeDesc:
+ description: Bed type description.
+ type: string
+ bedTypeDescCN:
+ description: Bed type description in Chinese.
+ type: string
+ type: object
+ roomAvail.RoomAvailRequest:
+ properties:
+ CheckIn:
+ description: 'Check-in date, format: “2006-01-02”.'
+ example: '2018-08-25'
+ type: string
+ CheckOut:
+ description: 'Check-out date, format: “2006-01-02”.'
+ example: '2018-08-26'
+ type: string
+ HotelCodes:
+ description: TourMind Hotel ID; only one ID is required in this request.
+ items:
+ type: integer
+ example: 8268393
+ type: array
+ Nationality:
+ description: Nationality.
+ example: CN
+ type: string
+ PaxRooms:
+ description: >-
+ Request room occupancies. Note: Currently, only the same number of adults and children is supported for each
+ room.
+ items:
+ $ref: '#/components/schemas/roomAvail.PaxRoomRQ'
+ type: array
+ RateCode:
+ description: TourMind Rate ID.
+ example: '13800206'
+ type: string
+ RequestHeader:
+ $ref: '#/components/schemas/common.RequestHeader'
+ type: object
+ roomAvail.RoomAvailResponse:
+ properties:
+ Error:
+ allOf:
+ - $ref: '#/components/schemas/common.Error'
+ description: This value will be returned if an error occurs.
+ Hotels:
+ description: Hotel information.
+ items:
+ $ref: '#/components/schemas/roomAvail.Hotel'
+ type: array
+ ResponseHeader:
+ $ref: '#/components/schemas/common.ResponseHeader'
+ type: object
+ roomAvail.RoomType:
+ properties:
+ BedTypeDesc:
+ description: Bed type description.
+ type: string
+ BedTypeDescCN:
+ description: Bed type description in Chinese.
+ type: string
+ Name:
+ description: >-
+ Aggregated room type name, cleaner and easier to display, recommended. Note: in rare cases, it may differ
+ from the sub-room name in RateInfo.
+ example: Suite 3 bedrooms
+ type: string
+ NameCN:
+ description: >-
+ Aggregated room type name in Chinese, cleaner and easier to display, recommended. Note: in rare cases, it
+ may differ from the sub-room name in RateInfo.
+ example: Triple Room
+ type: string
+ RateInfos:
+ description: A list of rates for a room type; at least one rate will be returned.
+ items:
+ $ref: '#/components/schemas/roomAvail.RateInfo'
+ type: array
+ RoomTypeCode:
+ description: TourMind room type code, which is a unique identifier across all TourMind hotels.
+ example: '4613'
+ type: string
+ type: object
+ roomStatic_model.RoomStaticRequest:
+ properties:
+ HotelCode:
+ description: Hotel.Code
+ example: 235113
+ type: integer
+ RequestHeader:
+ $ref: '#/components/schemas/common.RequestHeader'
+ type: object
+ roomStatic_model.RoomStaticResponse:
+ properties:
+ Error:
+ $ref: '#/components/schemas/common.Error'
+ ResponseHeader:
+ $ref: '#/components/schemas/common.ResponseHeader'
+ RoomTypes:
+ items:
+ $ref: '#/components/schemas/roomStatic_model.RoomTypeInfo'
+ type: array
+ type: object
+ roomStatic_model.RoomTypeInfo:
+ properties:
+ BedTypeDesc:
+ type: string
+ BedTypeDescCN:
+ type: string
+ MaxOccupancy:
+ type: integer
+ RoomTypeCode:
+ type: string
+ RoomTypeName:
+ type: string
+ RoomTypeNameCN:
+ type: string
+ type: object
+ searchOrder.OrderInfo:
+ properties:
+ AgentRefID:
+ description: Agent reference ID;
+ example: '213415'
+ type: string
+ CurrencyCode:
+ description: Currency code.
+ example: CNY
+ type: string
+ HotelConfirmationNo:
+ description: Hotel confirmation number.
+ example: '10470374'
+ type: string
+ OrderStatus:
+ description: >-
+ Order status.
| OrderStatus | Description |
|---|
| PENDING | Booking
+ confirmation pending. |
| CONFIRMED | Booking
+ confirmed. |
| CANCELLED | Booking cancelled. |
| FAILED | Booking
+ confirmation failed. |
+ example: CANCELLED
+ type: string
+ ReservationID:
+ description: Tourmind order ID
+ example: '10470374'
+ type: string
+ TotalPrice:
+ description: Total price of the booking.
+ example: 888.89
+ type: number
+ HotelCode:
+ description: Tourmind hotel ID.
+ example: 0
+ type: integer
+ RoomCount:
+ description: Number of rooms.
+ example: 0
+ type: integer
+ CheckIn:
+ description: Check-in date. Format YYYY-MM-DD.
+ example: '2020-01-01'
+ type: string
+ CheckOut:
+ description: Check-out date. Format YYYY-MM-DD.
+ example: '2020-01-02'
+ type: string
+ PaxRooms:
+ description: Room occupancy details with guest names.
+ items:
+ $ref: '#/components/schemas/createOrder.PaxRoom'
+ type: array
+ Contact:
+ description: Contact person name.
+ type: string
+ ContactPhone:
+ description: Contact phone number.
+ type: string
+ BookingTime:
+ description: Booking creation time.
+ example: '2020-01-03 12:00:00'
+ type: string
+ type: object
+ searchOrder.OrderList:
+ properties:
+ OrderList:
+ description: List of orders.
+ items:
+ $ref: '#/components/schemas/searchOrder.OrderInfo'
+ type: array
+ Page:
+ description: Current page number.
+ example: 1
+ type: integer
+ PageSize:
+ description: Page size.
+ example: 50
+ type: integer
+ Total:
+ description: Total number of orders matching the query.
+ example: 100
+ type: integer
+ type: object
+ searchOrder.QueryBookingsRequest:
+ properties:
+ DateType:
+ description: >-
+ Date type for date range query. Possible values: CheckIn (check-in date), CheckOut (check-out date), Booking
+ (booking date).
+ example: CheckIn
+ type: string
+ From:
+ description: Start date for the query range. Format YYYY-MM-DD. The date span (To minus From) must be <= 31 days.
+ example: '2024-01-01'
+ type: string
+ To:
+ description: End date for the query range. Format YYYY-MM-DD. The date span (To minus From) must be <= 31 days.
+ example: '2024-01-31'
+ type: string
+ Page:
+ description: Page number for pagination. Must be >= 1.
+ example: 1
+ type: integer
+ PageSize:
+ description: Number of results per page. Must be between 1 and 500.
+ example: 50
+ type: integer
+ RequestHeader:
+ $ref: '#/components/schemas/common.RequestHeader'
+ required:
+ - DateType
+ - From
+ - To
+ - Page
+ - PageSize
+ - RequestHeader
+ type: object
+ searchOrder.QueryBookingsResponse:
+ properties:
+ Error:
+ allOf:
+ - $ref: '#/components/schemas/common.Error'
+ description: This value will be returned if an error occurs.
+ OrderList:
+ allOf:
+ - $ref: '#/components/schemas/searchOrder.OrderList'
+ description: Paginated list of orders. Will not be returned if an error occurs.
+ ResponseHeader:
+ $ref: '#/components/schemas/common.ResponseHeader'
+ type: object
+ searchOrder.QueryOrderRequest:
+ properties:
+ AgentRefID:
+ description: Agent reference ID provided in the CreateOrder request; maximum length is 128.
+ example: '21345555'
+ type: string
+ RequestHeader:
+ $ref: '#/components/schemas/common.RequestHeader'
+ type: object
+ searchOrder.QueryOrderResponse:
+ properties:
+ Error:
+ allOf:
+ - $ref: '#/components/schemas/common.Error'
+ description: This value will be returned if an error occurs.
+ OrderInfo:
+ allOf:
+ - $ref: '#/components/schemas/searchOrder.OrderInfo'
+ description: This value will not be returned if an error occurs.
+ ResponseHeader:
+ $ref: '#/components/schemas/common.ResponseHeader'
+ type: object
+ securitySchemes:
+ AgentCodeHeader:
+ type: apiKey
+ in: header
+ name: X-Agent-Code
+ description: Agent code identifying the calling organization. Must match RequestHeader.AgentCode in the body.
+ UsernameHeader:
+ type: apiKey
+ in: header
+ name: X-Username
+ description: Username for the calling user. Must match RequestHeader.UserName in the body.