3. CalcPackage

Version 4.1 by Giorgi Mdivnishvili on 2023/12/19 18:05

Method Description

The initial method of the integration process is authorization. You will be provided with a test user username and password to generate the access token that you will need to pass in all the following methods. 

Endpoint URL - [POST]

Request Parameters

None

Request Body

{
 "packageId": "string",
 "extraServicePriceCodes": [
   "string"
  ],
 "includeInsurance": true
}

Request Body example

{
 "packageId": "onlyhotel:c4e23e7e-3d54-4efa-a3db-88508230ce91:504f63ca-6dd5-4d84-8245-cf7e77ccff73",
 "extraServicePriceCodes": [
   
  ]
}

Response

{
 "error": true,
 "errorCode": "string",
 "errorDescription": "string",
 "userErrorDescription": "string",
 "package": {
   "id": "string",
   "priceCurrency": "string",
   "totalPrice": 0,
   "agentCommissionPercent": 0,
   "agentCommissionAmount": 0,
   "includedExtrasAmount": 0,
   "priceDifference": 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-18T14:09:48.103Z",
     "checkOutDate": "2023-12-18T14:09:48.103Z",
     "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"
          }
        ]
      }
    },
   "flight": {
     "id": "string",
     "departureDate": "2023-12-18T14:09:48.103Z",
     "returnDate": "2023-12-18T14:09:48.103Z",
     "departureTicketsLeft": 0,
     "returnTicketsLeft": 0,
     "departureAvailabilityType": "OnRequest",
     "returnAvailabilityType": "OnRequest",
     "isTwoWay": true,
     "departureSegments": [
        {
         "airlineCode": "string",
         "airlineName": "string",
         "flightCode": "string",
         "class": "string",
         "lugageWeight": 0,
         "handLugageWeight": 0,
         "departureFlightDate": "2023-12-18T14:09:48.103Z",
         "departureCountryName": "string",
         "departureCityName": "string",
         "departureAirportCode": "string",
         "departureAirportName": "string",
         "departureTerminalCode": "string",
         "arrivalFlightDate": "2023-12-18T14:09:48.103Z",
         "arrivalCountryName": "string",
         "arrivalCityName": "string",
         "arrivalAirportCode": "string",
         "arrivalAirportName": "string",
         "arrivalTerminalCode": "string",
         "flightDuration": "string",
         "baggages": [
            {
             "baggageCode": "string",
             "description": "string",
             "price": 0,
             "currency": "string",
             "included": true
            }
          ]
        }
      ],
     "returnSegments": [
        {
         "airlineCode": "string",
         "airlineName": "string",
         "flightCode": "string",
         "class": "string",
         "lugageWeight": 0,
         "handLugageWeight": 0,
         "departureFlightDate": "2023-12-18T14:09:48.103Z",
         "departureCountryName": "string",
         "departureCityName": "string",
         "departureAirportCode": "string",
         "departureAirportName": "string",
         "departureTerminalCode": "string",
         "arrivalFlightDate": "2023-12-18T14:09:48.103Z",
         "arrivalCountryName": "string",
         "arrivalCityName": "string",
         "arrivalAirportCode": "string",
         "arrivalAirportName": "string",
         "arrivalTerminalCode": "string",
         "flightDuration": "string",
         "baggages": [
            {
             "baggageCode": "string",
             "description": "string",
             "price": 0,
             "currency": "string",
             "included": true
            }
          ]
        }
      ]
    },
   "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"
          }
        ]
      }
    ],
   "insurancePrice": {
     "name": "string",
     "price": 0,
     "priceSurcarge": 0,
     "actualStartDate": "2023-12-18T14:09:48.103Z",
     "actualEndDate": "2023-12-18T14:09:48.103Z",
     "optional": true,
     "includedInPackagePrice": true
    },
   "cacheKey": "string"
  }
}

Response example

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

}]

}]

}

}