2. CalcPackage

Last modified by Giorgi Mdivnishvili on 2024/04/12 18:58

Method Description

This method is used to calculate package only hotels, to recheck prices, availability, prices and cancelation policy before book.

Endpoint URL - [POST]

Request Parameters

None

Request Body

none{
 "packageId": "string",
 "extraServicePriceCodes": [
   "string"
  ]
}

Request Body example

{
   "packageId": "onlyhotel:25a0ce83-047e-485a-8fd7-f2b5a7a1fa37:9963330c-2346-4330-b9cf-7abbb0f64636",
   "includeInsurance": false
}

Response

{
 "error": true,
 "errorCode": "string",
 "errorDescription": "string",
 "userErrorDescription": "string",
 "package": {
   "id": "string",
   "priceCurrency": "string",
   "totalPrice": 0,
   "agentCommissionPercent": 0,
   "agentCommissionAmount": 0,
   "hotel": {
     "hotelPriceId": "string",
     "providerId": 0,
     "hotelName": "string",
     "hotelCode": "string",
     "nigths": 0,
     "mealPlan": "string",
     "hotelClass": "string",
     "availabilityType": "OnRequest",
     "availableRoomsCount": 0,
     "fewRooms": true,
     "roomCategoryCode": "string",
     "roomCategoryName": "string",
     "placementTypeName": "string",
     "placementDescription": "string",
     "checkInDate": "2023-12-14T08:49:36.703Z",
     "checkOutDate": "2023-12-14T08:49:36.703Z",
     "adults": 0,
     "children": 0,
     "districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
     "districtName": "string",
     "cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
     "cityName": "string",
     "countryCode": "string",
     "countryName": "string",
     "hasAlcohol": true,
     "hasFreeWifi": true,
     "hasMetro": true,
     "hasPool": true,
     "hasMall": true,
     "cancellationPolicyDescription": "string",
     "cancellationPolicy": {
       "cancellationPolicyCode": "string",
       "noShowChargeValue": 0,
       "noShowChargeValueType": "string",
       "earlyDepartureChargeValue": 0,
       "earlyDepartureChargeValueType": "string",
       "conditions": [
          {
           "timeunits": 0,
           "timeunitType": "string",
           "timeOffsetTypeName": "string",
           "chargeValue": 0,
           "chargeValueType": "string"
          }
        ]
      }
    },
   "extraServices": [
      {
       "extraServiceCode": "string",
       "extraServiceTypeCode": "string",
       "isMandatory": 0,
       "extraServiceName": "string",
       "minimalServiceAmount": 0,
       "includedPriceCode": "string",
       "prices": [
          {
           "extraServicePriceCode": "string",
           "displayName": "string",
           "restrictionInfo": "string",
           "additionalInfo": "string",
           "price": 0,
           "extraPrice": 0,
           "currency": "string"
          }
        ]
      }
    ]
  }
}

Response example

{
   "package": {
       "id": "onlyhotel:25a0ce83-047e-485a-8fd7-f2b5a7a1fa37:9963330c-2346-4330-b9cf-7abbb0f64636",
       "priceCurrency": "USD",
       "totalPrice": 46.94,
       "agentCommissionPercent": 0.00,
       "agentCommissionAmount": 0.00,
       "hotel": {
           "hotelPriceId": "9963330c-2346-4330-b9cf-7abbb0f64636",
           "hotelName": "Royal Continental Hotel",
           "hotelCode": "03cf038c-df96-4926-af5f-0f285e600405",
           "nigths": 1,
           "mealPlan": "RO",
           "hotelClass": "4",
           "hotelColor": "#000000",
           "availabilityType": "FreeSale",
           "availableRoomsCount": 0,
           "fewRooms": true,
           "roomCategoryCode": "ff13e5ec-2116-46d1-9ff4-ae76be84ff91",
           "roomCategoryName": "Superior King Room",
           "placementTypeName": "DBL",
           "checkInDate": "2024-06-30T00:00:00.000",
           "checkOutDate": "2024-07-01T00:00:00.000",
           "adults": 2,
           "children": 0,
           "districtUID": "aaff2238-fa72-4900-83f8-a16990415547",
           "districtName": "Deira",
           "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2",
           "cityName": "Dubai",
           "countryCode": "AE",
           "countryName": "United Arab Emirates",
           "hasAlcohol": false,
           "hasFreeWifi": true,
           "hasMetro": false,
           "hasPool": true,
           "hasMall": false,
           "infantMaxAge": 5.99,
           "childMinAge": 6.00,
           "childMaxAge": 11.99,
           "teenMinAge": 0.0,
           "teenMaxAge": 0.0,
           "adultMinAge": 12.00,
           "cancellationPolicyDescription": "Cancellation Policy: 1 Day Before Arrival: 1.00 Night, Early Departure: 100.00 %, NoShow: 100.00 %",
           "cancellationPolicy": {
               "noShowChargeValue": 100.00,
               "noShowChargeValueType": "%",
               "earlyDepartureChargeValue": 100.00,
               "earlyDepartureChargeValueType": "%",
               "conditions": [
                    {
                       "timeunits": 1,
                       "timeunitType": "Day",
                       "timeOffsetTypeName": "Before Arrival",
                       "chargeValue": 1.00,
                       "chargeValueType": "Night"
                    }
                ]
            }
        },
       "extraServices": [],
       "insurancePrice": {
           "name": "Insurance (10000 USD) with COVID coverage",
           "price": 8.96,
           "actualStartDate": "2024-06-30T00:00:00.000",
           "actualEndDate": "2024-07-01T00:00:00.000",
           "optional": true,
           "includedInPackagePrice": false
        },
       "sortCheckInOut": "30.06.2024-01.07.2024",
       "sortHotelName": "royal continental hotel",
       "sortDetails": "ro",
       "sortPlacement": "superior king room dbl"
    },
   "refreshPriceResult": "Success",
   "error": false
}

