BlockAvailabilityQuery::withExtras()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 40

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 40
ccs 0
cts 39
cp 0
rs 9.28
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 2
1
<?php
2
3
namespace DJStarCOM\BookingComSDK\Query;
4
5
use DateTime;
6
use DJStarCOM\BookingComSDK\Models\BlockAvailability;
7
8
class BlockAvailabilityQuery extends Query
9
{
10
    /**
11
     * @var string Show the room size and bedding info in the result
12
     */
13
    public const EXTRAS_ADDITIONAL_ROOM_INFO = 'additional_room_info';
14
15
    /**
16
     * @var string Show the addon type in the addons records, if returned
17
     */
18
    public const EXTRAS_ADDON_TYPE = 'addon_type';
19
20
    /**
21
     * @var string Show addon information for blocks
22
     */
23
    public const EXTRAS_ADDONS = 'addons';
24
25
    /**
26
     * @var string Show an indication per hotel if the user needs to enter his address in order to book an hotel
27
     */
28
    public const EXTRAS_ADDRESS_REQUIRED = 'address_required';
29
30
    /**
31
     * Show all extra charges, even if not computable.
32
     * If not computable, do not show the total amount, but include all the other details
33
     * @var string
34
     */
35
    public const EXTRAS_ALL_EXTRA_CHARGES = 'all_extra_charges';
36
37
    /**
38
     * @var string Show total incremental price with split pricing, when split pricing is activated
39
     */
40
    public const EXTRAS_ALL_PRICES = 'all_prices';
41
42
    /**
43
     * @var string Show the average commission % for every hotel for the specified period
44
     */
45
    public const EXTRAS_BOOKING_COMMISION = 'booking_commission';
46
47
    /**
48
     * @var string Show detailed cancellation timeline for each block, including fees and datetimes
49
     */
50
    public const EXTRAS_CANCELLATION_INFO = 'cancellation_info';
51
52
    /**
53
     * @var string Show cc_required field for hotels
54
     */
55
    public const EXTRAS_CC_REQUIRED = 'cc_required';
56
57
    /**
58
     * @var string Show flash deals to partners
59
     */
60
    public const EXTRAS_DEAL_FLASH = 'deal_flash';
61
62
    /**
63
     * @var string Show lastm deals to partners
64
     */
65
    public const EXTRAS_DEAL_LASTM = 'deal_lastm';
66
67
    /**
68
     * @var string Show smart deals to partners
69
     */
70
    public const EXTRAS_DEAL_SMART = 'deal_smart';
71
72
    /**
73
     * @var string Show extra beds in group recommendations
74
     */
75
    public const EXTRAS_EXTRA_BEDS = 'extra_beds';
76
77
    /**
78
     * @var string Show breakdown of extra charges for each block
79
     */
80
    public const EXTRAS_EXTRA_CHARGES = 'extra_charges';
81
82
    /**
83
     * @var string Show facilities
84
     */
85
    public const EXTRAS_FACILITIES = 'facilities';
86
87
    /**
88
     * @var string Show recommendations for group bookers
89
     */
90
    public const EXTRAS_GROUP_RECOMMENDATIONS = 'group_recommendations';
91
92
    /**
93
     * @var string Show indication if the hotel qualifies for domestic no credit card
94
     */
95
    public const EXTRAS_IF_DOMESTIC_NO_CC = 'if_domestic_no_cc';
96
97
    /**
98
     * @var string Show indication if the hotel qualifies for no credit card reservation
99
     */
100
    public const EXTRAS_IF_NO_CC_ALLOWED = 'if_no_cc_allowed';
101
102
    /**
103
     * @var string Show important information
104
     */
105
    public const EXTRAS_IMPORTANT_INFORMATION = 'important_information';
106
107
    /**
108
     * @var string Show internet/wifi availability
109
     */
110
    public const EXTRAS_INTERNET = 'internet';
111
112
    /**
113
     * @var string Show the just_booked flag if the room has been booked in the last 20 minutes
114
     */
115
    public const EXTRAS_JUST_BOOKED = 'just_booked';
116
117
    /**
118
     * @var string Shows the maximum number of children allowed for free
119
     */
120
    public const EXTRAS_MAX_CHILDREN_FREE = 'max_children_free';
121
122
    /**
123
     * @var string Shows the age limit used for deciding whether children stay for free in a room
124
     */
125
    public const EXTRAS_MAX_CHILDREN_FREE_AGE = 'max_children_free_age';
126
127
    /**
128
     * @var string Show max number of rooms in one reservation
129
     */
130
    public const EXTRAS_MAX_ROOMS_IN_RESERVATION = 'max_rooms_in_reservation';
131
132
    /**
133
     * @var string Show half-board, full-board and all inclusive mealplan information in the output
134
     */
135
    public const EXTRAS_MEALPLANS = 'mealplans';
136
137
    /**
138
     * @var string Show net_price in extra charges
139
     */
140
    public const EXTRAS_NET_PRICE = 'net_price';
141
142
    /**
143
     * @var string Show the number of rooms left
144
     */
145
    public const EXTRAS_NUMBERS_OF_ROOMS_LEFT = 'number_of_rooms_left';
146
147
    /**
148
     * @var string Show the payment terms name and the description for cancellation and prepay terms.
149
     */
150
    public const EXTRAS_PAYMENT_TERMS = 'payment_terms';
151
152
    /**
153
     * @var string Show 1 room photo even if detail_level=0
154
     */
155
    public const EXTRAS_PHOTOS = 'photos';
156
157
    /**
158
     * @var string Show policies
159
     */
160
    public const EXTRAS_POLICIES = 'policies';
161
162
    /**
163
     * Show url for postcard photo only if high resolution photo for this format is available,
164
     * otherwise skip it (requires detail_level=1 or extras=photos)
165
     * @var string
166
     */
167
    public const EXTRAS_POSTCARD_PHOTO = 'postcard_photo';
168
169
    /**
170
     * @var string Show rack rates in the output. Using this parameter may significantly affect performance
171
     */
172
    public const EXTRAS_RACK_RATES = 'rack_rates';
173
174
    /**
175
     * @var string Show room type id
176
     */
177
    public const EXTRAS_ROOM_TYPE_ID = 'room_type_id';
178
179
    /**
180
     * Show the no-smoking bit in the results per block. Possible values are "unknown", "smoking" or "non-smoking"
181
     * @var string
182
     */
183
    public const EXTRAS_SMOKING_STATUS = 'smoking_status';
184
185
    /**
186
     * @var string
187
     */
188
    protected static $uri = '/blockAvailability';
189
190
    /**
191
     * @var array
192
     */
193
    protected $hotel_ids;
194
195
    /**
196
     * @var string The arrival date. Must be within 360 days in the future and in the format yyyy-mm-dd.
197
     */
198
    protected $checkin;
199
200
    /**
201
     * The departure date. Must be later than {checkin}. Must be between 1 and 30 days after {checkin}.
202
     * Must be within 360 days in the future and in the format yyyy-mm-dd.
203
     * @var string
204
     */
205
    protected $checkout;
206
207
    /**
208
     * @var string Returns the prices in this currency, in addition to the hotel currency
209
     */
210
    protected $currency;
211
212
    /**
213
     * @var array The extras parameter definitions are defined in the descriptions.
214
     */
215
    protected $extras;
216
217
    /**
218
     * Specify the language for: block_id, policies, room texts and hotel descriptions.
219
     * Note: not all text is translated in all languages.
220
     * @var string
221
     */
222
    protected $language;
223
224
    /**
225
     * @var int Show blocks from only test hotels (useful for debugging). possible values 0, 1
226
     */
227
    protected $show_only_test;
228
229
    /**
230
     * @var int Show blocks from test hotels (useful for debugging). possible values 0, 1
231
     */
232
    protected $show_test;
233
234
    /**
235
     * Which guests to put in which rooms. Syntax: comma-separated list,
236
     * A for each adult, a number in the range 0..17 for each child.If you use this parameter,
237
     * then you should add guest_quantities to processBooking call,
238
     * otherwise per-person included charges may cause pricing problems, causing the booking to fail.
239
     * @var array
240
     */
241
    protected $room1;
242
    protected $room2;
243
    protected $room3;
244
    protected $room4;
245
    protected $room5;
246
    protected $room6;
247
    protected $room7;
248
    protected $room8;
249
    protected $room9;
250
    protected $room10;
251
    protected $room11;
252
    protected $room12;
253
    protected $room13;
254
    protected $room14;
255
    protected $room15;
256
    protected $room16;
257
    protected $room17;
258
    protected $room18;
259
    protected $room19;
260
    protected $room20;
261
    protected $room21;
262
    protected $room22;
263
    protected $room23;
264
    protected $room24;
265
    protected $room25;
266
    protected $room26;
267
    protected $room27;
268
    protected $room28;
269
    protected $room29;
270
    protected $room30;
271
272
    /**
273
     * @return bool
274
     */
275
    public function isSecure(): bool
276
    {
277
        return false;
278
    }
279
280
    /**
281
     * @return array
282
     */
283
    public function getHotelIds(): ?array
284
    {
285
        return $this->hotel_ids;
286
    }
287
288
    /**
289
     * @param array $hotel_ids
290
     * @return self
291
     */
292
    public function setHotelIds(array $hotel_ids): self
293
    {
294
        $this->hotel_ids = $hotel_ids;
295
296
        return $this;
297
    }
298
299
    /**
300
     * @return string
301
     */
302
    public function getCheckin(): ?string
303
    {
304
        return $this->checkin;
305
    }
306
307
    /**
308
     * @param DateTime $checkin
309
     * @return self
310
     */
311
    public function setCheckin(DateTime $checkin): self
312
    {
313
        $this->checkin = $checkin->format('Y-m-d');
314
315
        return $this;
316
    }
317
318
    /**
319
     * @return string
320
     */
321
    public function getCheckout(): ?string
322
    {
323
        return $this->checkout;
324
    }
325
326
    /**
327
     * @param DateTime $checkout
328
     * @return self
329
     */
330
    public function setCheckout(DateTime $checkout): self
331
    {
332
        $this->checkout = $checkout->format('Y-m-d');
333
334
        return $this;
335
    }
336
337
    /**
338
     * @return string
339
     */
340
    public function getCurrency(): ?string
341
    {
342
        return $this->currency;
343
    }
344
345
    /**
346
     * @param string $currency
347
     * @return self
348
     */
349
    public function setCurrency(string $currency): self
350
    {
351
        $this->currency = $currency;
352
353
        return $this;
354
    }
355
356
    /**
357
     * @return array|null
358
     */
359
    public function getExtras(): ?array
360
    {
361
        return $this->extras;
362
    }
363
364
    /**
365
     * @param array $extras
366
     * @return self
367
     */
368
    public function setExtras(array $extras): self
369
    {
370
        $this->extras = $extras;
371
372
        return $this;
373
    }
374
375
    /**
376
     * @return BlockAvailabilityQuery
377
     */
378
    public function withExtras(): self
379
    {
380
        $this->extras = [
381
            self::EXTRAS_ADDITIONAL_ROOM_INFO,
382
            self::EXTRAS_ADDON_TYPE,
383
            self::EXTRAS_ADDONS,
384
            self::EXTRAS_ADDRESS_REQUIRED,
385
            self::EXTRAS_ALL_EXTRA_CHARGES,
386
            self::EXTRAS_ALL_PRICES,
387
            self::EXTRAS_BOOKING_COMMISION,
388
            self::EXTRAS_CANCELLATION_INFO,
389
            self::EXTRAS_CC_REQUIRED,
390
            self::EXTRAS_DEAL_LASTM,
391
            self::EXTRAS_DEAL_SMART,
392
            self::EXTRAS_EXTRA_BEDS,
393
            self::EXTRAS_EXTRA_CHARGES,
394
            self::EXTRAS_FACILITIES,
395
            self::EXTRAS_GROUP_RECOMMENDATIONS,
396
            self::EXTRAS_IF_DOMESTIC_NO_CC,
397
            self::EXTRAS_IF_NO_CC_ALLOWED,
398
            self::EXTRAS_IMPORTANT_INFORMATION,
399
            self::EXTRAS_INTERNET,
400
            self::EXTRAS_JUST_BOOKED,
401
            self::EXTRAS_MAX_CHILDREN_FREE,
402
            self::EXTRAS_MAX_CHILDREN_FREE_AGE,
403
            self::EXTRAS_MAX_ROOMS_IN_RESERVATION,
404
            self::EXTRAS_MEALPLANS,
405
            self::EXTRAS_NET_PRICE,
406
            self::EXTRAS_NUMBERS_OF_ROOMS_LEFT,
407
            self::EXTRAS_PAYMENT_TERMS,
408
            self::EXTRAS_PHOTOS,
409
            self::EXTRAS_POLICIES,
410
            self::EXTRAS_POSTCARD_PHOTO,
411
            self::EXTRAS_RACK_RATES,
412
            self::EXTRAS_ROOM_TYPE_ID,
413
            self::EXTRAS_SMOKING_STATUS,
414
        ];
415
416
        return $this;
417
    }
418
419
    /**
420
     * @return string
421
     */
422
    public function getLanguage(): ?string
423
    {
424
        return $this->language;
425
    }
426
427
    /**
428
     * @param string $language
429
     * @return self
430
     */
431
    public function setLanguage(string $language): self
432
    {
433
        $this->language = $language;
434
435
        return $this;
436
    }
437
438
    /**
439
     * @return int
440
     */
441
    public function getShowOnlyTest(): ?int
442
    {
443
        return $this->show_only_test;
444
    }
445
446
    /**
447
     * @param bool $show_only_test
448
     * @return self
449
     */
450
    public function setShowOnlyTest(bool $show_only_test): self
451
    {
452
        $this->show_only_test = (int)$show_only_test;
453
454
        return $this;
455
    }
456
457
    /**
458
     * @return int
459
     */
460
    public function getShowTest(): ?int
461
    {
462
        return $this->show_test;
463
    }
464
465
    /**
466
     * @param bool $show_test
467
     * @return self
468
     */
469
    public function setShowTest(bool $show_test): self
470
    {
471
        $this->show_test = (int)$show_test;
472
473
        return $this;
474
    }
475
476
    /**
477
     * @return array
478
     */
479
    public function getRoom1(): ?array
480
    {
481
        return $this->room1;
482
    }
483
484
    /**
485
     * @param array $room1
486
     * @return self
487
     */
488
    public function setRoom1(array $room1): self
489
    {
490
        $this->room1 = $room1;
491
492
        return $this;
493
    }
494
495
    /**
496
     * @return array
497
     */
498
    public function getRoom2(): ?array
499
    {
500
        return $this->room2;
501
    }
502
503
    /**
504
     * @param array $room2
505
     * @return self
506
     */
507
    public function setRoom2(array $room2): self
508
    {
509
        $this->room2 = $room2;
510
511
        return $this;
512
    }
513
514
    /**
515
     * @return array
516
     */
517
    public function getRoom3(): ?array
518
    {
519
        return $this->room3;
520
    }
521
522
    /**
523
     * @param array $room3
524
     * @return self
525
     */
526
    public function setRoom3(array $room3): self
527
    {
528
        $this->room3 = $room3;
529
530
        return $this;
531
    }
532
533
    /**
534
     * @return array
535
     */
536
    public function getRoom4(): ?array
537
    {
538
        return $this->room4;
539
    }
540
541
    /**
542
     * @param array $room4
543
     * @return self
544
     */
545
    public function setRoom4(array $room4): self
546
    {
547
        $this->room4 = $room4;
548
549
        return $this;
550
    }
551
552
    /**
553
     * @return array
554
     */
555
    public function getRoom5(): ?array
556
    {
557
        return $this->room5;
558
    }
559
560
    /**
561
     * @param array $room5
562
     * @return self
563
     */
564
    public function setRoom5(array $room5): self
565
    {
566
        $this->room5 = $room5;
567
568
        return $this;
569
    }
570
571
    /**
572
     * @return array
573
     */
574
    public function getRoom6(): ?array
575
    {
576
        return $this->room6;
577
    }
578
579
    /**
580
     * @param array $room6
581
     * @return self
582
     */
583
    public function setRoom6(array $room6): self
584
    {
585
        $this->room6 = $room6;
586
587
        return $this;
588
    }
589
590
    /**
591
     * @return array
592
     */
593
    public function getRoom7(): ?array
594
    {
595
        return $this->room7;
596
    }
597
598
    /**
599
     * @param array $room7
600
     * @return self
601
     */
602
    public function setRoom7(array $room7): self
603
    {
604
        $this->room7 = $room7;
605
606
        return $this;
607
    }
608
609
    /**
610
     * @return array
611
     */
612
    public function getRoom8(): ?array
613
    {
614
        return $this->room8;
615
    }
616
617
    /**
618
     * @param array $room8
619
     * @return self
620
     */
621
    public function setRoom8(array $room8): self
622
    {
623
        $this->room8 = $room8;
624
625
        return $this;
626
    }
627
628
    /**
629
     * @return array
630
     */
631
    public function getRoom9(): ?array
632
    {
633
        return $this->room9;
634
    }
635
636
    /**
637
     * @param array $room9
638
     * @return self
639
     */
640
    public function setRoom9(array $room9): self
641
    {
642
        $this->room9 = $room9;
643
644
        return $this;
645
    }
646
647
    /**
648
     * @return array
649
     */
650
    public function getRoom10(): ?array
651
    {
652
        return $this->room10;
653
    }
654
655
    /**
656
     * @param array $room10
657
     * @return self
658
     */
659
    public function setRoom10(array $room10): self
660
    {
661
        $this->room10 = $room10;
662
663
        return $this;
664
    }
665
666
    /**
667
     * @return array
668
     */
669
    public function getRoom11(): ?array
670
    {
671
        return $this->room11;
672
    }
673
674
    /**
675
     * @param array $room11
676
     * @return self
677
     */
678
    public function setRoom11(array $room11): self
679
    {
680
        $this->room11 = $room11;
681
682
        return $this;
683
    }
684
685
    /**
686
     * @return array
687
     */
688
    public function getRoom12(): ?array
689
    {
690
        return $this->room12;
691
    }
692
693
    /**
694
     * @param array $room12
695
     * @return self
696
     */
697
    public function setRoom12(array $room12): self
698
    {
699
        $this->room12 = $room12;
700
701
        return $this;
702
    }
703
704
    /**
705
     * @return array
706
     */
707
    public function getRoom13(): ?array
708
    {
709
        return $this->room13;
710
    }
711
712
    /**
713
     * @param array $room13
714
     * @return self
715
     */
716
    public function setRoom13(array $room13): self
717
    {
718
        $this->room13 = $room13;
719
720
        return $this;
721
    }
722
723
    /**
724
     * @return array
725
     */
726
    public function getRoom14(): ?array
727
    {
728
        return $this->room14;
729
    }
730
731
    /**
732
     * @param array $room14
733
     * @return self
734
     */
735
    public function setRoom14(array $room14): self
736
    {
737
        $this->room14 = $room14;
738
739
        return $this;
740
    }
741
742
    /**
743
     * @return array
744
     */
745
    public function getRoom15(): ?array
746
    {
747
        return $this->room15;
748
    }
749
750
    /**
751
     * @param array $room15
752
     * @return self
753
     */
754
    public function setRoom15(array $room15): self
755
    {
756
        $this->room15 = $room15;
757
758
        return $this;
759
    }
760
761
    /**
762
     * @return array
763
     */
764
    public function getRoom16(): ?array
765
    {
766
        return $this->room16;
767
    }
768
769
    /**
770
     * @param array $room16
771
     * @return self
772
     */
773
    public function setRoom16(array $room16): self
774
    {
775
        $this->room16 = $room16;
776
777
        return $this;
778
    }
779
780
    /**
781
     * @return array
782
     */
783
    public function getRoom17(): ?array
784
    {
785
        return $this->room17;
786
    }
787
788
    /**
789
     * @param array $room17
790
     * @return self
791
     */
792
    public function setRoom17(array $room17): self
793
    {
794
        $this->room17 = $room17;
795
796
        return $this;
797
    }
798
799
    /**
800
     * @return array
801
     */
802
    public function getRoom18(): ?array
803
    {
804
        return $this->room18;
805
    }
806
807
    /**
808
     * @param array $room18
809
     * @return self
810
     */
811
    public function setRoom18(array $room18): self
812
    {
813
        $this->room18 = $room18;
814
815
        return $this;
816
    }
817
818
    /**
819
     * @return array
820
     */
821
    public function getRoom19(): ?array
822
    {
823
        return $this->room19;
824
    }
825
826
    /**
827
     * @param array $room19
828
     * @return self
829
     */
830
    public function setRoom19(array $room19): self
831
    {
832
        $this->room19 = $room19;
833
834
        return $this;
835
    }
836
837
    /**
838
     * @return array
839
     */
840
    public function getRoom20(): ?array
841
    {
842
        return $this->room20;
843
    }
844
845
    /**
846
     * @param array $room20
847
     * @return self
848
     */
849
    public function setRoom20(array $room20): self
850
    {
851
        $this->room20 = $room20;
852
853
        return $this;
854
    }
855
856
    /**
857
     * @return array
858
     */
859
    public function getRoom21(): ?array
860
    {
861
        return $this->room21;
862
    }
863
864
    /**
865
     * @param array $room21
866
     * @return self
867
     */
868
    public function setRoom21(array $room21): self
869
    {
870
        $this->room21 = $room21;
871
872
        return $this;
873
    }
874
875
    /**
876
     * @return array
877
     */
878
    public function getRoom22(): ?array
879
    {
880
        return $this->room22;
881
    }
882
883
    /**
884
     * @param array $room22
885
     * @return self
886
     */
887
    public function setRoom22(array $room22): self
888
    {
889
        $this->room22 = $room22;
890
891
        return $this;
892
    }
893
894
    /**
895
     * @return array
896
     */
897
    public function getRoom23(): ?array
898
    {
899
        return $this->room23;
900
    }
901
902
    /**
903
     * @param array $room23
904
     * @return self
905
     */
906
    public function setRoom23(array $room23): self
907
    {
908
        $this->room23 = $room23;
909
910
        return $this;
911
    }
912
913
    /**
914
     * @return array
915
     */
916
    public function getRoom24(): ?array
917
    {
918
        return $this->room24;
919
    }
920
921
    /**
922
     * @param array $room24
923
     * @return self
924
     */
925
    public function setRoom24(array $room24): self
926
    {
927
        $this->room24 = $room24;
928
929
        return $this;
930
    }
931
932
    /**
933
     * @return array
934
     */
935
    public function getRoom25(): ?array
936
    {
937
        return $this->room25;
938
    }
939
940
    /**
941
     * @param array $room25
942
     * @return self
943
     */
944
    public function setRoom25(array $room25): self
945
    {
946
        $this->room25 = $room25;
947
948
        return $this;
949
    }
950
951
    /**
952
     * @return array
953
     */
954
    public function getRoom26(): ?array
955
    {
956
        return $this->room26;
957
    }
958
959
    /**
960
     * @param array $room26
961
     * @return self
962
     */
963
    public function setRoom26(array $room26): self
964
    {
965
        $this->room26 = $room26;
966
967
        return $this;
968
    }
969
970
    /**
971
     * @return array
972
     */
973
    public function getRoom27(): ?array
974
    {
975
        return $this->room27;
976
    }
977
978
    /**
979
     * @param array $room27
980
     * @return self
981
     */
982
    public function setRoom27(array $room27): self
983
    {
984
        $this->room27 = $room27;
985
986
        return $this;
987
    }
988
989
    /**
990
     * @return array
991
     */
992
    public function getRoom28(): ?array
993
    {
994
        return $this->room28;
995
    }
996
997
    /**
998
     * @param array $room28
999
     * @return self
1000
     */
1001
    public function setRoom28(array $room28): self
1002
    {
1003
        $this->room28 = $room28;
1004
1005
        return $this;
1006
    }
1007
1008
    /**
1009
     * @return array
1010
     */
1011
    public function getRoom29(): ?array
1012
    {
1013
        return $this->room29;
1014
    }
1015
1016
    /**
1017
     * @param array $room29
1018
     * @return self
1019
     */
1020
    public function setRoom29(array $room29): self
1021
    {
1022
        $this->room29 = $room29;
1023
1024
        return $this;
1025
    }
1026
1027
    /**
1028
     * @return array
1029
     */
1030
    public function getRoom30(): ?array
1031
    {
1032
        return $this->room30;
1033
    }
1034
1035
    /**
1036
     * @param array $room30
1037
     * @return self
1038
     */
1039
    public function setRoom30(array $room30): self
1040
    {
1041
        $this->room30 = $room30;
1042
1043
        return $this;
1044
    }
1045
1046
    /**
1047
     * @return array
1048
     */
1049
    protected function getAttributeMap(): array
1050
    {
1051
        return [
1052
            'hotel_ids'      => 'array',
1053
            'checkin'        => 'string',
1054
            'checkout'       => 'string',
1055
            'currency'       => 'string',
1056
            'extras'         => 'array',
1057
            'language'       => 'string',
1058
            'show_only_test' => 'integer',
1059
            'show_test'      => 'integer',
1060
            'room1'          => 'array',
1061
            'room2'          => 'array',
1062
            'room3'          => 'array',
1063
            'room4'          => 'array',
1064
            'room5'          => 'array',
1065
            'room6'          => 'array',
1066
            'room7'          => 'array',
1067
            'room8'          => 'array',
1068
            'room9'          => 'array',
1069
            'room10'         => 'array',
1070
            'room11'         => 'array',
1071
            'room12'         => 'array',
1072
            'room13'         => 'array',
1073
            'room14'         => 'array',
1074
            'room15'         => 'array',
1075
            'room16'         => 'array',
1076
            'room17'         => 'array',
1077
            'room18'         => 'array',
1078
            'room19'         => 'array',
1079
            'room20'         => 'array',
1080
            'room21'         => 'array',
1081
            'room22'         => 'array',
1082
            'room23'         => 'array',
1083
            'room24'         => 'array',
1084
            'room25'         => 'array',
1085
            'room26'         => 'array',
1086
            'room27'         => 'array',
1087
            'room28'         => 'array',
1088
            'room29'         => 'array',
1089
            'room30'         => 'array',
1090
        ];
1091
    }
1092
1093
    /**
1094
     * {@inheritDoc}
1095
     */
1096
    protected function model(): string
1097
    {
1098
        return BlockAvailability::class;
1099
    }
1100
}
1101