Changes for page 4. CalcCheckout
Last modified by Giorgi Mdivnishvili on 2024/04/11 16:59
From version 5.1
edited by Giorgi Mdivnishvili
on 2024/04/11 07:33
on 2024/04/11 07:33
Change comment:
There is no comment for this version
To version 10.3
edited by Giorgi Mdivnishvili
on 2024/04/11 16:58
on 2024/04/11 16:58
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -6,9 +6,10 @@ 6 6 7 7 = Method Description = 8 8 9 -This method is used to calculate full package with hotels and flights, to recheck prices, availability, prices and cancelation policy before book. 10 10 10 +Once the desired tour variation has been selected, the next step involves calculating the package price in greater detail, typically just before proceeding with the reservation. To accomplish this, the CalcCheckout method must be utilized. This stage marks the pre-booking phase of the process. 11 11 12 + 12 12 == Endpoint URL - [POST] == 13 13 14 14 {{info}} ... ... @@ -164,353 +164,126 @@ 164 164 "errorCode": "string", 165 165 "errorDescription": "string", 166 166 "userErrorDescription": "string", 167 - "package": { 168 - "cacheKey": "string", 169 - "id": "string", 170 - "priceCurrency": "string", 171 - "totalPrice": 0, 172 - "agentCommissionPercent": 0, 173 - "agentCommissionAmount": 0, 174 - "includedExtrasAmount": 0, 175 - "priceDifference": 0, 176 - "hotel": { 177 - "hotelPriceId": "string", 178 - "providerId": 0, 179 - "hotelName": "string", 180 - "hotelCode": "string", 181 - "nigths": 0, 182 - "mealPlan": "string", 183 - "hotelClass": "string", 184 - "availabilityType": "OnRequest", 185 - "availableRoomsCount": 0, 186 - "fewRooms": true, 187 - "roomCategoryCode": "string", 188 - "roomCategoryName": "string", 189 - "placementTypeName": "string", 190 - "placementDescription": "string", 191 - "checkInDate": "2023-12-26T12:55:59.433Z", 192 - "checkOutDate": "2023-12-26T12:55:59.433Z", 193 - "adults": 0, 194 - "children": 0, 195 - "districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 196 - "districtName": "string", 197 - "cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 198 - "cityName": "string", 168 + "priceCurrency": "string", 169 + "totalPrice": 0, 170 + "agentCommissionPercent": 0, 171 + "agentCommissionAmount": 0, 172 + "requiredCitizenIdentifiers": [ 173 + { 199 199 "countryCode": "string", 200 - "countryName": "string", 201 - "hasAlcohol": true, 202 - "hasFreeWifi": true, 203 - "hasMetro": true, 204 - "hasPool": true, 205 - "hasMall": true, 206 - "cancellationPolicyDescription": "string", 207 - "cancellationPolicy": { 208 - "cancellationPolicyCode": "string", 209 - "noShowChargeValue": 0, 210 - "noShowChargeValueType": "string", 211 - "earlyDepartureChargeValue": 0, 212 - "earlyDepartureChargeValueType": "string", 213 - "conditions": [ 214 - { 215 - "timeunits": 0, 216 - "timeunitType": "string", 217 - "timeOffsetTypeName": "string", 218 - "chargeValue": 0, 219 - "chargeValueType": "string" 220 - } 221 - ] 222 - } 223 - }, 224 - "flight": { 225 - "id": "string", 226 - "departureDate": "2023-12-26T12:55:59.433Z", 227 - "returnDate": "2023-12-26T12:55:59.433Z", 228 - "departureTicketsLeft": 0, 229 - "returnTicketsLeft": 0, 230 - "departureAvailabilityType": "OnRequest", 231 - "returnAvailabilityType": "OnRequest", 232 - "isTwoWay": true, 233 - "sameBaggageForAll": true, 234 - "totalBaggage": true, 235 - "departureSegments": [ 236 - { 237 - "airlineCode": "string", 238 - "airlineName": "string", 239 - "flightCode": "string", 240 - "class": "string", 241 - "lugageWeight": 0, 242 - "handLugageWeight": 0, 243 - "departureFlightDate": "2023-12-26T12:55:59.433Z", 244 - "departureCountryName": "string", 245 - "departureCityName": "string", 246 - "departureAirportCode": "string", 247 - "departureAirportName": "string", 248 - "departureTerminalCode": "string", 249 - "arrivalFlightDate": "2023-12-26T12:55:59.433Z", 250 - "arrivalCountryName": "string", 251 - "arrivalCityName": "string", 252 - "arrivalAirportCode": "string", 253 - "arrivalAirportName": "string", 254 - "arrivalTerminalCode": "string", 255 - "flightDuration": "string" 256 - } 175 + "identifierType": "TIN" 176 + } 177 + ], 178 + "hotels": [ 179 + { 180 + "hotelPriceId": "string", 181 + "touristIds": [ 182 + "3fa85f64-5717-4562-b3fc-2c963f66afa6" 257 257 ], 258 - "returnSegments": [ 259 - { 260 - "airlineCode": "string", 261 - "airlineName": "string", 262 - "flightCode": "string", 263 - "class": "string", 264 - "lugageWeight": 0, 265 - "handLugageWeight": 0, 266 - "departureFlightDate": "2023-12-26T12:55:59.433Z", 267 - "departureCountryName": "string", 268 - "departureCityName": "string", 269 - "departureAirportCode": "string", 270 - "departureAirportName": "string", 271 - "departureTerminalCode": "string", 272 - "arrivalFlightDate": "2023-12-26T12:55:59.433Z", 273 - "arrivalCountryName": "string", 274 - "arrivalCityName": "string", 275 - "arrivalAirportCode": "string", 276 - "arrivalAirportName": "string", 277 - "arrivalTerminalCode": "string", 278 - "flightDuration": "string" 279 - } 184 + "errorCode": "string", 185 + "errorMessage": "string", 186 + "description": "string" 187 + } 188 + ], 189 + "tourists": [ 190 + { 191 + "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 192 + "age": 0, 193 + "isAdult": true, 194 + "flightIds": [ 195 + "string" 280 280 ], 281 - " passengers": [197 + "flights": [ 282 282 { 283 - "id": "string", 284 - "isAdult": true, 285 - "selectedForwardBaggageCode": "string", 286 - "selectedBackwardBaggageCode": "string", 287 - "forwardBaggages": [ 288 - { 289 - "baggageCode": "string", 290 - "description": "string", 291 - "price": 0, 292 - "currency": "string", 293 - "included": true 294 - } 295 - ], 296 - "backwardBaggages": [ 297 - { 298 - "baggageCode": "string", 299 - "description": "string", 300 - "price": 0, 301 - "currency": "string", 302 - "included": true 303 - } 304 - ] 199 + "flightId": "string", 200 + "note": "string" 305 305 } 306 - ] 307 - }, 308 - "extraServices": [ 309 - { 310 - "extraServiceCode": "string", 311 - "extraServiceTypeCode": "string", 312 - "isMandatory": 0, 313 - "extraServiceName": "string", 314 - "minimalServiceAmount": 0, 315 - "includedPriceCode": "string", 316 - "prices": [ 317 - { 318 - "extraServicePriceCode": "string", 319 - "displayName": "string", 320 - "restrictionInfo": "string", 321 - "additionalInfo": "string", 322 - "price": 0, 323 - "extraPrice": 0, 324 - "currency": "string" 325 - } 326 - ] 327 - } 328 - ], 329 - "insurancePrice": { 330 - "name": "string", 331 - "price": 0, 332 - "priceSurcarge": 0, 333 - "actualStartDate": "2023-12-26T12:55:59.433Z", 334 - "actualEndDate": "2023-12-26T12:55:59.433Z", 335 - "optional": true, 336 - "includedInPackagePrice": true 337 - } 338 - }, 339 - "altPackages": [ 340 - { 341 - "cacheKey": "string", 342 - "id": "string", 343 - "priceCurrency": "string", 344 - "totalPrice": 0, 345 - "agentCommissionPercent": 0, 346 - "agentCommissionAmount": 0, 347 - "includedExtrasAmount": 0, 348 - "priceDifference": 0, 349 - "hotel": { 350 - "hotelPriceId": "string", 351 - "providerId": 0, 352 - "hotelName": "string", 353 - "hotelCode": "string", 354 - "nigths": 0, 355 - "mealPlan": "string", 356 - "hotelClass": "string", 357 - "availabilityType": "OnRequest", 358 - "availableRoomsCount": 0, 359 - "fewRooms": true, 360 - "roomCategoryCode": "string", 361 - "roomCategoryName": "string", 362 - "placementTypeName": "string", 363 - "placementDescription": "string", 364 - "checkInDate": "2023-12-26T12:55:59.433Z", 365 - "checkOutDate": "2023-12-26T12:55:59.433Z", 366 - "adults": 0, 367 - "children": 0, 368 - "districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 369 - "districtName": "string", 370 - "cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 371 - "cityName": "string", 372 - "countryCode": "string", 373 - "countryName": "string", 374 - "hasAlcohol": true, 375 - "hasFreeWifi": true, 376 - "hasMetro": true, 377 - "hasPool": true, 378 - "hasMall": true, 379 - "cancellationPolicyDescription": "string", 380 - "cancellationPolicy": { 381 - "cancellationPolicyCode": "string", 382 - "noShowChargeValue": 0, 383 - "noShowChargeValueType": "string", 384 - "earlyDepartureChargeValue": 0, 385 - "earlyDepartureChargeValueType": "string", 386 - "conditions": [ 387 - { 388 - "timeunits": 0, 389 - "timeunitType": "string", 390 - "timeOffsetTypeName": "string", 391 - "chargeValue": 0, 392 - "chargeValueType": "string" 393 - } 394 - ] 395 - } 202 + ], 203 + "arrivalFlightInfo": { 204 + "flightNumber": "string", 205 + "terminalCode": "string", 206 + "date": "2024-04-11T05:03:16.796Z", 207 + "time": "string" 396 396 }, 397 - "flight": { 398 - "id": "string", 399 - "departureDate": "2023-12-26T12:55:59.433Z", 400 - "returnDate": "2023-12-26T12:55:59.433Z", 401 - "departureTicketsLeft": 0, 402 - "returnTicketsLeft": 0, 403 - "departureAvailabilityType": "OnRequest", 404 - "returnAvailabilityType": "OnRequest", 405 - "isTwoWay": true, 406 - "sameBaggageForAll": true, 407 - "totalBaggage": true, 408 - "departureSegments": [ 409 - { 410 - "airlineCode": "string", 411 - "airlineName": "string", 412 - "flightCode": "string", 413 - "class": "string", 414 - "lugageWeight": 0, 415 - "handLugageWeight": 0, 416 - "departureFlightDate": "2023-12-26T12:55:59.433Z", 417 - "departureCountryName": "string", 418 - "departureCityName": "string", 419 - "departureAirportCode": "string", 420 - "departureAirportName": "string", 421 - "departureTerminalCode": "string", 422 - "arrivalFlightDate": "2023-12-26T12:55:59.433Z", 423 - "arrivalCountryName": "string", 424 - "arrivalCityName": "string", 425 - "arrivalAirportCode": "string", 426 - "arrivalAirportName": "string", 427 - "arrivalTerminalCode": "string", 428 - "flightDuration": "string" 429 - } 430 - ], 431 - "returnSegments": [ 432 - { 433 - "airlineCode": "string", 434 - "airlineName": "string", 435 - "flightCode": "string", 436 - "class": "string", 437 - "lugageWeight": 0, 438 - "handLugageWeight": 0, 439 - "departureFlightDate": "2023-12-26T12:55:59.433Z", 440 - "departureCountryName": "string", 441 - "departureCityName": "string", 442 - "departureAirportCode": "string", 443 - "departureAirportName": "string", 444 - "departureTerminalCode": "string", 445 - "arrivalFlightDate": "2023-12-26T12:55:59.433Z", 446 - "arrivalCountryName": "string", 447 - "arrivalCityName": "string", 448 - "arrivalAirportCode": "string", 449 - "arrivalAirportName": "string", 450 - "arrivalTerminalCode": "string", 451 - "flightDuration": "string" 452 - } 453 - ], 454 - "passengers": [ 455 - { 456 - "id": "string", 457 - "isAdult": true, 458 - "selectedForwardBaggageCode": "string", 459 - "selectedBackwardBaggageCode": "string", 460 - "forwardBaggages": [ 461 - { 462 - "baggageCode": "string", 463 - "description": "string", 464 - "price": 0, 465 - "currency": "string", 466 - "included": true 467 - } 468 - ], 469 - "backwardBaggages": [ 470 - { 471 - "baggageCode": "string", 472 - "description": "string", 473 - "price": 0, 474 - "currency": "string", 475 - "included": true 476 - } 477 - ] 478 - } 479 - ] 209 + "departureFlightInfo": { 210 + "flightNumber": "string", 211 + "terminalCode": "string", 212 + "date": "2024-04-11T05:03:16.796Z", 213 + "time": "string" 480 480 }, 481 - "extraServices": [ 215 + "insurancePrice": { 216 + "insuranceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 217 + "insuranceServiceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 218 + "insurancePriceId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 219 + "touristId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 220 + "insuranceName": "string", 221 + "insuranceDescription": "string", 222 + "contragentName": "string", 223 + "contragentFullName": "string", 224 + "actualStartDate": "2024-04-11T05:03:16.796Z", 225 + "actualEndDate": "2024-04-11T05:03:16.796Z", 226 + "costCurrencyCode": "string", 227 + "costAmount": 0, 228 + "priceCurrencyCode": "string", 229 + "priceAmount": 0, 230 + "coverageCurrencyCode": "string", 231 + "coverageAmount": 0 232 + }, 233 + "selectedVisaId": "string", 234 + "transfers": [ 482 482 { 483 - "extraServiceCode": "string", 484 - "extraServiceTypeCode": "string", 485 - "isMandatory": 0, 486 - "extraServiceName": "string", 487 - "minimalServiceAmount": 0, 488 - "includedPriceCode": "string", 489 - "prices": [ 236 + "id": "string", 237 + "type": "Arrival", 238 + "flightId": "string", 239 + "flightInfo": { 240 + "flightNumber": "string", 241 + "terminalCode": "string", 242 + "date": "2024-04-11T05:03:16.796Z", 243 + "time": "string" 244 + }, 245 + "checkInHotelId": "string", 246 + "checkOutHotelId": "string", 247 + "selectedTransferPriceId": "string", 248 + "transferPrices": [ 490 490 { 491 - " extraServicePriceCode": "string",492 - " displayName": "string",493 - " restrictionInfo":"string",494 - " additionalInfo":"string",495 - "price": 0,496 - " extraPrice": 0,497 - "c urrency":"string"250 + "id": "string", 251 + "name": "string", 252 + "adultPlaces": 0, 253 + "childPlaces": 0, 254 + "perPersonPrice": true, 255 + "adultPrice": 0, 256 + "childPrice": 0 498 498 } 499 499 ] 500 500 } 501 501 ], 502 - "insurancePrice": { 503 - "name": "string", 504 - "price": 0, 505 - "priceSurcarge": 0, 506 - "actualStartDate": "2023-12-26T12:55:59.433Z", 507 - "actualEndDate": "2023-12-26T12:55:59.433Z", 508 - "optional": true, 509 - "includedInPackagePrice": true 510 - } 261 + "errorCode": "string", 262 + "errorMessage": "string", 263 + "description": "string" 511 511 } 512 512 ], 513 - "refreshPriceResult": "Success" 266 + "visas": [ 267 + { 268 + "prid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 269 + "prName": "string", 270 + "prValue": 0, 271 + "sortingOrder": 0 272 + } 273 + ], 274 + "terminals": [ 275 + { 276 + "terminalCode": "string", 277 + "cityUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 278 + "districtUID": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 279 + "terminalName": "string", 280 + "countryCode": "string", 281 + "note": "string" 282 + } 283 + ], 284 + "containsError": true, 285 + "refreshPriceResult": "Success", 286 + "reservationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", 287 + "reservationDetailsUnavailable": true 514 514 } 515 515 {{/code}} 516 516 ... ... @@ -864,49 +864,102 @@ 864 864 865 865 === Schema === 866 866 641 + 642 + 867 867 {{success}} 868 -|error|boolean 869 -|errorCode|string 644 +CheckoutFormIn{ 645 + 646 +|reservationId|string($uuid) 870 870 nullable: true 871 -|errorDescription|string 648 +|calcTourPackageRequests|[ 649 +nullable: trueCalcTourPackageRequest{((( 650 +|packageId|string 872 872 nullable: true 873 -|userErrorDescription|string 652 +|extraServicePriceCodes|[ 653 +nullable: truestring] 654 +|flightPassengers|[ 655 +nullable: trueFlightPassengerIn{((( 656 +|id|string 874 874 nullable: true 875 -| priceCurrency|string658 +|selectedForwardBaggageCode|string 876 876 nullable: true 877 -|totalPrice|number($double) 878 -|agentCommissionPercent|number($double) 879 -|agentCommissionAmount|number($double) 880 -|requiredCitizenIdentifiers|[ 881 -nullable: trueCitizenIdentifier{((( 882 -|countryCode|[...] 883 -|identifierType|IdentifierTypeEnumstringEnum: 884 -[ TIN, FIN ] 660 +|selectedBackwardBaggageCode|string 661 +nullable: true 885 885 886 886 }] 887 887 ))) 665 +|includeInsurance|boolean 666 +nullable: true 667 +|refreshPrices|boolean 668 + 669 +}] 670 +))) 671 +|calcOnlyHotelPackageRequests|[ 672 +nullable: trueCalcOnlyHotelPackageRequest{((( 673 +|packageId|string 674 +nullable: true 675 +|extraServicePriceCodes|[ 676 +nullable: truestring] 677 +|includeInsurance|boolean 678 +|refreshPrices|boolean 679 + 680 +}] 681 +))) 682 +|calcOnlyAviaPackageRequests|[ 683 +nullable: trueCalcOnlyAviaPackageRequest{((( 684 +|packageId|string 685 +nullable: true 686 +|refreshPrices|boolean 687 +|flightPassengers|[ 688 +nullable: trueFlightPassengerIn{((( 689 +|id|string 690 +nullable: true 691 +|selectedForwardBaggageCode|string 692 +nullable: true 693 +|selectedBackwardBaggageCode|string 694 +nullable: true 695 + 696 +}] 697 +))) 698 + 699 +}] 700 +))) 888 888 |hotels|[ 889 -nullable: trueCheckoutHotel Out{(((702 +nullable: trueCheckoutHotelIn{((( 890 890 |hotelPriceId|string 891 891 nullable: true 892 -|touristIds|[ 893 -nullable: truestring($uuid)] 894 -|errorCode|string 705 +|agentConfirmationNumber|string 895 895 nullable: true 896 -| errorMessage|string707 +|note|string 897 897 nullable: true 898 -| description|string899 -nullable: true 709 +|touristIds|[ 710 +nullable: truestring($uuid)] 900 900 901 901 }] 902 902 ))) 903 903 |tourists|[ 904 -nullable: trueCheckoutTouristOut{((( 905 -|id|[...] 906 -|age|[...] 907 -|isAdult|[...] 908 -|flightIds|[...] 909 -|flights|[...] 715 +nullable: trueCheckoutTouristIn{((( 716 +|id|string($uuid) 717 +|firstName|string 718 +nullable: true 719 +|lastName|string 720 +nullable: true 721 +|birthDate|string($date-time) 722 +nullable: true 723 +|passportNumber|string 724 +nullable: true 725 +|passportExpiry|string($date-time) 726 +nullable: true 727 +|passportIssue|string($date-time) 728 +nullable: true 729 +|citizenship|string 730 +nullable: true 731 +|tin|string 732 +nullable: true 733 +|isMale|boolean 734 +nullable: true 735 +|flightIds|[ 736 +nullable: truestring] 910 910 |arrivalFlightInfo|ManualFlightInfo{((( 911 911 |flightNumber|string 912 912 nullable: true ... ... @@ -931,78 +931,63 @@ 931 931 932 932 } 933 933 ))) 934 -|insurancePrice|InsurancePriceForTourist{((( 935 -|insuranceId|string($uuid) 936 -|insuranceServiceId|string($uuid) 937 -|insurancePriceId|string($uuid) 938 -|touristId|string($uuid) 939 -|insuranceName|string 940 -nullable: true 941 -|insuranceDescription|string 942 -nullable: true 943 -|contragentName|string 944 -nullable: true 945 -|contragentFullName|string 946 -nullable: true 947 -|actualStartDate|string($date-time) 948 -|actualEndDate|string($date-time) 949 -|costCurrencyCode|string 950 -nullable: true 951 -|costAmount|number($double) 952 -|priceCurrencyCode|string 953 -nullable: true 954 -|priceAmount|number($double) 955 -|coverageCurrencyCode|string 956 -nullable: true 957 -|coverageAmount|number($double) 958 - 959 -} 960 -))) 961 961 |selectedVisaId|string 962 962 nullable: true 963 963 |transfers|[ 964 -nullable: trueCheckoutTransfer Out{(((764 +nullable: trueCheckoutTransferIn{((( 965 965 |id|string 966 966 nullable: true 967 -|type|CheckoutTransferTypeEnumstringEnum: 968 -[ Arrival, Departure, HotelToHotel ] 969 -|flightId|string 767 +|selectedTransferPriceId|string 970 970 nullable: true 971 -|flightInfo|ManualFlightInfo{((( 972 -|flightNumber|string 769 + 770 +}] 771 +))) 772 + 773 +}] 774 +))) 775 +|note|string 973 973 nullable: true 974 -| terminalCode|string777 +|contactPhone|string 975 975 nullable: true 976 -|date|string($date-time) 977 -nullable: true 978 -|time|string 979 -nullable: true 980 980 981 981 } 982 -))) 983 -|checkInHotelId|string 781 +{{/success}} 782 + 783 + 784 + 785 + 786 + 787 + 788 +{{success}} 789 +CheckoutFormOut{ 790 + 791 +|error|boolean 792 +|errorCode|string 984 984 nullable: true 985 -| checkOutHotelId|string794 +|errorDescription|string 986 986 nullable: true 987 -|se lectedTransferPriceId|string796 +|userErrorDescription|string 988 988 nullable: true 989 -|transferPrices|[ 990 -nullable: trueCheckoutTransferPrice{((( 991 -|id|string 798 +|priceCurrency|string 992 992 nullable: true 993 -|name|string 800 +|totalPrice|number($double) 801 +|agentCommissionPercent|number($double) 802 +|agentCommissionAmount|number($double) 803 +|requiredCitizenIdentifiers|[ 804 +nullable: trueCitizenIdentifier{((( 805 +|countryCode|string 994 994 nullable: true 995 -|adultPlaces|integer($int32) 996 -|childPlaces|integer($int32) 997 -|perPersonPrice|boolean 998 -|adultPrice|number($double) 999 -|childPrice|number($double) 807 +|identifierType|IdentifierTypeEnumstringEnum: 808 +[ TIN, FIN ] 1000 1000 1001 1001 }] 1002 1002 ))) 1003 - 1004 -}] 1005 -))) 812 +|hotels|[ 813 +nullable: trueCheckoutHotelOut{((( 814 +|hotelPriceId|string 815 +nullable: true 816 +|touristIds|[ 817 +nullable: truestring($uuid)] 1006 1006 |errorCode|string 1007 1007 nullable: true 1008 1008 |errorMessage|string ... ... @@ -1012,6 +1012,8 @@ 1012 1012 1013 1013 }] 1014 1014 ))) 827 +|tourists|[ 828 +nullable: trueCheckoutTouristOut{...}] 1015 1015 |visas|[ 1016 1016 nullable: trueServicePrice{((( 1017 1017 |prid|string($uuid) ... ... @@ -1047,3 +1047,70 @@ 1047 1047 1048 1048 } 1049 1049 {{/success}} 864 + 865 + 866 +== Descriptions == 867 + 868 + 869 +=== Request === 870 + 871 +Here's a table describing each parameter of the JSON request: 872 + 873 +(% class="table-bordered" %) 874 +|=Parameter|=Data Type|=Description 875 +|calcTourPackageRequests|Array|An array of objects, each representing a tour package request. 876 +|refreshPrices|Boolean|If true, the prices for the tour package will be refreshed. 877 +|packageId|String|A unique identifier for the tour package. 878 +|flightPassengers|Array|An array of objects, each representing a flight passenger. 879 +|id|String|A unique identifier for each flight passenger. 880 +|selectedForwardBaggageCode|String|The selected baggage option for the forward journey. there is two optoions "" 881 +|selectedBackwardBaggageCode|String|The selected baggage option for the backward journey. 882 +|extraServicePriceCodes|Array|An array of extra service price codes. If empty, no extra services are selected. 883 +|includeInsurance|Boolean|If true, insurance will be included in the tour package. 884 +|calcOnlyHotelPackageRequests|Array|An array of objects, each representing a hotel-only package request. If empty, no hotel-only packages are requested. 885 +|calcOnlyAviaPackageRequests|Array|An array of objects, each representing an avia-only package request. If empty, no avia-only packages are requested. 886 + 887 +=== Response === 888 + 889 +(% class="table-bordered" %) 890 +|=Parameter|=Data Type|=Description 891 +|priceCurrency|String|The currency code (ISO 4217) for all prices mentioned in the response. 892 +|totalPrice|Number|The total price of the booking. 893 +|agentCommissionPercent|Number|The commission percentage for the agent. 894 +|agentCommissionAmount|Number|The total commission amount for the agent in priceCurrency. 895 +|requiredCitizenIdentifiers[*].countryCode|String|The ISO 3166-1 alpha-2 country code. 896 +|requiredCitizenIdentifiers[*].identifierType|String|The type of identifier required (e.g., "TIN", "FIN"). **TIN (Taxpayer Identification Number) & FIN (Financial Identification Number)** 897 +|hotels[*].hotelPriceId|String|Unique identifier for the hotel price. 898 +|hotels[*].touristIds[*]|String|List of tourist IDs that are booked in this hotel. 899 +|hotels[*].description|String|A brief description of the hotel. 900 +|tourists[*].id|String|Unique identifier for the tourist. 901 +|tourists[*].isAdult|Boolean|Indicates if the tourist is an adult. 902 +|tourists[*].flightIds[*]|String|Identifiers for flights associated with the tourist. 903 +|tourists[*].flights[*].flightId|String|Unique identifier for the flight. 904 +|tourists[*].flights[*].note|String|Additional information about the flight, such as baggage allowance. 905 +|tourists[*].insurancePrice.insuranceId|String|Unique identifier for the insurance product. 906 +|tourists[*].insurancePrice.insuranceServiceId|String|Identifier for the insurance service provider. 907 +|...|...|Additional fields for insurancePrice as detailed previously. 908 +|tourists[*].transfers[*].id|String|Unique identifier for the transfer service. 909 +|tourists[*].transfers[*].type|String|The type of transfer (e.g., "Arrival", "Departure"). 910 +|tourists[*].transfers[*].flightId|String|Identifier of the flight associated with this transfer. 911 +|tourists[*].transfers[*].checkInHotelId|String|Hotel ID for check-in associated with this transfer (for arrival type). 912 +|tourists[*].transfers[*].checkOutHotelId|String|Hotel ID for check-out associated with this transfer (for departure type). 913 +|tourists[*].transfers[*].selectedTransferPriceId|String|The ID of the selected pricing option for the transfer. 914 +|tourists[*].transfers[*].transferPrices[*].id|String|Unique identifier for the transfer price option. 915 +|tourists[*].transfers[*].transferPrices[*].name|String|The name of the transfer service (e.g., "GROUP", "MINIVAN"). 916 +|...|...|Additional fields for transferPrices as detailed previously. 917 +|visas[*].prid|String|Unique identifier for the visa option. 918 +|visas[*].prName|String|The name of the visa option. 919 +|visas[*].prValue|Number|The cost associated with this visa option. 920 +|visas[*].sortingOrder|Number|Used to sort visa options in the response or UI. 921 +|terminals[*].terminalCode|String|The code representing the terminal. 922 +|terminals[*].cityUID|String|Unique identifier for the city where the terminal is located. 923 +|...|...|Additional fields for terminals as detailed previously. 924 +|containsError|Boolean|Indicates if the response contains any errors. 925 +|refreshPriceResult|String|The result of attempting to refresh the price (e.g., "Success"). 926 +|reservationId|String|Unique identifier for the reservation. 927 +|reservationDetailsUnavailable|Boolean|Indicates if the reservation details are currently unavailable. 928 +|error|Boolean|A generic error indicator, presumably redundant with containsError. 929 + 930 +