Changes for page 1. SearchTourPackages
Last modified by Giorgi Mdivnishvili on 2025/02/12 15:25
From version 11.1
edited by Giorgi Mdivnishvili
on 2023/12/15 12:22
on 2023/12/15 12:22
Change comment:
There is no comment for this version
To version 15.1
edited by Giorgi Mdivnishvili
on 2023/12/26 14:44
on 2023/12/26 14:44
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -SearchTourPackages 1 +1. SearchTourPackages - Content
-
... ... @@ -85,6 +85,65 @@ 85 85 {{/code}} 86 86 87 87 88 +== Request example == 89 + 90 +{{code language="Json"}} 91 +{ 92 + "departureCountryCode": "KZ", 93 + "departureCityUID": "f0ba6324-f337-405c-8cc7-23d62cf664e8", 94 + "arrivalCountryCode": "AE", 95 + "arrivalLocations": [ 96 + { 97 + "type": "city", 98 + "label": "Dubai", 99 + "value": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", 100 + "tag": "Dubai" 101 + } 102 + ], 103 + "checkInDate": "2024-02-05T20:00:00.000Z", 104 + "checkInDateTo": "2024-02-10T20:00:00.000Z", 105 + 106 + "stayDays": 3, 107 + "stayDaysTo": 6, 108 + 109 + "airlineCode": "", 110 + "ticketType": "", 111 + "directFlightsOnly": true, 112 + "longConnectTime": true, 113 + "adults": 1, 114 + "children": 1, 115 + "childrenAges": [ 116 + 2 117 + ], 118 + "extendedSearch": false, 119 + "totalPriceFrom": 100, 120 + "totalPriceTo": 15000, 121 + "recommended": true, 122 + "popular": true, 123 + "freeSale": true, 124 + "groupByHotel": true, 125 + "hotelCodes": [ 126 + 127 + ], 128 + "mealPlans": [ 129 + 130 + ], 131 + "hotelClasses": [ 132 + 133 + ], 134 + "hotelTypes": [ 135 + 136 + ], 137 + "hotelServices": [ 138 + 139 + ], 140 + "pagingId": "", 141 + "pageNumber": 10, 142 + "pageRowCount": 10 143 +} 144 +{{/code}} 145 + 146 + 88 88 == Response Body == 89 89 90 90 {{code language="json"}} ... ... @@ -264,271 +264,505 @@ 264 264 {{/code}} 265 265 266 266 267 -== =example ===326 +== Response example == 268 268 269 269 {{code language="Json"}} 270 -X 329 +{ 330 + "packages": [ 331 + { 332 + "cacheKey": "c705ab31e00e4f9a81c2fd46b2cdbb47f6fd9a6e16984236beb979b31aefafa4:{79}:i:10", 333 + "id": "tour:b01c168e-2ea7-4ea6-b6e0-55abb8cab0a0:da894a1e-88c0-4877-b216-0eeeabe186f3:4298d06f-4344-4a39-ad98-071b7760cf30", 334 + "priceCurrency": "USD", 335 + "totalPrice": 1033.53, 336 + "agentCommissionPercent": 0.0, 337 + "agentCommissionAmount": 0.0, 338 + "includedExtrasAmount": 0, 339 + "priceDifference": 0, 340 + "hotel": { 341 + "hotelPriceId": "da894a1e-88c0-4877-b216-0eeeabe186f3", 342 + "providerId": 13, 343 + "hotelName": "Mercure Dubai Barsha Heights Suites Apartments", 344 + "hotelCode": "5f125310-7025-4807-a4c6-49cd284c9c14", 345 + "nigths": 3, 346 + "mealPlan": "BB", 347 + "hotelClass": "4", 348 + "availabilityType": "FreeSale", 349 + "availableRoomsCount": 0, 350 + "fewRooms": true, 351 + "roomCategoryCode": "bc5f2224-bd4c-49b2-ab57-01eb7fa80d41", 352 + "roomCategoryName": "1 B/R Suite City View", 353 + "placementTypeName": "DBL", 354 + "checkInDate": "2024-02-09T20:00:00.000Z", 355 + "checkOutDate": "2024-02-12T20:00:00.000Z", 356 + "adults": 1, 357 + "children": 1, 358 + "districtUID": "4c65f6ed-902b-4fd8-9419-af7884c22c5e", 359 + "districtName": "Al Barsha", 360 + "cityUID": "f5185fa3-3f56-44ed-bf6b-80386a33caa2", 361 + "cityName": "Dubai", 362 + "countryCode": "AE", 363 + "countryName": "United Arab Emirates", 364 + "hasAlcohol": false, 365 + "hasFreeWifi": true, 366 + "hasMetro": true, 367 + "hasPool": true, 368 + "hasMall": false, 369 + "cancellationPolicyDescription": "Cancellation Policy: 5 Day Before Arrival: 100.00 %, Early Departure: 100.00 %, NoShow: 100.00 %", 370 + "cancellationPolicy": { 371 + "noShowChargeValue": 100.0, 372 + "noShowChargeValueType": "%", 373 + "earlyDepartureChargeValue": 100.0, 374 + "earlyDepartureChargeValueType": "%", 375 + "conditions": [ 376 + { 377 + "timeunits": 5, 378 + "timeunitType": "Day", 379 + "timeOffsetTypeName": "Before Arrival", 380 + "chargeValue": 100.0, 381 + "chargeValueType": "%" 382 + } 383 + ] 384 + } 385 + }, 386 + "flight": { 387 + "id": "4298d06f-4344-4a39-ad98-071b7760cf30", 388 + "departureDate": "2024-02-09T20:00:00.000Z", 389 + "returnDate": "2024-02-12T20:00:00.000Z", 390 + "departureTicketsLeft": 7, 391 + "returnTicketsLeft": 7, 392 + "departureAvailabilityType": "FewPlaces", 393 + "returnAvailabilityType": "FewPlaces", 394 + "isTwoWay": true, 395 + "sameBaggageForAll": false, 396 + "totalBaggage": false, 397 + "departureSegments": [ 398 + { 399 + "airlineCode": "KC", 400 + "airlineName": "Air Astana-", 401 + "flightCode": "KC897", 402 + "class": "econom", 403 + "lugageWeight": 20, 404 + "handLugageWeight": 6, 405 + "departureFlightDate": "2024-02-09T20:00:00.000Z", 406 + "departureCountryName": "Kazakhstan", 407 + "departureCityName": "Almaty", 408 + "departureAirportCode": "ALA", 409 + "departureAirportName": "Almaty Intl Airport", 410 + "departureTerminalCode": "ALA", 411 + "arrivalFlightDate": "2024-02-09T20:00:00.000Z", 412 + "arrivalCountryName": "United Arab Emirates", 413 + "arrivalCityName": "Dubai", 414 + "arrivalAirportCode": "DXB", 415 + "arrivalAirportName": "Dubai Intl Airport", 416 + "arrivalTerminalCode": "DXB1", 417 + "flightDuration": "0h 50m" 418 + } 419 + ], 420 + "returnSegments": [ 421 + { 422 + "airlineCode": "KC", 423 + "airlineName": "Air Astana-", 424 + "flightCode": "KC900", 425 + "class": "econom", 426 + "lugageWeight": 20, 427 + "handLugageWeight": 6, 428 + "departureFlightDate": "2024-02-12T20:00:00.000Z", 429 + "departureCountryName": "United Arab Emirates", 430 + "departureCityName": "Dubai", 431 + "departureAirportCode": "DXB", 432 + "departureAirportName": "Dubai Intl Airport", 433 + "departureTerminalCode": "DXB1", 434 + "arrivalFlightDate": "2024-02-12T20:00:00.000Z", 435 + "arrivalCountryName": "Kazakhstan", 436 + "arrivalCityName": "Almaty", 437 + "arrivalAirportCode": "ALA", 438 + "arrivalAirportName": "Almaty Intl Airport", 439 + "arrivalTerminalCode": "ALA", 440 + "flightDuration": "8h 15m" 441 + } 442 + ], 443 + "passengers": [ 444 + { 445 + "id": "42768722011000004-A1", 446 + "isAdult": true, 447 + "forwardBaggages": [], 448 + "backwardBaggages": [] 449 + }, 450 + { 451 + "id": "42768722011000004-C1", 452 + "isAdult": false, 453 + "forwardBaggages": [], 454 + "backwardBaggages": [] 455 + } 456 + ] 457 + }, 458 + "extraServices": [], 459 + "insurancePrice": { 460 + "name": "Medical INS (N10000)", 461 + "price": 17.92, 462 + "priceSurcarge": 0.0, 463 + "actualStartDate": "2024-02-09T20:00:00.000Z", 464 + "actualEndDate": "2024-02-12T20:00:00.000Z", 465 + "optional": false, 466 + "includedInPackagePrice": true 467 + } 468 + } 469 + ], 470 + "pagingId": "79", 471 + "pageNumber": 10, 472 + "pageCount": 2452, 473 + "totalCount": 2452, 474 + "error": false 475 +} 271 271 {{/code}} 272 272 273 273 274 274 === Schema === 275 275 276 -{{c odelanguage="none"}}481 +{{success}} 277 277 SearchTourPackagesResponse{ 278 -error boolean 279 -errorCode string 280 -nullable: true 281 -errorDescription string 282 -nullable: true 283 -userErrorDescription string 284 -nullable: true 285 -packages [ 286 -nullable: true 287 -TourPackage{ 288 -cacheKey string 289 -nullable: true 290 -id string 291 -nullable: true 292 -priceCurrency string 293 -nullable: true 294 -totalPrice number($double) 295 -agentCommissionPercent number($double) 296 -agentCommissionAmount number($double) 297 -includedExtrasAmount number($double) 298 -priceDifference number($double) 299 -hotel PackageHotel{ 300 -hotelPriceId string 301 -nullable: true 302 -providerId integer($int32) 303 -hotelName string 304 -nullable: true 305 -hotelCode string 306 -nullable: true 307 -nigths integer($int32) 308 -mealPlan string 309 -nullable: true 310 -hotelClass string 311 -nullable: true 312 -availabilityType RoomAvailabilityTypeEnum[...] 313 -availableRoomsCount integer($int32) 314 -fewRooms boolean 315 -roomCategoryCode string 316 -nullable: true 317 -roomCategoryName string 318 -nullable: true 319 -placementTypeName string 320 -nullable: true 321 -placementDescription string 322 -nullable: true 323 -checkInDate string($date-time) 324 -checkOutDate string($date-time) 325 -adults integer($int32) 326 -children integer($int32) 327 -districtUID string($uuid) 328 -nullable: true 329 -districtName string 330 -nullable: true 331 -cityUID string($uuid) 332 -nullable: true 333 -cityName string 334 -nullable: true 335 -countryCode string 336 -nullable: true 337 -countryName string 338 -nullable: true 339 -hasAlcohol boolean 340 -hasFreeWifi boolean 341 -hasMetro boolean 342 -hasPool boolean 343 -hasMall boolean 344 -cancellationPolicyDescription string 345 -nullable: true 346 -cancellationPolicy CancellationPolicyExchange{ 347 -cancellationPolicyCode string 348 -nullable: true 349 -noShowChargeValue number($double) 350 -nullable: true 351 -noShowChargeValueType string 352 -nullable: true 353 -earlyDepartureChargeValue number($double) 354 -nullable: true 355 -earlyDepartureChargeValueType string 356 -nullable: true 357 -conditions [ 358 -nullable: true 359 -CancellationPolicyConditionExchange{ 360 -timeunits integer($int32) 361 -timeunitType string 362 -nullable: true 363 -timeOffsetTypeName string 364 -nullable: true 365 -chargeValue number($double) 366 -nullable: true 367 -chargeValueType string 368 -nullable: true 483 + 484 +|error|boolean 485 +|errorCode|string 486 +nullable: true 487 +|errorDescription|string 488 +nullable: true 489 +|userErrorDescription|string 490 +nullable: true 491 +|packages|[ 492 +nullable: trueTourPackage{((( 493 +|cacheKey|string 494 +nullable: true 495 +|id|string 496 +nullable: true 497 +|priceCurrency|string 498 +nullable: true 499 +|totalPrice|number($double) 500 +|agentCommissionPercent|number($double) 501 +|agentCommissionAmount|number($double) 502 +|includedExtrasAmount|number($double) 503 +|priceDifference|number($double) 504 +|hotel|PackageHotel{((( 505 +|hotelPriceId|string 506 +nullable: true 507 +|providerId|integer($int32) 508 +|hotelName|string 509 +nullable: true 510 +|hotelCode|string 511 +nullable: true 512 +|nigths|integer($int32) 513 +|mealPlan|string 514 +nullable: true 515 +|hotelClass|string 516 +nullable: true 517 +|availabilityType|RoomAvailabilityTypeEnumstringEnum: 518 +[ OnRequest, FreeSale, StopSale ] 519 +|availableRoomsCount|integer($int32) 520 +|fewRooms|boolean 521 +|roomCategoryCode|string 522 +nullable: true 523 +|roomCategoryName|string 524 +nullable: true 525 +|placementTypeName|string 526 +nullable: true 527 +|placementDescription|string 528 +nullable: true 529 +|checkInDate|string($date-time) 530 +|checkOutDate|string($date-time) 531 +|adults|integer($int32) 532 +|children|integer($int32) 533 +|districtUID|string($uuid) 534 +nullable: true 535 +|districtName|string 536 +nullable: true 537 +|cityUID|string($uuid) 538 +nullable: true 539 +|cityName|string 540 +nullable: true 541 +|countryCode|string 542 +nullable: true 543 +|countryName|string 544 +nullable: true 545 +|hasAlcohol|boolean 546 +|hasFreeWifi|boolean 547 +|hasMetro|boolean 548 +|hasPool|boolean 549 +|hasMall|boolean 550 +|cancellationPolicyDescription|string 551 +nullable: true 552 +|cancellationPolicy|CancellationPolicyExchange{((( 553 +|cancellationPolicyCode|string 554 +nullable: true 555 +|noShowChargeValue|number($double) 556 +nullable: true 557 +|noShowChargeValueType|string 558 +nullable: true 559 +|earlyDepartureChargeValue|number($double) 560 +nullable: true 561 +|earlyDepartureChargeValueType|string 562 +nullable: true 563 +|conditions|[ 564 +nullable: trueCancellationPolicyConditionExchange{((( 565 +|timeunits|integer($int32) 566 +|timeunitType|string 567 +nullable: true 568 +|timeOffsetTypeName|string 569 +nullable: true 570 +|chargeValue|number($double) 571 +nullable: true 572 +|chargeValueType|string 573 +nullable: true 574 + 369 369 }] 576 +))) 577 + 370 370 } 579 +))) 580 + 371 371 } 372 -flight PackageFlight{ 373 -id string 374 -nullable: true 375 -departureDate string($date-time) 376 -returnDate string($date-time) 377 -nullable: true 378 -departureTicketsLeft integer($int32) 379 -returnTicketsLeft integer($int32) 380 -departureAvailabilityType FlightAvailabilityTypestring 381 -Enum: 382 -[ OnRequest, FreeSale, FewPlaces, StopSale ] 383 -returnAvailabilityType FlightAvailabilityTypestring 384 -Enum: 385 -[ OnRequest, FreeSale, FewPlaces, StopSale ] 386 -isTwoWay boolean 387 -departureSegments [ 388 -nullable: true 389 -FlightSegment{ 390 -airlineCode string 391 -nullable: true 392 -airlineName string 393 -nullable: true 394 -flightCode string 395 -nullable: true 396 -class string 397 -nullable: true 398 -lugageWeight number($double) 399 -handLugageWeight number($double) 400 -departureFlightDate string($date-time) 401 -departureCountryName string 402 -nullable: true 403 -departureCityName string 404 -nullable: true 405 -departureAirportCode string 406 -nullable: true 407 -departureAirportName string 408 -nullable: true 409 -departureTerminalCode string 410 -nullable: true 411 -arrivalFlightDate string($date-time) 412 -arrivalCountryName string 413 -nullable: true 414 -arrivalCityName string 415 -nullable: true 416 -arrivalAirportCode string 417 -nullable: true 418 -arrivalAirportName string 419 -nullable: true 420 -arrivalTerminalCode string 421 -nullable: true 422 -flightDuration string 423 -nullable: true 424 -baggages [ 425 -nullable: true 426 -Baggage{ 427 -baggageCode string 428 -nullable: true 429 -description string 430 -nullable: true 431 -price number($double) 432 -currency string 433 -nullable: true 434 -included boolean 582 +))) 583 +|flight|PackageFlight{((( 584 +|id|string 585 +nullable: true 586 +|departureDate|string($date-time) 587 +|returnDate|string($date-time) 588 +nullable: true 589 +|departureTicketsLeft|integer($int32) 590 +|returnTicketsLeft|integer($int32) 591 +|departureAvailabilityType|FlightAvailabilityTypestringEnum: 592 +[ OnRequest, FreeSale, FewPlaces, StopSale ] 593 +|returnAvailabilityType|FlightAvailabilityTypestringEnum: 594 +[ OnRequest, FreeSale, FewPlaces, StopSale ] 595 +|isTwoWay|boolean 596 +|departureSegments|[ 597 +nullable: trueFlightSegment{((( 598 +|airlineCode|string 599 +nullable: true 600 +|airlineName|string 601 +nullable: true 602 +|flightCode|string 603 +nullable: true 604 +|class|string 605 +nullable: true 606 +|lugageWeight|number($double) 607 +|handLugageWeight|number($double) 608 +|departureFlightDate|string($date-time) 609 +|departureCountryName|string 610 +nullable: true 611 +|departureCityName|string 612 +nullable: true 613 +|departureAirportCode|string 614 +nullable: true 615 +|departureAirportName|string 616 +nullable: true 617 +|departureTerminalCode|string 618 +nullable: true 619 +|arrivalFlightDate|string($date-time) 620 +|arrivalCountryName|string 621 +nullable: true 622 +|arrivalCityName|string 623 +nullable: true 624 +|arrivalAirportCode|string 625 +nullable: true 626 +|arrivalAirportName|string 627 +nullable: true 628 +|arrivalTerminalCode|string 629 +nullable: true 630 +|flightDuration|string 631 +nullable: true 632 +|baggages|[ 633 +nullable: trueBaggage{((( 634 +|baggageCode|string 635 +nullable: true 636 +|description|string 637 +nullable: true 638 +|price|number($double) 639 +|currency|string 640 +nullable: true 641 +|included|boolean 642 + 435 435 }] 644 +))) 645 + 436 436 }] 437 - returnSegments [438 - nullable:true439 -FlightSegment{ 440 -airlineCode 441 -nullable: 442 -airlineName 443 -nullable: 444 -flightCode 445 -nullable: 446 -class 447 -nullable: 448 -lugageWeight 449 -handLugageWeight 450 -departureFlightDate 451 -departureCountryName 452 -nullable: 453 -departureCityName 454 -nullable: 455 -departureAirportCode 456 -nullable: 457 -departureAirportName 458 -nullable: 459 -departureTerminalCode 460 -nullable: 461 -arrivalFlightDate 462 -arrivalCountryName 463 -nullable: 464 -arrivalCityName 465 -nullable: 466 -arrivalAirportCode 467 -nullable: 468 -arrivalAirportName 469 -nullable: 470 -arrivalTerminalCode 471 -nullable: 472 -flightDuration 473 -nullable: 474 -baggages 475 -nullable: 476 - Baggage{477 - baggageCode string478 - nullable:true479 - description string480 -nu llable: true481 - price number($double)482 - currency string483 -n ullable: true484 - included boolean647 +))) 648 +|returnSegments|[ 649 +nullable: trueFlightSegment{((( 650 +|airlineCode|string 651 +nullable: true 652 +|airlineName|string 653 +nullable: true 654 +|flightCode|string 655 +nullable: true 656 +|class|string 657 +nullable: true 658 +|lugageWeight|number($double) 659 +|handLugageWeight|number($double) 660 +|departureFlightDate|string($date-time) 661 +|departureCountryName|string 662 +nullable: true 663 +|departureCityName|string 664 +nullable: true 665 +|departureAirportCode|string 666 +nullable: true 667 +|departureAirportName|string 668 +nullable: true 669 +|departureTerminalCode|string 670 +nullable: true 671 +|arrivalFlightDate|string($date-time) 672 +|arrivalCountryName|string 673 +nullable: true 674 +|arrivalCityName|string 675 +nullable: true 676 +|arrivalAirportCode|string 677 +nullable: true 678 +|arrivalAirportName|string 679 +nullable: true 680 +|arrivalTerminalCode|string 681 +nullable: true 682 +|flightDuration|string 683 +nullable: true 684 +|baggages|[ 685 +nullable: trueBaggage{((( 686 +|baggageCode|string 687 +nullable: true 688 +|description|string 689 +nullable: true 690 +|price|number($double) 691 +|currency|string 692 +nullable: true 693 +|included|boolean 694 + 485 485 }] 696 +))) 697 + 486 486 }] 699 +))) 700 + 487 487 } 488 - extraServices [489 - nullable:true490 -HotelExtraServiceBase{ 491 -extraServiceCode 492 -nullable: 493 -extraServiceTypeCode 494 -nullable: 495 -isMandatory 496 -extraServiceName 497 -nullable: 498 -minimalServiceAmount 499 -includedPriceCode 500 -nullable: 501 -prices 502 -nullable: 503 - HotelExtraServicePriceBase{504 - extraServicePriceCode string505 - nullable:true506 - displayNamestring507 - nullable:true508 - restrictionInfo string509 -n ullable:true510 - additionalInfo string511 -nu llable: true512 - price513 - extraPriceumber($double)514 - currency string515 - nullable: true702 +))) 703 +|extraServices|[ 704 +nullable: trueHotelExtraServiceBase{((( 705 +|extraServiceCode|string 706 +nullable: true 707 +|extraServiceTypeCode|string 708 +nullable: true 709 +|isMandatory|integer($int32) 710 +|extraServiceName|string 711 +nullable: true 712 +|minimalServiceAmount|number($double) 713 +|includedPriceCode|string 714 +nullable: true 715 +|prices|[ 716 +nullable: trueHotelExtraServicePriceBase{((( 717 +|extraServicePriceCode|string 718 +nullable: true 719 +|displayName|string 720 +nullable: true 721 +|restrictionInfo|string 722 +nullable: true 723 +|additionalInfo|string 724 +nullable: true 725 +|price|number($double) 726 +|extraPrice|number($double) 727 +|currency|string 728 +nullable: true 729 + 516 516 }] 731 +))) 732 + 517 517 }] 518 -insurancePrice InsurancePrice{ 519 -name string 520 -nullable: true 521 -price number($double) 522 -priceSurcarge number($double) 523 -actualStartDate string($date-time) 524 -actualEndDate string($date-time) 525 -optional boolean 526 -includedInPackagePrice boolean 734 +))) 735 +|insurancePrice|InsurancePrice{((( 736 +|name|string 737 +nullable: true 738 +|price|number($double) 739 +|priceSurcarge|number($double) 740 +|actualStartDate|string($date-time) 741 +|actualEndDate|string($date-time) 742 +|optional|boolean 743 +|includedInPackagePrice|boolean 744 + 527 527 } 746 +))) 747 + 528 528 }] 529 -pagingId string 530 -nullable: true 531 -pageNumber integer($int64) 532 -pageCount integer($int64) 749 +))) 750 +|pagingId|string 751 +nullable: true 752 +|pageNumber|integer($int64) 753 +|pageCount|integer($int64) 754 + 533 533 } 756 +{{/success}} 757 + 758 + 759 +== Definitions == 760 + 761 + 762 +=== Paging and Caching === 763 + 764 +During the first request, Paging id must be empty like this ( "pagingId": "",) pagenumber is the number of the page, pagerowcount means number of the given result in one page. So in the first request we can search 765 + 766 + 767 +==== first request ==== 768 + 769 +{{code language="Json"}} 770 + { 771 + "pagingId": "", 772 + "pageNumber": 1, 773 + "pageRowCount":10 774 + } 534 534 {{/code}} 776 + 777 + 778 +==== Request with caching ==== 779 + 780 +{{code language="Json"}} 781 + { 782 + "pagingId": "80", 783 + "pageNumber": 1, 784 + "pageRowCount":10 785 + } 786 +{{/code}} 787 + 788 + 789 +=== search parameter options === 790 + 791 +in the request body it's available to filter search results with parameters. parameter examples: 792 + 793 +{{code language="Json"}} 794 + { "totalPriceFrom": 500, 795 + "totalPriceTo": 10000, 796 + "hotelTypes": [ 797 + "CityHotel", 798 + "BeachHotel", 799 + "SecondLineBeach" 800 + ], 801 + "hotelClasses": [ 802 + "1", 803 + "2", 804 + "3", 805 + "4", 806 + "5", 807 + "6" 808 + ], 809 + "hotelServices": [ 810 + "HasAlcohol", 811 + "HasFreeWifi", 812 + "HasMetro", 813 + "HasPool", 814 + "HasMall" 815 + ], 816 + "mealPlans": [ 817 + "RO", 818 + "BB", 819 + "HB", 820 + "FB", 821 + "AL" 822 + ] 823 +} 824 +{{/code}} 825 + 826 + 827 +