Join our community at https://www.reddit.com/r/HotelByte/

HotelByte
HomepageWaitlist
HomepageWaitlist
Hotel Partners Roadmap
Submit issues
  1. Make bookings
  • 1. Get started
    • Overview
    • Booking flow
    • Certification and Go Live
    • Frequently Asked Questions (FAQ)
  • 2. Guides
    • Quick start
    • Error handling
    • Rate limit
    • Certification cases
    • Test more scenarios
  • 3. API Reference
    • Authentication
      • Ticket
    • Content
      • Destinations
      • HotelStaticDetail
      • HotelsMetadata
    • Search
      • HotelList
      • HotelRates
    • Make bookings
      • CheckAvail
        POST
      • Book
        POST
    • Manage bookings
      • QueryOrders
      • Cancel
  • Schemas
    • Schemas
    • hotel.common.bff.Table
    • OrderHomeFunctionReq
    • TicketReq
    • TicketResp
    • DestinationInclude
    • DestinationExtra
    • Coordinates
    • CheckAvailReq
    • CheckAvailResp
    • HotelsMetadataListResp
    • HotelsMetadataReq
    • ComputedCancelPolicyItem
    • OrderHomeFunctionResp
    • OriginalRoomNaming
    • Rate
    • CancelResp
    • Tax
    • Holder
    • HotelOrder
    • OrderRoomRefundInfo
    • HotelListReq
    • HotelListResp
    • HotelListBasicInfo
    • BaseHeader
    • BookingHeader
    • ContentHeader
    • HotelMeta
    • DestinationType
    • Guest
    • DestinationsReq
    • DestinationsResp
    • OrderStatus
    • GuestPerRoom
    • RatePkgId
    • RoomRatePkg
    • HotelRatesReq
    • BookReq
    • HotelRatesResp
    • BookResp
    • CancelReq
    • QueryOrdersReq
    • HotelStaticDetailReq
    • QueryOrdersResp
    • HotelStaticDetailResp
  1. Make bookings

CheckAvail

HotelByte OpenAPI - Test
https://api-test.hotelbyte.com
HotelByte OpenAPI - Test
https://api-test.hotelbyte.com
POST
https://api-test.hotelbyte.com
/api/search/checkAvail
OpenapiSearch
Verify room availability and confirm pricing before booking to prevent inventory and price changes.
This endpoint performs a critical pre-booking validation step to ensure the selected room
rate package is still available and the price hasn't changed since HotelRates was called.
It's essential for preventing booking failures and price discrepancies.
Critical Usage Timing:
MUST be called after HotelRates when user selects a specific rate package for booking.
This step is mandatory to prevent:
Room inventory depletion between search and booking
Price changes that could affect booking decisions
Booking failures due to rate package unavailability
Required Parameters:
ratePkgId: The specific rate package ID selected from HotelRates response
sessionId (in Header): The session ID for tracking the booking process
Response Features:
Confirmed availability status
Final pricing information
Updated rate package details
Smart booking fallback options (R2 candidates)
Error Handling:
Returns ARIChangedErr if inventory or price has changed
Provides updated pricing information when changes occur
Enables smart booking fallback to alternative suppliers
Booking Flow Integration:
1.
Call HotelRates to get available room options
2.
User selects a specific rate package
3.
Call CheckAvail to verify selection ← This step
4.
Proceed with booking if availability confirmed
5.
Handle ARIChangedErr if changes detected
Common Use Cases:
Pre-booking availability confirmation
Final price verification before payment
Smart booking fallback preparation
Inventory change detection

Request

Header Params

Body Params application/jsonRequired

Examples

Responses

🟢200成功
application/json
inventory changed or price changed
Body

🟠400请求有误
🟠401未认证
🟠403权限不足
🟠429请求过多
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api-test.hotelbyte.com/api/search/checkAvail' \
--header 'Client-Request-Timestamp;' \
--header 'Currency;' \
--header 'IP;' \
--header 'Language;' \
--header 'Request-Id;' \
--header 'Session-Id;' \
--header 'Test;' \
--header 'Timeout-Milliseconds;' \
--header 'Trace-Id;' \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data-raw '{
    "ratePkgId": "string"
}'
Response Response Example
{
    "code": 0,
    "msg": "string",
    "data": {
        "status": 1,
        "roomRatePkg": {
            "ratePkgId": "string",
            "refundableMode": "full",
            "refundableUntil": "2006-01-02T15:04:05Z07:00",
            "cancelFees": [
                {
                    "until": "2006-01-02T15:04:05Z07:00",
                    "fee": {
                        "currency": "string",
                        "amount": 0
                    }
                }
            ],
            "originalRoomNaming": {
                "id": "string",
                "name": "string",
                "supplier": 0
            },
            "rate": {
                "commissionableRate": {
                    "currency": "string",
                    "amount": 0
                },
                "netRate": {
                    "currency": "string",
                    "amount": 0
                },
                "grossRate": {
                    "currency": "string",
                    "amount": 0
                },
                "respectGrossRate": true
            },
            "totalRate": {
                "commissionableRate": {
                    "currency": "string",
                    "amount": 0
                },
                "netRate": {
                    "currency": "string",
                    "amount": 0
                },
                "grossRate": {
                    "currency": "string",
                    "amount": 0
                },
                "respectGrossRate": true
            },
            "rateComment": "string",
            "includesPackaging": true,
            "checkIn": "now()",
            "checkOut": "now()+7",
            "board": {
                "boardId": "RO",
                "boardName": {
                    "en": "string",
                    "zh": "string",
                    "ar": "string"
                },
                "boardDesc": {
                    "en": "string",
                    "zh": "string",
                    "ar": "string"
                }
            },
            "tax": {
                "total": {
                    "currency": "string",
                    "amount": 0
                },
                "items": [
                    {
                        "taxType": "string",
                        "taxName": "string",
                        "amount": {
                            "currency": "string",
                            "amount": 0
                        },
                        "desc": "string"
                    }
                ]
            }
        }
    }
}
Previous
HotelRates
Next
Book
Built with