Dumped Contents
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : Anantara Iko Mauritius Resort & Villas - Chambre : #13 - Premier Vue jardin has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#1900
+rpId: 2133
+adultsPrice: 455
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 455
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 455
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 455
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 455
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : Anantara Iko Mauritius Resort & Villas - Chambre : #14 - Chambre jardin Deluxe has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#1945
+rpId: 1376
+adultsPrice: 490
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 490
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 490
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 490
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 490
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : Anantara Iko Mauritius Resort & Villas - Chambre : #15 - Chambre Deluxe Acces plage has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#1966
+rpId: 1351
+adultsPrice: 550
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 550
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 550
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 550
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 550
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : Anantara Iko Mauritius Resort & Villas - Chambre : #16 - Chambre Deluxe Vue mer has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#1987
+rpId: 1385
+adultsPrice: 600
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 600
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 600
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 600
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 600
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : Anantara Iko Mauritius Resort & Villas - Chambre : #18 - Suite Vue jardin has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#2008
+rpId: 1392
+adultsPrice: 795
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 795
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 795
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 795
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 795
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : Anantara Iko Mauritius Resort & Villas - Chambre : #19 - Suite Vue mer has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#2029
+rpId: 1399
+adultsPrice: 985
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 985
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 985
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 985
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 985
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 88:
$searchResults = [];
if ($this->debug) {
dump('Update Stay Rooms - Chambers Prices', $chambersRoomsPrices);
}
"Update Stay Rooms - Chambers Prices"
2 in
RoomStayCalculation.php
line 88:
$searchResults = [];
if ($this->debug) {
dump('Update Stay Rooms - Chambers Prices', $chambersRoomsPrices);
}
array:1 [
0 => array:6 [
0 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
"room_id" => 13
"room_picture" => "/uploads/rooms/13/666ae1d3bf7ae569900762.jpg"
"room_name" => "Premier Vue jardin"
"room_slug" => "premier-vue-jardin"
"room_description" => "Invitez l'extérieur depuis votre espace confortable avec vue sur le jardin et doté de commodités de vacances modernes. Anantara vous invite à choisir une chambre spacieuse et contemporaine au premier ou au deuxième étage et à profiter d'une vue complète sur le complexe. Réclamez votre espace et prenez le temps d'apprécier le monde naturel qui vous"
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 2133
"adult_amount" => 1820
"children_amount" => 0
"basis_amount" => 1820
"mandatoryExtraId" => null
"default_extra_label" => "Petit-déjeuner"
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 455
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 455
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 455
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 455
"kids_price" => 0
]
]
]
]
1 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820}
"room_id" => 14
"room_picture" => "/uploads/rooms/14/6733551f336e7545940482.jpg"
"room_name" => "Chambre jardin Deluxe"
"room_slug" => "chambre-jardin-deluxe"
"room_description" => "Plongez au cœur de l’île Maurice sauvage et faites comme chez vous. Choisissez une chambre de luxe au rez-de-chaussée et profitez du mélange parfait de confort moderne et de beauté naturelle. Reposez-vous dans votre grand lit confortable. Rafraîchissez-vous dans votre douche à effet pluie ou votre baignoire de luxe après une journée d'exploration"
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 1376
"adult_amount" => 1960
"children_amount" => 0
"basis_amount" => 1960
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 490
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 490
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 490
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 490
"kids_price" => 0
]
]
]
]
2 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820}
"room_id" => 15
"room_picture" => "/uploads/rooms/15/666ae23130e35538268049.jpg"
"room_name" => "Chambre Deluxe Acces plage"
"room_slug" => "chambre-deluxe-acces-plage"
"room_description" => "Situées à seulement 100 m de la plage, nos chambres Deluxe accès plage vous invitent à vous immerger dans la beauté des environs tout en profitant d'une vue pittoresque sur l'océan. Après une journée d'aventures sur l'île, détendez-vous dans le luxe ou sur votre terrasse privée. Adoptez le refuge parfait pour votre escapade à l’île Maurice dans ces chambres au design élégant"
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 1351
"adult_amount" => 2200
"children_amount" => 0
"basis_amount" => 2200
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 550
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 550
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 550
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 550
"kids_price" => 0
]
]
]
]
3 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820}
"room_id" => 16
"room_picture" => "/uploads/rooms/16/666ae2aa9a54d631388949.jpg"
"room_name" => "Chambre Deluxe Vue mer"
"room_slug" => "chambre-deluxe-vue-mer"
"room_description" => "Montez sur votre balcon privé et remplissez vos poumons de bouffées vivifiantes d'air pur de l'Antarctique qui dérive des eaux chaudes de l'océan Indien. Choisissez une vue directe sur l'océan depuis votre luxueuse chambre située au premier étage ou encadrez les eaux au-delà de la flore tropicale aux portes de votre terrasse d'accès au jardin. Trouvez votre paix dans le paradis naturel du parc marin de Blue Bay."
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 1385
"adult_amount" => 2400
"children_amount" => 0
"basis_amount" => 2400
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 600
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 600
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 600
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 600
"kids_price" => 0
]
]
]
]
4 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820}
"room_id" => 18
"room_picture" => "/uploads/rooms/18/666ae30523b50673512965.jpg"
"room_name" => "Suite Vue jardin"
"room_slug" => "suite-vue-jardin"
"room_description" => "Retirez-vous de votre balcon privé et de ses magnifiques vues tropicales dans le confort de votre chambre principale avec salle de bains privative. Étendez-vous sur de somptueux lits king-size conçus pour vous reposer après des journées passées à admirer la splendide nature environnante. Étendez-vous et profitez de la commodité de votre salon et salle à manger séparés. Votre escapade idéale dans un endroit parfait."
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 1392
"adult_amount" => 3180
"children_amount" => 0
"basis_amount" => 3180
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 795
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 795
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 795
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 795
"kids_price" => 0
]
]
]
]
5 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820}
"room_id" => 19
"room_picture" => "/uploads/rooms/19/666ae3523b169404696346.jpg"
"room_name" => "Suite Vue mer"
"room_slug" => "suite-vue-mer"
"room_description" => "Considérez le bleu frais de l’océan depuis la chaleur de votre suite de luxe. Écoutez des sons marins apaisants tout en profitant de la couleur et du parfum du terrain de jeu naturel au-delà de votre balcon privé. Trouvez l'endroit idéal pour apprécier ce coin idyllique de la plus belle île balnéaire de l'océan Indien. Arrivez pour le confort, restez au paradis, revenez inspiré."
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 1399
"adult_amount" => 3940
"children_amount" => 0
"basis_amount" => 3940
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 985
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 985
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 985
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 985
"kids_price" => 0
]
]
]
]
]
]
1 in
RoomStayCalculation.php
line 217:
}
if ($this->debug) {
dump('Update Stay Rooms results', $searchResults);
}
// Set the results and sort by total amount ASC
"Update Stay Rooms results"
2 in
RoomStayCalculation.php
line 217:
}
if ($this->debug) {
dump('Update Stay Rooms results', $searchResults);
}
// Set the results and sort by total amount ASC
array:6 [
0 => App\DTO\RoomStayDTO {#945
-marginRate: 20
-id: 13
-name: "Premier Vue jardin"
-slug: "premier-vue-jardin"
-picture: "/uploads/rooms/13/666ae1d3bf7ae569900762.jpg"
-description: "Invitez l'extérieur depuis votre espace confortable avec vue sur le jardin et doté de commodités de vacances modernes. Anantara vous invite à choisir une chambre spacieuse et contemporaine au premier ou au deuxième étage et à profiter d'une vue complète sur le complexe. Réclamez votre espace et prenez le temps d'apprécier le monde naturel qui vous"
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: "Petit-déjeuner"
-mandatoryExtraId: 196
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 455
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 455
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 455
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 455
"kids_price" => 0
]
]
"amount" => 1820
]
]
-totalRoomAmount: 1820.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:4 [
0 => App\DTO\ExtraStayDTO {#2055
-marginRate: 20
+extraId: 196
+name: "Base Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 1820.0
+totalStayAmountWoDiscount: 1820.0
+totalStayAmount: 1820.0
+finalAmountWoDiscount: 2184.0
+finalAmount: 2184.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
1 => App\DTO\ExtraStayDTO {#2058
-marginRate: 20
+extraId: 5
+name: "Supplément repas Pension complète"
+description: null
+stayTotalNights: 4
+dailyAdults: 60
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 240
+kidsExtrasAmount: 0
+stayExtrasAmount: 240
+stayRoomAmount: 1820.0
+totalStayAmountWoDiscount: 2060.0
+totalStayAmount: 2060.0
+finalAmountWoDiscount: 2472.0
+finalAmount: 2472.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
2 => App\DTO\ExtraStayDTO {#2066
-marginRate: 20
+extraId: 4
+name: "Supplément repas Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 90
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 360
+kidsExtrasAmount: 0
+stayExtrasAmount: 360
+stayRoomAmount: 1820.0
+totalStayAmountWoDiscount: 2180.0
+totalStayAmount: 2180.0
+finalAmountWoDiscount: 2616.0
+finalAmount: 2616.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
3 => App\DTO\ExtraStayDTO {#2067
-marginRate: 20
+extraId: 6
+name: "Supplément repas Tout compris"
+description: null
+stayTotalNights: 4
+dailyAdults: 170
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 680
+kidsExtrasAmount: 0
+stayExtrasAmount: 680
+stayRoomAmount: 1820.0
+totalStayAmountWoDiscount: 2500.0
+totalStayAmount: 2500.0
+finalAmountWoDiscount: 3000.0
+finalAmount: 3000.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
1 => App\DTO\RoomStayDTO {#2004
-marginRate: 20
-id: 14
-name: "Chambre jardin Deluxe"
-slug: "chambre-jardin-deluxe"
-picture: "/uploads/rooms/14/6733551f336e7545940482.jpg"
-description: "Plongez au cœur de l’île Maurice sauvage et faites comme chez vous. Choisissez une chambre de luxe au rez-de-chaussée et profitez du mélange parfait de confort moderne et de beauté naturelle. Reposez-vous dans votre grand lit confortable. Rafraîchissez-vous dans votre douche à effet pluie ou votre baignoire de luxe après une journée d'exploration"
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 196
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 490
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 490
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 490
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 490
"kids_price" => 0
]
]
"amount" => 1960
]
]
-totalRoomAmount: 1960.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:4 [
0 => App\DTO\ExtraStayDTO {#2068
-marginRate: 20
+extraId: 196
+name: "Base Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 1960.0
+totalStayAmountWoDiscount: 1960.0
+totalStayAmount: 1960.0
+finalAmountWoDiscount: 2352.0
+finalAmount: 2352.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
1 => App\DTO\ExtraStayDTO {#2069
-marginRate: 20
+extraId: 5
+name: "Supplément repas Pension complète"
+description: null
+stayTotalNights: 4
+dailyAdults: 60
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 240
+kidsExtrasAmount: 0
+stayExtrasAmount: 240
+stayRoomAmount: 1960.0
+totalStayAmountWoDiscount: 2200.0
+totalStayAmount: 2200.0
+finalAmountWoDiscount: 2640.0
+finalAmount: 2640.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
2 => App\DTO\ExtraStayDTO {#2070
-marginRate: 20
+extraId: 4
+name: "Supplément repas Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 90
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 360
+kidsExtrasAmount: 0
+stayExtrasAmount: 360
+stayRoomAmount: 1960.0
+totalStayAmountWoDiscount: 2320.0
+totalStayAmount: 2320.0
+finalAmountWoDiscount: 2784.0
+finalAmount: 2784.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
3 => App\DTO\ExtraStayDTO {#2071
-marginRate: 20
+extraId: 6
+name: "Supplément repas Tout compris"
+description: null
+stayTotalNights: 4
+dailyAdults: 170
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 680
+kidsExtrasAmount: 0
+stayExtrasAmount: 680
+stayRoomAmount: 1960.0
+totalStayAmountWoDiscount: 2640.0
+totalStayAmount: 2640.0
+finalAmountWoDiscount: 3168.0
+finalAmount: 3168.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
2 => App\DTO\RoomStayDTO {#2025
-marginRate: 20
-id: 15
-name: "Chambre Deluxe Acces plage"
-slug: "chambre-deluxe-acces-plage"
-picture: "/uploads/rooms/15/666ae23130e35538268049.jpg"
-description: "Situées à seulement 100 m de la plage, nos chambres Deluxe accès plage vous invitent à vous immerger dans la beauté des environs tout en profitant d'une vue pittoresque sur l'océan. Après une journée d'aventures sur l'île, détendez-vous dans le luxe ou sur votre terrasse privée. Adoptez le refuge parfait pour votre escapade à l’île Maurice dans ces chambres au design élégant"
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 196
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 550
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 550
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 550
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 550
"kids_price" => 0
]
]
"amount" => 2200
]
]
-totalRoomAmount: 2200.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:4 [
0 => App\DTO\ExtraStayDTO {#2072
-marginRate: 20
+extraId: 196
+name: "Base Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 2200.0
+totalStayAmountWoDiscount: 2200.0
+totalStayAmount: 2200.0
+finalAmountWoDiscount: 2640.0
+finalAmount: 2640.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
1 => App\DTO\ExtraStayDTO {#2073
-marginRate: 20
+extraId: 5
+name: "Supplément repas Pension complète"
+description: null
+stayTotalNights: 4
+dailyAdults: 60
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 240
+kidsExtrasAmount: 0
+stayExtrasAmount: 240
+stayRoomAmount: 2200.0
+totalStayAmountWoDiscount: 2440.0
+totalStayAmount: 2440.0
+finalAmountWoDiscount: 2928.0
+finalAmount: 2928.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
2 => App\DTO\ExtraStayDTO {#2074
-marginRate: 20
+extraId: 4
+name: "Supplément repas Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 90
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 360
+kidsExtrasAmount: 0
+stayExtrasAmount: 360
+stayRoomAmount: 2200.0
+totalStayAmountWoDiscount: 2560.0
+totalStayAmount: 2560.0
+finalAmountWoDiscount: 3072.0
+finalAmount: 3072.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
3 => App\DTO\ExtraStayDTO {#2075
-marginRate: 20
+extraId: 6
+name: "Supplément repas Tout compris"
+description: null
+stayTotalNights: 4
+dailyAdults: 170
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 680
+kidsExtrasAmount: 0
+stayExtrasAmount: 680
+stayRoomAmount: 2200.0
+totalStayAmountWoDiscount: 2880.0
+totalStayAmount: 2880.0
+finalAmountWoDiscount: 3456.0
+finalAmount: 3456.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
3 => App\DTO\RoomStayDTO {#2024
-marginRate: 20
-id: 16
-name: "Chambre Deluxe Vue mer"
-slug: "chambre-deluxe-vue-mer"
-picture: "/uploads/rooms/16/666ae2aa9a54d631388949.jpg"
-description: "Montez sur votre balcon privé et remplissez vos poumons de bouffées vivifiantes d'air pur de l'Antarctique qui dérive des eaux chaudes de l'océan Indien. Choisissez une vue directe sur l'océan depuis votre luxueuse chambre située au premier étage ou encadrez les eaux au-delà de la flore tropicale aux portes de votre terrasse d'accès au jardin. Trouvez votre paix dans le paradis naturel du parc marin de Blue Bay."
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 196
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 600
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 600
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 600
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 600
"kids_price" => 0
]
]
"amount" => 2400
]
]
-totalRoomAmount: 2400.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:4 [
0 => App\DTO\ExtraStayDTO {#2076
-marginRate: 20
+extraId: 196
+name: "Base Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 2400.0
+totalStayAmountWoDiscount: 2400.0
+totalStayAmount: 2400.0
+finalAmountWoDiscount: 2880.0
+finalAmount: 2880.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
1 => App\DTO\ExtraStayDTO {#2077
-marginRate: 20
+extraId: 5
+name: "Supplément repas Pension complète"
+description: null
+stayTotalNights: 4
+dailyAdults: 60
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 240
+kidsExtrasAmount: 0
+stayExtrasAmount: 240
+stayRoomAmount: 2400.0
+totalStayAmountWoDiscount: 2640.0
+totalStayAmount: 2640.0
+finalAmountWoDiscount: 3168.0
+finalAmount: 3168.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
2 => App\DTO\ExtraStayDTO {#2078
-marginRate: 20
+extraId: 4
+name: "Supplément repas Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 90
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 360
+kidsExtrasAmount: 0
+stayExtrasAmount: 360
+stayRoomAmount: 2400.0
+totalStayAmountWoDiscount: 2760.0
+totalStayAmount: 2760.0
+finalAmountWoDiscount: 3312.0
+finalAmount: 3312.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
3 => App\DTO\ExtraStayDTO {#2079
-marginRate: 20
+extraId: 6
+name: "Supplément repas Tout compris"
+description: null
+stayTotalNights: 4
+dailyAdults: 170
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 680
+kidsExtrasAmount: 0
+stayExtrasAmount: 680
+stayRoomAmount: 2400.0
+totalStayAmountWoDiscount: 3080.0
+totalStayAmount: 3080.0
+finalAmountWoDiscount: 3696.0
+finalAmount: 3696.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
4 => App\DTO\RoomStayDTO {#2002
-marginRate: 20
-id: 18
-name: "Suite Vue jardin"
-slug: "suite-vue-jardin"
-picture: "/uploads/rooms/18/666ae30523b50673512965.jpg"
-description: "Retirez-vous de votre balcon privé et de ses magnifiques vues tropicales dans le confort de votre chambre principale avec salle de bains privative. Étendez-vous sur de somptueux lits king-size conçus pour vous reposer après des journées passées à admirer la splendide nature environnante. Étendez-vous et profitez de la commodité de votre salon et salle à manger séparés. Votre escapade idéale dans un endroit parfait."
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 196
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 795
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 795
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 795
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 795
"kids_price" => 0
]
]
"amount" => 3180
]
]
-totalRoomAmount: 3180.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:4 [
0 => App\DTO\ExtraStayDTO {#2080
-marginRate: 20
+extraId: 196
+name: "Base Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 3180.0
+totalStayAmountWoDiscount: 3180.0
+totalStayAmount: 3180.0
+finalAmountWoDiscount: 3816.0
+finalAmount: 3816.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
1 => App\DTO\ExtraStayDTO {#2081
-marginRate: 20
+extraId: 5
+name: "Supplément repas Pension complète"
+description: null
+stayTotalNights: 4
+dailyAdults: 60
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 240
+kidsExtrasAmount: 0
+stayExtrasAmount: 240
+stayRoomAmount: 3180.0
+totalStayAmountWoDiscount: 3420.0
+totalStayAmount: 3420.0
+finalAmountWoDiscount: 4104.0
+finalAmount: 4104.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
2 => App\DTO\ExtraStayDTO {#2082
-marginRate: 20
+extraId: 4
+name: "Supplément repas Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 90
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 360
+kidsExtrasAmount: 0
+stayExtrasAmount: 360
+stayRoomAmount: 3180.0
+totalStayAmountWoDiscount: 3540.0
+totalStayAmount: 3540.0
+finalAmountWoDiscount: 4248.0
+finalAmount: 4248.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
3 => App\DTO\ExtraStayDTO {#2083
-marginRate: 20
+extraId: 6
+name: "Supplément repas Tout compris"
+description: null
+stayTotalNights: 4
+dailyAdults: 170
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 680
+kidsExtrasAmount: 0
+stayExtrasAmount: 680
+stayRoomAmount: 3180.0
+totalStayAmountWoDiscount: 3860.0
+totalStayAmount: 3860.0
+finalAmountWoDiscount: 4632.0
+finalAmount: 4632.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
5 => App\DTO\RoomStayDTO {#2043
-marginRate: 20
-id: 19
-name: "Suite Vue mer"
-slug: "suite-vue-mer"
-picture: "/uploads/rooms/19/666ae3523b169404696346.jpg"
-description: "Considérez le bleu frais de l’océan depuis la chaleur de votre suite de luxe. Écoutez des sons marins apaisants tout en profitant de la couleur et du parfum du terrain de jeu naturel au-delà de votre balcon privé. Trouvez l'endroit idéal pour apprécier ce coin idyllique de la plus belle île balnéaire de l'océan Indien. Arrivez pour le confort, restez au paradis, revenez inspiré."
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 196
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 985
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 985
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 985
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 985
"kids_price" => 0
]
]
"amount" => 3940
]
]
-totalRoomAmount: 3940.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:4 [
0 => App\DTO\ExtraStayDTO {#2084
-marginRate: 20
+extraId: 196
+name: "Base Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 3940.0
+totalStayAmountWoDiscount: 3940.0
+totalStayAmount: 3940.0
+finalAmountWoDiscount: 4728.0
+finalAmount: 4728.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
1 => App\DTO\ExtraStayDTO {#2085
-marginRate: 20
+extraId: 5
+name: "Supplément repas Pension complète"
+description: null
+stayTotalNights: 4
+dailyAdults: 60
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 240
+kidsExtrasAmount: 0
+stayExtrasAmount: 240
+stayRoomAmount: 3940.0
+totalStayAmountWoDiscount: 4180.0
+totalStayAmount: 4180.0
+finalAmountWoDiscount: 5016.0
+finalAmount: 5016.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
2 => App\DTO\ExtraStayDTO {#2086
-marginRate: 20
+extraId: 4
+name: "Supplément repas Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 90
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 360
+kidsExtrasAmount: 0
+stayExtrasAmount: 360
+stayRoomAmount: 3940.0
+totalStayAmountWoDiscount: 4300.0
+totalStayAmount: 4300.0
+finalAmountWoDiscount: 5160.0
+finalAmount: 5160.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
3 => App\DTO\ExtraStayDTO {#2087
-marginRate: 20
+extraId: 6
+name: "Supplément repas Tout compris"
+description: null
+stayTotalNights: 4
+dailyAdults: 170
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 680
+kidsExtrasAmount: 0
+stayExtrasAmount: 680
+stayRoomAmount: 3940.0
+totalStayAmountWoDiscount: 4620.0
+totalStayAmount: 4620.0
+finalAmountWoDiscount: 5544.0
+finalAmount: 5544.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
]
1 in
RoomStayCalculation.php
line 274:
{
$offers_eligibled = [];
if ($this->debug) {
dump('All available offers of the hotel', $offers);
}
foreach ($offers as $key => $offer) {
"All available offers of the hotel"
1 in
PromotionDTO.php
line 546:
// if booking not respect the interval skip this offer - format('%a') return a string of the diff days, need to convert to integer value
if (intval($booking_interval->format('%a')) < $offer_earlybookingDays) {
if ($this->debug) {
dump($offer->getId() .' - ' . $offer->getTitle() . '(nb jours: ' . $offer_earlybookingDays . ')', 'Early booking date interval failure. (début séjour dans '.$booking_interval->format('%a').' jours.)');
}
return $this;
}
"1 - Early Booking 30(nb jours: 30)"
2 in
PromotionDTO.php
line 546:
// if booking not respect the interval skip this offer - format('%a') return a string of the diff days, need to convert to integer value
if (intval($booking_interval->format('%a')) < $offer_earlybookingDays) {
if ($this->debug) {
dump($offer->getId() .' - ' . $offer->getTitle() . '(nb jours: ' . $offer_earlybookingDays . ')', 'Early booking date interval failure. (début séjour dans '.$booking_interval->format('%a').' jours.)');
}
return $this;
}
"Early booking date interval failure. (début séjour dans 27 jours.)"
1 in
RoomStayCalculation.php
line 246:
$validOffers = $this->getValidOffers($hotel->getOffers());
if ($this->debug) {
dump('Step 1. Offres valides : ', $validOffers);
}
if ($validOffers == null) {
"Step 1. Offres valides : "
2 in
RoomStayCalculation.php
line 246:
$validOffers = $this->getValidOffers($hotel->getOffers());
if ($this->debug) {
dump('Step 1. Offres valides : ', $validOffers);
}
if ($validOffers == null) {
array:2 [
0 => App\DTO\PromotionDTO {#2495
-debug: true
+id: 255
+title: "Premium partner offer"
+description: null
+type: "Special"
+reference: "Premium partner offer"
+from: DateTimeImmutable @1737936000 {#2257
date: 2025-01-27 00:00:00.0 UTC (+00:00)
}
+to: DateTimeImmutable @1761868800 {#2258
date: 2025-10-31 00:00:00.0 UTC (+00:00)
}
+earlyBookingDays: null
+minNights: null
+maxNights: null
+discountRate: 40
+discountFamilyRates: []
+combinableRate: null
+priority: 1
+extrasDiscountRate: null
+isAllRooms: false
+isCombinable: false
+selectedRoomsIDs: array:6 [
0 => 13
1 => 14
2 => 15
3 => 16
4 => 18
5 => 19
]
+selectedExtrasIDs: []
+selectedOffersIDs: []
+selectedExtrasDiscountIDs: []
}
1 => App\DTO\PromotionDTO {#2420
-debug: true
+id: 15
+title: "ANANTARA"
+description: "https://pro.airvoyages.fr/wp-content/uploads/mru/promo/ANANTARA%20PROMO%20BOOK%20AVANT%2018JUILLET%20STAY%2005JUIN-31OCT.pdf"
+type: "LongStay"
+reference: null
+from: DateTimeImmutable @1717545600 {#2197
date: 2024-06-05 00:00:00.0 UTC (+00:00)
}
+to: DateTimeImmutable @1761868800 {#2198
date: 2025-10-31 00:00:00.0 UTC (+00:00)
}
+earlyBookingDays: null
+minNights: 4
+maxNights: 4
+discountRate: 20
+discountFamilyRates: []
+combinableRate: null
+priority: 2
+extrasDiscountRate: null
+isAllRooms: true
+isCombinable: false
+selectedRoomsIDs: []
+selectedExtrasIDs: []
+selectedOffersIDs: []
+selectedExtrasDiscountIDs: []
}
]
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : LUX Belle Mare - Chambre : #155 - Suite Junior has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#2802
+rpId: 2021
+adultsPrice: 440
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 440
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 440
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 440
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 440
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : LUX Belle Mare - Chambre : #156 - Suite Junior "Bien-Être" has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#2870
+rpId: 2032
+adultsPrice: 480
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 480
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 480
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 480
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 480
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : LUX Belle Mare - Chambre : #157 - Suite Junior "Vue Piscine" has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#2891
+rpId: 2042
+adultsPrice: 520
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 520
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 520
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 520
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 520
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : LUX Belle Mare - Chambre : #158 - Suite Junior "Vue Plage" has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#2912
+rpId: 2052
+adultsPrice: 570
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 570
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 570
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 570
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 570
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : LUX Belle Mare - Chambre : #159 - Suite LUX has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#2933
+rpId: 2062
+adultsPrice: 650
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 650
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 650
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 650
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 650
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 88:
$searchResults = [];
if ($this->debug) {
dump('Update Stay Rooms - Chambers Prices', $chambersRoomsPrices);
}
"Update Stay Rooms - Chambers Prices"
2 in
RoomStayCalculation.php
line 88:
$searchResults = [];
if ($this->debug) {
dump('Update Stay Rooms - Chambers Prices', $chambersRoomsPrices);
}
array:1 [
0 => array:5 [
0 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
"room_id" => 155
"room_picture" => "/uploads/rooms/155/67109eb4260bc294654031.jpeg"
"room_name" => "Suite Junior"
"room_slug" => "belle-mare-suite-junior"
"room_description" => "Que vous optiez pour le rez-de-chaussée, le premier ou le deuxième étage, votre chambre présente une palette de couleurs apaisantes, un mélange de tons sable et de touches corail et jaune citron. L'intérieur dévoile des panneaux en bois blanchis, des sièges en corde tissée et des tables moulées à partir de sable local recyclé, offrant une atmosphère sereine et accueillante. Sur la terrasse de la suite ‘Cabane’, vous trouverez une banquette confortable pour faire la sieste. Vous découvrirez aussi dans votre chambre le coin ‘bar’, notre version revisitée du mini-bar traditionnel. La salle de bain tout en blanc offre une ambiance tropicale minimaliste."
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 2021
"adult_amount" => 1760
"children_amount" => 0
"basis_amount" => 1760
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 440
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 440
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 440
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 440
"kids_price" => 0
]
]
]
]
1 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820}
"room_id" => 156
"room_picture" => "/uploads/rooms/156/6667ee1740786040602908.jpg"
"room_name" => "Suite Junior "Bien-Être""
"room_slug" => "belle-mare-suite-junior-bien-etre"
"room_description" => "Conçue pour les couples ou les voyageurs solo amoureux du bien- être, cette suite junior offre de nombreux équipements de bien-être soigneusement sélectionnés, telles qu'un tapis de yoga, des blocs d'exercice mais inclut aussi une séance de coaching à la salle de sport, des offres au spa... Cette ambiance légère et décontractée, associée aux éléments de bien-être, est un véritable must pour les voyageurs en quête d'équilibre. Le coin ‘bar’ de la chambre, notre réinterprétation du mini-bar classique, est rempli de collations saines, tandis que la salle de bain est dotée d’une grande baignoire et d’une douche à l’italienne - parfait pour se détendre."
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 2032
"adult_amount" => 1920
"children_amount" => 0
"basis_amount" => 1920
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 480
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 480
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 480
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 480
"kids_price" => 0
]
]
]
]
2 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820}
"room_id" => 157
"room_picture" => "/uploads/rooms/157/6667ee662e922992732751.jpg"
"room_name" => "Suite Junior "Vue Piscine""
"room_slug" => "suite-junior-vue-piscine"
"room_description" => "Idéalement situées au cœur de l'hôtel, orientées vers la piscine principale, ces suites sont parfaites pour les familles avec de jeunes enfants. Parées de nuances sable, corail et jaune citron, avec vue sur la piscine, elles sont propices à la détente tout en étant à proximité des lieux favoris des enfants et des parents ! La salle de bains tout en blanc est équipée d'une magnifique baignoire et d'une grande douche."
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 2042
"adult_amount" => 2080
"children_amount" => 0
"basis_amount" => 2080
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 520
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 520
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 520
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 520
"kids_price" => 0
]
]
]
]
3 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820}
"room_id" => 158
"room_picture" => "/uploads/rooms/158/6667ee9c44f48382009249.jpg"
"room_name" => "Suite Junior "Vue Plage""
"room_slug" => "suite-junior-vue-plage"
"room_description" => "Situées au rez-de-chaussée, au premier et au deuxième étage, nos Junior Suites Avec Vue Plage, offrent une vue magnifique sur la baie idyllique de Belle Mare. Les espaces intérieurs sont chics et sereins, imprégnés de nuances de sable avec des touches de couleur corail et jaune citron. Ces suites sont parfaites pour les couples ou les familles avec de jeunes enfants. La terrasse dispose d'un lit de jour pour se prélasser, tandis que le coin ‘bar’ est une version revisitée du mini bar traditionnel."
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 2052
"adult_amount" => 2280
"children_amount" => 0
"basis_amount" => 2280
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 570
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 570
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 570
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 570
"kids_price" => 0
]
]
]
]
4 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820}
"room_id" => 159
"room_picture" => "/uploads/rooms/159/67109ee09caa6294887379.jpeg"
"room_name" => "Suite LUX"
"room_slug" => "suite-lux"
"room_description" => "Un refuge intime et romantique pour deux sous les tropiques. La salle de bains tout en blanc est chic et tranquille. Le coin salon, drapé de lin pur, présente un spacieux canapé cocon pour deux. Il y a un coin bar avec un chariot à cocktails - emportez votre verre dans l'espace cabane extérieur, et détendez- vous. A l’extérieur, le lit balançoire donnant sur la plage, est parfait pour faire la sieste. La salle de bain spacieuse dispose d'une baignoire surdimensionnée pour deux. Et le dressing est surprenant de beauté avec son magnifique papier peint personnalisé inspiré des coraux."
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 2062
"adult_amount" => 2600
"children_amount" => 0
"basis_amount" => 2600
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 650
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 650
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 650
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 650
"kids_price" => 0
]
]
]
]
]
]
1 in
RoomStayCalculation.php
line 217:
}
if ($this->debug) {
dump('Update Stay Rooms results', $searchResults);
}
// Set the results and sort by total amount ASC
"Update Stay Rooms results"
2 in
RoomStayCalculation.php
line 217:
}
if ($this->debug) {
dump('Update Stay Rooms results', $searchResults);
}
// Set the results and sort by total amount ASC
array:5 [
0 => App\DTO\RoomStayDTO {#2048
-marginRate: 20
-id: 155
-name: "Suite Junior"
-slug: "belle-mare-suite-junior"
-picture: "/uploads/rooms/155/67109eb4260bc294654031.jpeg"
-description: "Que vous optiez pour le rez-de-chaussée, le premier ou le deuxième étage, votre chambre présente une palette de couleurs apaisantes, un mélange de tons sable et de touches corail et jaune citron. L'intérieur dévoile des panneaux en bois blanchis, des sièges en corde tissée et des tables moulées à partir de sable local recyclé, offrant une atmosphère sereine et accueillante. Sur la terrasse de la suite ‘Cabane’, vous trouverez une banquette confortable pour faire la sieste. Vous découvrirez aussi dans votre chambre le coin ‘bar’, notre version revisitée du mini-bar traditionnel. La salle de bain tout en blanc offre une ambiance tropicale minimaliste."
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 185
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 440
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 440
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 440
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 440
"kids_price" => 0
]
]
"amount" => 1760
]
]
-totalRoomAmount: 1760.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:4 [
0 => App\DTO\ExtraStayDTO {#2952
-marginRate: 20
+extraId: 185
+name: "BASE - PETIT DEJEUNER"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 1760.0
+totalStayAmountWoDiscount: 1760.0
+totalStayAmount: 1760.0
+finalAmountWoDiscount: 2112.0
+finalAmount: 2112.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
1 => App\DTO\ExtraStayDTO {#2955
-marginRate: 20
+extraId: 101
+name: "Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 120
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 480
+kidsExtrasAmount: 0
+stayExtrasAmount: 480
+stayRoomAmount: 1760.0
+totalStayAmountWoDiscount: 2240.0
+totalStayAmount: 2240.0
+finalAmountWoDiscount: 2688.0
+finalAmount: 2688.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
2 => App\DTO\ExtraStayDTO {#2958
-marginRate: 20
+extraId: 103
+name: "Pension complète"
+description: null
+stayTotalNights: 4
+dailyAdults: 200
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 800
+kidsExtrasAmount: 0
+stayExtrasAmount: 800
+stayRoomAmount: 1760.0
+totalStayAmountWoDiscount: 2560.0
+totalStayAmount: 2560.0
+finalAmountWoDiscount: 3072.0
+finalAmount: 3072.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
3 => App\DTO\ExtraStayDTO {#2959
-marginRate: 20
+extraId: 105
+name: "Formule "Tout Inclus""
+description: null
+stayTotalNights: 4
+dailyAdults: 280
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 1120
+kidsExtrasAmount: 0
+stayExtrasAmount: 1120
+stayRoomAmount: 1760.0
+totalStayAmountWoDiscount: 2880.0
+totalStayAmount: 2880.0
+finalAmountWoDiscount: 3456.0
+finalAmount: 3456.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
1 => App\DTO\RoomStayDTO {#2908
-marginRate: 20
-id: 156
-name: "Suite Junior "Bien-Être""
-slug: "belle-mare-suite-junior-bien-etre"
-picture: "/uploads/rooms/156/6667ee1740786040602908.jpg"
-description: "Conçue pour les couples ou les voyageurs solo amoureux du bien- être, cette suite junior offre de nombreux équipements de bien-être soigneusement sélectionnés, telles qu'un tapis de yoga, des blocs d'exercice mais inclut aussi une séance de coaching à la salle de sport, des offres au spa... Cette ambiance légère et décontractée, associée aux éléments de bien-être, est un véritable must pour les voyageurs en quête d'équilibre. Le coin ‘bar’ de la chambre, notre réinterprétation du mini-bar classique, est rempli de collations saines, tandis que la salle de bain est dotée d’une grande baignoire et d’une douche à l’italienne - parfait pour se détendre."
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 185
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 480
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 480
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 480
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 480
"kids_price" => 0
]
]
"amount" => 1920
]
]
-totalRoomAmount: 1920.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:4 [
0 => App\DTO\ExtraStayDTO {#2960
-marginRate: 20
+extraId: 185
+name: "BASE - PETIT DEJEUNER"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 1920.0
+totalStayAmountWoDiscount: 1920.0
+totalStayAmount: 1920.0
+finalAmountWoDiscount: 2304.0
+finalAmount: 2304.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
1 => App\DTO\ExtraStayDTO {#2961
-marginRate: 20
+extraId: 101
+name: "Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 120
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 480
+kidsExtrasAmount: 0
+stayExtrasAmount: 480
+stayRoomAmount: 1920.0
+totalStayAmountWoDiscount: 2400.0
+totalStayAmount: 2400.0
+finalAmountWoDiscount: 2880.0
+finalAmount: 2880.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
2 => App\DTO\ExtraStayDTO {#2962
-marginRate: 20
+extraId: 103
+name: "Pension complète"
+description: null
+stayTotalNights: 4
+dailyAdults: 200
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 800
+kidsExtrasAmount: 0
+stayExtrasAmount: 800
+stayRoomAmount: 1920.0
+totalStayAmountWoDiscount: 2720.0
+totalStayAmount: 2720.0
+finalAmountWoDiscount: 3264.0
+finalAmount: 3264.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
3 => App\DTO\ExtraStayDTO {#2963
-marginRate: 20
+extraId: 105
+name: "Formule "Tout Inclus""
+description: null
+stayTotalNights: 4
+dailyAdults: 280
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 1120
+kidsExtrasAmount: 0
+stayExtrasAmount: 1120
+stayRoomAmount: 1920.0
+totalStayAmountWoDiscount: 3040.0
+totalStayAmount: 3040.0
+finalAmountWoDiscount: 3648.0
+finalAmount: 3648.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
2 => App\DTO\RoomStayDTO {#2929
-marginRate: 20
-id: 157
-name: "Suite Junior "Vue Piscine""
-slug: "suite-junior-vue-piscine"
-picture: "/uploads/rooms/157/6667ee662e922992732751.jpg"
-description: "Idéalement situées au cœur de l'hôtel, orientées vers la piscine principale, ces suites sont parfaites pour les familles avec de jeunes enfants. Parées de nuances sable, corail et jaune citron, avec vue sur la piscine, elles sont propices à la détente tout en étant à proximité des lieux favoris des enfants et des parents ! La salle de bains tout en blanc est équipée d'une magnifique baignoire et d'une grande douche."
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 185
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 520
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 520
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 520
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 520
"kids_price" => 0
]
]
"amount" => 2080
]
]
-totalRoomAmount: 2080.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:4 [
0 => App\DTO\ExtraStayDTO {#2964
-marginRate: 20
+extraId: 185
+name: "BASE - PETIT DEJEUNER"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 2080.0
+totalStayAmountWoDiscount: 2080.0
+totalStayAmount: 2080.0
+finalAmountWoDiscount: 2496.0
+finalAmount: 2496.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
1 => App\DTO\ExtraStayDTO {#2965
-marginRate: 20
+extraId: 101
+name: "Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 120
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 480
+kidsExtrasAmount: 0
+stayExtrasAmount: 480
+stayRoomAmount: 2080.0
+totalStayAmountWoDiscount: 2560.0
+totalStayAmount: 2560.0
+finalAmountWoDiscount: 3072.0
+finalAmount: 3072.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
2 => App\DTO\ExtraStayDTO {#2966
-marginRate: 20
+extraId: 103
+name: "Pension complète"
+description: null
+stayTotalNights: 4
+dailyAdults: 200
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 800
+kidsExtrasAmount: 0
+stayExtrasAmount: 800
+stayRoomAmount: 2080.0
+totalStayAmountWoDiscount: 2880.0
+totalStayAmount: 2880.0
+finalAmountWoDiscount: 3456.0
+finalAmount: 3456.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
3 => App\DTO\ExtraStayDTO {#2967
-marginRate: 20
+extraId: 105
+name: "Formule "Tout Inclus""
+description: null
+stayTotalNights: 4
+dailyAdults: 280
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 1120
+kidsExtrasAmount: 0
+stayExtrasAmount: 1120
+stayRoomAmount: 2080.0
+totalStayAmountWoDiscount: 3200.0
+totalStayAmount: 3200.0
+finalAmountWoDiscount: 3840.0
+finalAmount: 3840.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
3 => App\DTO\RoomStayDTO {#2928
-marginRate: 20
-id: 158
-name: "Suite Junior "Vue Plage""
-slug: "suite-junior-vue-plage"
-picture: "/uploads/rooms/158/6667ee9c44f48382009249.jpg"
-description: "Situées au rez-de-chaussée, au premier et au deuxième étage, nos Junior Suites Avec Vue Plage, offrent une vue magnifique sur la baie idyllique de Belle Mare. Les espaces intérieurs sont chics et sereins, imprégnés de nuances de sable avec des touches de couleur corail et jaune citron. Ces suites sont parfaites pour les couples ou les familles avec de jeunes enfants. La terrasse dispose d'un lit de jour pour se prélasser, tandis que le coin ‘bar’ est une version revisitée du mini bar traditionnel."
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 185
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 570
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 570
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 570
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 570
"kids_price" => 0
]
]
"amount" => 2280
]
]
-totalRoomAmount: 2280.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:4 [
0 => App\DTO\ExtraStayDTO {#2968
-marginRate: 20
+extraId: 185
+name: "BASE - PETIT DEJEUNER"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 2280.0
+totalStayAmountWoDiscount: 2280.0
+totalStayAmount: 2280.0
+finalAmountWoDiscount: 2736.0
+finalAmount: 2736.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
1 => App\DTO\ExtraStayDTO {#2969
-marginRate: 20
+extraId: 101
+name: "Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 120
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 480
+kidsExtrasAmount: 0
+stayExtrasAmount: 480
+stayRoomAmount: 2280.0
+totalStayAmountWoDiscount: 2760.0
+totalStayAmount: 2760.0
+finalAmountWoDiscount: 3312.0
+finalAmount: 3312.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
2 => App\DTO\ExtraStayDTO {#2970
-marginRate: 20
+extraId: 103
+name: "Pension complète"
+description: null
+stayTotalNights: 4
+dailyAdults: 200
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 800
+kidsExtrasAmount: 0
+stayExtrasAmount: 800
+stayRoomAmount: 2280.0
+totalStayAmountWoDiscount: 3080.0
+totalStayAmount: 3080.0
+finalAmountWoDiscount: 3696.0
+finalAmount: 3696.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
3 => App\DTO\ExtraStayDTO {#2971
-marginRate: 20
+extraId: 105
+name: "Formule "Tout Inclus""
+description: null
+stayTotalNights: 4
+dailyAdults: 280
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 1120
+kidsExtrasAmount: 0
+stayExtrasAmount: 1120
+stayRoomAmount: 2280.0
+totalStayAmountWoDiscount: 3400.0
+totalStayAmount: 3400.0
+finalAmountWoDiscount: 4080.0
+finalAmount: 4080.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
4 => App\DTO\RoomStayDTO {#2906
-marginRate: 20
-id: 159
-name: "Suite LUX"
-slug: "suite-lux"
-picture: "/uploads/rooms/159/67109ee09caa6294887379.jpeg"
-description: "Un refuge intime et romantique pour deux sous les tropiques. La salle de bains tout en blanc est chic et tranquille. Le coin salon, drapé de lin pur, présente un spacieux canapé cocon pour deux. Il y a un coin bar avec un chariot à cocktails - emportez votre verre dans l'espace cabane extérieur, et détendez- vous. A l’extérieur, le lit balançoire donnant sur la plage, est parfait pour faire la sieste. La salle de bain spacieuse dispose d'une baignoire surdimensionnée pour deux. Et le dressing est surprenant de beauté avec son magnifique papier peint personnalisé inspiré des coraux."
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 185
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 650
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 650
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 650
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 650
"kids_price" => 0
]
]
"amount" => 2600
]
]
-totalRoomAmount: 2600.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:4 [
0 => App\DTO\ExtraStayDTO {#2972
-marginRate: 20
+extraId: 185
+name: "BASE - PETIT DEJEUNER"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 2600.0
+totalStayAmountWoDiscount: 2600.0
+totalStayAmount: 2600.0
+finalAmountWoDiscount: 3120.0
+finalAmount: 3120.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
1 => App\DTO\ExtraStayDTO {#2973
-marginRate: 20
+extraId: 101
+name: "Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 120
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 480
+kidsExtrasAmount: 0
+stayExtrasAmount: 480
+stayRoomAmount: 2600.0
+totalStayAmountWoDiscount: 3080.0
+totalStayAmount: 3080.0
+finalAmountWoDiscount: 3696.0
+finalAmount: 3696.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
2 => App\DTO\ExtraStayDTO {#2974
-marginRate: 20
+extraId: 103
+name: "Pension complète"
+description: null
+stayTotalNights: 4
+dailyAdults: 200
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 800
+kidsExtrasAmount: 0
+stayExtrasAmount: 800
+stayRoomAmount: 2600.0
+totalStayAmountWoDiscount: 3400.0
+totalStayAmount: 3400.0
+finalAmountWoDiscount: 4080.0
+finalAmount: 4080.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
3 => App\DTO\ExtraStayDTO {#2975
-marginRate: 20
+extraId: 105
+name: "Formule "Tout Inclus""
+description: null
+stayTotalNights: 4
+dailyAdults: 280
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 1120
+kidsExtrasAmount: 0
+stayExtrasAmount: 1120
+stayRoomAmount: 2600.0
+totalStayAmountWoDiscount: 3720.0
+totalStayAmount: 3720.0
+finalAmountWoDiscount: 4464.0
+finalAmount: 4464.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
]
1 in
RoomStayCalculation.php
line 274:
{
$offers_eligibled = [];
if ($this->debug) {
dump('All available offers of the hotel', $offers);
}
foreach ($offers as $key => $offer) {
"All available offers of the hotel"
1 in
RoomStayCalculation.php
line 246:
$validOffers = $this->getValidOffers($hotel->getOffers());
if ($this->debug) {
dump('Step 1. Offres valides : ', $validOffers);
}
if ($validOffers == null) {
"Step 1. Offres valides : "
2 in
RoomStayCalculation.php
line 246:
$validOffers = $this->getValidOffers($hotel->getOffers());
if ($this->debug) {
dump('Step 1. Offres valides : ', $validOffers);
}
if ($validOffers == null) {
null
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : Laguna Beach Hotel & Spa - Chambre : #33 - Barachois has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#3199
+rpId: 1450
+adultsPrice: 184
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 184
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 184
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 184
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 184
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : Laguna Beach Hotel & Spa - Chambre : #34 - Standard Vue Mer has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#3220
+rpId: 1463
+adultsPrice: 202
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 202
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 202
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 202
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 202
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : Laguna Beach Hotel & Spa - Chambre : #35 - Deluxe Vue Mer has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#3241
+rpId: 1472
+adultsPrice: 222
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 222
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 222
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 222
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 222
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : Laguna Beach Hotel & Spa - Chambre : #36 - Famille Vue Mer has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#3262
+rpId: 1482
+adultsPrice: 234
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 234
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 234
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 234
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 234
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 88:
$searchResults = [];
if ($this->debug) {
dump('Update Stay Rooms - Chambers Prices', $chambersRoomsPrices);
}
"Update Stay Rooms - Chambers Prices"
2 in
RoomStayCalculation.php
line 88:
$searchResults = [];
if ($this->debug) {
dump('Update Stay Rooms - Chambers Prices', $chambersRoomsPrices);
}
array:1 [
0 => array:4 [
0 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
"room_id" => 33
"room_picture" => "/uploads/rooms/33/66693d071672f497297386.webp"
"room_name" => "Barachois"
"room_slug" => "barachois"
"room_description" => "d’une superficie de 25m², comprenant un lit King Size, une salle d'eau et un espace extérieur avec une vue sur la mangrove."
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 1450
"adult_amount" => 736
"children_amount" => 0
"basis_amount" => 736
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 184
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 184
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 184
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 184
"kids_price" => 0
]
]
]
]
1 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820}
"room_id" => 34
"room_picture" => "/uploads/rooms/34/66693d6d39d1f989251429.webp"
"room_name" => "Standard Vue Mer"
"room_slug" => "standard-vue-mer"
"room_description" => "Standard Vue Mer, d’une superficie de 25m², comprenant un lit King Size, une salle d'eau et un balcon avec une vue sur la mer."
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 1463
"adult_amount" => 808
"children_amount" => 0
"basis_amount" => 808
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 202
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 202
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 202
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 202
"kids_price" => 0
]
]
]
]
2 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820}
"room_id" => 35
"room_picture" => "/uploads/rooms/35/66693dd87a3bc405529570.webp"
"room_name" => "Deluxe Vue Mer"
"room_slug" => "deluxe-vue-mer"
"room_description" => "Deluxe Vue Mer, d’une superficie de 35m², comprenant un espace extérieur avec vue sur la mer. Certaines chambres du rez-de-chaussée disposent d’une terrasse avec transats et d’autres chambres ont une baignoire. 1 chambre est adaptée PMR, sur demande."
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 1472
"adult_amount" => 888
"children_amount" => 0
"basis_amount" => 888
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 222
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 222
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 222
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 222
"kids_price" => 0
]
]
]
]
3 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820}
"room_id" => 36
"room_picture" => "/uploads/rooms/36/66693e19d1ef4238044373.webp"
"room_name" => "Famille Vue Mer"
"room_slug" => "famille-vue-mer"
"room_description" => "Chambres Famille Vue Mer, d’une superficie de 50m², comprenant un lit King Size et un canapé-lit gigogne, une salle de bain et un espace extérieur avec une vue sur la mer."
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 1482
"adult_amount" => 936
"children_amount" => 0
"basis_amount" => 936
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 234
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 234
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 234
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 234
"kids_price" => 0
]
]
]
]
]
]
1 in
RoomStayCalculation.php
line 217:
}
if ($this->debug) {
dump('Update Stay Rooms results', $searchResults);
}
// Set the results and sort by total amount ASC
"Update Stay Rooms results"
2 in
RoomStayCalculation.php
line 217:
}
if ($this->debug) {
dump('Update Stay Rooms results', $searchResults);
}
// Set the results and sort by total amount ASC
array:4 [
0 => App\DTO\RoomStayDTO {#2945
-marginRate: 20
-id: 33
-name: "Barachois"
-slug: "barachois"
-picture: "/uploads/rooms/33/66693d071672f497297386.webp"
-description: "d’une superficie de 25m², comprenant un lit King Size, une salle d'eau et un espace extérieur avec une vue sur la mangrove."
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 177
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 184
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 184
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 184
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 184
"kids_price" => 0
]
]
"amount" => 736
]
]
-totalRoomAmount: 736.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:1 [
0 => App\DTO\ExtraStayDTO {#3280
-marginRate: 20
+extraId: 177
+name: "Base All Inclusive"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 736.0
+totalStayAmountWoDiscount: 736.0
+totalStayAmount: 736.0
+finalAmountWoDiscount: 883.2
+finalAmount: 883.2
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
1 => App\DTO\RoomStayDTO {#3237
-marginRate: 20
-id: 34
-name: "Standard Vue Mer"
-slug: "standard-vue-mer"
-picture: "/uploads/rooms/34/66693d6d39d1f989251429.webp"
-description: "Standard Vue Mer, d’une superficie de 25m², comprenant un lit King Size, une salle d'eau et un balcon avec une vue sur la mer."
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 177
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 202
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 202
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 202
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 202
"kids_price" => 0
]
]
"amount" => 808
]
]
-totalRoomAmount: 808.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:1 [
0 => App\DTO\ExtraStayDTO {#3283
-marginRate: 20
+extraId: 177
+name: "Base All Inclusive"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 808.0
+totalStayAmountWoDiscount: 808.0
+totalStayAmount: 808.0
+finalAmountWoDiscount: 969.6
+finalAmount: 969.6
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
2 => App\DTO\RoomStayDTO {#3258
-marginRate: 20
-id: 35
-name: "Deluxe Vue Mer"
-slug: "deluxe-vue-mer"
-picture: "/uploads/rooms/35/66693dd87a3bc405529570.webp"
-description: "Deluxe Vue Mer, d’une superficie de 35m², comprenant un espace extérieur avec vue sur la mer. Certaines chambres du rez-de-chaussée disposent d’une terrasse avec transats et d’autres chambres ont une baignoire. 1 chambre est adaptée PMR, sur demande."
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 177
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 222
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 222
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 222
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 222
"kids_price" => 0
]
]
"amount" => 888
]
]
-totalRoomAmount: 888.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:1 [
0 => App\DTO\ExtraStayDTO {#3235
-marginRate: 20
+extraId: 177
+name: "Base All Inclusive"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 888.0
+totalStayAmountWoDiscount: 888.0
+totalStayAmount: 888.0
+finalAmountWoDiscount: 1065.6
+finalAmount: 1065.6
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
3 => App\DTO\RoomStayDTO {#3257
-marginRate: 20
-id: 36
-name: "Famille Vue Mer"
-slug: "famille-vue-mer"
-picture: "/uploads/rooms/36/66693e19d1ef4238044373.webp"
-description: "Chambres Famille Vue Mer, d’une superficie de 50m², comprenant un lit King Size et un canapé-lit gigogne, une salle de bain et un espace extérieur avec une vue sur la mer."
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 177
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 234
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 234
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 234
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 234
"kids_price" => 0
]
]
"amount" => 936
]
]
-totalRoomAmount: 936.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:1 [
0 => App\DTO\ExtraStayDTO {#3287
-marginRate: 20
+extraId: 177
+name: "Base All Inclusive"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 936.0
+totalStayAmountWoDiscount: 936.0
+totalStayAmount: 936.0
+finalAmountWoDiscount: 1123.2
+finalAmount: 1123.2
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
]
1 in
RoomStayCalculation.php
line 274:
{
$offers_eligibled = [];
if ($this->debug) {
dump('All available offers of the hotel', $offers);
}
foreach ($offers as $key => $offer) {
"All available offers of the hotel"
2 in
RoomStayCalculation.php
line 274:
{
$offers_eligibled = [];
if ($this->debug) {
dump('All available offers of the hotel', $offers);
}
foreach ($offers as $key => $offer) {
Doctrine\Common\Collections\ArrayCollection {#3332
-elements: array:1 [
0 => App\Entity\Offers {#3311
-id: 253
-title: "Offre Speciale - 10 %"
-type: "Special"
-hotel: App\Entity\Hotels {#1130
-id: 6
-name: "Laguna Beach Hotel & Spa"
-description: "Idéalement situé sur la côte est de l'île Maurice, Laguna Beach Hotel & Spa offre une expérience balnéaire relaxante dans un cadre pittoresque. Avec ses chambres élégamment décorées offrant des vues sur l'océan ou les jardins tropicaux, l'hôtel invite à une évasion paisible et luxueuse. Les clients peuvent profiter d'une variété d'installations de classe mondiale, y compris un spa revitalisant, des piscines scintillantes et des restaurants gastronomiques proposant une cuisine locale et internationale. Que ce soit pour se détendre sur la plage de sable blanc, explorer les eaux turquoise lors d'activités nautiques ou découvrir la richesse culturelle de l'île Maurice, Laguna Beach Hotel & Spa promet une expérience de vacances inoubliable alliant confort, hospitalité mauricienne et paysages à couper le souffle."
-website: "http://www.lagunabeachhotel.mu/"
-stars: 3
-youtubeVideoId: null
-phone: "+230 417 5888"
-email: "a@a.fr"
-active: true
-gmapUrl: "<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2006.5448757640875!2d57.786140166342335!3d-20.292711943319876!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x217cf05a62287a6f%3A0x6e30b083d4bc4ac2!2sLaguna%20Beach%20Hotel%20%26%20Spa!5e0!3m2!1sfr!2sfr!4v1718968815831!5m2!1sfr!2sfr" width="100%" height="600" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>"
-zone: "Sud-Est"
-createdAt: DateTimeImmutable @1714145854 {#1110
date: 2024-04-26 15:37:34.0 UTC (+00:00)
}
-updatedAt: DateTimeImmutable @1733327549 {#1125
date: 2024-12-04 15:52:29.0 UTC (+00:00)
}
-rooms: Doctrine\ORM\PersistentCollection {#1127
#collection: Doctrine\Common\Collections\ArrayCollection {#1131
-elements: array:4 [
0 => App\Entity\Rooms {#1637
-id: 33
-name: "Barachois"
-description: "d’une superficie de 25m², comprenant un lit King Size, une salle d'eau et un espace extérieur avec une vue sur la mangrove."
-active: true
-hotel: App\Entity\Hotels {#1130}
-roomPrices: Doctrine\Common\Collections\ArrayCollection {#3191
-elements: array:1 [
0 => App\Entity\RoomPrices {#1630
-id: 1450
-title: "Barachois"
-room: App\Entity\Rooms {#1637}
-quantity: 9
-stayStartedAt: DateTimeImmutable @1736078400 {#1562
date: 2025-01-05 12:00:00.0 UTC (+00:00)
}
-stayEndedAt: DateTimeImmutable @1746014400 {#1553
date: 2025-04-30 12:00:00.0 UTC (+00:00)
}
-saleStartedAt: DateTimeImmutable @1725148800 {#1639
date: 2024-09-01 00:00:00.0 UTC (+00:00)
}
-saleEndedAt: DateTimeImmutable @1767181057 {#1638
date: 2025-12-31 11:37:37.0 UTC (+00:00)
}
-minNights: 1
-doubleOccupancy: "184.00"
-singleOccupancy: "156.00"
-tripleOccupancy: null
-active: true
-extraBaby: null
-extraChild: null
-extraTeen: null
-defaultExtraLabel: null
}
]
}
-stopSales: Doctrine\ORM\PersistentCollection {#1636
#collection: Doctrine\Common\Collections\ArrayCollection {#1635
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Rooms {#1637}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#970 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1172 …}
}
-roomCapacities: Doctrine\ORM\PersistentCollection {#1634
#collection: Doctrine\Common\Collections\ArrayCollection {#1633
-elements: array:6 [
0 => App\Entity\RoomCapacities {#1844
-id: 2437
-room: App\Entity\Rooms {#1637}
-adults: 1
-teens: null
-children: null
-babies: null
-isDefaultConfig: false
}
1 => App\Entity\RoomCapacities {#1843
-id: 2438
-room: App\Entity\Rooms {#1637}
-adults: 1
-teens: 1
-children: null
-babies: null
-isDefaultConfig: false
}
2 => App\Entity\RoomCapacities {#1842
-id: 2439
-room: App\Entity\Rooms {#1637}
-adults: 1
-teens: null
-children: 1
-babies: null
-isDefaultConfig: false
}
3 => App\Entity\RoomCapacities {#1841
-id: 2440
-room: App\Entity\Rooms {#1637}
-adults: 1
-teens: null
-children: null
-babies: 1
-isDefaultConfig: false
}
4 => App\Entity\RoomCapacities {#1840
-id: 3329
-room: App\Entity\Rooms {#1637}
-adults: 2
-teens: null
-children: null
-babies: null
-isDefaultConfig: false
}
5 => App\Entity\RoomCapacities {#1839
-id: 3330
-room: App\Entity\Rooms {#1637}
-adults: 2
-teens: null
-children: null
-babies: 1
-isDefaultConfig: false
}
]
}
#initialized: true
-snapshot: array:6 [ …6]
-owner: App\Entity\Rooms {#1637}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#967 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1364 …}
}
-createdAt: DateTimeImmutable @1717520580 {#1644
date: 2024-06-04 17:03:00.0 UTC (+00:00)
}
-updatedAt: DateTimeImmutable @1733328734 {#1575
date: 2024-12-04 16:12:14.0 UTC (+00:00)
}
-imageFile: null
-featuredImage: "66693d071672f497297386.webp"
-gallery: App\Entity\Galleries {#1629
-id: 189
-hotel: null
-room: App\Entity\Rooms {#1637}
-images: Doctrine\ORM\PersistentCollection {#1628
#collection: Doctrine\Common\Collections\ArrayCollection {#1627
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Galleries {#1629}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#934 …}
-backRefFieldName: "gallery"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1104 …}
}
-title: "Laguna Beach Hotel & Spa - Barachois"
}
-mediaDirSlug: "33"
-lowerRoomPrice: null
-services: array:1 [
0 => ""
]
-slug: "barachois"
}
1 => App\Entity\Rooms {#1620
-id: 34
-name: "Standard Vue Mer"
-description: "Standard Vue Mer, d’une superficie de 25m², comprenant un lit King Size, une salle d'eau et un balcon avec une vue sur la mer."
-active: true
-hotel: App\Entity\Hotels {#1130}
-roomPrices: Doctrine\Common\Collections\ArrayCollection {#3180
-elements: array:1 [
0 => App\Entity\RoomPrices {#1613
-id: 1463
-title: "Standard"
-room: App\Entity\Rooms {#1620}
-quantity: 30
-stayStartedAt: DateTimeImmutable @1736078400 {#1624
date: 2025-01-05 12:00:00.0 UTC (+00:00)
}
-stayEndedAt: DateTimeImmutable @1746014400 {#1623
date: 2025-04-30 12:00:00.0 UTC (+00:00)
}
-saleStartedAt: DateTimeImmutable @1725148800 {#1622
date: 2024-09-01 00:00:00.0 UTC (+00:00)
}
-saleEndedAt: DateTimeImmutable @1767181057 {#1621
date: 2025-12-31 11:37:37.0 UTC (+00:00)
}
-minNights: 1
-doubleOccupancy: "202.00"
-singleOccupancy: "172.00"
-tripleOccupancy: null
-active: true
-extraBaby: null
-extraChild: null
-extraTeen: null
-defaultExtraLabel: null
}
]
}
-stopSales: Doctrine\ORM\PersistentCollection {#1619
#collection: Doctrine\Common\Collections\ArrayCollection {#1618
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Rooms {#1620}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#970 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1172 …}
}
-roomCapacities: Doctrine\ORM\PersistentCollection {#1617
#collection: Doctrine\Common\Collections\ArrayCollection {#1616
-elements: array:6 [
0 => App\Entity\RoomCapacities {#1838
-id: 2441
-room: App\Entity\Rooms {#1620}
-adults: 2
-teens: null
-children: null
-babies: null
-isDefaultConfig: false
}
1 => App\Entity\RoomCapacities {#1837
-id: 2442
-room: App\Entity\Rooms {#1620}
-adults: 2
-teens: null
-children: null
-babies: 1
-isDefaultConfig: false
}
2 => App\Entity\RoomCapacities {#1822
-id: 2443
-room: App\Entity\Rooms {#1620}
-adults: 1
-teens: null
-children: 1
-babies: null
-isDefaultConfig: false
}
3 => App\Entity\RoomCapacities {#1825
-id: 2444
-room: App\Entity\Rooms {#1620}
-adults: 1
-teens: 1
-children: null
-babies: null
-isDefaultConfig: false
}
4 => App\Entity\RoomCapacities {#1824
-id: 2445
-room: App\Entity\Rooms {#1620}
-adults: 1
-teens: null
-children: null
-babies: null
-isDefaultConfig: false
}
5 => App\Entity\RoomCapacities {#1826
-id: 3331
-room: App\Entity\Rooms {#1620}
-adults: 1
-teens: null
-children: null
-babies: 1
-isDefaultConfig: false
}
]
}
#initialized: true
-snapshot: array:6 [ …6]
-owner: App\Entity\Rooms {#1620}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#967 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1364 …}
}
-createdAt: DateTimeImmutable @1717520580 {#1626
date: 2024-06-04 17:03:00.0 UTC (+00:00)
}
-updatedAt: DateTimeImmutable @1733328753 {#1625
date: 2024-12-04 16:12:33.0 UTC (+00:00)
}
-imageFile: null
-featuredImage: "66693d6d39d1f989251429.webp"
-gallery: App\Entity\Galleries {#1612
-id: 62
-hotel: null
-room: App\Entity\Rooms {#1620}
-images: Doctrine\ORM\PersistentCollection {#1611
#collection: Doctrine\Common\Collections\ArrayCollection {#1610
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Galleries {#1612}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#934 …}
-backRefFieldName: "gallery"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1104 …}
}
-title: "Laguna Standard"
}
-mediaDirSlug: "34"
-lowerRoomPrice: null
-services: array:1 [
0 => ""
]
-slug: "standard-vue-mer"
}
2 => App\Entity\Rooms {#1603
-id: 35
-name: "Deluxe Vue Mer"
-description: "Deluxe Vue Mer, d’une superficie de 35m², comprenant un espace extérieur avec vue sur la mer. Certaines chambres du rez-de-chaussée disposent d’une terrasse avec transats et d’autres chambres ont une baignoire. 1 chambre est adaptée PMR, sur demande."
-active: true
-hotel: App\Entity\Hotels {#1130}
-roomPrices: Doctrine\Common\Collections\ArrayCollection {#3209
-elements: array:1 [
0 => App\Entity\RoomPrices {#1596
-id: 1472
-title: "Deluxe"
-room: App\Entity\Rooms {#1603}
-quantity: 18
-stayStartedAt: DateTimeImmutable @1736078400 {#1607
date: 2025-01-05 12:00:00.0 UTC (+00:00)
}
-stayEndedAt: DateTimeImmutable @1746014400 {#1606
date: 2025-04-30 12:00:00.0 UTC (+00:00)
}
-saleStartedAt: DateTimeImmutable @1725148800 {#1605
date: 2024-09-01 00:00:00.0 UTC (+00:00)
}
-saleEndedAt: DateTimeImmutable @1767181057 {#1604
date: 2025-12-31 11:37:37.0 UTC (+00:00)
}
-minNights: 1
-doubleOccupancy: "222.00"
-singleOccupancy: "189.00"
-tripleOccupancy: "78.00"
-active: true
-extraBaby: null
-extraChild: 56.0
-extraTeen: 67.0
-defaultExtraLabel: null
}
]
}
-stopSales: Doctrine\ORM\PersistentCollection {#1602
#collection: Doctrine\Common\Collections\ArrayCollection {#1601
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Rooms {#1603}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#970 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1172 …}
}
-roomCapacities: Doctrine\ORM\PersistentCollection {#1600
#collection: Doctrine\Common\Collections\ArrayCollection {#1599
-elements: array:10 [
0 => App\Entity\RoomCapacities {#1829
-id: 2446
-room: App\Entity\Rooms {#1603}
-adults: 2
-teens: null
-children: null
-babies: null
-isDefaultConfig: false
}
1 => App\Entity\RoomCapacities {#1828
-id: 2447
-room: App\Entity\Rooms {#1603}
-adults: 3
-teens: null
-children: null
-babies: null
-isDefaultConfig: false
}
2 => App\Entity\RoomCapacities {#1831
-id: 2448
-room: App\Entity\Rooms {#1603}
-adults: 2
-teens: null
-children: 1
-babies: null
-isDefaultConfig: false
}
3 => App\Entity\RoomCapacities {#1830
-id: 2449
-room: App\Entity\Rooms {#1603}
-adults: 2
-teens: 1
-children: null
-babies: null
-isDefaultConfig: false
}
4 => App\Entity\RoomCapacities {#1833
-id: 2450
-room: App\Entity\Rooms {#1603}
-adults: 1
-teens: null
-children: null
-babies: null
-isDefaultConfig: false
}
5 => App\Entity\RoomCapacities {#1834
-id: 2451
-room: App\Entity\Rooms {#1603}
-adults: 1
-teens: 1
-children: null
-babies: null
-isDefaultConfig: false
}
6 => App\Entity\RoomCapacities {#1806
-id: 2452
-room: App\Entity\Rooms {#1603}
-adults: 1
-teens: null
-children: 1
-babies: null
-isDefaultConfig: false
}
7 => App\Entity\RoomCapacities {#1807
-id: 3332
-room: App\Entity\Rooms {#1603}
-adults: 2
-teens: null
-children: null
-babies: 1
-isDefaultConfig: false
}
8 => App\Entity\RoomCapacities {#1372
-id: 3333
-room: App\Entity\Rooms {#1603}
-adults: 2
-teens: 1
-children: null
-babies: 1
-isDefaultConfig: false
}
9 => App\Entity\RoomCapacities {#1166
-id: 3334
-room: App\Entity\Rooms {#1603}
-adults: 2
-teens: null
-children: 1
-babies: 1
-isDefaultConfig: false
}
]
}
#initialized: true
-snapshot: array:10 [ …10]
-owner: App\Entity\Rooms {#1603}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#967 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1364 …}
}
-createdAt: DateTimeImmutable @1717520580 {#1609
date: 2024-06-04 17:03:00.0 UTC (+00:00)
}
-updatedAt: DateTimeImmutable @1733328812 {#1608
date: 2024-12-04 16:13:32.0 UTC (+00:00)
}
-imageFile: null
-featuredImage: "66693dd87a3bc405529570.webp"
-gallery: App\Entity\Galleries {#1595
-id: 60
-hotel: null
-room: App\Entity\Rooms {#1603}
-images: Doctrine\ORM\PersistentCollection {#1594
#collection: Doctrine\Common\Collections\ArrayCollection {#1593
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Galleries {#1595}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#934 …}
-backRefFieldName: "gallery"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1104 …}
}
-title: "Laguna deluxe"
}
-mediaDirSlug: "35"
-lowerRoomPrice: null
-services: array:1 [
0 => ""
]
-slug: "deluxe-vue-mer"
}
3 => App\Entity\Rooms {#1585
-id: 36
-name: "Famille Vue Mer"
-description: "Chambres Famille Vue Mer, d’une superficie de 50m², comprenant un lit King Size et un canapé-lit gigogne, une salle de bain et un espace extérieur avec une vue sur la mer."
-active: true
-hotel: App\Entity\Hotels {#1130}
-roomPrices: Doctrine\Common\Collections\ArrayCollection {#3230
-elements: array:1 [
0 => App\Entity\RoomPrices {#1577
-id: 1482
-title: "Chambre Familiale"
-room: App\Entity\Rooms {#1585}
-quantity: 6
-stayStartedAt: DateTimeImmutable @1736078400 {#1590
date: 2025-01-05 12:00:00.0 UTC (+00:00)
}
-stayEndedAt: DateTimeImmutable @1746014400 {#1589
date: 2025-04-30 12:00:00.0 UTC (+00:00)
}
-saleStartedAt: DateTimeImmutable @1725148800 {#1588
date: 2024-09-01 00:00:00.0 UTC (+00:00)
}
-saleEndedAt: DateTimeImmutable @1767181057 {#1586
date: 2025-12-31 11:37:37.0 UTC (+00:00)
}
-minNights: 1
-doubleOccupancy: "234.00"
-singleOccupancy: null
-tripleOccupancy: null
-active: true
-extraBaby: null
-extraChild: 59.0
-extraTeen: 70.0
-defaultExtraLabel: null
}
]
}
-stopSales: Doctrine\ORM\PersistentCollection {#1584
#collection: Doctrine\Common\Collections\ArrayCollection {#1583
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Rooms {#1585}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#970 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1172 …}
}
-roomCapacities: Doctrine\ORM\PersistentCollection {#1582
#collection: Doctrine\Common\Collections\ArrayCollection {#1580
-elements: array:18 [
0 => App\Entity\RoomCapacities {#1812
-id: 2453
-room: App\Entity\Rooms {#1585}
-adults: 1
-teens: null
-children: null
-babies: null
-isDefaultConfig: false
}
1 => App\Entity\RoomCapacities {#1862
-id: 2454
-room: App\Entity\Rooms {#1585}
-adults: 1
-teens: 1
-children: null
-babies: null
-isDefaultConfig: false
}
2 => App\Entity\RoomCapacities {#1849
-id: 2455
-room: App\Entity\Rooms {#1585}
-adults: 1
-teens: null
-children: 1
-babies: null
-isDefaultConfig: false
}
3 => App\Entity\RoomCapacities {#1858
-id: 2456
-room: App\Entity\Rooms {#1585}
-adults: 1
-teens: null
-children: null
-babies: 1
-isDefaultConfig: false
}
4 => App\Entity\RoomCapacities {#1857
-id: 2457
-room: App\Entity\Rooms {#1585}
-adults: 1
-teens: 1
-children: 1
-babies: null
-isDefaultConfig: false
}
5 => App\Entity\RoomCapacities {#1856
-id: 2458
-room: App\Entity\Rooms {#1585}
-adults: 1
-teens: 1
-children: null
-babies: 1
-isDefaultConfig: false
}
6 => App\Entity\RoomCapacities {#1855
-id: 2459
-room: App\Entity\Rooms {#1585}
-adults: 1
-teens: null
-children: 1
-babies: 1
-isDefaultConfig: false
}
7 => App\Entity\RoomCapacities {#1854
-id: 2460
-room: App\Entity\Rooms {#1585}
-adults: 2
-teens: null
-children: null
-babies: null
-isDefaultConfig: false
}
8 => App\Entity\RoomCapacities {#1853
-id: 2461
-room: App\Entity\Rooms {#1585}
-adults: 2
-teens: 1
-children: null
-babies: null
-isDefaultConfig: false
}
9 => App\Entity\RoomCapacities {#1852
-id: 2462
-room: App\Entity\Rooms {#1585}
-adults: 2
-teens: null
-children: 1
-babies: null
-isDefaultConfig: false
}
10 => App\Entity\RoomCapacities {#1859
-id: 2463
-room: App\Entity\Rooms {#1585}
-adults: 2
-teens: null
-children: null
-babies: 1
-isDefaultConfig: false
}
11 => App\Entity\RoomCapacities {#1860
-id: 2464
-room: App\Entity\Rooms {#1585}
-adults: 2
-teens: 2
-children: null
-babies: null
-isDefaultConfig: false
}
12 => App\Entity\RoomCapacities {#1871
-id: 2465
-room: App\Entity\Rooms {#1585}
-adults: 2
-teens: null
-children: 2
-babies: null
-isDefaultConfig: false
}
13 => App\Entity\RoomCapacities {#1869
-id: 2466
-room: App\Entity\Rooms {#1585}
-adults: 2
-teens: null
-children: null
-babies: 2
-isDefaultConfig: false
}
14 => App\Entity\RoomCapacities {#1870
-id: 3335
-room: App\Entity\Rooms {#1585}
-adults: 1
-teens: 1
-children: 1
-babies: 1
-isDefaultConfig: false
}
15 => App\Entity\RoomCapacities {#1867
-id: 3336
-room: App\Entity\Rooms {#1585}
-adults: 2
-teens: 1
-children: 1
-babies: null
-isDefaultConfig: false
}
16 => App\Entity\RoomCapacities {#1868
-id: 3337
-room: App\Entity\Rooms {#1585}
-adults: 2
-teens: 1
-children: null
-babies: 1
-isDefaultConfig: false
}
17 => App\Entity\RoomCapacities {#1865
-id: 3338
-room: App\Entity\Rooms {#1585}
-adults: 2
-teens: null
-children: 1
-babies: 1
-isDefaultConfig: false
}
]
}
#initialized: true
-snapshot: array:18 [ …18]
-owner: App\Entity\Rooms {#1585}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#967 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1364 …}
}
-createdAt: DateTimeImmutable @1717520580 {#1592
date: 2024-06-04 17:03:00.0 UTC (+00:00)
}
-updatedAt: DateTimeImmutable @1733328900 {#1591
date: 2024-12-04 16:15:00.0 UTC (+00:00)
}
-imageFile: null
-featuredImage: "66693e19d1ef4238044373.webp"
-gallery: App\Entity\Galleries {#1576
-id: 61
-hotel: null
-room: App\Entity\Rooms {#1585}
-images: Doctrine\ORM\PersistentCollection {#1574
#collection: Doctrine\Common\Collections\ArrayCollection {#1573
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Galleries {#1576}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#934 …}
-backRefFieldName: "gallery"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1104 …}
}
-title: "Laguna famille"
}
-mediaDirSlug: "36"
-lowerRoomPrice: null
-services: array:1 [
0 => ""
]
-slug: "famille-vue-mer"
}
]
}
#initialized: true
-snapshot: array:4 [ …4]
-owner: App\Entity\Hotels {#1130}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#880 …}
-backRefFieldName: "hotel"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#942 …}
}
-address: "Camp des Pêcheurs, Grande Riviere Sud Est, Île Maurice"
-checkInTime: null
-checkOutTime: null
-babyAgeMax: "5"
-childAgeMax: "12"
-teenAgeMax: "18"
-extraCharges: Doctrine\ORM\PersistentCollection {#1132
#collection: Doctrine\Common\Collections\ArrayCollection {#1133
-elements: array:3 [
0 => App\Entity\ExtraCharges {#3274
-id: 7
-title: "Supplément Diner Réveillon de Noêl"
-description: null
-adultExtra: 64.0
-babyExtra: null
-childExtra: 32.0
-teenExtra: 32.0
-stayStartedAt: DateTimeImmutable @1734998400 {#3277
date: 2024-12-24 00:00:00.0 UTC (+00:00)
}
-stayEndedAt: DateTimeImmutable @1735084800 {#3276
date: 2024-12-25 00:00:00.0 UTC (+00:00)
}
-isActive: true
-isMandatory: true
-minNights: null
-hotel: App\Entity\Hotels {#1130}
}
1 => App\Entity\ExtraCharges {#3285
-id: 8
-title: "Supplément Diner Saint-Sylvestre"
-description: null
-adultExtra: 100.0
-babyExtra: null
-childExtra: 50.0
-teenExtra: 50.0
-stayStartedAt: DateTimeImmutable @1735603200 {#3282
date: 2024-12-31 00:00:00.0 UTC (+00:00)
}
-stayEndedAt: DateTimeImmutable @1735689600 {#3284
date: 2025-01-01 00:00:00.0 UTC (+00:00)
}
-isActive: true
-isMandatory: true
-minNights: null
-hotel: App\Entity\Hotels {#1130}
}
2 => App\Entity\ExtraCharges {#3286
-id: 177
-title: "Base All Inclusive"
-description: null
-adultExtra: 0.0
-babyExtra: null
-childExtra: null
-teenExtra: null
-stayStartedAt: null
-stayEndedAt: null
-isActive: true
-isMandatory: true
-minNights: null
-hotel: App\Entity\Hotels {#1130}
}
]
}
#initialized: true
-snapshot: array:3 [ …3]
-owner: App\Entity\Hotels {#1130}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#876 …}
-backRefFieldName: "hotel"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#951 …}
}
-imageFile: null
-featuredImage: "66965b31bae75449217244.jpg"
-gallery: App\Entity\Galleries {#1136
-id: 58
-hotel: App\Entity\Hotels {#1130}
-room: null
-images: Doctrine\ORM\PersistentCollection {#1137
#collection: Doctrine\Common\Collections\ArrayCollection {#1138
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Galleries {#1136}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#934 …}
-backRefFieldName: "gallery"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1104 …}
}
-title: "Hotel Laguna"
}
-mediaDirSlug: null
-offers: Doctrine\Common\Collections\ArrayCollection {#3332}
-highlighted: false
-services: array:1 [
0 => ""
]
-hlStartAt: null
-hlEndAt: null
-slug: "laguna-beach-hotel-spa"
}
-description: null
-stayStartAt: DateTimeImmutable @1736553600 {#3304
date: 2025-01-11 00:00:00.0 UTC (+00:00)
}
-stayEndAt: DateTimeImmutable @1761868800 {#3292
date: 2025-10-31 00:00:00.0 UTC (+00:00)
}
-bookingStartAt: DateTimeImmutable @1736467200 {#3303
date: 2025-01-10 00:00:00.0 UTC (+00:00)
}
-bookingEndAt: DateTimeImmutable @1739145600 {#3309
date: 2025-02-10 00:00:00.0 UTC (+00:00)
}
-reference: "Offre Speciale - 10 %"
-minNights: null
-maxNights: null
-earlyBookingDays: null
-applyToAllRooms: true
-selectedRooms: Doctrine\ORM\PersistentCollection {#3312
#collection: Doctrine\Common\Collections\ArrayCollection {#3313
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#3311}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1076 …}
-backRefFieldName: null
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#942 …}
}
-discount: 10
-combinable: false
-selectedOffers: Doctrine\ORM\PersistentCollection {#3314
#collection: Doctrine\Common\Collections\ArrayCollection {#3315
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#3311}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1082 …}
-backRefFieldName: "offers"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#957 …}
}
-offers: Doctrine\ORM\PersistentCollection {#3316
#collection: Doctrine\Common\Collections\ArrayCollection {#3317
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#3311}
-association: Doctrine\ORM\Mapping\ManyToManyInverseSideMapping {#1086 …}
-backRefFieldName: "selectedOffers"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#957 …}
}
-combinableDiscount: null
-selectedExtras: Doctrine\ORM\PersistentCollection {#3318
#collection: Doctrine\Common\Collections\ArrayCollection {#3319
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#3311}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1088 …}
-backRefFieldName: null
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#951 …}
}
-active: true
-selectedExtrasDiscounted: Doctrine\ORM\PersistentCollection {#3320
#collection: Doctrine\Common\Collections\ArrayCollection {#3321
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#3311}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1094 …}
-backRefFieldName: null
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#951 …}
}
-extrasDiscount: null
-priority: 1
-discountKids1: null
-discountKids2: null
-discountKids3: null
}
]
}
1 in
PromotionDTO.php
line 522:
if ($offer_bookingStartAt >= $currentBookingDate || $currentBookingDate >= $offer_bookingEndAt)
{
if ($this->debug) {
dump($offer->getId() .' - ' . $offer->getTitle(), 'booking dates failure.');
}
return $this;
}
"253 - Offre Speciale - 10 %"
2 in
PromotionDTO.php
line 522:
if ($offer_bookingStartAt >= $currentBookingDate || $currentBookingDate >= $offer_bookingEndAt)
{
if ($this->debug) {
dump($offer->getId() .' - ' . $offer->getTitle(), 'booking dates failure.');
}
return $this;
}
"booking dates failure."
1 in
RoomStayCalculation.php
line 246:
$validOffers = $this->getValidOffers($hotel->getOffers());
if ($this->debug) {
dump('Step 1. Offres valides : ', $validOffers);
}
if ($validOffers == null) {
"Step 1. Offres valides : "
2 in
RoomStayCalculation.php
line 246:
$validOffers = $this->getValidOffers($hotel->getOffers());
if ($this->debug) {
dump('Step 1. Offres valides : ', $validOffers);
}
if ($validOffers == null) {
null
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : Salt of Palmar - Chambre : #135 - Chambre "Gardien View" has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#3558
+rpId: 1910
+adultsPrice: 270
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 270
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 270
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 270
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 270
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : Salt of Palmar - Chambre : #136 - Chambre "Seaview" has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#3579
+rpId: 1921
+adultsPrice: 300
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 300
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 300
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 300
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 300
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
"Hotel : Salt of Palmar - Chambre : #137 - Chambre "Bang on Beach" has the capacity config check: "
2 in
RoomStayCalculation.php
line 61:
$chambersRoomsPrices[$indexChamber][$key]['isCapacity'] = $chamber->hasMatchingRoomCapacity($room->getroomCapacities());
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
true
In
RoomStayCalculation.php
line 62:
if ($this->debug) {
dump('Hotel : '.$hotel->getName().' - Chambre : #'. $room->getId(). ' - '.$room->getName(). ' has the capacity config check: ', $chambersRoomsPrices[$indexChamber][$key]['isCapacity']);
dump($chamber);
}
// check room capacities
App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
1 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
"getDatesAndDailyPrices() -> Results before parsing"
2 in
RoomStayCalculation.php
line 472:
}
if ($this->debug) {
dump('getDatesAndDailyPrices() -> Results before parsing', $roomPricesDatesAndPrice);
}
array:1 [
0 => App\DTO\RoomDatesAndPricesDTO {#3600
+rpId: 1931
+adultsPrice: 330
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#824
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#825
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
}
]
1 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
"parseDailyPrices() -> Parsed daily prices"
2 in
RoomStayCalculation.php
line 481:
$prices_wo_extras = $this->parseDailyPrices($roomPricesDatesAndPrice);
if ($this->debug) {
dump('parseDailyPrices() -> Parsed daily prices', $prices_wo_extras);
}
if (!$prices_wo_extras) {
array:4 [
"2025-03-22" => array:2 [
"adults_price" => 330
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 330
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 330
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 330
"kids_price" => 0
]
]
1 in
RoomStayCalculation.php
line 88:
$searchResults = [];
if ($this->debug) {
dump('Update Stay Rooms - Chambers Prices', $chambersRoomsPrices);
}
"Update Stay Rooms - Chambers Prices"
2 in
RoomStayCalculation.php
line 88:
$searchResults = [];
if ($this->debug) {
dump('Update Stay Rooms - Chambers Prices', $chambersRoomsPrices);
}
array:1 [
0 => array:3 [
0 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
"room_id" => 135
"room_picture" => "/uploads/rooms/135/671634540e650377649460.jpg"
"room_name" => "Chambre "Gardien View""
"room_slug" => "chambre-gardien-view"
"room_description" => "Découvrez le lagon turquoise au travers du jardin verdoyant. Écoutez le doux son des filaos qui se balancent dans la brise."
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 1910
"adult_amount" => 1080
"children_amount" => 0
"basis_amount" => 1080
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 270
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 270
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 270
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 270
"kids_price" => 0
]
]
]
]
1 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820}
"room_id" => 136
"room_picture" => "/uploads/rooms/136/67163492bdafa859065851.jpg"
"room_name" => "Chambre "Seaview""
"room_slug" => "chambre-seaview"
"room_description" => """
Vous êtes à deux pas de la piscine et de la mer.\r\n
C’est une bénédiction quotidienne. Autorisez-vous un plongeon rafraîchissant en cours de journée ou installez-vous pour un long bain de soleil.
"""
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 1921
"adult_amount" => 1200
"children_amount" => 0
"basis_amount" => 1200
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 300
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 300
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 300
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 300
"kids_price" => 0
]
]
]
]
2 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#820}
"room_id" => 137
"room_picture" => "/uploads/rooms/137/671634e0d36cb018552240.jpg"
"room_name" => "Chambre "Bang on Beach""
"room_slug" => "chambre-bang-on-beach"
"room_description" => "C’est la vie, la vraie. Ouvrez vos portes sur un sable blanc immaculé. Laissez-vous bercer par le clapotis des vagues pour une bonne nuit de sommeil."
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 1931
"adult_amount" => 1320
"children_amount" => 0
"basis_amount" => 1320
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 330
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 330
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 330
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 330
"kids_price" => 0
]
]
]
]
]
]
1 in
RoomStayCalculation.php
line 217:
}
if ($this->debug) {
dump('Update Stay Rooms results', $searchResults);
}
// Set the results and sort by total amount ASC
"Update Stay Rooms results"
2 in
RoomStayCalculation.php
line 217:
}
if ($this->debug) {
dump('Update Stay Rooms results', $searchResults);
}
// Set the results and sort by total amount ASC
array:3 [
0 => App\DTO\RoomStayDTO {#3400
-marginRate: 20
-id: 135
-name: "Chambre "Gardien View""
-slug: "chambre-gardien-view"
-picture: "/uploads/rooms/135/671634540e650377649460.jpg"
-description: "Découvrez le lagon turquoise au travers du jardin verdoyant. Écoutez le doux son des filaos qui se balancent dans la brise."
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 189
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 270
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 270
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 270
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 270
"kids_price" => 0
]
]
"amount" => 1080
]
]
-totalRoomAmount: 1080.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:4 [
0 => App\DTO\ExtraStayDTO {#3617
-marginRate: 20
+extraId: 189
+name: "BASE - PETIT DEJEUNER"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 1080.0
+totalStayAmountWoDiscount: 1080.0
+totalStayAmount: 1080.0
+finalAmountWoDiscount: 1296.0
+finalAmount: 1296.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
1 => App\DTO\ExtraStayDTO {#3620
-marginRate: 20
+extraId: 89
+name: "Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 90
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 360
+kidsExtrasAmount: 0
+stayExtrasAmount: 360
+stayRoomAmount: 1080.0
+totalStayAmountWoDiscount: 1440.0
+totalStayAmount: 1440.0
+finalAmountWoDiscount: 1728.0
+finalAmount: 1728.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
2 => App\DTO\ExtraStayDTO {#3623
-marginRate: 20
+extraId: 90
+name: "Pension complète"
+description: null
+stayTotalNights: 4
+dailyAdults: 160
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 640
+kidsExtrasAmount: 0
+stayExtrasAmount: 640
+stayRoomAmount: 1080.0
+totalStayAmountWoDiscount: 1720.0
+totalStayAmount: 1720.0
+finalAmountWoDiscount: 2064.0
+finalAmount: 2064.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
3 => App\DTO\ExtraStayDTO {#3624
-marginRate: 20
+extraId: 92
+name: "Formule "Tout Inclus""
+description: null
+stayTotalNights: 4
+dailyAdults: 240
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 960
+kidsExtrasAmount: 0
+stayExtrasAmount: 960
+stayRoomAmount: 1080.0
+totalStayAmountWoDiscount: 2040.0
+totalStayAmount: 2040.0
+finalAmountWoDiscount: 2448.0
+finalAmount: 2448.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
1 => App\DTO\RoomStayDTO {#3575
-marginRate: 20
-id: 136
-name: "Chambre "Seaview""
-slug: "chambre-seaview"
-picture: "/uploads/rooms/136/67163492bdafa859065851.jpg"
-description: """
Vous êtes à deux pas de la piscine et de la mer.\r\n
C’est une bénédiction quotidienne. Autorisez-vous un plongeon rafraîchissant en cours de journée ou installez-vous pour un long bain de soleil.
"""
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 189
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 300
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 300
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 300
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 300
"kids_price" => 0
]
]
"amount" => 1200
]
]
-totalRoomAmount: 1200.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:4 [
0 => App\DTO\ExtraStayDTO {#3625
-marginRate: 20
+extraId: 189
+name: "BASE - PETIT DEJEUNER"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 1200.0
+totalStayAmountWoDiscount: 1200.0
+totalStayAmount: 1200.0
+finalAmountWoDiscount: 1440.0
+finalAmount: 1440.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
1 => App\DTO\ExtraStayDTO {#3626
-marginRate: 20
+extraId: 89
+name: "Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 90
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 360
+kidsExtrasAmount: 0
+stayExtrasAmount: 360
+stayRoomAmount: 1200.0
+totalStayAmountWoDiscount: 1560.0
+totalStayAmount: 1560.0
+finalAmountWoDiscount: 1872.0
+finalAmount: 1872.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
2 => App\DTO\ExtraStayDTO {#3627
-marginRate: 20
+extraId: 90
+name: "Pension complète"
+description: null
+stayTotalNights: 4
+dailyAdults: 160
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 640
+kidsExtrasAmount: 0
+stayExtrasAmount: 640
+stayRoomAmount: 1200.0
+totalStayAmountWoDiscount: 1840.0
+totalStayAmount: 1840.0
+finalAmountWoDiscount: 2208.0
+finalAmount: 2208.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
3 => App\DTO\ExtraStayDTO {#3628
-marginRate: 20
+extraId: 92
+name: "Formule "Tout Inclus""
+description: null
+stayTotalNights: 4
+dailyAdults: 240
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 960
+kidsExtrasAmount: 0
+stayExtrasAmount: 960
+stayRoomAmount: 1200.0
+totalStayAmountWoDiscount: 2160.0
+totalStayAmount: 2160.0
+finalAmountWoDiscount: 2592.0
+finalAmount: 2592.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
2 => App\DTO\RoomStayDTO {#3596
-marginRate: 20
-id: 137
-name: "Chambre "Bang on Beach""
-slug: "chambre-bang-on-beach"
-picture: "/uploads/rooms/137/671634e0d36cb018552240.jpg"
-description: "C’est la vie, la vraie. Ouvrez vos portes sur un sable blanc immaculé. Laissez-vous bercer par le clapotis des vagues pour une bonne nuit de sommeil."
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 189
-chambersStayDetails: array:1 [
0 => array:3 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 330
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 330
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 330
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 330
"kids_price" => 0
]
]
"amount" => 1320
]
]
-totalRoomAmount: 1320.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:4 [
0 => App\DTO\ExtraStayDTO {#3629
-marginRate: 20
+extraId: 189
+name: "BASE - PETIT DEJEUNER"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 1320.0
+totalStayAmountWoDiscount: 1320.0
+totalStayAmount: 1320.0
+finalAmountWoDiscount: 1584.0
+finalAmount: 1584.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
1 => App\DTO\ExtraStayDTO {#3630
-marginRate: 20
+extraId: 89
+name: "Demi pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 90
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 360
+kidsExtrasAmount: 0
+stayExtrasAmount: 360
+stayRoomAmount: 1320.0
+totalStayAmountWoDiscount: 1680.0
+totalStayAmount: 1680.0
+finalAmountWoDiscount: 2016.0
+finalAmount: 2016.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
2 => App\DTO\ExtraStayDTO {#3631
-marginRate: 20
+extraId: 90
+name: "Pension complète"
+description: null
+stayTotalNights: 4
+dailyAdults: 160
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 640
+kidsExtrasAmount: 0
+stayExtrasAmount: 640
+stayRoomAmount: 1320.0
+totalStayAmountWoDiscount: 1960.0
+totalStayAmount: 1960.0
+finalAmountWoDiscount: 2352.0
+finalAmount: 2352.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
3 => App\DTO\ExtraStayDTO {#3632
-marginRate: 20
+extraId: 92
+name: "Formule "Tout Inclus""
+description: null
+stayTotalNights: 4
+dailyAdults: 240
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 960
+kidsExtrasAmount: 0
+stayExtrasAmount: 960
+stayRoomAmount: 1320.0
+totalStayAmountWoDiscount: 2280.0
+totalStayAmount: 2280.0
+finalAmountWoDiscount: 2736.0
+finalAmount: 2736.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: []
-error: []
}
]
1 in
RoomStayCalculation.php
line 274:
{
$offers_eligibled = [];
if ($this->debug) {
dump('All available offers of the hotel', $offers);
}
foreach ($offers as $key => $offer) {
"All available offers of the hotel"
2 in
RoomStayCalculation.php
line 274:
{
$offers_eligibled = [];
if ($this->debug) {
dump('All available offers of the hotel', $offers);
}
foreach ($offers as $key => $offer) {
Doctrine\Common\Collections\ArrayCollection {#3744
-elements: array:2 [
0 => App\Entity\Offers {#3663
-id: 238
-title: "FLASH SALES 30%"
-type: "Special"
-hotel: App\Entity\Hotels {#1141
-id: 22
-name: "Salt of Palmar"
-description: """
Le premier SALT devait être à Maurice. C'est notre maison, notre amour, notre fierté et notre joie. C'est une beauté exotique indéniable. Volcanique, blanc, bleu et vert. C'est indien, français, créole, chinois et africain. Ses couleurs, ses histoires, ses coutumes, ses sons et ses saveurs forment un mélange brillant et enivrant qu'il est impossible d'ignorer ou d'oublier. Si vous en faites l'expérience.\r\n
\r\n
C'est pourquoi nous avons créé SALT of Palmar. L’île Maurice est mûre pour l’exploration, imprégnée d’histoire et regorgeant d’un patrimoine humble et d’une culture moderne. Et nous voulons vous montrer la vraie Maurice.
"""
-website: "https://www.saltresorts.com/fr/maurice/hotel/saltofpalmar"
-stars: 5
-youtubeVideoId: "obiIi19ck1o"
-phone: "+230 698 2727"
-email: "reservation@saltresorts.com"
-active: true
-gmapUrl: "<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3744.275639081461!2d57.78713181217443!3d-20.205863881167257!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x217cfb1a0e896841%3A0x6e2cca285821d4b0!2sSALT%20of%20Palmar%2C%20an%20adult-only%20boutique%20hotel%2C%20a%20member%20of%20Design%20Hotels!5e0!3m2!1sfr!2sfr!4v1718969540531!5m2!1sfr!2sfr" width="100%" height="600" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>"
-zone: "Est"
-createdAt: DateTimeImmutable @1714145854 {#1139
date: 2024-04-26 15:37:34.0 UTC (+00:00)
}
-updatedAt: DateTimeImmutable @1733849171 {#1140
date: 2024-12-10 16:46:11.0 UTC (+00:00)
}
-rooms: Doctrine\ORM\PersistentCollection {#1142
#collection: Doctrine\Common\Collections\ArrayCollection {#1143
-elements: array:3 [
0 => App\Entity\Rooms {#1714
-id: 135
-name: "Chambre "Gardien View""
-description: "Découvrez le lagon turquoise au travers du jardin verdoyant. Écoutez le doux son des filaos qui se balancent dans la brise."
-active: true
-hotel: App\Entity\Hotels {#1141}
-roomPrices: Doctrine\Common\Collections\ArrayCollection {#3550
-elements: array:1 [
0 => App\Entity\RoomPrices {#1670
-id: 1910
-title: "Chambre "Gardien View" - Moyenne Saison"
-room: App\Entity\Rooms {#1714}
-quantity: null
-stayStartedAt: DateTimeImmutable @1737201600 {#1559
date: 2025-01-18 12:00:00.0 UTC (+00:00)
}
-stayEndedAt: DateTimeImmutable @1746014400 {#1570
date: 2025-04-30 12:00:00.0 UTC (+00:00)
}
-saleStartedAt: DateTimeImmutable @1725148800 {#1716
date: 2024-09-01 00:00:00.0 UTC (+00:00)
}
-saleEndedAt: DateTimeImmutable @1767181057 {#1715
date: 2025-12-31 11:37:37.0 UTC (+00:00)
}
-minNights: 1
-doubleOccupancy: "270.00"
-singleOccupancy: "255.00"
-tripleOccupancy: null
-active: true
-extraBaby: null
-extraChild: null
-extraTeen: 55.0
-defaultExtraLabel: null
}
]
}
-stopSales: Doctrine\ORM\PersistentCollection {#1713
#collection: Doctrine\Common\Collections\ArrayCollection {#1712
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Rooms {#1714}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#970 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1172 …}
}
-roomCapacities: Doctrine\ORM\PersistentCollection {#1711
#collection: Doctrine\Common\Collections\ArrayCollection {#1666
-elements: array:3 [
0 => App\Entity\RoomCapacities {#1887
-id: 1777
-room: App\Entity\Rooms {#1714}
-adults: 2
-teens: null
-children: null
-babies: null
-isDefaultConfig: false
}
1 => App\Entity\RoomCapacities {#1886
-id: 1778
-room: App\Entity\Rooms {#1714}
-adults: 1
-teens: null
-children: null
-babies: null
-isDefaultConfig: false
}
2 => App\Entity\RoomCapacities {#1885
-id: 1779
-room: App\Entity\Rooms {#1714}
-adults: 1
-teens: 1
-children: null
-babies: null
-isDefaultConfig: false
}
]
}
#initialized: true
-snapshot: array:3 [ …3]
-owner: App\Entity\Rooms {#1714}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#967 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1364 …}
}
-createdAt: DateTimeImmutable @1717520580 {#1721
date: 2024-06-04 17:03:00.0 UTC (+00:00)
}
-updatedAt: DateTimeImmutable @1729672838 {#1692
date: 2024-10-23 08:40:38.0 UTC (+00:00)
}
-imageFile: null
-featuredImage: "671634540e650377649460.jpg"
-gallery: App\Entity\Galleries {#1665
-id: 108
-hotel: null
-room: App\Entity\Rooms {#1714}
-images: Doctrine\ORM\PersistentCollection {#1672
#collection: Doctrine\Common\Collections\ArrayCollection {#1675
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Galleries {#1665}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#934 …}
-backRefFieldName: "gallery"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1104 …}
}
-title: "Salt of Palmar Gardien view"
}
-mediaDirSlug: "135"
-lowerRoomPrice: null
-services: array:1 [
0 => ""
]
-slug: "chambre-gardien-view"
}
1 => App\Entity\Rooms {#1682
-id: 136
-name: "Chambre "Seaview""
-description: """
Vous êtes à deux pas de la piscine et de la mer.\r\n
C’est une bénédiction quotidienne. Autorisez-vous un plongeon rafraîchissant en cours de journée ou installez-vous pour un long bain de soleil.
"""
-active: true
-hotel: App\Entity\Hotels {#1141}
-roomPrices: Doctrine\Common\Collections\ArrayCollection {#3354
-elements: array:1 [
0 => App\Entity\RoomPrices {#1691
-id: 1921
-title: "Chambre "Seaview" - Moyenne Saison (copie)"
-room: App\Entity\Rooms {#1682}
-quantity: null
-stayStartedAt: DateTimeImmutable @1737201600 {#1671
date: 2025-01-18 12:00:00.0 UTC (+00:00)
}
-stayEndedAt: DateTimeImmutable @1746014400 {#1678
date: 2025-04-30 12:00:00.0 UTC (+00:00)
}
-saleStartedAt: DateTimeImmutable @1725148800 {#1681
date: 2024-09-01 00:00:00.0 UTC (+00:00)
}
-saleEndedAt: DateTimeImmutable @1767181057 {#1680
date: 2025-12-31 11:37:37.0 UTC (+00:00)
}
-minNights: 1
-doubleOccupancy: "300.00"
-singleOccupancy: "285.00"
-tripleOccupancy: null
-active: true
-extraBaby: null
-extraChild: null
-extraTeen: 55.0
-defaultExtraLabel: null
}
]
}
-stopSales: Doctrine\ORM\PersistentCollection {#1677
#collection: Doctrine\Common\Collections\ArrayCollection {#1684
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Rooms {#1682}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#970 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1172 …}
}
-roomCapacities: Doctrine\ORM\PersistentCollection {#1687
#collection: Doctrine\Common\Collections\ArrayCollection {#1686
-elements: array:3 [
0 => App\Entity\RoomCapacities {#1884
-id: 1780
-room: App\Entity\Rooms {#1682}
-adults: 2
-teens: null
-children: null
-babies: null
-isDefaultConfig: false
}
1 => App\Entity\RoomCapacities {#1883
-id: 1781
-room: App\Entity\Rooms {#1682}
-adults: 1
-teens: null
-children: null
-babies: null
-isDefaultConfig: false
}
2 => App\Entity\RoomCapacities {#1882
-id: 1782
-room: App\Entity\Rooms {#1682}
-adults: 1
-teens: 1
-children: null
-babies: null
-isDefaultConfig: false
}
]
}
#initialized: true
-snapshot: array:3 [ …3]
-owner: App\Entity\Rooms {#1682}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#967 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1364 …}
}
-createdAt: DateTimeImmutable @1717520580 {#1674
date: 2024-06-04 17:03:00.0 UTC (+00:00)
}
-updatedAt: DateTimeImmutable @1729672838 {#1676
date: 2024-10-23 08:40:38.0 UTC (+00:00)
}
-imageFile: null
-featuredImage: "67163492bdafa859065851.jpg"
-gallery: App\Entity\Galleries {#1694
-id: 109
-hotel: null
-room: App\Entity\Rooms {#1682}
-images: Doctrine\ORM\PersistentCollection {#1693
#collection: Doctrine\Common\Collections\ArrayCollection {#1695
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Galleries {#1694}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#934 …}
-backRefFieldName: "gallery"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1104 …}
}
-title: "salt of Palmar Seaview"
}
-mediaDirSlug: "136"
-lowerRoomPrice: null
-services: array:1 [
0 => ""
]
-slug: "chambre-seaview"
}
2 => App\Entity\Rooms {#1702
-id: 137
-name: "Chambre "Bang on Beach""
-description: "C’est la vie, la vraie. Ouvrez vos portes sur un sable blanc immaculé. Laissez-vous bercer par le clapotis des vagues pour une bonne nuit de sommeil."
-active: true
-hotel: App\Entity\Hotels {#1141}
-roomPrices: Doctrine\Common\Collections\ArrayCollection {#3568
-elements: array:1 [
0 => App\Entity\RoomPrices {#1648
-id: 1931
-title: "Chambre "Bang on Beach" - Moyenne Saison (copie)"
-room: App\Entity\Rooms {#1702}
-quantity: null
-stayStartedAt: DateTimeImmutable @1737201600 {#1700
date: 2025-01-18 12:00:00.0 UTC (+00:00)
}
-stayEndedAt: DateTimeImmutable @1746014400 {#1699
date: 2025-04-30 12:00:00.0 UTC (+00:00)
}
-saleStartedAt: DateTimeImmutable @1725148800 {#1701
date: 2024-09-01 00:00:00.0 UTC (+00:00)
}
-saleEndedAt: DateTimeImmutable @1767181057 {#1696
date: 2025-12-31 11:37:37.0 UTC (+00:00)
}
-minNights: 1
-doubleOccupancy: "330.00"
-singleOccupancy: "315.00"
-tripleOccupancy: null
-active: true
-extraBaby: null
-extraChild: null
-extraTeen: 55.0
-defaultExtraLabel: null
}
]
}
-stopSales: Doctrine\ORM\PersistentCollection {#1689
#collection: Doctrine\Common\Collections\ArrayCollection {#1703
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Rooms {#1702}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#970 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1172 …}
}
-roomCapacities: Doctrine\ORM\PersistentCollection {#1664
#collection: Doctrine\Common\Collections\ArrayCollection {#1705
-elements: array:3 [
0 => App\Entity\RoomCapacities {#1881
-id: 1783
-room: App\Entity\Rooms {#1702}
-adults: 2
-teens: null
-children: null
-babies: null
-isDefaultConfig: false
}
1 => App\Entity\RoomCapacities {#1880
-id: 1784
-room: App\Entity\Rooms {#1702}
-adults: 1
-teens: null
-children: null
-babies: null
-isDefaultConfig: false
}
2 => App\Entity\RoomCapacities {#1879
-id: 1785
-room: App\Entity\Rooms {#1702}
-adults: 1
-teens: 1
-children: null
-babies: null
-isDefaultConfig: false
}
]
}
#initialized: true
-snapshot: array:3 [ …3]
-owner: App\Entity\Rooms {#1702}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#967 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1364 …}
}
-createdAt: DateTimeImmutable @1717520580 {#1690
date: 2024-06-04 17:03:00.0 UTC (+00:00)
}
-updatedAt: DateTimeImmutable @1729672838 {#1697
date: 2024-10-23 08:40:38.0 UTC (+00:00)
}
-imageFile: null
-featuredImage: "671634e0d36cb018552240.jpg"
-gallery: App\Entity\Galleries {#1649
-id: 110
-hotel: null
-room: App\Entity\Rooms {#1702}
-images: Doctrine\ORM\PersistentCollection {#1650
#collection: Doctrine\Common\Collections\ArrayCollection {#1651
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Galleries {#1649}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#934 …}
-backRefFieldName: "gallery"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1104 …}
}
-title: "Salt of Palmar Bang on Beach"
}
-mediaDirSlug: "137"
-lowerRoomPrice: null
-services: array:1 [
0 => ""
]
-slug: "chambre-bang-on-beach"
}
]
}
#initialized: true
-snapshot: array:3 [ …3]
-owner: App\Entity\Hotels {#1141}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#880 …}
-backRefFieldName: "hotel"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#942 …}
}
-address: "Route Côtière, Palmar, Île Maurice"
-checkInTime: "14:00"
-checkOutTime: "11:00"
-babyAgeMax: "2"
-childAgeMax: "16"
-teenAgeMax: "18"
-extraCharges: Doctrine\ORM\PersistentCollection {#1144
#collection: Doctrine\Common\Collections\ArrayCollection {#1145
-elements: array:4 [
0 => App\Entity\ExtraCharges {#3612
-id: 89
-title: "Demi pension"
-description: null
-adultExtra: 45.0
-babyExtra: null
-childExtra: null
-teenExtra: 45.0
-stayStartedAt: null
-stayEndedAt: null
-isActive: true
-isMandatory: false
-minNights: null
-hotel: App\Entity\Hotels {#1141}
}
1 => App\Entity\ExtraCharges {#3573
-id: 90
-title: "Pension complète"
-description: null
-adultExtra: 80.0
-babyExtra: null
-childExtra: null
-teenExtra: 80.0
-stayStartedAt: null
-stayEndedAt: null
-isActive: true
-isMandatory: false
-minNights: null
-hotel: App\Entity\Hotels {#1141}
}
2 => App\Entity\ExtraCharges {#3589
-id: 92
-title: "Formule "Tout Inclus""
-description: null
-adultExtra: 120.0
-babyExtra: null
-childExtra: null
-teenExtra: 90.0
-stayStartedAt: null
-stayEndedAt: null
-isActive: true
-isMandatory: false
-minNights: null
-hotel: App\Entity\Hotels {#1141}
}
3 => App\Entity\ExtraCharges {#3619
-id: 189
-title: "BASE - PETIT DEJEUNER"
-description: null
-adultExtra: 0.0
-babyExtra: 0.0
-childExtra: 0.0
-teenExtra: 0.0
-stayStartedAt: null
-stayEndedAt: null
-isActive: true
-isMandatory: true
-minNights: null
-hotel: App\Entity\Hotels {#1141}
}
]
}
#initialized: true
-snapshot: array:4 [ …4]
-owner: App\Entity\Hotels {#1141}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#876 …}
-backRefFieldName: "hotel"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#951 …}
}
-imageFile: null
-featuredImage: "66965da291ccc236118074.jpg"
-gallery: App\Entity\Galleries {#1148
-id: 21
-hotel: App\Entity\Hotels {#1141}
-room: null
-images: Doctrine\ORM\PersistentCollection {#1149
#collection: Doctrine\Common\Collections\ArrayCollection {#1150
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Galleries {#1148}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#934 …}
-backRefFieldName: "gallery"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1104 …}
}
-title: "Hotel Salt of Palmar"
}
-mediaDirSlug: null
-offers: Doctrine\Common\Collections\ArrayCollection {#3744}
-highlighted: false
-services: array:1 [
0 => ""
]
-hlStartAt: null
-hlEndAt: null
-slug: "salt-of-palmar"
}
-description: null
-stayStartAt: DateTimeImmutable @1733011200 {#3656
date: 2024-12-01 00:00:00.0 UTC (+00:00)
}
-stayEndAt: DateTimeImmutable @1745971200 {#3637
date: 2025-04-30 00:00:00.0 UTC (+00:00)
}
-bookingStartAt: DateTimeImmutable @1733011200 {#3655
date: 2024-12-01 00:00:00.0 UTC (+00:00)
}
-bookingEndAt: DateTimeImmutable @1739577600 {#3661
date: 2025-02-15 00:00:00.0 UTC (+00:00)
}
-reference: "FLASH SALES 30%"
-minNights: null
-maxNights: null
-earlyBookingDays: null
-applyToAllRooms: true
-selectedRooms: Doctrine\ORM\PersistentCollection {#3664
#collection: Doctrine\Common\Collections\ArrayCollection {#3665
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#3663}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1076 …}
-backRefFieldName: null
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#942 …}
}
-discount: 30
-combinable: false
-selectedOffers: Doctrine\ORM\PersistentCollection {#3666
#collection: Doctrine\Common\Collections\ArrayCollection {#3667
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#3663}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1082 …}
-backRefFieldName: "offers"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#957 …}
}
-offers: Doctrine\ORM\PersistentCollection {#3668
#collection: Doctrine\Common\Collections\ArrayCollection {#3669
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#3663}
-association: Doctrine\ORM\Mapping\ManyToManyInverseSideMapping {#1086 …}
-backRefFieldName: "selectedOffers"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#957 …}
}
-combinableDiscount: null
-selectedExtras: Doctrine\ORM\PersistentCollection {#3670
#collection: Doctrine\Common\Collections\ArrayCollection {#3671
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#3663}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1088 …}
-backRefFieldName: null
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#951 …}
}
-active: true
-selectedExtrasDiscounted: Doctrine\ORM\PersistentCollection {#3672
#collection: Doctrine\Common\Collections\ArrayCollection {#3673
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#3663}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1094 …}
-backRefFieldName: null
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#951 …}
}
-extrasDiscount: null
-priority: 1
-discountKids1: null
-discountKids2: null
-discountKids3: null
}
1 => App\Entity\Offers {#3678
-id: 239
-title: "FABULOUS OFFER 20%"
-type: "Special"
-hotel: App\Entity\Hotels {#1141}
-description: null
-stayStartAt: DateTimeImmutable @1740268800 {#3674
date: 2025-02-23 00:00:00.0 UTC (+00:00)
}
-stayEndAt: DateTimeImmutable @1745971200 {#3675
date: 2025-04-30 00:00:00.0 UTC (+00:00)
}
-bookingStartAt: DateTimeImmutable @1739664000 {#3676
date: 2025-02-16 00:00:00.0 UTC (+00:00)
}
-bookingEndAt: DateTimeImmutable @1744675200 {#3677
date: 2025-04-15 00:00:00.0 UTC (+00:00)
}
-reference: "FABULOUS OFFER 20%"
-minNights: null
-maxNights: null
-earlyBookingDays: null
-applyToAllRooms: true
-selectedRooms: Doctrine\ORM\PersistentCollection {#3679
#collection: Doctrine\Common\Collections\ArrayCollection {#3680
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#3678}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1076 …}
-backRefFieldName: null
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#942 …}
}
-discount: 20
-combinable: false
-selectedOffers: Doctrine\ORM\PersistentCollection {#3681
#collection: Doctrine\Common\Collections\ArrayCollection {#3682
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#3678}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1082 …}
-backRefFieldName: "offers"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#957 …}
}
-offers: Doctrine\ORM\PersistentCollection {#3683
#collection: Doctrine\Common\Collections\ArrayCollection {#3684
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#3678}
-association: Doctrine\ORM\Mapping\ManyToManyInverseSideMapping {#1086 …}
-backRefFieldName: "selectedOffers"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#957 …}
}
-combinableDiscount: null
-selectedExtras: Doctrine\ORM\PersistentCollection {#3685
#collection: Doctrine\Common\Collections\ArrayCollection {#3686
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#3678}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1088 …}
-backRefFieldName: null
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#951 …}
}
-active: true
-selectedExtrasDiscounted: Doctrine\ORM\PersistentCollection {#3687
#collection: Doctrine\Common\Collections\ArrayCollection {#3688
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#3678}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1094 …}
-backRefFieldName: null
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#951 …}
}
-extrasDiscount: null
-priority: 1
-discountKids1: null
-discountKids2: null
-discountKids3: null
}
]
}
1 in
PromotionDTO.php
line 522:
if ($offer_bookingStartAt >= $currentBookingDate || $currentBookingDate >= $offer_bookingEndAt)
{
if ($this->debug) {
dump($offer->getId() .' - ' . $offer->getTitle(), 'booking dates failure.');
}
return $this;
}
"238 - FLASH SALES 30%"
2 in
PromotionDTO.php
line 522:
if ($offer_bookingStartAt >= $currentBookingDate || $currentBookingDate >= $offer_bookingEndAt)
{
if ($this->debug) {
dump($offer->getId() .' - ' . $offer->getTitle(), 'booking dates failure.');
}
return $this;
}
"booking dates failure."
1 in
RoomStayCalculation.php
line 246:
$validOffers = $this->getValidOffers($hotel->getOffers());
if ($this->debug) {
dump('Step 1. Offres valides : ', $validOffers);
}
if ($validOffers == null) {
"Step 1. Offres valides : "
2 in
RoomStayCalculation.php
line 246:
$validOffers = $this->getValidOffers($hotel->getOffers());
if ($this->debug) {
dump('Step 1. Offres valides : ', $validOffers);
}
if ($validOffers == null) {
array:1 [
0 => App\DTO\PromotionDTO {#3840
-debug: true
+id: 239
+title: "FABULOUS OFFER 20%"
+description: null
+type: "Special"
+reference: "FABULOUS OFFER 20%"
+from: DateTimeImmutable @1740268800 {#3674
date: 2025-02-23 00:00:00.0 UTC (+00:00)
}
+to: DateTimeImmutable @1745971200 {#3675
date: 2025-04-30 00:00:00.0 UTC (+00:00)
}
+earlyBookingDays: null
+minNights: null
+maxNights: null
+discountRate: 20
+discountFamilyRates: []
+combinableRate: null
+priority: 1
+extrasDiscountRate: null
+isAllRooms: true
+isCombinable: false
+selectedRoomsIDs: []
+selectedExtrasIDs: []
+selectedOffersIDs: []
+selectedExtrasDiscountIDs: []
}
]
1 in
HomeController.php
line 84:
'config_chambers' => ($siteSession->getSessionVar('search/chambers')) ? json_decode($siteSession->getSessionVar('search/chambers')) : null
];
dump('Search Model booking :', $searchToolsDTO);
$form = $this->createForm(SearchToolsType::class, $searchToolsDTO, $searchTypeOptions);
"Search Model booking :"
2 in
HomeController.php
line 84:
'config_chambers' => ($siteSession->getSessionVar('search/chambers')) ? json_decode($siteSession->getSessionVar('search/chambers')) : null
];
dump('Search Model booking :', $searchToolsDTO);
$form = $this->createForm(SearchToolsType::class, $searchToolsDTO, $searchTypeOptions);
App\DTO\SearchToolsDTO {#738
-date_format: "d/m/Y"
-uploaderHelper: Vich\UploaderBundle\Templating\Helper\UploaderHelper {#739
-storage: Vich\UploaderBundle\Storage\FileSystemStorage {#740
#factory: Vich\UploaderBundle\Mapping\PropertyMappingFactory {#741
-metadata: Vich\UploaderBundle\Metadata\MetadataReader {#458
-reader: Metadata\MetadataFactory {#450
-driver: Metadata\Driver\DriverChain {#451
-drivers: array:4 [
0 => Vich\UploaderBundle\Metadata\Driver\XmlDriver {#452
-locator: Metadata\Driver\FileLocator {#449
-dirs: []
}
}
1 => Vich\UploaderBundle\Metadata\Driver\AnnotationDriver {#453
#reader: Vich\UploaderBundle\Metadata\Driver\AttributeReader {#454}
-managerRegistryList: array:1 [
0 => Doctrine\Bundle\DoctrineBundle\Registry {#83
-name: "ORM"
-connections: array:1 [
"default" => "doctrine.dbal.default_connection"
]
-managers: array:1 [
"default" => "doctrine.orm.default_entity_manager"
]
-defaultConnection: "default"
-defaultManager: "default"
-proxyInterfaceName: "Doctrine\Persistence\Proxy"
#container: ContainerUIpB4Xl\App_KernelDevDebugContainer {#42 …20}
}
]
}
2 => Vich\UploaderBundle\Metadata\Driver\YamlDriver {#455
-locator: Metadata\Driver\FileLocator {#449}
}
3 => Vich\UploaderBundle\Metadata\Driver\YmlDriver {#456
-locator: Metadata\Driver\FileLocator {#449}
}
]
}
-cache: Metadata\Cache\FileCache {#457
-dir: "/var/www/vhost/allons-maurice/app/var/cache/dev/vich_uploader"
}
-loadedMetadata: array:5 [
"App\Entity\Rooms" => Metadata\ClassHierarchyMetadata {#1847
+classMetadata: array:1 [
"App\Entity\Rooms" => Vich\UploaderBundle\Metadata\ClassMetadata {#1168
+name: "App\Entity\Rooms"
+methodMetadata: []
+propertyMetadata: []
+fileResources: array:1 [
0 => "/var/www/vhost/allons-maurice/app/src/Entity/Rooms.php"
]
+createdAt: 1738921302
+fields: array:1 [
"imageFile" => array:7 [
"mapping" => "featured_rooms"
"propertyName" => "imageFile"
"fileNameProperty" => "featuredImage"
"size" => null
"mimeType" => null
"originalName" => null
"dimensions" => null
]
]
}
]
}
"App\Entity\Hotels" => Metadata\ClassHierarchyMetadata {#3971
+classMetadata: array:1 [
"App\Entity\Hotels" => Vich\UploaderBundle\Metadata\ClassMetadata {#3972
+name: "App\Entity\Hotels"
+methodMetadata: []
+propertyMetadata: []
+fileResources: array:1 [
0 => "/var/www/vhost/allons-maurice/app/src/Entity/Hotels.php"
]
+createdAt: 1738921302
+fields: array:1 [
"imageFile" => array:7 [
"mapping" => "featured_hotels"
"propertyName" => "imageFile"
"fileNameProperty" => "featuredImage"
"size" => null
"mimeType" => null
"originalName" => null
"dimensions" => null
]
]
}
]
}
"App\Entity\Slides" => Metadata\ClassHierarchyMetadata {#4204
+classMetadata: array:1 [
"App\Entity\Slides" => Vich\UploaderBundle\Metadata\ClassMetadata {#4205
+name: "App\Entity\Slides"
+methodMetadata: []
+propertyMetadata: []
+fileResources: array:1 [
0 => "/var/www/vhost/allons-maurice/app/src/Entity/Slides.php"
]
+createdAt: 1738921302
+fields: array:1 [
"imageFile" => array:7 [
"mapping" => "slides"
"propertyName" => "imageFile"
"fileNameProperty" => "bgImage"
"size" => null
"mimeType" => null
"originalName" => null
"dimensions" => null
]
]
}
]
}
"App\Entity\Images" => Metadata\ClassHierarchyMetadata {#4463
+classMetadata: array:1 [
"App\Entity\Images" => Vich\UploaderBundle\Metadata\ClassMetadata {#4464
+name: "App\Entity\Images"
+methodMetadata: []
+propertyMetadata: []
+fileResources: array:1 [
0 => "/var/www/vhost/allons-maurice/app/src/Entity/Images.php"
]
+createdAt: 1738921302
+fields: array:1 [
"imageFile" => array:7 [
"mapping" => "medias"
"propertyName" => "imageFile"
"fileNameProperty" => "imageName"
"size" => "size"
"mimeType" => "type"
"originalName" => null
"dimensions" => "dimensions"
]
]
}
]
}
"App\Entity\Posts" => Metadata\ClassHierarchyMetadata {#4465
+classMetadata: array:1 [
"App\Entity\Posts" => Vich\UploaderBundle\Metadata\ClassMetadata {#4417
+name: "App\Entity\Posts"
+methodMetadata: []
+propertyMetadata: []
+fileResources: array:1 [
0 => "/var/www/vhost/allons-maurice/app/src/Entity/Posts.php"
]
+createdAt: 1738921302
+fields: array:1 [
"imageFile" => array:7 [
"mapping" => "featured_posts"
"propertyName" => "imageFile"
"fileNameProperty" => "featuredImage"
"size" => null
"mimeType" => null
"originalName" => null
"dimensions" => null
]
]
}
]
}
]
-loadedClassMetadata: array:5 [
"App\Entity\Rooms" => Vich\UploaderBundle\Metadata\ClassMetadata {#1168}
"App\Entity\Hotels" => Vich\UploaderBundle\Metadata\ClassMetadata {#3972}
"App\Entity\Slides" => Vich\UploaderBundle\Metadata\ClassMetadata {#4205}
"App\Entity\Images" => Vich\UploaderBundle\Metadata\ClassMetadata {#4464}
"App\Entity\Posts" => Vich\UploaderBundle\Metadata\ClassMetadata {#4417}
]
-hierarchyMetadataClass: "Metadata\ClassHierarchyMetadata"
-includeInterfaces: false
-debug: true
}
}
-resolver: Vich\UploaderBundle\Mapping\PropertyMappingResolver {#742
-container: ContainerUIpB4Xl\App_KernelDevDebugContainer {#42 …20}
-mappings: array:5 [
"featured_hotels" => array:8 [
"uri_prefix" => "/uploads/hotels"
"upload_destination" => "/var/www/vhost/allons-maurice/app/public/uploads/hotels"
"namer" => array:2 [
"service" => "Vich\UploaderBundle\Naming\UniqidNamer.featured_hotels"
"options" => []
]
"directory_namer" => array:2 [
"service" => "vich_uploader.namer_directory_property"
"options" => array:2 [
"property" => "mediaDirSlug"
"transliterate" => true
]
]
"delete_on_remove" => true
"delete_on_update" => true
"inject_on_load" => false
"db_driver" => "orm"
]
"featured_rooms" => array:8 [
"uri_prefix" => "/uploads/rooms"
"upload_destination" => "/var/www/vhost/allons-maurice/app/public/uploads/rooms"
"namer" => array:2 [
"service" => "Vich\UploaderBundle\Naming\UniqidNamer.featured_rooms"
"options" => []
]
"directory_namer" => array:2 [
"service" => "vich_uploader.namer_directory_property"
"options" => array:2 [
"property" => "mediaDirSlug"
"transliterate" => true
]
]
"delete_on_remove" => true
"delete_on_update" => true
"inject_on_load" => false
"db_driver" => "orm"
]
"featured_posts" => array:8 [
"uri_prefix" => "/uploads/posts"
"upload_destination" => "/var/www/vhost/allons-maurice/app/public/uploads/posts"
"namer" => array:2 [
"service" => "Vich\UploaderBundle\Naming\UniqidNamer.featured_posts"
"options" => []
]
"directory_namer" => array:2 [
"service" => "Vich\UploaderBundle\Naming\CurrentDateTimeDirectoryNamer"
"options" => array:2 [
"date_time_format" => "Y/m/d"
"date_time_property" => "uploadedAt"
]
]
"delete_on_remove" => true
"delete_on_update" => true
"inject_on_load" => false
"db_driver" => "orm"
]
"medias" => array:8 [
"uri_prefix" => "/uploads/medias"
"upload_destination" => "/var/www/vhost/allons-maurice/app/public/uploads/medias"
"namer" => array:2 [
"service" => "Vich\UploaderBundle\Naming\UniqidNamer.medias"
"options" => []
]
"directory_namer" => array:2 [
"service" => "Vich\UploaderBundle\Naming\CurrentDateTimeDirectoryNamer"
"options" => array:2 [
"date_time_format" => "Y/m/d"
"date_time_property" => "uploadedAt"
]
]
"delete_on_remove" => true
"delete_on_update" => true
"inject_on_load" => false
"db_driver" => "orm"
]
"slides" => array:8 [
"uri_prefix" => "/uploads/slides"
"upload_destination" => "/var/www/vhost/allons-maurice/app/public/uploads/slides"
"namer" => array:2 [
"service" => "Vich\UploaderBundle\Naming\UniqidNamer.slides"
"options" => []
]
"directory_namer" => array:2 [
"service" => null
"options" => null
]
"delete_on_remove" => true
"delete_on_update" => true
"inject_on_load" => false
"db_driver" => "orm"
]
]
-defaultFilenameAttributeSuffix: "_name"
}
}
}
}
+hotel: null
+stars: null
+dateRange: "22/03/2025 - 26/03/2025"
+fromAt: DateTimeImmutable @1742601600 {#4652
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+toAt: DateTimeImmutable @1743033540 {#4653
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
+zone: null
+honeymoon: false
+ageLimits: array:3 [
"baby" => 5
"child" => 13
"teen" => 18
]
+nights: null
+chambers: []
+stay_rooms: []
}