curl --request POST \
--url https://{apiBaseUrl}/Planning/2018A/Quotation/GetStayPlanning \
--header 'Content-Type: application/json' \
--data '
{
"filter": {
"ratePlans": [
{
"hotels": {
"exceptions": [
1234
]
},
"groupId": 9876,
"referenceRateCode": "RACKPRI"
}
],
"rooms": {
"exceptions": [
3456
]
},
"occupancies": {
"exceptions": [
7890
]
},
"rates": {
"exceptions": [
5678
]
},
"currencies": {
"exceptions": [
"<string>"
]
},
"status": [],
"planningQualifiers": [
{
"name": "cheapest",
"qualifiers": [
{}
]
}
],
"options": [],
"customerLocation": {
"geonameId": 3017382
},
"loyaltyProgram": {
"membershipLevel": 0
}
},
"layout": {
"levels": [
{
"properties": []
}
]
},
"impersonation": {
"hotelId": 1234,
"groupId": 9876,
"userId": 1357,
"bookingEngineId": "1XXA"
},
"guests": [
{
"adults": 2,
"children": [
{
"age": 10,
"count": 1
}
],
"infants": 0
}
],
"arrivalDate": "2027-08-31",
"nightCount": 3
}
'const url = 'https://{apiBaseUrl}/Planning/2018A/Quotation/GetStayPlanning';
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
filter: {
ratePlans: [{hotels: {exceptions: [1234]}, groupId: 9876, referenceRateCode: 'RACKPRI'}],
rooms: {exceptions: [3456]},
occupancies: {exceptions: [7890]},
rates: {exceptions: [5678]},
currencies: {exceptions: ['<string>']},
status: [],
planningQualifiers: [{name: 'cheapest', qualifiers: [{}]}],
options: [],
customerLocation: {geonameId: 3017382},
loyaltyProgram: {membershipLevel: 0}
},
layout: {levels: [{properties: []}]},
impersonation: {hotelId: 1234, groupId: 9876, userId: 1357, bookingEngineId: '1XXA'},
guests: [{adults: 2, children: [{age: 10, count: 1}], infants: 0}],
arrivalDate: '2027-08-31',
nightCount: 3
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://{apiBaseUrl}/Planning/2018A/Quotation/GetStayPlanning"
payload = {
"filter": {
"ratePlans": [
{
"hotels": { "exceptions": [1234] },
"groupId": 9876,
"referenceRateCode": "RACKPRI"
}
],
"rooms": { "exceptions": [3456] },
"occupancies": { "exceptions": [7890] },
"rates": { "exceptions": [5678] },
"currencies": { "exceptions": ["<string>"] },
"status": [],
"planningQualifiers": [
{
"name": "cheapest",
"qualifiers": [{}]
}
],
"options": [],
"customerLocation": { "geonameId": 3017382 },
"loyaltyProgram": { "membershipLevel": 0 }
},
"layout": { "levels": [{ "properties": [] }] },
"impersonation": {
"hotelId": 1234,
"groupId": 9876,
"userId": 1357,
"bookingEngineId": "1XXA"
},
"guests": [
{
"adults": 2,
"children": [
{
"age": 10,
"count": 1
}
],
"infants": 0
}
],
"arrivalDate": "2027-08-31",
"nightCount": 3
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{apiBaseUrl}/Planning/2018A/Quotation/GetStayPlanning",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'filter' => [
'ratePlans' => [
[
'hotels' => [
'exceptions' => [
1234
]
],
'groupId' => 9876,
'referenceRateCode' => 'RACKPRI'
]
],
'rooms' => [
'exceptions' => [
3456
]
],
'occupancies' => [
'exceptions' => [
7890
]
],
'rates' => [
'exceptions' => [
5678
]
],
'currencies' => [
'exceptions' => [
'<string>'
]
],
'status' => [
],
'planningQualifiers' => [
[
'name' => 'cheapest',
'qualifiers' => [
[
]
]
]
],
'options' => [
],
'customerLocation' => [
'geonameId' => 3017382
],
'loyaltyProgram' => [
'membershipLevel' => 0
]
],
'layout' => [
'levels' => [
[
'properties' => [
]
]
]
],
'impersonation' => [
'hotelId' => 1234,
'groupId' => 9876,
'userId' => 1357,
'bookingEngineId' => '1XXA'
],
'guests' => [
[
'adults' => 2,
'children' => [
[
'age' => 10,
'count' => 1
]
],
'infants' => 0
]
],
'arrivalDate' => '2027-08-31',
'nightCount' => 3
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}using RestSharp;
var options = new RestClientOptions("https://{apiBaseUrl}/Planning/2018A/Quotation/GetStayPlanning");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddJsonBody("{\n \"filter\": {\n \"ratePlans\": [\n {\n \"hotels\": {\n \"exceptions\": [\n 1234\n ]\n },\n \"groupId\": 9876,\n \"referenceRateCode\": \"RACKPRI\"\n }\n ],\n \"rooms\": {\n \"exceptions\": [\n 3456\n ]\n },\n \"occupancies\": {\n \"exceptions\": [\n 7890\n ]\n },\n \"rates\": {\n \"exceptions\": [\n 5678\n ]\n },\n \"currencies\": {\n \"exceptions\": [\n \"<string>\"\n ]\n },\n \"status\": [],\n \"planningQualifiers\": [\n {\n \"name\": \"cheapest\",\n \"qualifiers\": [\n {}\n ]\n }\n ],\n \"options\": [],\n \"customerLocation\": {\n \"geonameId\": 3017382\n },\n \"loyaltyProgram\": {\n \"membershipLevel\": 0\n }\n },\n \"layout\": {\n \"levels\": [\n {\n \"properties\": []\n }\n ]\n },\n \"impersonation\": {\n \"hotelId\": 1234,\n \"groupId\": 9876,\n \"userId\": 1357,\n \"bookingEngineId\": \"1XXA\"\n },\n \"guests\": [\n {\n \"adults\": 2,\n \"children\": [\n {\n \"age\": 10,\n \"count\": 1\n }\n ],\n \"infants\": 0\n }\n ],\n \"arrivalDate\": \"2027-08-31\",\n \"nightCount\": 3\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
HttpResponse<String> response = Unirest.post("https://{apiBaseUrl}/Planning/2018A/Quotation/GetStayPlanning")
.header("Content-Type", "application/json")
.body("{\n \"filter\": {\n \"ratePlans\": [\n {\n \"hotels\": {\n \"exceptions\": [\n 1234\n ]\n },\n \"groupId\": 9876,\n \"referenceRateCode\": \"RACKPRI\"\n }\n ],\n \"rooms\": {\n \"exceptions\": [\n 3456\n ]\n },\n \"occupancies\": {\n \"exceptions\": [\n 7890\n ]\n },\n \"rates\": {\n \"exceptions\": [\n 5678\n ]\n },\n \"currencies\": {\n \"exceptions\": [\n \"<string>\"\n ]\n },\n \"status\": [],\n \"planningQualifiers\": [\n {\n \"name\": \"cheapest\",\n \"qualifiers\": [\n {}\n ]\n }\n ],\n \"options\": [],\n \"customerLocation\": {\n \"geonameId\": 3017382\n },\n \"loyaltyProgram\": {\n \"membershipLevel\": 0\n }\n },\n \"layout\": {\n \"levels\": [\n {\n \"properties\": []\n }\n ]\n },\n \"impersonation\": {\n \"hotelId\": 1234,\n \"groupId\": 9876,\n \"userId\": 1357,\n \"bookingEngineId\": \"1XXA\"\n },\n \"guests\": [\n {\n \"adults\": 2,\n \"children\": [\n {\n \"age\": 10,\n \"count\": 1\n }\n ],\n \"infants\": 0\n }\n ],\n \"arrivalDate\": \"2027-08-31\",\n \"nightCount\": 3\n}")
.asString();{
"defaultCurrency": "EUR",
"ratePlans": [
{
"groupId": 9876,
"referenceRateCode": "<string>",
"hotels": [
{
"hotelId": 1234,
"entities": [
{
"level": "Hotel",
"roomId": 3456,
"occupancyId": "7890",
"rateId": 5678,
"currency": "EUR",
"status": "Available",
"unavailabilityReason": "None",
"availability": 3,
"totalPrice": 100.5,
"minimumPrice": 30,
"maximumPrice": 40.5,
"discountPrice": 19.5,
"discountNightPrice": 30,
"discountNightCount": 1,
"crossedOutPrice": 130,
"originalPrice": 120,
"roomPrice": 90,
"crossedOutRoomPrice": 110,
"mixedRates": [
{
"rateId": 5678,
"beginDate": "2027-08-31",
"endDate": "2027-08-31"
}
],
"minimumStayThrough": "2",
"maximumStayThrough": "15",
"occupancy": {
"adultCount": 2,
"childCount": 1,
"infantCount": 0,
"personCount": 3
},
"taxes": {
"includedTaxes": [
{
"type": "Percent",
"nominal": {
"amount": 123,
"currency": "<string>"
},
"percent": 10,
"category": "None"
}
],
"excludedTaxes": [
{
"type": "Percent",
"nominal": {
"amount": 123,
"currency": "<string>"
},
"percent": 10,
"category": "None"
}
],
"onSiteTaxes": [
{
"type": "Percent",
"nominal": {
"amount": 123,
"currency": "<string>"
},
"percent": 10,
"category": "None"
}
]
},
"isOfferCode": true,
"offerCodeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"articles": {
"includedArticles": [
{
"articleId": 2468,
"type": "None",
"totalPrice": 20,
"totalOriginalPrice": 25,
"dailyPrice": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
],
"dailyOriginalPrice": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
],
"crossedOutPrice": 25,
"dailyCrossedOutPrice": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
]
}
]
},
"membershipLevel": 0,
"isLoyalty": true,
"canUseRedemption": true,
"dailyOriginalPrice": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
],
"dailyTotalPrice": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
],
"dailyCrossedOutPrice": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
],
"dailyRoomPrice": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
],
"guests": {
"adults": 2,
"children": [
{
"age": 10,
"count": 1
}
],
"infants": 0
},
"promotions": {
"excluded": [
{
"offerCodeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"totalPrice": 19.5,
"currency": "EUR",
"scope": "PerBooking"
}
],
"included": [
{
"offerCodeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"totalPrice": 19.5,
"currency": "EUR",
"scope": "PerBooking"
}
]
},
"taxesAndFees": [
{
"taxId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"totalPrice": 9.15,
"currency": "EUR",
"applicationRule": "OncePerStay",
"type": "VAT",
"category": "Tax",
"paymentRule": "Included",
"dailyAmount": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
]
}
],
"alternativeAvailableGuests": [
{
"adults": 2,
"children": 1,
"infants": 0
}
],
"cancellationCondition": {
"code": "<string>"
},
"originalTotalPrice": 120,
"dailyOriginalTotalPrices": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
]
}
]
}
]
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}Stay quotation
Quote every room and rate combination for a known stay
curl --request POST \
--url https://{apiBaseUrl}/Planning/2018A/Quotation/GetStayPlanning \
--header 'Content-Type: application/json' \
--data '
{
"filter": {
"ratePlans": [
{
"hotels": {
"exceptions": [
1234
]
},
"groupId": 9876,
"referenceRateCode": "RACKPRI"
}
],
"rooms": {
"exceptions": [
3456
]
},
"occupancies": {
"exceptions": [
7890
]
},
"rates": {
"exceptions": [
5678
]
},
"currencies": {
"exceptions": [
"<string>"
]
},
"status": [],
"planningQualifiers": [
{
"name": "cheapest",
"qualifiers": [
{}
]
}
],
"options": [],
"customerLocation": {
"geonameId": 3017382
},
"loyaltyProgram": {
"membershipLevel": 0
}
},
"layout": {
"levels": [
{
"properties": []
}
]
},
"impersonation": {
"hotelId": 1234,
"groupId": 9876,
"userId": 1357,
"bookingEngineId": "1XXA"
},
"guests": [
{
"adults": 2,
"children": [
{
"age": 10,
"count": 1
}
],
"infants": 0
}
],
"arrivalDate": "2027-08-31",
"nightCount": 3
}
'const url = 'https://{apiBaseUrl}/Planning/2018A/Quotation/GetStayPlanning';
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
filter: {
ratePlans: [{hotels: {exceptions: [1234]}, groupId: 9876, referenceRateCode: 'RACKPRI'}],
rooms: {exceptions: [3456]},
occupancies: {exceptions: [7890]},
rates: {exceptions: [5678]},
currencies: {exceptions: ['<string>']},
status: [],
planningQualifiers: [{name: 'cheapest', qualifiers: [{}]}],
options: [],
customerLocation: {geonameId: 3017382},
loyaltyProgram: {membershipLevel: 0}
},
layout: {levels: [{properties: []}]},
impersonation: {hotelId: 1234, groupId: 9876, userId: 1357, bookingEngineId: '1XXA'},
guests: [{adults: 2, children: [{age: 10, count: 1}], infants: 0}],
arrivalDate: '2027-08-31',
nightCount: 3
})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://{apiBaseUrl}/Planning/2018A/Quotation/GetStayPlanning"
payload = {
"filter": {
"ratePlans": [
{
"hotels": { "exceptions": [1234] },
"groupId": 9876,
"referenceRateCode": "RACKPRI"
}
],
"rooms": { "exceptions": [3456] },
"occupancies": { "exceptions": [7890] },
"rates": { "exceptions": [5678] },
"currencies": { "exceptions": ["<string>"] },
"status": [],
"planningQualifiers": [
{
"name": "cheapest",
"qualifiers": [{}]
}
],
"options": [],
"customerLocation": { "geonameId": 3017382 },
"loyaltyProgram": { "membershipLevel": 0 }
},
"layout": { "levels": [{ "properties": [] }] },
"impersonation": {
"hotelId": 1234,
"groupId": 9876,
"userId": 1357,
"bookingEngineId": "1XXA"
},
"guests": [
{
"adults": 2,
"children": [
{
"age": 10,
"count": 1
}
],
"infants": 0
}
],
"arrivalDate": "2027-08-31",
"nightCount": 3
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{apiBaseUrl}/Planning/2018A/Quotation/GetStayPlanning",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'filter' => [
'ratePlans' => [
[
'hotels' => [
'exceptions' => [
1234
]
],
'groupId' => 9876,
'referenceRateCode' => 'RACKPRI'
]
],
'rooms' => [
'exceptions' => [
3456
]
],
'occupancies' => [
'exceptions' => [
7890
]
],
'rates' => [
'exceptions' => [
5678
]
],
'currencies' => [
'exceptions' => [
'<string>'
]
],
'status' => [
],
'planningQualifiers' => [
[
'name' => 'cheapest',
'qualifiers' => [
[
]
]
]
],
'options' => [
],
'customerLocation' => [
'geonameId' => 3017382
],
'loyaltyProgram' => [
'membershipLevel' => 0
]
],
'layout' => [
'levels' => [
[
'properties' => [
]
]
]
],
'impersonation' => [
'hotelId' => 1234,
'groupId' => 9876,
'userId' => 1357,
'bookingEngineId' => '1XXA'
],
'guests' => [
[
'adults' => 2,
'children' => [
[
'age' => 10,
'count' => 1
]
],
'infants' => 0
]
],
'arrivalDate' => '2027-08-31',
'nightCount' => 3
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}using RestSharp;
var options = new RestClientOptions("https://{apiBaseUrl}/Planning/2018A/Quotation/GetStayPlanning");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddJsonBody("{\n \"filter\": {\n \"ratePlans\": [\n {\n \"hotels\": {\n \"exceptions\": [\n 1234\n ]\n },\n \"groupId\": 9876,\n \"referenceRateCode\": \"RACKPRI\"\n }\n ],\n \"rooms\": {\n \"exceptions\": [\n 3456\n ]\n },\n \"occupancies\": {\n \"exceptions\": [\n 7890\n ]\n },\n \"rates\": {\n \"exceptions\": [\n 5678\n ]\n },\n \"currencies\": {\n \"exceptions\": [\n \"<string>\"\n ]\n },\n \"status\": [],\n \"planningQualifiers\": [\n {\n \"name\": \"cheapest\",\n \"qualifiers\": [\n {}\n ]\n }\n ],\n \"options\": [],\n \"customerLocation\": {\n \"geonameId\": 3017382\n },\n \"loyaltyProgram\": {\n \"membershipLevel\": 0\n }\n },\n \"layout\": {\n \"levels\": [\n {\n \"properties\": []\n }\n ]\n },\n \"impersonation\": {\n \"hotelId\": 1234,\n \"groupId\": 9876,\n \"userId\": 1357,\n \"bookingEngineId\": \"1XXA\"\n },\n \"guests\": [\n {\n \"adults\": 2,\n \"children\": [\n {\n \"age\": 10,\n \"count\": 1\n }\n ],\n \"infants\": 0\n }\n ],\n \"arrivalDate\": \"2027-08-31\",\n \"nightCount\": 3\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
HttpResponse<String> response = Unirest.post("https://{apiBaseUrl}/Planning/2018A/Quotation/GetStayPlanning")
.header("Content-Type", "application/json")
.body("{\n \"filter\": {\n \"ratePlans\": [\n {\n \"hotels\": {\n \"exceptions\": [\n 1234\n ]\n },\n \"groupId\": 9876,\n \"referenceRateCode\": \"RACKPRI\"\n }\n ],\n \"rooms\": {\n \"exceptions\": [\n 3456\n ]\n },\n \"occupancies\": {\n \"exceptions\": [\n 7890\n ]\n },\n \"rates\": {\n \"exceptions\": [\n 5678\n ]\n },\n \"currencies\": {\n \"exceptions\": [\n \"<string>\"\n ]\n },\n \"status\": [],\n \"planningQualifiers\": [\n {\n \"name\": \"cheapest\",\n \"qualifiers\": [\n {}\n ]\n }\n ],\n \"options\": [],\n \"customerLocation\": {\n \"geonameId\": 3017382\n },\n \"loyaltyProgram\": {\n \"membershipLevel\": 0\n }\n },\n \"layout\": {\n \"levels\": [\n {\n \"properties\": []\n }\n ]\n },\n \"impersonation\": {\n \"hotelId\": 1234,\n \"groupId\": 9876,\n \"userId\": 1357,\n \"bookingEngineId\": \"1XXA\"\n },\n \"guests\": [\n {\n \"adults\": 2,\n \"children\": [\n {\n \"age\": 10,\n \"count\": 1\n }\n ],\n \"infants\": 0\n }\n ],\n \"arrivalDate\": \"2027-08-31\",\n \"nightCount\": 3\n}")
.asString();{
"defaultCurrency": "EUR",
"ratePlans": [
{
"groupId": 9876,
"referenceRateCode": "<string>",
"hotels": [
{
"hotelId": 1234,
"entities": [
{
"level": "Hotel",
"roomId": 3456,
"occupancyId": "7890",
"rateId": 5678,
"currency": "EUR",
"status": "Available",
"unavailabilityReason": "None",
"availability": 3,
"totalPrice": 100.5,
"minimumPrice": 30,
"maximumPrice": 40.5,
"discountPrice": 19.5,
"discountNightPrice": 30,
"discountNightCount": 1,
"crossedOutPrice": 130,
"originalPrice": 120,
"roomPrice": 90,
"crossedOutRoomPrice": 110,
"mixedRates": [
{
"rateId": 5678,
"beginDate": "2027-08-31",
"endDate": "2027-08-31"
}
],
"minimumStayThrough": "2",
"maximumStayThrough": "15",
"occupancy": {
"adultCount": 2,
"childCount": 1,
"infantCount": 0,
"personCount": 3
},
"taxes": {
"includedTaxes": [
{
"type": "Percent",
"nominal": {
"amount": 123,
"currency": "<string>"
},
"percent": 10,
"category": "None"
}
],
"excludedTaxes": [
{
"type": "Percent",
"nominal": {
"amount": 123,
"currency": "<string>"
},
"percent": 10,
"category": "None"
}
],
"onSiteTaxes": [
{
"type": "Percent",
"nominal": {
"amount": 123,
"currency": "<string>"
},
"percent": 10,
"category": "None"
}
]
},
"isOfferCode": true,
"offerCodeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"articles": {
"includedArticles": [
{
"articleId": 2468,
"type": "None",
"totalPrice": 20,
"totalOriginalPrice": 25,
"dailyPrice": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
],
"dailyOriginalPrice": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
],
"crossedOutPrice": 25,
"dailyCrossedOutPrice": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
]
}
]
},
"membershipLevel": 0,
"isLoyalty": true,
"canUseRedemption": true,
"dailyOriginalPrice": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
],
"dailyTotalPrice": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
],
"dailyCrossedOutPrice": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
],
"dailyRoomPrice": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
],
"guests": {
"adults": 2,
"children": [
{
"age": 10,
"count": 1
}
],
"infants": 0
},
"promotions": {
"excluded": [
{
"offerCodeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"totalPrice": 19.5,
"currency": "EUR",
"scope": "PerBooking"
}
],
"included": [
{
"offerCodeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"totalPrice": 19.5,
"currency": "EUR",
"scope": "PerBooking"
}
]
},
"taxesAndFees": [
{
"taxId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"totalPrice": 9.15,
"currency": "EUR",
"applicationRule": "OncePerStay",
"type": "VAT",
"category": "Tax",
"paymentRule": "Included",
"dailyAmount": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
]
}
],
"alternativeAvailableGuests": [
{
"adults": 2,
"children": 1,
"infants": 0
}
],
"cancellationCondition": {
"code": "<string>"
},
"originalTotalPrice": 120,
"dailyOriginalTotalPrices": [
{
"value": 123,
"start": "2027-08-31",
"end": "2027-08-31"
}
]
}
]
}
]
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>",
"errors": {}
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}Body
The stay to quote: arrival date, number of nights and guests, the rate plans, rooms and rates to look at, and the layout listing the properties to compute and return.
Request for a stay quotation, for a given number of guests
Show child attributes
Show child attributes
List of fields sent back
Show child attributes
Show child attributes
Impersonation information to restrict the scope of the request
Show child attributes
Show child attributes
Number of guests the price is requested for. One item per "party". At least one item mandatory. This field is mandatory for all hotels using price with supplements
Show child attributes
Show child attributes
First night of the stay
"2027-08-31"
Number of nights of the stay (minimum 1)
3
Response
The room and rate combinations matching the request, grouped by rate plan and hotel, with the properties requested in the layout.
Was this page helpful?