Skip to main content

POST /v1.1/book

Create a booking for a specific sailing, cabin, and guest configuration. Returns a booking confirmation with reservation code, booking URL, PDF download link, and full pricing breakdown.

Guest details on rccl.ro

Booking confirmation on rccl.ro

Request​

POST /v1.1/book

Headers​

HeaderRequiredDescription
X-WorldTravel-TestingNoSet to true to create a test booking

Request Body​

{
"departure": {
"date": "20261205"
},
"itinerary": {
"code": "07D519",
"ship": {
"code": "RH"
}
},
"stateroom": {
"code": "7014"
},
"stateroom_subcategory": {
"code": "4B"
},
"sitting": {
"code": "M"
},
"promotion": {
"code": "BESTRATE"
},
"prepay_gratuities": "false",
"guests": {
"adults": "2",
"children": "0",
"details": [
{
"first_name": "Bar",
"last_name": "Foo",
"address": "Earth",
"email": "73pry.fictive@icloud.com",
"birth_date": "20000101",
"title": { "code": "MR" },
"citizenship": { "code": "ROU" },
"phone": "(+40)711223344"
},
{
"first_name": "Baz",
"last_name": "Foo",
"birth_date": "20000101",
"title": { "code": "MRS" },
"citizenship": { "code": "ROU" }
}
]
}
}

Body Parameters​

FieldTypeRequiredDescription
departure.datestringYesDeparture date (YYYYMMDD format)
itinerary.codestringYesItinerary code
itinerary.ship.codestringYesShip code
stateroom.codestringYesCabin number
stateroom_subcategory.codestringYesStateroom subcategory code
sitting.codestringYesDining sitting category code
promotion.codestringNoPromotion code (e.g. BESTRATE)
prepay_gratuitiesstringNoWhether to prepay gratuities ("true" or "false")
guests.adultsstringYesNumber of adult guests
guests.childrenstringYesNumber of child guests
guests.detailsarrayYesArray of guest detail objects (see below)

Guest Detail Parameters​

The first guest in the details array is the lead guest and requires additional fields.

FieldTypeRequiredDescription
first_namestringYesGuest first name
last_namestringYesGuest last name
birth_datestringYesDate of birth (YYYYMMDD format)
title.codestringYesTitle code (e.g. MR, MRS, MS)
citizenship.codestringYesCountry code (ISO 3166-1 alpha-3)
addressstringLead onlyMailing address
emailstringLead onlyContact email
phonestringLead onlyContact phone number

Example Request​

curl -X POST "https://api.rccl.ro/v1.1/book" \
-H "X-WorldTravel-ApiKey: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"departure": { "date": "20261205" },
"itinerary": { "code": "07D519", "ship": { "code": "RH" } },
"stateroom": { "code": "7014" },
"stateroom_subcategory": { "code": "4B" },
"sitting": { "code": "M" },
"promotion": { "code": "BESTRATE" },
"prepay_gratuities": "false",
"guests": {
"adults": "2",
"children": "0",
"details": [
{
"first_name": "Bar", "last_name": "Foo",
"address": "Earth", "email": "guest@example.com",
"birth_date": "20000101",
"title": { "code": "MR" },
"citizenship": { "code": "ROU" },
"phone": "(+40)711223344"
},
{
"first_name": "Baz", "last_name": "Foo",
"birth_date": "20000101",
"title": { "code": "MRS" },
"citizenship": { "code": "ROU" }
}
]
}
}'

Response​

200 OK​

Returns a single booking resource with full pricing breakdown and related objects included.

Response body (included array truncated):

