PluginProbe
VikBooking Hotel Booking Engine & PMS / 1.8.15
VikBooking Hotel Booking Engine & PMS v1.8.15
1.8.15 1.8.14 1.8.13 1.8.12 1.8.11 1.8.10 1.8.9 1.8.6 1.8.7 1.8.8 trunk 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 All 36 releases
vikbooking / admin / helpers / src / rms / pace / occupancy / dataperiod.php

dataperiod.php in VikBooking Hotel Booking Engine & PMS 1.8.15, at admin/helpers/src/rms/pace/occupancy/dataperiod.php

117 lines 2.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package VikBooking
4 * @subpackage core
5 * @author E4J s.r.l.
6 * @copyright Copyright (C) 2025 E4J s.r.l. All Rights Reserved.
7 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
8 * @link https://vikwp.com
9 */
10
11 // No direct access
12 defined('ABSPATH') or die('No script kiddies please!');
13
14 /**
15 * RMS Pace Occupancy Data-period implementation.
16 *
17 * @since 1.18.6 (J) - 1.8.6 (WP)
18 */
19 final class VBORmsPaceOccupancyDataperiod extends VBORmsPaceDataperiod
20 {
21 /**
22 * @var ?VBORmsRatesRegistry
23 */
24 private ?VBORmsRatesRegistry $ratesRegistry = null;
25
26 /**
27 * @var array
28 */
29 private array $cancellations = [];
30
31 /**
32 * @var array
33 */
34 private array $hotEvents = [];
35
36 /**
37 * @inheritDoc
38 */
39 public function __construct(array $bookings, DateTimeInterface $period, ?DateInterval $interval = null)
40 {
41 // call parent constructor
42 parent::__construct($bookings, $period, $interval);
43 }
44
45 /**
46 * Returns the current booking cancellations.
47 *
48 * @return array
49 */
50 public function getCancellations(): array
51 {
52 return $this->cancellations;
53 }
54
55 /**
56 * Sets the current booking cancellations.
57 *
58 * @param array $cancellations List of cancelled booking records.
59 *
60 * @return self
61 */
62 public function setCancellations(array $cancellations): VBORmsPaceDataperiod
63 {
64 $this->cancellations = $cancellations;
65
66 return $this;
67 }
68
69 /**
70 * Returns the current hot events.
71 *
72 * @return array
73 */
74 public function getHotEvents(): array
75 {
76 return $this->hotEvents;
77 }
78
79 /**
80 * Sets the current hot events.
81 *
82 * @param array $events List of hot event details.
83 *
84 * @return self
85 */
86 public function setHotEvents(array $events): VBORmsPaceDataperiod
87 {
88 $this->hotEvents = $events;
89
90 return $this;
91 }
92
93 /**
94 * Returns the current rates registry, if any.
95 *
96 * @return ?VBORmsRatesRegistry
97 */
98 public function getRatesRegistry()
99 {
100 return $this->ratesRegistry;
101 }
102
103 /**
104 * Sets the current rates registry.
105 *
106 * @param ?VBORmsRatesRegistry $ratesRegistry The registry to set.
107 *
108 * @return self
109 */
110 public function setRatesRegistry(?VBORmsRatesRegistry $ratesRegistry = null): VBORmsPaceDataperiod
111 {
112 $this->ratesRegistry = $ratesRegistry;
113
114 return $this;
115 }
116 }
117