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