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 : LUX Grand Baie - Chambre : #129 - 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 {#1413
+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 {#1588
+rpId: 1941
+adultsPrice: 680
+childrenPrice: 0
+startAt: DateTimeImmutable @1742601600 {#1466
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+endAt: DateTimeImmutable @1743033540 {#1452
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" => 680
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 680
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 680
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 680
"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:1 [
0 => array:13 [
"current_chamber" => App\DTO\SearchChambersDTO {#1413
+nbAdults: 2
+nbChildren: 0
+teenCount: null
+childCount: null
+babyCount: null
+birthdays: []
}
"room_id" => 129
"room_picture" => "/uploads/rooms/129/67163137189df365199476.jpg"
"room_name" => "Suite Junior"
"room_slug" => "suite-junior"
"room_description" => """
Incroyablement spacieuses et lumineuses, nos suites Junior s’inspirent des lofts de designers. Situées au rez-de-chaussée, au premier ou au deuxième étage, toutes nos suites de 65 m2 (incluant les espaces extérieurs) sont dotées d'une salle de bain en Terrazzo, avec une douche à effet de pluie et une baignoire.\r\n
Un lit king-size et du linge de lit de qualité pour de bonnes nuits de sommeil. Un dressing spacieux et une terrasse extérieure avec vue sur la mer. Un design élégant et des éléments high-tech parfaitement intégrés, tels que des volets et rideaux automatisés.\r\n
Un bureau, un minibar et une TV LED 55" avec films à la demande. Installez-vous confortablement et profitez de ce séjour sous les tropiques !
"""
"adults" => 2
"kids" => 0
"teens" => null
"children" => null
"babies" => null
"isCapacity" => true
"prices" => array:7 [
"room_price_id" => 1941
"adult_amount" => 2720
"children_amount" => 0
"basis_amount" => 2720
"mandatoryExtraId" => null
"default_extra_label" => ""
"dates_prices" => array:4 [
"2025-03-22" => array:2 [
"adults_price" => 680
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 680
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 680
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 680
"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:1 [
0 => App\DTO\RoomStayDTO {#1599
-marginRate: 20
-id: 129
-name: "Suite Junior"
-slug: "suite-junior"
-picture: "/uploads/rooms/129/67163137189df365199476.jpg"
-description: """
Incroyablement spacieuses et lumineuses, nos suites Junior s’inspirent des lofts de designers. Situées au rez-de-chaussée, au premier ou au deuxième étage, toutes nos suites de 65 m2 (incluant les espaces extérieurs) sont dotées d'une salle de bain en Terrazzo, avec une douche à effet de pluie et une baignoire.\r\n
Un lit king-size et du linge de lit de qualité pour de bonnes nuits de sommeil. Un dressing spacieux et une terrasse extérieure avec vue sur la mer. Un design élégant et des éléments high-tech parfaitement intégrés, tels que des volets et rideaux automatisés.\r\n
Un bureau, un minibar et une TV LED 55" avec films à la demande. Installez-vous confortablement et profitez de ce séjour sous les tropiques !
"""
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 174
-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" => 680
"kids_price" => 0
]
"2025-03-23" => array:2 [
"adults_price" => 680
"kids_price" => 0
]
"2025-03-24" => array:2 [
"adults_price" => 680
"kids_price" => 0
]
"2025-03-25" => array:2 [
"adults_price" => 680
"kids_price" => 0
]
]
"amount" => 2720
]
]
-totalRoomAmount: 2720.0
-totalRoomAmountDiscounted: null
-marginTotalRoom: null
-marginTotalRoomDiscounted: null
-communExtras: array:4 [
0 => App\DTO\ExtraStayDTO {#1622
-marginRate: 20
+extraId: 174
+name: "BASE - PETIT DEJEUNER"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 2720.0
+totalStayAmountWoDiscount: 2720.0
+totalStayAmount: 2720.0
+finalAmountWoDiscount: 3264.0
+finalAmount: 3264.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
1 => App\DTO\ExtraStayDTO {#1623
-marginRate: 20
+extraId: 114
+name: "Suppléments Demi-pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 160
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 640
+kidsExtrasAmount: 0
+stayExtrasAmount: 640
+stayRoomAmount: 2720.0
+totalStayAmountWoDiscount: 3360.0
+totalStayAmount: 3360.0
+finalAmountWoDiscount: 4032.0
+finalAmount: 4032.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
2 => App\DTO\ExtraStayDTO {#1648
-marginRate: 20
+extraId: 115
+name: "Suppléments Pension complète"
+description: null
+stayTotalNights: 4
+dailyAdults: 240
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 960
+kidsExtrasAmount: 0
+stayExtrasAmount: 960
+stayRoomAmount: 2720.0
+totalStayAmountWoDiscount: 3680.0
+totalStayAmount: 3680.0
+finalAmountWoDiscount: 4416.0
+finalAmount: 4416.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
3 => App\DTO\ExtraStayDTO {#1649
-marginRate: 20
+extraId: 116
+name: "Suppléments Formule "Tout inclus""
+description: null
+stayTotalNights: 4
+dailyAdults: 500
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 2000
+kidsExtrasAmount: 0
+stayExtrasAmount: 2000
+stayRoomAmount: 2720.0
+totalStayAmountWoDiscount: 4720.0
+totalStayAmount: 4720.0
+finalAmountWoDiscount: 5664.0
+finalAmount: 5664.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 {#2008
-elements: array:1 [
0 => App\Entity\Offers {#1822
-id: 222
-title: "FABULOUS OFFER 25%"
-type: "Special"
-hotel: App\Entity\Hotels {#1027
-id: 21
-name: "LUX Grand Baie"
-description: "Un joyau de modernité délicatement posé sur la côte nord de l'île Maurice, qui fait tourner les têtes et chavirer les cœurs. LUX* Grand Baie redéfinit les codes du luxe et invite à apprécier le rythme paisible de la vie sur les îles. Paisible, mais pas monotone. Cet élégant boutique-hôtel, à l'image de la ville balnéaire à laquelle il doit son nom, est captivant et exaltant. Son incomparable scène culinaire, son époustouflant rooftop, son spa dernier cri sont autant d’invitations à profiter pleinement de chaque instant."
-website: "https://www.luxresorts.com/fr/maurice/hotel/luxgrandbaie"
-stars: 5
-youtubeVideoId: "p3Bcdro8Csw"
-phone: "+230 209 2200"
-email: "luxgrandbaie@luxresorts.com"
-active: true
-gmapUrl: "<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3749.1847857001076!2d57.58043401217097!3d-20.00075778132614!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x217dab1da78e0199%3A0x8fe7bfe84f5e6684!2sLUX*2A%20Grand%20Baie!5e0!3m2!1sfr!2sfr!4v1718969493716!5m2!1sfr!2sfr" width="100%" height="600" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>"
-zone: "Nord"
-createdAt: DateTimeImmutable @1714145854 {#1019
date: 2024-04-26 15:37:34.0 UTC (+00:00)
}
-updatedAt: DateTimeImmutable @1729672825 {#1050
date: 2024-10-23 08:40:25.0 UTC (+00:00)
}
-rooms: Doctrine\ORM\PersistentCollection {#1024
#collection: Doctrine\Common\Collections\ArrayCollection {#1023
-elements: array:1 [
0 => App\Entity\Rooms {#1047
-id: 129
-name: "Suite Junior"
-description: """
Incroyablement spacieuses et lumineuses, nos suites Junior s’inspirent des lofts de designers. Situées au rez-de-chaussée, au premier ou au deuxième étage, toutes nos suites de 65 m2 (incluant les espaces extérieurs) sont dotées d'une salle de bain en Terrazzo, avec une douche à effet de pluie et une baignoire.\r\n
Un lit king-size et du linge de lit de qualité pour de bonnes nuits de sommeil. Un dressing spacieux et une terrasse extérieure avec vue sur la mer. Un design élégant et des éléments high-tech parfaitement intégrés, tels que des volets et rideaux automatisés.\r\n
Un bureau, un minibar et une TV LED 55" avec films à la demande. Installez-vous confortablement et profitez de ce séjour sous les tropiques !
"""
-active: true
-hotel: App\Entity\Hotels {#1027}
-roomPrices: Doctrine\Common\Collections\ArrayCollection {#1689
-elements: array:1 [
0 => App\Entity\RoomPrices {#1719
-id: 1941
-title: "Suite Junior - Moyenne Saison"
-room: App\Entity\Rooms {#1047}
-quantity: null
-stayStartedAt: DateTimeImmutable @1737201600 {#1647
date: 2025-01-18 12:00:00.0 UTC (+00:00)
}
-stayEndedAt: DateTimeImmutable @1746014400 {#1656
date: 2025-04-30 12:00:00.0 UTC (+00:00)
}
-saleStartedAt: DateTimeImmutable @1725148800 {#1722
date: 2024-09-01 00:00:00.0 UTC (+00:00)
}
-saleEndedAt: DateTimeImmutable @1767181057 {#1721
date: 2025-12-31 11:37:37.0 UTC (+00:00)
}
-minNights: 1
-doubleOccupancy: "680.00"
-singleOccupancy: "655.00"
-tripleOccupancy: null
-active: true
-extraBaby: null
-extraChild: 105.0
-extraTeen: null
-defaultExtraLabel: null
}
]
}
-stopSales: Doctrine\ORM\PersistentCollection {#1083
#collection: Doctrine\Common\Collections\ArrayCollection {#1180
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Rooms {#1047}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#904 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1144 …}
}
-roomCapacities: Doctrine\ORM\PersistentCollection {#1040
#collection: Doctrine\Common\Collections\ArrayCollection {#1042
-elements: array:6 [
0 => App\Entity\RoomCapacities {#1717
-id: 2119
-room: App\Entity\Rooms {#1047}
-adults: 2
-teens: null
-children: 1
-babies: null
-isDefaultConfig: false
}
1 => App\Entity\RoomCapacities {#1628
-id: 2120
-room: App\Entity\Rooms {#1047}
-adults: 2
-teens: null
-children: null
-babies: 1
-isDefaultConfig: false
}
2 => App\Entity\RoomCapacities {#1618
-id: 2121
-room: App\Entity\Rooms {#1047}
-adults: 1
-teens: 1
-children: 1
-babies: null
-isDefaultConfig: false
}
3 => App\Entity\RoomCapacities {#1600
-id: 2122
-room: App\Entity\Rooms {#1047}
-adults: 1
-teens: 1
-children: null
-babies: 1
-isDefaultConfig: false
}
4 => App\Entity\RoomCapacities {#1601
-id: 2123
-room: App\Entity\Rooms {#1047}
-adults: 1
-teens: null
-children: 2
-babies: 1
-isDefaultConfig: false
}
5 => App\Entity\RoomCapacities {#1723
-id: 2124
-room: App\Entity\Rooms {#1047}
-adults: 1
-teens: null
-children: 1
-babies: 1
-isDefaultConfig: false
}
]
}
#initialized: true
-snapshot: array:6 [ …6]
-owner: App\Entity\Rooms {#1047}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#906 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1069 …}
}
-createdAt: DateTimeImmutable @1717520580 {#1012
date: 2024-06-04 17:03:00.0 UTC (+00:00)
}
-updatedAt: DateTimeImmutable @1729672838 {#1031
date: 2024-10-23 08:40:38.0 UTC (+00:00)
}
-imageFile: null
-featuredImage: "67163137189df365199476.jpg"
-gallery: App\Entity\Galleries {#1290
-id: 17
-hotel: null
-room: App\Entity\Rooms {#1047}
-images: Doctrine\ORM\PersistentCollection {#1355
#collection: Doctrine\Common\Collections\ArrayCollection {#1356
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Galleries {#1290}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#1067 …}
-backRefFieldName: "gallery"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1259 …}
}
-title: "Grand Baie Suite junior"
}
-mediaDirSlug: "129"
-lowerRoomPrice: null
-services: array:1 [
0 => ""
]
-slug: "suite-junior"
}
]
}
#initialized: true
-snapshot: array:1 [ …1]
-owner: App\Entity\Hotels {#1027}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#1116 …}
-backRefFieldName: "hotel"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#881 …}
}
-address: "Route Côtière, Grand Baie, Île Maurice"
-checkInTime: "14:00"
-checkOutTime: "11:00"
-babyAgeMax: "6"
-childAgeMax: "12"
-teenAgeMax: "18"
-extraCharges: Doctrine\ORM\PersistentCollection {#1184
#collection: Doctrine\Common\Collections\ArrayCollection {#1178
-elements: array:4 [
0 => App\Entity\ExtraCharges {#1637
-id: 114
-title: "Suppléments Demi-pension"
-description: null
-adultExtra: 80.0
-babyExtra: null
-childExtra: 40.0
-teenExtra: 80.0
-stayStartedAt: null
-stayEndedAt: null
-isActive: true
-isMandatory: false
-minNights: null
-hotel: App\Entity\Hotels {#1027}
}
1 => App\Entity\ExtraCharges {#1626
-id: 115
-title: "Suppléments Pension complète"
-description: null
-adultExtra: 120.0
-babyExtra: null
-childExtra: 60.0
-teenExtra: 120.0
-stayStartedAt: null
-stayEndedAt: null
-isActive: true
-isMandatory: false
-minNights: null
-hotel: App\Entity\Hotels {#1027}
}
2 => App\Entity\ExtraCharges {#1643
-id: 116
-title: "Suppléments Formule "Tout inclus""
-description: null
-adultExtra: 250.0
-babyExtra: null
-childExtra: 125.0
-teenExtra: 188.0
-stayStartedAt: null
-stayEndedAt: null
-isActive: true
-isMandatory: false
-minNights: null
-hotel: App\Entity\Hotels {#1027}
}
3 => App\Entity\ExtraCharges {#1645
-id: 174
-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 {#1027}
}
]
}
#initialized: true
-snapshot: array:4 [ …4]
-owner: App\Entity\Hotels {#1027}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#1117 …}
-backRefFieldName: "hotel"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1188 …}
}
-imageFile: null
-featuredImage: "66965ccb59247450838715.jpg"
-gallery: App\Entity\Galleries {#1251
-id: 16
-hotel: App\Entity\Hotels {#1027}
-room: null
-images: Doctrine\ORM\PersistentCollection {#1264
#collection: Doctrine\Common\Collections\ArrayCollection {#1263
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Galleries {#1251}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#1067 …}
-backRefFieldName: "gallery"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1259 …}
}
-title: "Lux Grand Baie."
}
-mediaDirSlug: null
-offers: Doctrine\Common\Collections\ArrayCollection {#2008}
-highlighted: false
-services: array:1 [
0 => ""
]
-hlStartAt: null
-hlEndAt: null
-slug: "lux-grand-baie"
}
-description: null
-stayStartAt: DateTimeImmutable @1740268800 {#1818
date: 2025-02-23 00:00:00.0 UTC (+00:00)
}
-stayEndAt: DateTimeImmutable @1743379200 {#1819
date: 2025-03-31 00:00:00.0 UTC (+00:00)
}
-bookingStartAt: DateTimeImmutable @1733011200 {#1820
date: 2024-12-01 00:00:00.0 UTC (+00:00)
}
-bookingEndAt: DateTimeImmutable @1744675200 {#1821
date: 2025-04-15 00:00:00.0 UTC (+00:00)
}
-reference: "FABULOUS OFFER 25%"
-minNights: null
-maxNights: null
-earlyBookingDays: null
-applyToAllRooms: true
-selectedRooms: Doctrine\ORM\PersistentCollection {#1823
#collection: Doctrine\Common\Collections\ArrayCollection {#1824
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#1822}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1329 …}
-backRefFieldName: null
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#881 …}
}
-discount: 25
-combinable: false
-selectedOffers: Doctrine\ORM\PersistentCollection {#1825
#collection: Doctrine\Common\Collections\ArrayCollection {#1826
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#1822}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1335 …}
-backRefFieldName: "offers"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1250 …}
}
-offers: Doctrine\ORM\PersistentCollection {#1827
#collection: Doctrine\Common\Collections\ArrayCollection {#1828
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#1822}
-association: Doctrine\ORM\Mapping\ManyToManyInverseSideMapping {#1339 …}
-backRefFieldName: "selectedOffers"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1250 …}
}
-combinableDiscount: null
-selectedExtras: Doctrine\ORM\PersistentCollection {#1829
#collection: Doctrine\Common\Collections\ArrayCollection {#1830
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#1822}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1341 …}
-backRefFieldName: null
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1188 …}
}
-active: true
-selectedExtrasDiscounted: Doctrine\ORM\PersistentCollection {#1831
#collection: Doctrine\Common\Collections\ArrayCollection {#1832
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#1822}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1347 …}
-backRefFieldName: null
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1188 …}
}
-extrasDiscount: null
-priority: 1
-discountKids1: null
-discountKids2: null
-discountKids3: null
}
]
}
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 {#2177
-debug: true
+id: 222
+title: "FABULOUS OFFER 25%"
+description: null
+type: "Special"
+reference: "FABULOUS OFFER 25%"
+from: DateTimeImmutable @1740268800 {#1818
date: 2025-02-23 00:00:00.0 UTC (+00:00)
}
+to: DateTimeImmutable @1743379200 {#1819
date: 2025-03-31 00:00:00.0 UTC (+00:00)
}
+earlyBookingDays: null
+minNights: null
+maxNights: null
+discountRate: 25
+discountFamilyRates: []
+combinableRate: null
+priority: 1
+extrasDiscountRate: null
+isAllRooms: true
+isCombinable: false
+selectedRoomsIDs: []
+selectedExtrasIDs: []
+selectedOffersIDs: []
+selectedExtrasDiscountIDs: []
}
]
1 in
HotelController.php
line 638:
$formBookingHidden->handleRequest($request);
// dump("Session vars:", $siteSession->allVars());
dump("Current Room Price:", $roomRate);
return $this->render('room/show.html.twig', [
'room' => $room,
"Current Room Price:"
2 in
HotelController.php
line 638:
$formBookingHidden->handleRequest($request);
// dump("Session vars:", $siteSession->allVars());
dump("Current Room Price:", $roomRate);
return $this->render('room/show.html.twig', [
'room' => $room,
array:18 [
"hotel_id" => 21
"picture_path" => "/uploads/hotels/21/66965ccb59247450838715.jpg"
"hotel_name" => "LUX Grand Baie"
"room_id" => 129
"room_name" => "Suite Junior"
"from" => "22/03/2025"
"to" => "26/03/2025"
"nights" => 4
"neededRooms" => 1
"adults" => 2
"children" => 0
"totalAmount" => 2720.0
"totalAmountDiscounted" => 2040.0
"mandatoryExtraId" => 174
"extra" => App\DTO\ExtraStayDTO {#1622
-marginRate: 20
+extraId: 174
+name: "BASE - PETIT DEJEUNER"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 2040.0
+totalStayAmountWoDiscount: 2720.0
+totalStayAmount: 2040.0
+finalAmountWoDiscount: 3264.0
+finalAmount: 2448.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
"specialExtra" => []
"discounts" => array:1 [
0 => array:14 [
"id" => 222
"title" => "FABULOUS OFFER 25%"
"description" => null
"reference" => "FABULOUS OFFER 25%"
"type" => "Special"
"rate" => 25
"extra_rate" => null
"start" => "23/02/2025"
"end" => "31/03/2025"
"kids_rate" => ""
"partial" => false
"selected_rooms" => []
"stayroom_amount_before" => 2720.0
"stayroom_amount_after" => 2040.0
]
]
"error" => []
]
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 {#802
-date_format: "d/m/Y"
-uploaderHelper: Vich\UploaderBundle\Templating\Helper\UploaderHelper {#803
-storage: Vich\UploaderBundle\Storage\FileSystemStorage {#804
#factory: Vich\UploaderBundle\Mapping\PropertyMappingFactory {#805
-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 {#1580
+classMetadata: array:1 [
"App\Entity\Rooms" => Vich\UploaderBundle\Metadata\ClassMetadata {#1578
+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 {#1662
+classMetadata: array:1 [
"App\Entity\Hotels" => Vich\UploaderBundle\Metadata\ClassMetadata {#1644
+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\Images" => Metadata\ClassHierarchyMetadata {#2433
+classMetadata: array:1 [
"App\Entity\Images" => Vich\UploaderBundle\Metadata\ClassMetadata {#2434
+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\Slides" => Metadata\ClassHierarchyMetadata {#2862
+classMetadata: array:1 [
"App\Entity\Slides" => Vich\UploaderBundle\Metadata\ClassMetadata {#2863
+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\Posts" => Metadata\ClassHierarchyMetadata {#3136
+classMetadata: array:1 [
"App\Entity\Posts" => Vich\UploaderBundle\Metadata\ClassMetadata {#3135
+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 {#1578}
"App\Entity\Hotels" => Vich\UploaderBundle\Metadata\ClassMetadata {#1644}
"App\Entity\Images" => Vich\UploaderBundle\Metadata\ClassMetadata {#2434}
"App\Entity\Slides" => Vich\UploaderBundle\Metadata\ClassMetadata {#2863}
"App\Entity\Posts" => Vich\UploaderBundle\Metadata\ClassMetadata {#3135}
]
-hierarchyMetadataClass: "Metadata\ClassHierarchyMetadata"
-includeInterfaces: false
-debug: true
}
}
-resolver: Vich\UploaderBundle\Mapping\PropertyMappingResolver {#806
-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: App\Entity\Hotels {#1027
-id: 21
-name: "LUX Grand Baie"
-description: "Un joyau de modernité délicatement posé sur la côte nord de l'île Maurice, qui fait tourner les têtes et chavirer les cœurs. LUX* Grand Baie redéfinit les codes du luxe et invite à apprécier le rythme paisible de la vie sur les îles. Paisible, mais pas monotone. Cet élégant boutique-hôtel, à l'image de la ville balnéaire à laquelle il doit son nom, est captivant et exaltant. Son incomparable scène culinaire, son époustouflant rooftop, son spa dernier cri sont autant d’invitations à profiter pleinement de chaque instant."
-website: "https://www.luxresorts.com/fr/maurice/hotel/luxgrandbaie"
-stars: 5
-youtubeVideoId: "p3Bcdro8Csw"
-phone: "+230 209 2200"
-email: "luxgrandbaie@luxresorts.com"
-active: true
-gmapUrl: "<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3749.1847857001076!2d57.58043401217097!3d-20.00075778132614!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x217dab1da78e0199%3A0x8fe7bfe84f5e6684!2sLUX*2A%20Grand%20Baie!5e0!3m2!1sfr!2sfr!4v1718969493716!5m2!1sfr!2sfr" width="100%" height="600" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>"
-zone: "Nord"
-createdAt: DateTimeImmutable @1714145854 {#1019
date: 2024-04-26 15:37:34.0 UTC (+00:00)
}
-updatedAt: DateTimeImmutable @1729672825 {#1050
date: 2024-10-23 08:40:25.0 UTC (+00:00)
}
-rooms: Doctrine\ORM\PersistentCollection {#1024
#collection: Doctrine\Common\Collections\ArrayCollection {#1023
-elements: array:1 [
0 => App\Entity\Rooms {#1047
-id: 129
-name: "Suite Junior"
-description: """
Incroyablement spacieuses et lumineuses, nos suites Junior s’inspirent des lofts de designers. Situées au rez-de-chaussée, au premier ou au deuxième étage, toutes nos suites de 65 m2 (incluant les espaces extérieurs) sont dotées d'une salle de bain en Terrazzo, avec une douche à effet de pluie et une baignoire.\r\n
Un lit king-size et du linge de lit de qualité pour de bonnes nuits de sommeil. Un dressing spacieux et une terrasse extérieure avec vue sur la mer. Un design élégant et des éléments high-tech parfaitement intégrés, tels que des volets et rideaux automatisés.\r\n
Un bureau, un minibar et une TV LED 55" avec films à la demande. Installez-vous confortablement et profitez de ce séjour sous les tropiques !
"""
-active: true
-hotel: App\Entity\Hotels {#1027}
-roomPrices: Doctrine\Common\Collections\ArrayCollection {#1689
-elements: array:1 [
0 => App\Entity\RoomPrices {#1719
-id: 1941
-title: "Suite Junior - Moyenne Saison"
-room: App\Entity\Rooms {#1047}
-quantity: null
-stayStartedAt: DateTimeImmutable @1737201600 {#1647
date: 2025-01-18 12:00:00.0 UTC (+00:00)
}
-stayEndedAt: DateTimeImmutable @1746014400 {#1656
date: 2025-04-30 12:00:00.0 UTC (+00:00)
}
-saleStartedAt: DateTimeImmutable @1725148800 {#1722
date: 2024-09-01 00:00:00.0 UTC (+00:00)
}
-saleEndedAt: DateTimeImmutable @1767181057 {#1721
date: 2025-12-31 11:37:37.0 UTC (+00:00)
}
-minNights: 1
-doubleOccupancy: "680.00"
-singleOccupancy: "655.00"
-tripleOccupancy: null
-active: true
-extraBaby: null
-extraChild: 105.0
-extraTeen: null
-defaultExtraLabel: null
}
]
}
-stopSales: Doctrine\ORM\PersistentCollection {#1083
#collection: Doctrine\Common\Collections\ArrayCollection {#1180
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Rooms {#1047}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#904 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1144 …}
}
-roomCapacities: Doctrine\ORM\PersistentCollection {#1040
#collection: Doctrine\Common\Collections\ArrayCollection {#1042
-elements: array:6 [
0 => App\Entity\RoomCapacities {#1717
-id: 2119
-room: App\Entity\Rooms {#1047}
-adults: 2
-teens: null
-children: 1
-babies: null
-isDefaultConfig: false
}
1 => App\Entity\RoomCapacities {#1628
-id: 2120
-room: App\Entity\Rooms {#1047}
-adults: 2
-teens: null
-children: null
-babies: 1
-isDefaultConfig: false
}
2 => App\Entity\RoomCapacities {#1618
-id: 2121
-room: App\Entity\Rooms {#1047}
-adults: 1
-teens: 1
-children: 1
-babies: null
-isDefaultConfig: false
}
3 => App\Entity\RoomCapacities {#1600
-id: 2122
-room: App\Entity\Rooms {#1047}
-adults: 1
-teens: 1
-children: null
-babies: 1
-isDefaultConfig: false
}
4 => App\Entity\RoomCapacities {#1601
-id: 2123
-room: App\Entity\Rooms {#1047}
-adults: 1
-teens: null
-children: 2
-babies: 1
-isDefaultConfig: false
}
5 => App\Entity\RoomCapacities {#1723
-id: 2124
-room: App\Entity\Rooms {#1047}
-adults: 1
-teens: null
-children: 1
-babies: 1
-isDefaultConfig: false
}
]
}
#initialized: true
-snapshot: array:6 [ …6]
-owner: App\Entity\Rooms {#1047}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#906 …}
-backRefFieldName: "room"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1069 …}
}
-createdAt: DateTimeImmutable @1717520580 {#1012
date: 2024-06-04 17:03:00.0 UTC (+00:00)
}
-updatedAt: DateTimeImmutable @1729672838 {#1031
date: 2024-10-23 08:40:38.0 UTC (+00:00)
}
-imageFile: null
-featuredImage: "67163137189df365199476.jpg"
-gallery: App\Entity\Galleries {#1290
-id: 17
-hotel: null
-room: App\Entity\Rooms {#1047}
-images: Doctrine\ORM\PersistentCollection {#1355
#collection: Doctrine\Common\Collections\ArrayCollection {#1356
-elements: array:5 [
0 => App\Entity\Images {#2606
-id: 32
-title: null
-imageFile: null
-imageName: "66605f4a5d221984386920.jpg"
-size: 154564
-type: "image/jpeg"
-dimensions: array:2 [
0 => 792
1 => 528
]
-updatedAt: DateTimeImmutable @1717591882 {#2629
date: 2024-06-05 12:51:22.0 UTC (+00:00)
}
-gallery: App\Entity\Galleries {#1290}
-uploadedAt: null
}
1 => App\Entity\Images {#2644
-id: 33
-title: null
-imageFile: null
-imageName: "66605f4a5da71859772713.jpg"
-size: 150083
-type: "image/jpeg"
-dimensions: array:2 [
0 => 792
1 => 520
]
-updatedAt: DateTimeImmutable @1717591882 {#2617
date: 2024-06-05 12:51:22.0 UTC (+00:00)
}
-gallery: App\Entity\Galleries {#1290}
-uploadedAt: null
}
2 => App\Entity\Images {#2648
-id: 34
-title: null
-imageFile: null
-imageName: "66605f4a5dd9d878645448.jpg"
-size: 156826
-type: "image/jpeg"
-dimensions: array:2 [
0 => 792
1 => 527
]
-updatedAt: DateTimeImmutable @1717591882 {#2647
date: 2024-06-05 12:51:22.0 UTC (+00:00)
}
-gallery: App\Entity\Galleries {#1290}
-uploadedAt: null
}
3 => App\Entity\Images {#2651
-id: 511
-title: null
-imageFile: null
-imageName: "67164fea7a639386564831.jpg"
-size: 249058
-type: "image/jpeg"
-dimensions: array:2 [
0 => 792
1 => 544
]
-updatedAt: DateTimeImmutable @1729515498 {#2650
date: 2024-10-21 12:58:18.0 UTC (+00:00)
}
-gallery: App\Entity\Galleries {#1290}
-uploadedAt: null
}
4 => App\Entity\Images {#2653
-id: 512
-title: null
-imageFile: null
-imageName: "67164fea7b207485213574.jpg"
-size: 220737
-type: "image/jpeg"
-dimensions: array:2 [
0 => 792
1 => 528
]
-updatedAt: DateTimeImmutable @1729515498 {#2652
date: 2024-10-21 12:58:18.0 UTC (+00:00)
}
-gallery: App\Entity\Galleries {#1290}
-uploadedAt: null
}
]
}
#initialized: true
-snapshot: array:5 [ …5]
-owner: App\Entity\Galleries {#1290}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#1067 …}
-backRefFieldName: "gallery"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1259 …}
}
-title: "Grand Baie Suite junior"
}
-mediaDirSlug: "129"
-lowerRoomPrice: null
-services: array:1 [
0 => ""
]
-slug: "suite-junior"
}
]
}
#initialized: true
-snapshot: array:1 [ …1]
-owner: App\Entity\Hotels {#1027}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#1116 …}
-backRefFieldName: "hotel"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#881 …}
}
-address: "Route Côtière, Grand Baie, Île Maurice"
-checkInTime: "14:00"
-checkOutTime: "11:00"
-babyAgeMax: "6"
-childAgeMax: "12"
-teenAgeMax: "18"
-extraCharges: Doctrine\ORM\PersistentCollection {#1184
#collection: Doctrine\Common\Collections\ArrayCollection {#1178
-elements: array:4 [
0 => App\Entity\ExtraCharges {#1637
-id: 114
-title: "Suppléments Demi-pension"
-description: null
-adultExtra: 80.0
-babyExtra: null
-childExtra: 40.0
-teenExtra: 80.0
-stayStartedAt: null
-stayEndedAt: null
-isActive: true
-isMandatory: false
-minNights: null
-hotel: App\Entity\Hotels {#1027}
}
1 => App\Entity\ExtraCharges {#1626
-id: 115
-title: "Suppléments Pension complète"
-description: null
-adultExtra: 120.0
-babyExtra: null
-childExtra: 60.0
-teenExtra: 120.0
-stayStartedAt: null
-stayEndedAt: null
-isActive: true
-isMandatory: false
-minNights: null
-hotel: App\Entity\Hotels {#1027}
}
2 => App\Entity\ExtraCharges {#1643
-id: 116
-title: "Suppléments Formule "Tout inclus""
-description: null
-adultExtra: 250.0
-babyExtra: null
-childExtra: 125.0
-teenExtra: 188.0
-stayStartedAt: null
-stayEndedAt: null
-isActive: true
-isMandatory: false
-minNights: null
-hotel: App\Entity\Hotels {#1027}
}
3 => App\Entity\ExtraCharges {#1645
-id: 174
-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 {#1027}
}
]
}
#initialized: true
-snapshot: array:4 [ …4]
-owner: App\Entity\Hotels {#1027}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#1117 …}
-backRefFieldName: "hotel"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1188 …}
}
-imageFile: null
-featuredImage: "66965ccb59247450838715.jpg"
-gallery: App\Entity\Galleries {#1251
-id: 16
-hotel: App\Entity\Hotels {#1027}
-room: null
-images: Doctrine\ORM\PersistentCollection {#1264
#collection: Doctrine\Common\Collections\ArrayCollection {#1263
-elements: array:5 [
0 => App\Entity\Images {#2450
-id: 29
-title: null
-imageFile: null
-imageName: "66605e35ae9b8027832992.jpg"
-size: 359543
-type: "image/jpeg"
-dimensions: array:2 [
0 => 792
1 => 594
]
-updatedAt: DateTimeImmutable @1717591605 {#2449
date: 2024-06-05 12:46:45.0 UTC (+00:00)
}
-gallery: App\Entity\Galleries {#1251}
-uploadedAt: null
}
1 => App\Entity\Images {#2441
-id: 30
-title: null
-imageFile: null
-imageName: "66605e35af2a2606424472.jpg"
-size: 342184
-type: "image/jpeg"
-dimensions: array:2 [
0 => 792
1 => 527
]
-updatedAt: DateTimeImmutable @1717591605 {#2442
date: 2024-06-05 12:46:45.0 UTC (+00:00)
}
-gallery: App\Entity\Galleries {#1251}
-uploadedAt: null
}
2 => App\Entity\Images {#2439
-id: 31
-title: null
-imageFile: null
-imageName: "66605e35af6c1809940177.jpg"
-size: 252858
-type: "image/jpeg"
-dimensions: array:2 [
0 => 792
1 => 527
]
-updatedAt: DateTimeImmutable @1717591605 {#2440
date: 2024-06-05 12:46:45.0 UTC (+00:00)
}
-gallery: App\Entity\Galleries {#1251}
-uploadedAt: null
}
3 => App\Entity\Images {#2437
-id: 428
-title: null
-imageFile: null
-imageName: "67053c926f49c995706383.jpg"
-size: 244503
-type: "image/jpeg"
-dimensions: array:2 [
0 => 792
1 => 593
]
-updatedAt: DateTimeImmutable @1728396434 {#2438
date: 2024-10-08 14:07:14.0 UTC (+00:00)
}
-gallery: App\Entity\Galleries {#1251}
-uploadedAt: null
}
4 => App\Entity\Images {#2435
-id: 429
-title: null
-imageFile: null
-imageName: "67053c926fc30941308690.jpg"
-size: 235489
-type: "image/jpeg"
-dimensions: array:2 [
0 => 475
1 => 594
]
-updatedAt: DateTimeImmutable @1728396434 {#2436
date: 2024-10-08 14:07:14.0 UTC (+00:00)
}
-gallery: App\Entity\Galleries {#1251}
-uploadedAt: null
}
]
}
#initialized: true
-snapshot: array:5 [ …5]
-owner: App\Entity\Galleries {#1251}
-association: Doctrine\ORM\Mapping\OneToManyAssociationMapping {#1067 …}
-backRefFieldName: "gallery"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1259 …}
}
-title: "Lux Grand Baie."
}
-mediaDirSlug: "21"
-offers: Doctrine\Common\Collections\ArrayCollection {#2008
-elements: array:1 [
0 => App\Entity\Offers {#1822
-id: 222
-title: "FABULOUS OFFER 25%"
-type: "Special"
-hotel: App\Entity\Hotels {#1027}
-description: null
-stayStartAt: DateTimeImmutable @1740268800 {#1818
date: 2025-02-23 00:00:00.0 UTC (+00:00)
}
-stayEndAt: DateTimeImmutable @1743379200 {#1819
date: 2025-03-31 00:00:00.0 UTC (+00:00)
}
-bookingStartAt: DateTimeImmutable @1733011200 {#1820
date: 2024-12-01 00:00:00.0 UTC (+00:00)
}
-bookingEndAt: DateTimeImmutable @1744675200 {#1821
date: 2025-04-15 00:00:00.0 UTC (+00:00)
}
-reference: "FABULOUS OFFER 25%"
-minNights: null
-maxNights: null
-earlyBookingDays: null
-applyToAllRooms: true
-selectedRooms: Doctrine\ORM\PersistentCollection {#1823
#collection: Doctrine\Common\Collections\ArrayCollection {#1824
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#1822}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1329 …}
-backRefFieldName: null
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#881 …}
}
-discount: 25
-combinable: false
-selectedOffers: Doctrine\ORM\PersistentCollection {#1825
#collection: Doctrine\Common\Collections\ArrayCollection {#1826
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#1822}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1335 …}
-backRefFieldName: "offers"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1250 …}
}
-offers: Doctrine\ORM\PersistentCollection {#1827
#collection: Doctrine\Common\Collections\ArrayCollection {#1828
-elements: []
}
#initialized: false
-snapshot: []
-owner: App\Entity\Offers {#1822}
-association: Doctrine\ORM\Mapping\ManyToManyInverseSideMapping {#1339 …}
-backRefFieldName: "selectedOffers"
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1250 …}
}
-combinableDiscount: null
-selectedExtras: Doctrine\ORM\PersistentCollection {#1829
#collection: Doctrine\Common\Collections\ArrayCollection {#1830
-elements: []
}
#initialized: true
-snapshot: []
-owner: App\Entity\Offers {#1822}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1341 …}
-backRefFieldName: null
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1188 …}
}
-active: true
-selectedExtrasDiscounted: Doctrine\ORM\PersistentCollection {#1831
#collection: Doctrine\Common\Collections\ArrayCollection {#1832
-elements: []
}
#initialized: true
-snapshot: []
-owner: App\Entity\Offers {#1822}
-association: Doctrine\ORM\Mapping\ManyToManyOwningSideMapping {#1347 …}
-backRefFieldName: null
-isDirty: false
-em: ContainerUIpB4Xl\EntityManagerGhost614a58f {#77 …12}
-typeClass: Doctrine\ORM\Mapping\ClassMetadata {#1188 …}
}
-extrasDiscount: null
-priority: 1
-discountKids1: null
-discountKids2: null
-discountKids3: null
}
]
}
-highlighted: false
-services: array:1 [
0 => ""
]
-hlStartAt: null
-hlEndAt: null
-slug: "lux-grand-baie"
}
+stars: null
+dateRange: "22/03/2025 - 26/03/2025"
+fromAt: DateTimeImmutable @1742601600 {#3319
date: 2025-03-22 00:00:00.0 UTC (+00:00)
}
+toAt: DateTimeImmutable @1743033540 {#3318
date: 2025-03-26 23:59:00.0 UTC (+00:00)
}
+zone: null
+honeymoon: false
+ageLimits: array:3 [
"baby" => "6"
"child" => "12"
"teen" => "18"
]
+nights: 4
+chambers: []
+stay_rooms: array:1 [
0 => App\DTO\RoomStayDTO {#1599
-marginRate: 20
-id: 129
-name: "Suite Junior"
-slug: "suite-junior"
-picture: "/uploads/rooms/129/67163137189df365199476.jpg"
-description: """
Incroyablement spacieuses et lumineuses, nos suites Junior s’inspirent des lofts de designers. Situées au rez-de-chaussée, au premier ou au deuxième étage, toutes nos suites de 65 m2 (incluant les espaces extérieurs) sont dotées d'une salle de bain en Terrazzo, avec une douche à effet de pluie et une baignoire.\r\n
Un lit king-size et du linge de lit de qualité pour de bonnes nuits de sommeil. Un dressing spacieux et une terrasse extérieure avec vue sur la mer. Un design élégant et des éléments high-tech parfaitement intégrés, tels que des volets et rideaux automatisés.\r\n
Un bureau, un minibar et une TV LED 55" avec films à la demande. Installez-vous confortablement et profitez de ce séjour sous les tropiques !
"""
-stayTotalNights: 4
-adults: 2
-kids: 0
-neededRooms: 1
-kidsRoomsCount: 0
-defaultExtraLabel: ""
-mandatoryExtraId: 174
-chambersStayDetails: array:1 [
0 => array:4 [
"config" => array:4 [
"adults" => 2
"teens" => 0
"children" => 0
"babies" => 0
]
"dates_prices" => array:4 [
"2025-03-22" => array:5 [
"adults_price" => 680
"kids_price" => 0
"adults_discount_price" => 510.0
"kids_discount_price" => 0.0
"discounts" => array:1 [
222 => array:2 [
"name" => "FABULOUS OFFER 25%"
"rate" => 25
]
]
]
"2025-03-23" => array:5 [
"adults_price" => 680
"kids_price" => 0
"adults_discount_price" => 510.0
"kids_discount_price" => 0.0
"discounts" => array:1 [
222 => array:2 [
"name" => "FABULOUS OFFER 25%"
"rate" => 25
]
]
]
"2025-03-24" => array:5 [
"adults_price" => 680
"kids_price" => 0
"adults_discount_price" => 510.0
"kids_discount_price" => 0.0
"discounts" => array:1 [
222 => array:2 [
"name" => "FABULOUS OFFER 25%"
"rate" => 25
]
]
]
"2025-03-25" => array:5 [
"adults_price" => 680
"kids_price" => 0
"adults_discount_price" => 510.0
"kids_discount_price" => 0.0
"discounts" => array:1 [
222 => array:2 [
"name" => "FABULOUS OFFER 25%"
"rate" => 25
]
]
]
]
"amount" => 2720
"amount_discount" => 2040.0
]
]
-totalRoomAmount: 2720.0
-totalRoomAmountDiscounted: 2040.0
-marginTotalRoom: 3264.0
-marginTotalRoomDiscounted: 2448.0
-communExtras: array:4 [
0 => App\DTO\ExtraStayDTO {#1622
-marginRate: 20
+extraId: 174
+name: "BASE - PETIT DEJEUNER"
+description: null
+stayTotalNights: 4
+dailyAdults: 0
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 0
+kidsExtrasAmount: 0
+stayExtrasAmount: 0
+stayRoomAmount: 2040.0
+totalStayAmountWoDiscount: 2720.0
+totalStayAmount: 2040.0
+finalAmountWoDiscount: 3264.0
+finalAmount: 2448.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
1 => App\DTO\ExtraStayDTO {#1623
-marginRate: 20
+extraId: 114
+name: "Suppléments Demi-pension"
+description: null
+stayTotalNights: 4
+dailyAdults: 160
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 640
+kidsExtrasAmount: 0
+stayExtrasAmount: 640
+stayRoomAmount: 2040.0
+totalStayAmountWoDiscount: 3360.0
+totalStayAmount: 2680.0
+finalAmountWoDiscount: 4032.0
+finalAmount: 3216.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
2 => App\DTO\ExtraStayDTO {#1648
-marginRate: 20
+extraId: 115
+name: "Suppléments Pension complète"
+description: null
+stayTotalNights: 4
+dailyAdults: 240
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 960
+kidsExtrasAmount: 0
+stayExtrasAmount: 960
+stayRoomAmount: 2040.0
+totalStayAmountWoDiscount: 3680.0
+totalStayAmount: 3000.0
+finalAmountWoDiscount: 4416.0
+finalAmount: 3600.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
3 => App\DTO\ExtraStayDTO {#1649
-marginRate: 20
+extraId: 116
+name: "Suppléments Formule "Tout inclus""
+description: null
+stayTotalNights: 4
+dailyAdults: 500
+dailyTeens: 0
+dailyChildren: 0
+dailyBabies: 0
+adultsExtrasAmount: 2000
+kidsExtrasAmount: 0
+stayExtrasAmount: 2000
+stayRoomAmount: 2040.0
+totalStayAmountWoDiscount: 4720.0
+totalStayAmount: 4040.0
+finalAmountWoDiscount: 5664.0
+finalAmount: 4848.0
+extraDiscount: null
+extraKidsDiscount: null
+extraStartAt: null
+extraEndAt: null
+eventDuration: 0
+events: []
}
]
-specialExtras: []
-discounts: array:1 [
0 => array:14 [
"id" => 222
"title" => "FABULOUS OFFER 25%"
"description" => null
"reference" => "FABULOUS OFFER 25%"
"type" => "Special"
"rate" => 25
"extra_rate" => null
"start" => "23/02/2025"
"end" => "31/03/2025"
"kids_rate" => ""
"partial" => false
"selected_rooms" => []
"stayroom_amount_before" => 2720.0
"stayroom_amount_after" => 2040.0
]
]
-error: []
}
]
}