Hotel rooms & rates

Push room and rate product catalog per hotel. Requires hotelId from hotels list. Use the same roomId and rateId in ARI pushes.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Hotel rooms & rates

POST /push/products

Create or update rooms, rate plans, and supplier mappings for one hotel. Required before POST /push/ari for that property.

Runnable example: Quick start — Step 2

Try it (curl)

Run after Step 1 (hotel TEST001 exists):

curl -sS -X POST "https://ari-dev.thehotelplanet.com/v1/push/products" \
  -H "x-api-key: YOUR_SANDBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hotelId":"TEST001","products":[{"roomId":"R1","roomType":"double","rateId":"BAR","isAvailable":true,"roomName":"Test Double","rateName":"BAR","occupancy":{"maxOccupancy":2}}]}'

Prerequisites

  • hotelId already pushed via Hotels list
  • Valid x-api-key header

Request

Single JSON object:

FieldRequiredDescription
hotelIdYesSupplier hotel code
productsYesArray of room + rate rows (min 1)

Each product row

FieldRequiredDescription
roomIdYesSupplier room code
roomTypeYesMust match a Nuitee Cloud room type name (e.g. double)
rateIdYesSupplier rate code
roomName, rateNameYesDisplay names
isAvailableYesfalse archives / discontinues the room
mealPlanNoCode from reference data (e.g. BB, RO)
occupancy.maxOccupancyYesMust be non-zero
occupancy.maxAdult, occupancy.maxChildNoOccupancy limits
cancelPoliciesNoCancellation rules when supported

channelManagerId in the request body is ignored — the gateway sets it from your API key.

Example

{
  "hotelId": "HOTEL_001",
  "products": [
    {
      "roomId": "DBL",
      "roomType": "double",
      "rateId": "BAR",
      "isAvailable": true,
      "roomName": "Double Room",
      "rateName": "Best Available",
      "mealPlan": "BB",
      "occupancy": { "maxOccupancy": 2, "maxAdult": 2, "maxChild": 0 }
    }
  ]
}

Success response

{ "code": "200", "message": "Hotel rates & rooms saved successfully" }

Lifecycle

ActionHow
Add room/rateNew roomId or rateId in products
UpdateRe-post with same ids
DiscontinueisAvailable: false on the product row

Link to ARI

ARI must use the same hotelId, roomId, and rateId strings. Unknown ids return RoomID not found or RateID not found.

Common errors

MessageFix
Hotel ID is not foundPush hotel first
RoomType is not validUse a supported room type or contact onboarding
MealPlan is not validUse a supported meal plan code
Body Params
string
required

The unique identifier of the hotel.

products
array of objects
required

List of room products available in the hotel.

products*
Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json