Schema

Success

CalcOnlyHotelPackageResponse{

errorboolean
errorCodestring
nullable: true
errorDescriptionstring
nullable: true
userErrorDescriptionstring
nullable: true
packageOnlyHotelPackage{
idstring
nullable: true
priceCurrencystring
nullable: true
totalPricenumber($double)
agentCommissionPercentnumber($double)
agentCommissionAmountnumber($double)
hotelPackageHotel{
hotelPriceIdstring
nullable: true
providerIdinteger($int32)
hotelNamestring
nullable: true
hotelCodestring
nullable: true
nigthsinteger($int32)
mealPlanstring
nullable: true
hotelClassstring
nullable: true
availabilityTypeRoomAvailabilityTypeEnumstringEnum:
[ OnRequest, FreeSale, StopSale ]
availableRoomsCountinteger($int32)
fewRoomsboolean
roomCategoryCodestring
nullable: true
roomCategoryNamestring
nullable: true
placementTypeNamestring
nullable: true
placementDescriptionstring
nullable: true
checkInDatestring($date-time)
checkOutDatestring($date-time)
adultsinteger($int32)
childreninteger($int32)
districtUIDstring($uuid)
nullable: true
districtNamestring
nullable: true
cityUIDstring($uuid)
nullable: true
cityNamestring
nullable: true
countryCodestring
nullable: true
countryNamestring
nullable: true
hasAlcoholboolean
hasFreeWifiboolean
hasMetroboolean
hasPoolboolean
hasMallboolean
cancellationPolicyDescriptionstring
nullable: true
cancellationPolicyCancellationPolicyExchange{
cancellationPolicyCodestring
nullable: true
noShowChargeValuenumber($double)
nullable: true
noShowChargeValueTypestring
nullable: true
earlyDepartureChargeValuenumber($double)
nullable: true
earlyDepartureChargeValueTypestring
nullable: true
conditions[
nullable: trueCancellationPolicyConditionExchange{
timeunitsinteger($int32)
timeunitTypestring
nullable: true
timeOffsetTypeNamestring
nullable: true
chargeValuenumber($double)
nullable: true
chargeValueTypestring
nullable: true

}]

}

}

extraServices[
nullable: trueHotelExtraServiceBase{
extraServiceCodestring
nullable: true
extraServiceTypeCodestring
nullable: true
isMandatoryinteger($int32)
extraServiceNamestring
nullable: true
minimalServiceAmountnumber($double)
includedPriceCodestring
nullable: true
prices[
nullable: trueHotelExtraServicePriceBase{
extraServicePriceCodestring
nullable: true
displayNamestring
nullable: true
restrictionInfostring
nullable: true
additionalInfostring
nullable: true
pricenumber($double)
extraPricenumber($double)
currencystring
nullable: true

}]

}]

}

}

Important

Error

Implementing Authorization in Subsequent Requests

For every API request after the initial authentication, it's crucial to include the authorization token in the request header. This ensures your requests are authorized and can access the necessary resources. Here's how to properly include your token:

  • Header Key: Authorization
  • Header Value: Bearer [Your Token Here] - Use the bearer token provided in the initial authentication response. The authorization type should be specified as Bearer Token.

Additionally, to ensure your requests are properly formatted and recognized, include the following headers:

  • Content-Type: Specify this header as application/json to indicate the format of the request body.
  • Header Key: X-nugios-timezone
  • Header Value: 240 - Adjust this value to match your local timezone offset in minutes.

Incorporating these headers with their respective values is essential for the successful processing of your API requests.