The price in GetSearchResult is approximative as it skips things like different prices per day and also enables faster server replays.

So if you create a request like this:

{
“CurrencyID”: 840,
“LanguageID”: “EN”,
“StartDate”: “2017-08-25”,
“EndDate”: “2017-08-26”,
“DestinationIDList”: [53],
“ObjectTypeIDList”: [],
“InPriceType”: “PerDay”,
“PageSize”: 20,
“CurrentPage”: 1,
“PassengerConfigurationFilterList”: [{
“RoomsNumber”: 1,
“AdultsNumber”: 2,
“ChildrenAges”: []
}]
}

And the expected price is 354.00, you might think the response is wrong as it contains a different price:


“ServiceList”: [{
“ServiceID”: 1,
“ServiceName”: “Hotel “,
“NameTranslationList”: null,
“ServiceType”: 1,
“Price”: 378.0,
“PriceFormated”: “378.00“,
“PriceType”: 2,
“GroupID”: 0,
“VATRate”: 0.0,
“ServicePriceType”: 1,
“RuleList”: null,
“ServiceCode”: null
}
],
However, if you would like to fetch the exact price, please include “OutParameterList” parameter and then read the price from CalculatedPriceInfo/CalculatedPrice.

Your request should look like this:

{
“CurrencyID”: 840,
“LanguageID”: “EN”,
“StartDate”: “2017-08-25”,
“EndDate”: “2017-08-26”,
“DestinationIDList”: [53],
“ObjectTypeIDList”: [],
“InPriceType”: “Total”,
“PageSize”: 20,
“CurrentPage”: 1,
“PassengerConfigurationFilterList”: [{
“RoomsNumber”: 1,
“AdultsNumber”: 2
}],
“OutParameterList”: [{
“ResponseDetail”: “CalculatedPriceInfo”,
“NumberOfResults”: 1
}]
}

And the response should then contain a block of information with the expected price:


“CalculatedPriceInfo”: {
“CalculatedPrice”: 354.0,
“CalculatedPriceFormated”: “354.00”,
“ServiceList”: [{
“ServiceID”: 1,
“ServiceName”: “Hotel “,
“NameTranslationList”: null,
“ServiceType”: 1,
“Price”: 354.0,
“PriceFormated”: “354.00“,
“PriceType”: 4,
“GroupID”: 0,
“VATRate”: 0.0,
“ServicePriceType”: 1,
“RuleList”: null,
“ServiceCode”: null
}],
“BasicCalculatedPrice”: 354.0,
“BasicCalculatedPriceFormated”: “354.00”,
“NumberOfPersons”: 2,
“CalculationStatus”: {
“Code”: 1,
“Description”: null,
“ErrorCode”: 0
}
}