{
"data": {
"type": "booking",
"id": "a13e87db-d497-3bd6-ba6c-8d62b064ef78",
"attributes": {
"code": "0932656",
"url": "https://rccl.ro/rezervare/...",
"pdf": "https://rccl.ro/rezervare/...?download-pdf"
},
"relationships": {
"stateroom_subcategory": {
"links": {
"related": "/v1.1/stateroom_subcategory/55523f76-70a2-3ea9-8e77-e68cb819c503"
},
"data": {
"type": "stateroom_subcategory",
"id": "55523f76-70a2-3ea9-8e77-e68cb819c503"
}
},
"guests_charge": {
"links": {
"related": "/v1.1/guests_charge/45425036-1772-3f4c-ac50-6057ea07bc2a"
},
"data": {
"type": "guests_charge",
"id": "45425036-1772-3f4c-ac50-6057ea07bc2a"
}
},
"company": {
"links": {
"related": "/v1.1/company/2a15e462-7710-332a-b536-2ef4731d9dad"
},
"data": {
"type": "company",
"id": "2a15e462-7710-332a-b536-2ef4731d9dad"
}
},
"itinerary": {
"links": {
"related": "/v1.1/itinerary/41c9f2d0-7f17-3318-b72f-96aacb9f65b2"
},
"data": {
"type": "itinerary",
"id": "41c9f2d0-7f17-3318-b72f-96aacb9f65b2"
}
},
"ship": {
"links": {
"related": "/v1.1/ship/9508a19d-7801-307e-a7b7-628c31bfdd47"
},
"data": {
"type": "ship",
"id": "9508a19d-7801-307e-a7b7-628c31bfdd47"
}
},
"guest_charge": {
"data": [
{
"type": "guest_charge",
"id": "af25f52f-9ca3-3433-bc09-e14a3e8508a8"
},
{
"type": "guest_charge",
"id": "f23d6bfb-afa4-37a7-b2aa-b7c55d54e8d5"
}
]
},
"sitting_category": {
"links": {
"related": "/v1.1/sitting_category/69691c7b-dcc3-3e6d-9d8a-1361f22d04ac"
},
"data": {
"type": "sitting_category",
"id": "69691c7b-dcc3-3e6d-9d8a-1361f22d04ac"
}
},
"stateroom": {
"links": {
"related": "/v1.1/stateroom/113b8879-e07e-30b3-8c0f-f28605cf1ba4"
},
"data": {
"type": "stateroom",
"id": "113b8879-e07e-30b3-8c0f-f28605cf1ba4"
}
},
"region": {
"links": {
"related": "/v1.1/region/2e68a730-fe6a-3961-b469-6960b9af34c8"
},
"data": {
"type": "region",
"id": "2e68a730-fe6a-3961-b469-6960b9af34c8"
}
},
"promotion_category": {
"links": {
"related": "/v1.1/promotion_category/caa2791a-60cc-3086-9d37-05b9b521fbd9"
},
"data": {
"type": "promotion_category",
"id": "caa2791a-60cc-3086-9d37-05b9b521fbd9"
}
}
},
"links": {
"self": "/v1.1/booking/a13e87db-d497-3bd6-ba6c-8d62b064ef78"
}
},
"links": {
"self": "/v1.1/booking/a13e87db-d497-3bd6-ba6c-8d62b064ef78"
},
"included": ["..."],
"jsonapi": {
"version": "1.0"
}
}

Booking Attributes​

FieldTypeDescription
codestringReservation confirmation code
urlstringURL to view the booking online
pdfstringURL to download the booking confirmation PDF

Booking Relationships​

RelationshipTypeCardinalityDescription
stateroom_subcategorystateroom_subcategoryoneThe booked stateroom subcategory
guests_chargeguests_chargeoneFull pricing breakdown for all guests
companycompanyoneOperating cruise line
itineraryitineraryoneThe itinerary
shipshiponeThe ship
guest_chargeguest_chargemanyPer-guest charge breakdowns
sitting_categorysitting_categoryoneSelected dining sitting
stateroomstateroomoneThe booked cabin
regionregiononeSailing region
promotion_categorypromotion_categoryoneApplied promotion

Guests Charge Attributes (included)​

The guests_charge resource contains the same pricing fields as /v1.1/search/pricing:

FieldTypeDescription
departurestringDeparture date (ISO 8601)
adultsintegerNumber of adult guests
childrenintegerNumber of child guests
base_fare_amountnumberBase fare before discounts
base_nccf_amountnumberBase NCCF amount
fare_amountnumberFare after discounts
fare_saving_amountnumberTotal fare savings
nccf_amountnumberNon-commissionable cruise fare
subtotal_amountnumberSubtotal (fare + NCCF)
total_amountnumberTotal including taxes
total_savings_amountnumberTotal savings amount
tax_amountnumberPort taxes
payment_amountnumberFinal payment amount
payment_datestringFinal payment due date (ISO 8601)
deposit_amountnumberDeposit amount per person
deposit_datestringDeposit due date (ISO 8601)

Included Resource Types​

TypeDescription
companyCruise line details
shipShip details
itineraryItinerary with ports and region
regionSailing region
stateroom_subcategorySubcategory details
facilityFacility/amenity group
stateroomFull cabin details
deckDeck with plan image and legend
stateroom_attributeCabin feature attributes
bedBed type configuration
stateroom_positioningShip position with diagram
sitting_categoryDining sitting category
promotion_categoryPromotion with refundability
refundabilityRefundability policy
guests_chargeFull pricing breakdown
guest_chargePer-guest charge breakdown

Error Responses​

StatusDescription
401Unauthorized — missing or invalid API key
422Unprocessable Entity — invalid guest details or booking parameters
500Internal Server Error — upstream booking failure