@myrjfa/state 2.1.8 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/hooks/usePersistentDraftState.d.ts +20 -0
- package/dist/hooks/usePersistentDraftState.d.ts.map +1 -0
- package/dist/hooks/usePersistentDraftState.js +47 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/lib/actions/actions.d.ts +15 -15
- package/dist/lib/actions/actions.d.ts.map +1 -1
- package/dist/lib/actions/actions.js +44 -8
- package/dist/lib/actions/auth.d.ts +2 -2
- package/dist/lib/actions/auth.d.ts.map +1 -1
- package/dist/lib/actions/auth.js +9 -0
- package/dist/lib/actions/booking.js +2 -2
- package/dist/lib/actions/fetcher.js +2 -1
- package/dist/lib/actions.d.ts +556 -0
- package/dist/lib/actions.d.ts.map +1 -0
- package/dist/lib/actions.js +1327 -0
- package/dist/lib/adminDashboardActions.d.ts +61 -0
- package/dist/lib/adminDashboardActions.d.ts.map +1 -0
- package/dist/lib/adminDashboardActions.js +89 -0
- package/dist/lib/adventureActions.d.ts +102 -0
- package/dist/lib/adventureActions.d.ts.map +1 -0
- package/dist/lib/adventureActions.js +202 -0
- package/dist/lib/adventureDummyData.d.ts +3 -0
- package/dist/lib/adventureDummyData.d.ts.map +1 -0
- package/dist/lib/adventureDummyData.js +138 -0
- package/dist/lib/adventureFormPage.d.ts +39 -0
- package/dist/lib/adventureFormPage.d.ts.map +1 -0
- package/dist/lib/adventureFormPage.js +70 -0
- package/dist/lib/brandActions.d.ts +83 -0
- package/dist/lib/brandActions.d.ts.map +1 -0
- package/dist/lib/brandActions.js +28 -0
- package/dist/lib/companionActions.d.ts +174 -0
- package/dist/lib/companionActions.d.ts.map +1 -0
- package/dist/lib/companionActions.js +276 -0
- package/dist/lib/companionDummyData.d.ts +99 -0
- package/dist/lib/companionDummyData.d.ts.map +1 -0
- package/dist/lib/companionDummyData.js +203 -0
- package/dist/lib/destinations.d.ts +14 -0
- package/dist/lib/destinations.d.ts.map +1 -0
- package/dist/lib/destinations.js +203 -0
- package/dist/lib/entitySubmission.d.ts +21 -0
- package/dist/lib/entitySubmission.d.ts.map +1 -0
- package/dist/lib/entitySubmission.js +10 -0
- package/dist/lib/eventActions.d.ts +176 -0
- package/dist/lib/eventActions.d.ts.map +1 -0
- package/dist/lib/eventActions.js +222 -0
- package/dist/lib/eventFormPage.d.ts +49 -0
- package/dist/lib/eventFormPage.d.ts.map +1 -0
- package/dist/lib/eventFormPage.js +84 -0
- package/dist/lib/eventsDummyData.d.ts +54 -0
- package/dist/lib/eventsDummyData.d.ts.map +1 -0
- package/dist/lib/eventsDummyData.js +586 -0
- package/dist/lib/guideActions.d.ts +53 -0
- package/dist/lib/guideActions.d.ts.map +1 -0
- package/dist/lib/guideActions.js +127 -0
- package/dist/lib/guideDummyData.d.ts +3 -0
- package/dist/lib/guideDummyData.d.ts.map +1 -0
- package/dist/lib/guideDummyData.js +66 -0
- package/dist/lib/hooks/use-mobile.js +0 -1
- package/dist/lib/hooks/useChatSocket.js +0 -1
- package/dist/lib/hooks/useHostCalendarSelection.d.ts +51 -0
- package/dist/lib/hooks/useHostCalendarSelection.d.ts.map +1 -0
- package/dist/lib/hooks/useHostCalendarSelection.js +200 -0
- package/dist/lib/hostDashboardActions.d.ts +189 -0
- package/dist/lib/hostDashboardActions.d.ts.map +1 -0
- package/dist/lib/hostDashboardActions.js +400 -0
- package/dist/lib/imageUpload.d.ts +4 -0
- package/dist/lib/imageUpload.d.ts.map +1 -0
- package/dist/lib/imageUpload.js +36 -0
- package/dist/lib/locationActions.d.ts +141 -0
- package/dist/lib/locationActions.d.ts.map +1 -0
- package/dist/lib/locationActions.js +113 -0
- package/dist/lib/models/adventure.d.ts +26 -9
- package/dist/lib/models/adventure.d.ts.map +1 -1
- package/dist/lib/models/application.d.ts +1 -1
- package/dist/lib/models/application.d.ts.map +1 -1
- package/dist/lib/models/blog.d.ts +2 -2
- package/dist/lib/models/booking.d.ts +16 -1
- package/dist/lib/models/booking.d.ts.map +1 -1
- package/dist/lib/models/discount.d.ts +160 -0
- package/dist/lib/models/discount.d.ts.map +1 -0
- package/dist/lib/models/discount.js +106 -0
- package/dist/lib/models/enquiry.d.ts +34 -0
- package/dist/lib/models/enquiry.d.ts.map +1 -0
- package/dist/lib/models/enquiry.js +140 -0
- package/dist/lib/models/guide.d.ts +4 -3
- package/dist/lib/models/guide.d.ts.map +1 -1
- package/dist/lib/models/notifications.d.ts +12 -12
- package/dist/lib/models/opportunities/freelance.d.ts +82 -82
- package/dist/lib/models/opportunities/internship.d.ts +82 -82
- package/dist/lib/models/opportunities/job.d.ts +84 -84
- package/dist/lib/models/opportunities/opportunity.d.ts +89 -84
- package/dist/lib/models/opportunities/opportunity.d.ts.map +1 -1
- package/dist/lib/models/opportunities/opportunity.js +2 -0
- package/dist/lib/models/opportunities/volunteerJob.d.ts +82 -82
- package/dist/lib/models/package.d.ts +380 -86
- package/dist/lib/models/package.d.ts.map +1 -1
- package/dist/lib/models/package.js +9 -8
- package/dist/lib/models/pricing.d.ts +255 -0
- package/dist/lib/models/pricing.d.ts.map +1 -0
- package/dist/lib/models/pricing.js +145 -0
- package/dist/lib/models/rental.d.ts +12 -7
- package/dist/lib/models/rental.d.ts.map +1 -1
- package/dist/lib/models/review.d.ts +11 -2
- package/dist/lib/models/review.d.ts.map +1 -1
- package/dist/lib/models/review.js +2 -0
- package/dist/lib/models/stay.d.ts +11 -8
- package/dist/lib/models/stay.d.ts.map +1 -1
- package/dist/lib/models/stay.js +1 -0
- package/dist/lib/models/tile.d.ts +11 -7
- package/dist/lib/models/tile.d.ts.map +1 -1
- package/dist/lib/models/travelPackage.d.ts +943 -0
- package/dist/lib/models/travelPackage.d.ts.map +1 -0
- package/dist/lib/models/travelPackage.js +326 -0
- package/dist/lib/multistepDraft.d.ts +4 -0
- package/dist/lib/multistepDraft.d.ts.map +1 -0
- package/dist/lib/multistepDraft.js +18 -0
- package/dist/lib/opportunityFormData.d.ts +13 -0
- package/dist/lib/opportunityFormData.d.ts.map +1 -0
- package/dist/lib/opportunityFormData.js +62 -0
- package/dist/lib/opportunityFormPage.d.ts +38 -0
- package/dist/lib/opportunityFormPage.d.ts.map +1 -0
- package/dist/lib/opportunityFormPage.js +33 -0
- package/dist/lib/packageActions.d.ts +86 -0
- package/dist/lib/packageActions.d.ts.map +1 -0
- package/dist/lib/packageActions.js +168 -0
- package/dist/lib/packageDummyData.d.ts +3 -0
- package/dist/lib/packageDummyData.d.ts.map +1 -0
- package/dist/lib/packageDummyData.js +57 -0
- package/dist/lib/placeActions.d.ts +192 -0
- package/dist/lib/placeActions.d.ts.map +1 -0
- package/dist/lib/placeActions.js +57 -0
- package/dist/lib/propertyActions.d.ts +17 -0
- package/dist/lib/propertyActions.d.ts.map +1 -0
- package/dist/lib/propertyActions.js +16 -0
- package/dist/lib/rentalActions.d.ts +86 -0
- package/dist/lib/rentalActions.d.ts.map +1 -0
- package/dist/lib/rentalActions.js +235 -0
- package/dist/lib/rentalDummyData.d.ts +3 -0
- package/dist/lib/rentalDummyData.d.ts.map +1 -0
- package/dist/lib/rentalDummyData.js +402 -0
- package/dist/lib/rentalFormPage.d.ts +48 -0
- package/dist/lib/rentalFormPage.d.ts.map +1 -0
- package/dist/lib/rentalFormPage.js +97 -0
- package/dist/lib/roomActions.d.ts +39 -0
- package/dist/lib/roomActions.d.ts.map +1 -0
- package/dist/lib/roomActions.js +74 -0
- package/dist/lib/stayActions.d.ts +97 -0
- package/dist/lib/stayActions.d.ts.map +1 -0
- package/dist/lib/stayActions.js +138 -0
- package/dist/lib/staysDummyData.d.ts +72 -0
- package/dist/lib/staysDummyData.d.ts.map +1 -0
- package/dist/lib/staysDummyData.js +694 -0
- package/dist/lib/storeDummyData.d.ts +33 -0
- package/dist/lib/storeDummyData.d.ts.map +1 -0
- package/dist/lib/storeDummyData.js +336 -0
- package/dist/lib/travelPackageActions.d.ts +102 -0
- package/dist/lib/travelPackageActions.d.ts.map +1 -0
- package/dist/lib/travelPackageActions.js +487 -0
- package/dist/lib/travelPackageFormData.d.ts +20 -0
- package/dist/lib/travelPackageFormData.d.ts.map +1 -0
- package/dist/lib/travelPackageFormData.js +54 -0
- package/dist/lib/travelPackageFormPage.d.ts +32 -0
- package/dist/lib/travelPackageFormPage.d.ts.map +1 -0
- package/dist/lib/travelPackageFormPage.js +43 -0
- package/dist/lib/userAtom.d.ts +24 -24
- package/dist/lib/userAtom.d.ts.map +1 -1
- package/dist/lib/userAtom.js +17 -1
- package/dist/lib/util.d.ts +11 -0
- package/dist/lib/util.d.ts.map +1 -0
- package/dist/lib/util.js +82 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +1 -0
- package/dist/lib/vehicleData.d.ts +2 -0
- package/dist/lib/vehicleData.d.ts.map +1 -0
- package/dist/lib/vehicleData.js +181 -0
- package/dist/lib/vehicleModels.d.ts +2 -0
- package/dist/lib/vehicleModels.d.ts.map +1 -0
- package/dist/lib/vehicleModels.js +128 -0
- package/package.json +6 -5
|
@@ -0,0 +1,694 @@
|
|
|
1
|
+
// ══════════════════════════════════════════════════════════════════════════════
|
|
2
|
+
// ROOMS — Flat array, each linked via propertyId
|
|
3
|
+
// ══════════════════════════════════════════════════════════════════════════════
|
|
4
|
+
export const roomsDummyData = [
|
|
5
|
+
// ── Grand Palace Hotel (h1) ──
|
|
6
|
+
{
|
|
7
|
+
_id: "r1a",
|
|
8
|
+
propertyId: "h1",
|
|
9
|
+
roomType: "deluxe",
|
|
10
|
+
name: "Deluxe Heritage Room",
|
|
11
|
+
description: "Spacious room with period-style furniture and garden view.",
|
|
12
|
+
images: [
|
|
13
|
+
"https://images.unsplash.com/photo-1631049307264-da0ec9d70304?w=600",
|
|
14
|
+
],
|
|
15
|
+
pricePerNight: 5999,
|
|
16
|
+
maxAdults: 2,
|
|
17
|
+
maxChildren: 1,
|
|
18
|
+
totalRooms: 8,
|
|
19
|
+
availableRooms: 4,
|
|
20
|
+
bedType: "King",
|
|
21
|
+
bathType: "private",
|
|
22
|
+
isAvailable: true,
|
|
23
|
+
amenities: ["AC", "Free WiFi", "Flat-screen TV", "Minifridge", "Bathtub"],
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
_id: "r1b",
|
|
27
|
+
propertyId: "h1",
|
|
28
|
+
roomType: "suite",
|
|
29
|
+
name: "Royal Suite",
|
|
30
|
+
description: "Opulent suite with private terrace and panoramic city views.",
|
|
31
|
+
images: [
|
|
32
|
+
"https://images.unsplash.com/photo-1590490360182-c33d57733427?w=600",
|
|
33
|
+
],
|
|
34
|
+
pricePerNight: 14999,
|
|
35
|
+
maxAdults: 3,
|
|
36
|
+
maxChildren: 2,
|
|
37
|
+
totalRooms: 3,
|
|
38
|
+
availableRooms: 1,
|
|
39
|
+
bedType: "King",
|
|
40
|
+
bathType: "private",
|
|
41
|
+
isAvailable: true,
|
|
42
|
+
amenities: [
|
|
43
|
+
"AC",
|
|
44
|
+
"Free WiFi",
|
|
45
|
+
"Private Terrace",
|
|
46
|
+
"Jacuzzi",
|
|
47
|
+
"Butler Service",
|
|
48
|
+
"Minibar",
|
|
49
|
+
],
|
|
50
|
+
},
|
|
51
|
+
// ── Sea Haven Resort (h2) ──
|
|
52
|
+
{
|
|
53
|
+
_id: "r2a",
|
|
54
|
+
propertyId: "h2",
|
|
55
|
+
roomType: "private-double",
|
|
56
|
+
name: "Standard Sea View",
|
|
57
|
+
description: "Bright room with balcony overlooking the sea.",
|
|
58
|
+
images: [
|
|
59
|
+
"https://images.unsplash.com/photo-1586105251261-72a756497a11?w=600",
|
|
60
|
+
],
|
|
61
|
+
pricePerNight: 3499,
|
|
62
|
+
maxAdults: 2,
|
|
63
|
+
maxChildren: 1,
|
|
64
|
+
totalRooms: 12,
|
|
65
|
+
availableRooms: 6,
|
|
66
|
+
bedType: "Queen",
|
|
67
|
+
bathType: "private",
|
|
68
|
+
isAvailable: true,
|
|
69
|
+
amenities: ["AC", "Sea View Balcony", "Hot Water", "TV", "Free WiFi"],
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
_id: "r2b",
|
|
73
|
+
propertyId: "h2",
|
|
74
|
+
roomType: "villa",
|
|
75
|
+
name: "Private Pool Villa",
|
|
76
|
+
description: "Luxury villa with personal pool and beach access.",
|
|
77
|
+
images: [
|
|
78
|
+
"https://images.unsplash.com/photo-1540541338537-1220f998bca1?w=600",
|
|
79
|
+
],
|
|
80
|
+
pricePerNight: 12999,
|
|
81
|
+
maxAdults: 4,
|
|
82
|
+
maxChildren: 2,
|
|
83
|
+
totalRooms: 4,
|
|
84
|
+
availableRooms: 2,
|
|
85
|
+
bedType: "King",
|
|
86
|
+
bathType: "private",
|
|
87
|
+
isAvailable: true,
|
|
88
|
+
amenities: [
|
|
89
|
+
"Private Pool",
|
|
90
|
+
"AC",
|
|
91
|
+
"Kitchenette",
|
|
92
|
+
"Free WiFi",
|
|
93
|
+
"Beach Butler",
|
|
94
|
+
"Outdoor Shower",
|
|
95
|
+
],
|
|
96
|
+
},
|
|
97
|
+
// ── Backpackers Den Manali (hs1) ──
|
|
98
|
+
{
|
|
99
|
+
_id: "r3a",
|
|
100
|
+
propertyId: "hs1",
|
|
101
|
+
roomType: "dorm-6",
|
|
102
|
+
name: "6-Bed Mixed Dorm",
|
|
103
|
+
description: "Clean bunk beds with personal lockers & reading lights.",
|
|
104
|
+
images: [
|
|
105
|
+
"https://images.unsplash.com/photo-1541888946425-d81bb19240f5?w=600",
|
|
106
|
+
],
|
|
107
|
+
pricePerNight: 399,
|
|
108
|
+
maxAdults: 1,
|
|
109
|
+
maxChildren: 1,
|
|
110
|
+
totalRooms: 4,
|
|
111
|
+
availableRooms: 12,
|
|
112
|
+
bathType: "shared",
|
|
113
|
+
isAvailable: true,
|
|
114
|
+
amenities: ["Lockers", "Reading Light", "Power Socket", "AC", "Free WiFi"],
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
_id: "r3b",
|
|
118
|
+
propertyId: "hs1",
|
|
119
|
+
roomType: "private-double",
|
|
120
|
+
name: "Private Double Room",
|
|
121
|
+
description: "Perfect for couples who want privacy with a social hostel vibe.",
|
|
122
|
+
images: [
|
|
123
|
+
"https://images.unsplash.com/photo-1631049552057-e7a08b0c4736?w=600",
|
|
124
|
+
],
|
|
125
|
+
pricePerNight: 1199,
|
|
126
|
+
maxAdults: 2,
|
|
127
|
+
maxChildren: 1,
|
|
128
|
+
totalRooms: 3,
|
|
129
|
+
availableRooms: 2,
|
|
130
|
+
bedType: "Double",
|
|
131
|
+
bathType: "shared",
|
|
132
|
+
isAvailable: true,
|
|
133
|
+
amenities: ["Mountain View", "Free WiFi", "Heating", "Hot Water"],
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
_id: "r3c",
|
|
137
|
+
propertyId: "hs1",
|
|
138
|
+
roomType: "dorm-4",
|
|
139
|
+
name: "4-Bed Female Dorm",
|
|
140
|
+
description: "Women-only dorm with extra security and privacy.",
|
|
141
|
+
images: ["https://images.unsplash.com/photo-1555854877-bab0e564b8d5?w=600"],
|
|
142
|
+
pricePerNight: 499,
|
|
143
|
+
maxAdults: 1,
|
|
144
|
+
maxChildren: 1,
|
|
145
|
+
totalRooms: 2,
|
|
146
|
+
availableRooms: 6,
|
|
147
|
+
bathType: "shared",
|
|
148
|
+
isAvailable: true,
|
|
149
|
+
amenities: ["Lockers", "Free WiFi", "Hot Water", "Hairdryer"],
|
|
150
|
+
},
|
|
151
|
+
// ── Riverside Social Hostel Rishikesh (hs2) ──
|
|
152
|
+
{
|
|
153
|
+
_id: "r4a",
|
|
154
|
+
propertyId: "hs2",
|
|
155
|
+
roomType: "dorm-8",
|
|
156
|
+
name: "8-Bed River View Dorm",
|
|
157
|
+
description: "Dorm beds with peaceful Ganges views and spiritual vibes.",
|
|
158
|
+
images: [
|
|
159
|
+
"https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=600",
|
|
160
|
+
],
|
|
161
|
+
pricePerNight: 349,
|
|
162
|
+
maxAdults: 1,
|
|
163
|
+
maxChildren: 1,
|
|
164
|
+
totalRooms: 3,
|
|
165
|
+
availableRooms: 16,
|
|
166
|
+
bathType: "shared",
|
|
167
|
+
isAvailable: true,
|
|
168
|
+
amenities: ["River View", "Free WiFi", "Locker", "Free Yoga"],
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
_id: "r4b",
|
|
172
|
+
propertyId: "hs2",
|
|
173
|
+
roomType: "private-twin",
|
|
174
|
+
name: "Private Twin with Balcony",
|
|
175
|
+
description: "Private room with a balcony overlooking the sacred Ganges.",
|
|
176
|
+
images: [
|
|
177
|
+
"https://images.unsplash.com/photo-1470770841072-f978cf4d019e?w=600",
|
|
178
|
+
],
|
|
179
|
+
pricePerNight: 1499,
|
|
180
|
+
maxAdults: 2,
|
|
181
|
+
maxChildren: 1,
|
|
182
|
+
totalRooms: 4,
|
|
183
|
+
availableRooms: 3,
|
|
184
|
+
bedType: "Twin",
|
|
185
|
+
bathType: "private",
|
|
186
|
+
isAvailable: true,
|
|
187
|
+
amenities: ["River View Balcony", "AC", "Free WiFi", "Free Yoga"],
|
|
188
|
+
},
|
|
189
|
+
// ── Mumbai Apartment (ap1) ──
|
|
190
|
+
{
|
|
191
|
+
_id: "r5a",
|
|
192
|
+
propertyId: "ap1",
|
|
193
|
+
roomType: "2bhk",
|
|
194
|
+
name: "Full 2BHK Apartment",
|
|
195
|
+
description: "Entire 2-bedroom apartment — sea view, fully equipped kitchen.",
|
|
196
|
+
images: [
|
|
197
|
+
"https://images.unsplash.com/photo-1502672260266-1c1ef2d93688?w=600",
|
|
198
|
+
],
|
|
199
|
+
pricePerNight: 7999,
|
|
200
|
+
maxAdults: 4,
|
|
201
|
+
maxChildren: 2,
|
|
202
|
+
totalRooms: 1,
|
|
203
|
+
availableRooms: 1,
|
|
204
|
+
bedType: "King + Twin",
|
|
205
|
+
bathType: "private",
|
|
206
|
+
isAvailable: true,
|
|
207
|
+
amenities: [
|
|
208
|
+
"Sea View",
|
|
209
|
+
"Full Kitchen",
|
|
210
|
+
"Washing Machine",
|
|
211
|
+
"Fast WiFi",
|
|
212
|
+
"Workspace",
|
|
213
|
+
"Netflix",
|
|
214
|
+
],
|
|
215
|
+
},
|
|
216
|
+
// ── Kerala Homestay (hm1) ──
|
|
217
|
+
{
|
|
218
|
+
_id: "r6a",
|
|
219
|
+
propertyId: "hm1",
|
|
220
|
+
roomType: "private-double",
|
|
221
|
+
name: "Traditional Kerala Room",
|
|
222
|
+
description: "Wooden-floored room with terracotta décor and backwater views.",
|
|
223
|
+
images: [
|
|
224
|
+
"https://images.unsplash.com/photo-1602216056096-3b40cc0c9944?w=600",
|
|
225
|
+
],
|
|
226
|
+
pricePerNight: 1799,
|
|
227
|
+
maxAdults: 2,
|
|
228
|
+
maxChildren: 1,
|
|
229
|
+
totalRooms: 3,
|
|
230
|
+
availableRooms: 2,
|
|
231
|
+
bedType: "Double",
|
|
232
|
+
bathType: "private",
|
|
233
|
+
isAvailable: true,
|
|
234
|
+
amenities: [
|
|
235
|
+
"Backwater View",
|
|
236
|
+
"Meals Included",
|
|
237
|
+
"Fan",
|
|
238
|
+
"Hot Water",
|
|
239
|
+
"Mosquito Net",
|
|
240
|
+
],
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
_id: "r6b",
|
|
244
|
+
propertyId: "hm1",
|
|
245
|
+
roomType: "private-single",
|
|
246
|
+
name: "Solo Traveler Room",
|
|
247
|
+
description: "Cozy room for solo travelers with a hammock on private balcony.",
|
|
248
|
+
images: [
|
|
249
|
+
"https://images.unsplash.com/photo-1582719508461-905c673771fd?w=600",
|
|
250
|
+
],
|
|
251
|
+
pricePerNight: 999,
|
|
252
|
+
maxAdults: 1,
|
|
253
|
+
maxChildren: 1,
|
|
254
|
+
totalRooms: 2,
|
|
255
|
+
availableRooms: 1,
|
|
256
|
+
bedType: "Single",
|
|
257
|
+
bathType: "shared",
|
|
258
|
+
isAvailable: true,
|
|
259
|
+
amenities: ["Hammock Balcony", "Meals Included", "Free Wifi", "Hot Water"],
|
|
260
|
+
},
|
|
261
|
+
// ── Treehouse Coorg (tr1) ──
|
|
262
|
+
{
|
|
263
|
+
_id: "r7a",
|
|
264
|
+
propertyId: "tr1",
|
|
265
|
+
roomType: "cottage",
|
|
266
|
+
name: "Treetop Suite",
|
|
267
|
+
description: "Glass-panelled treehouse with 180° jungle views and rainfall shower.",
|
|
268
|
+
images: [
|
|
269
|
+
"https://images.unsplash.com/photo-1499793983690-e29da59ef1c2?w=600",
|
|
270
|
+
],
|
|
271
|
+
pricePerNight: 8999,
|
|
272
|
+
maxAdults: 2,
|
|
273
|
+
maxChildren: 1,
|
|
274
|
+
totalRooms: 2,
|
|
275
|
+
availableRooms: 1,
|
|
276
|
+
bedType: "King",
|
|
277
|
+
bathType: "private",
|
|
278
|
+
isAvailable: true,
|
|
279
|
+
amenities: [
|
|
280
|
+
"Jungle View",
|
|
281
|
+
"Rainfall Shower",
|
|
282
|
+
"Fire Pit",
|
|
283
|
+
"Stargazing Deck",
|
|
284
|
+
"Breakfast Included",
|
|
285
|
+
"No TV (intentional!)",
|
|
286
|
+
],
|
|
287
|
+
},
|
|
288
|
+
];
|
|
289
|
+
// ══════════════════════════════════════════════════════════════════════════════
|
|
290
|
+
// PROPERTIES — No embedded rooms, uses roomIds
|
|
291
|
+
// ══════════════════════════════════════════════════════════════════════════════
|
|
292
|
+
export const staysDummyData = [
|
|
293
|
+
// ── HOTELS ───────────────────────────────────────────────────────────────
|
|
294
|
+
{
|
|
295
|
+
_id: "h1",
|
|
296
|
+
slug: "the-grand-palace-hotel-jaipur",
|
|
297
|
+
title: "The Grand Palace Hotel",
|
|
298
|
+
shortDescription: "5-star heritage hotel in the heart of Pink City",
|
|
299
|
+
description: "Experience royal Rajasthani hospitality in this beautifully restored heritage palace. Set amidst lush gardens, each room is adorned with hand-crafted furniture, silk drapes, and original artwork. Just minutes from Hawa Mahal and City Palace.",
|
|
300
|
+
propertyType: "hotel",
|
|
301
|
+
starRating: 5,
|
|
302
|
+
images: [
|
|
303
|
+
"https://images.unsplash.com/photo-1566073771259-6a8506099945?w=800",
|
|
304
|
+
"https://images.unsplash.com/photo-1520250497591-112f2f40a3f4?w=800",
|
|
305
|
+
],
|
|
306
|
+
address: "MI Road, Near Ajmeri Gate",
|
|
307
|
+
city: "Jaipur",
|
|
308
|
+
state: "Rajasthan",
|
|
309
|
+
country: "India",
|
|
310
|
+
nearbyLandmarks: [
|
|
311
|
+
"Hawa Mahal (1.2 km)",
|
|
312
|
+
"City Palace (2 km)",
|
|
313
|
+
"Jantar Mantar (2.5 km)",
|
|
314
|
+
],
|
|
315
|
+
roomIds: ["r1a", "r1b"],
|
|
316
|
+
amenities: [
|
|
317
|
+
"Swimming Pool",
|
|
318
|
+
"Spa",
|
|
319
|
+
"Restaurant",
|
|
320
|
+
"Room Service",
|
|
321
|
+
"Concierge",
|
|
322
|
+
"Valet Parking",
|
|
323
|
+
"Free WiFi",
|
|
324
|
+
"Gym",
|
|
325
|
+
"Bar",
|
|
326
|
+
],
|
|
327
|
+
houseRules: [
|
|
328
|
+
"No smoking indoors",
|
|
329
|
+
"Check-in: 2:00 PM",
|
|
330
|
+
"Check-out: 11:00 AM",
|
|
331
|
+
],
|
|
332
|
+
checkInTime: "14:00",
|
|
333
|
+
checkOutTime: "11:00",
|
|
334
|
+
cancellationPolicy: "moderate",
|
|
335
|
+
petsAllowed: false,
|
|
336
|
+
instantBook: true,
|
|
337
|
+
rating: 4.8,
|
|
338
|
+
ratingCount: 892,
|
|
339
|
+
isFeatured: true,
|
|
340
|
+
policies: {
|
|
341
|
+
cancellation: "Free cancellation up to 48 hours before check-in",
|
|
342
|
+
prepayment: "No prepayment needed - pay at the property",
|
|
343
|
+
checkInAge: 18,
|
|
344
|
+
},
|
|
345
|
+
rules: { smokingAllowed: false, partiesAllowed: false },
|
|
346
|
+
fees: { cleaningFee: 500, taxPercentage: 12 },
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
_id: "h2",
|
|
350
|
+
slug: "sea-haven-resort-goa",
|
|
351
|
+
title: "Sea Haven Beach Resort",
|
|
352
|
+
shortDescription: "Beachfront resort with private beach access in North Goa",
|
|
353
|
+
description: "Wake up to the sound of waves at this stunning beachfront resort. Direct access to Calangute Beach, multiple pool options, water sports facilities, and a rooftop bar with stunning sunset views over the Arabian Sea.",
|
|
354
|
+
propertyType: "resort",
|
|
355
|
+
starRating: 4,
|
|
356
|
+
images: [
|
|
357
|
+
"https://images.unsplash.com/photo-1571003123894-1f0594d2b5d9?w=800",
|
|
358
|
+
"https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=800",
|
|
359
|
+
],
|
|
360
|
+
address: "Calangute Beach Road",
|
|
361
|
+
city: "Goa",
|
|
362
|
+
state: "Goa",
|
|
363
|
+
country: "India",
|
|
364
|
+
nearbyLandmarks: [
|
|
365
|
+
"Calangute Beach (direct access)",
|
|
366
|
+
"Baga Market (3 km)",
|
|
367
|
+
"Fort Aguada (8 km)",
|
|
368
|
+
],
|
|
369
|
+
roomIds: ["r2a", "r2b"],
|
|
370
|
+
amenities: [
|
|
371
|
+
"Private Beach",
|
|
372
|
+
"Infinity Pool",
|
|
373
|
+
"Water Sports",
|
|
374
|
+
"Beach Bar",
|
|
375
|
+
"Spa",
|
|
376
|
+
"Free WiFi",
|
|
377
|
+
"Restaurant",
|
|
378
|
+
"Yoga Deck",
|
|
379
|
+
],
|
|
380
|
+
houseRules: [
|
|
381
|
+
"No parties after 11 PM",
|
|
382
|
+
"Eco-friendly property — single-use plastics prohibited",
|
|
383
|
+
],
|
|
384
|
+
checkInTime: "14:00",
|
|
385
|
+
checkOutTime: "12:00",
|
|
386
|
+
cancellationPolicy: "flexible",
|
|
387
|
+
petsAllowed: false,
|
|
388
|
+
instantBook: true,
|
|
389
|
+
rating: 4.6,
|
|
390
|
+
ratingCount: 1203,
|
|
391
|
+
isFeatured: true,
|
|
392
|
+
policies: {
|
|
393
|
+
cancellation: "Free cancellation up to 48 hours before check-in",
|
|
394
|
+
prepayment: "No prepayment needed - pay at the property",
|
|
395
|
+
checkInAge: 18,
|
|
396
|
+
},
|
|
397
|
+
rules: { smokingAllowed: false, partiesAllowed: false },
|
|
398
|
+
fees: { cleaningFee: 500, taxPercentage: 12 },
|
|
399
|
+
},
|
|
400
|
+
// ── HOSTELS ───────────────────────────────────────────────────────────────
|
|
401
|
+
{
|
|
402
|
+
_id: "hs1",
|
|
403
|
+
slug: "backpackers-den-manali",
|
|
404
|
+
title: "Backpackers' Den Manali",
|
|
405
|
+
shortDescription: "Budget-friendly hostel with stunning Himalayan views & social vibe",
|
|
406
|
+
description: "The most social spot in Manali! A cozy hostel with a warm common area, bonfire nights, movie screenings, and organized treks. Free breakfast included. Walking distance to Mall Road and Hadimba Temple.",
|
|
407
|
+
propertyType: "hostel",
|
|
408
|
+
images: [
|
|
409
|
+
"https://images.unsplash.com/photo-1555854877-bab0e564b8d5?w=800",
|
|
410
|
+
"https://images.unsplash.com/photo-1520116468816-95b69f847357?w=800",
|
|
411
|
+
],
|
|
412
|
+
address: "Old Manali Village Road",
|
|
413
|
+
city: "Manali",
|
|
414
|
+
state: "Himachal Pradesh",
|
|
415
|
+
country: "India",
|
|
416
|
+
nearbyLandmarks: [
|
|
417
|
+
"Mall Road (1.5 km)",
|
|
418
|
+
"Hadimba Temple (2 km)",
|
|
419
|
+
"Solang Valley (14 km)",
|
|
420
|
+
],
|
|
421
|
+
roomIds: ["r3a", "r3b", "r3c"],
|
|
422
|
+
amenities: [
|
|
423
|
+
"Free Breakfast",
|
|
424
|
+
"Common Room",
|
|
425
|
+
"Bonfire Area",
|
|
426
|
+
"Trek Desk",
|
|
427
|
+
"Free WiFi",
|
|
428
|
+
"Luggage Storage",
|
|
429
|
+
"Laundry",
|
|
430
|
+
],
|
|
431
|
+
houseRules: [
|
|
432
|
+
"Quiet hours 11 PM – 7 AM",
|
|
433
|
+
"Alcohol permitted in common areas only",
|
|
434
|
+
],
|
|
435
|
+
checkInTime: "12:00",
|
|
436
|
+
checkOutTime: "10:00",
|
|
437
|
+
cancellationPolicy: "flexible",
|
|
438
|
+
petsAllowed: false,
|
|
439
|
+
instantBook: true,
|
|
440
|
+
rating: 4.7,
|
|
441
|
+
ratingCount: 2340,
|
|
442
|
+
isFeatured: true,
|
|
443
|
+
policies: {
|
|
444
|
+
cancellation: "Free cancellation up to 48 hours before check-in",
|
|
445
|
+
prepayment: "No prepayment needed - pay at the property",
|
|
446
|
+
checkInAge: 18,
|
|
447
|
+
},
|
|
448
|
+
rules: { smokingAllowed: false, partiesAllowed: false },
|
|
449
|
+
fees: { cleaningFee: 500, taxPercentage: 12 },
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
_id: "hs2",
|
|
453
|
+
slug: "zostel-rishikesh-riverside",
|
|
454
|
+
title: "Riverside Social Hostel Rishikesh",
|
|
455
|
+
shortDescription: "Yoga, rafting & river-view dorms right on the Ganges",
|
|
456
|
+
description: "Perched on the Ganges bank, this vibrant hostel is heaven for yogis and adventure seekers. Daily yoga sessions, rafting packages, and a riverside cafe. Meet travelers from around the world.",
|
|
457
|
+
propertyType: "hostel",
|
|
458
|
+
images: [
|
|
459
|
+
"https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=800",
|
|
460
|
+
],
|
|
461
|
+
address: "Tapovan, Near Laxman Jhula",
|
|
462
|
+
city: "Rishikesh",
|
|
463
|
+
state: "Uttarakhand",
|
|
464
|
+
country: "India",
|
|
465
|
+
nearbyLandmarks: [
|
|
466
|
+
"Laxman Jhula (0.8 km)",
|
|
467
|
+
"Beatles Ashram (4 km)",
|
|
468
|
+
"Rafting Point (2 km)",
|
|
469
|
+
],
|
|
470
|
+
roomIds: ["r4a", "r4b"],
|
|
471
|
+
amenities: [
|
|
472
|
+
"Riverside Cafe",
|
|
473
|
+
"Daily Yoga",
|
|
474
|
+
"Rafting Packages",
|
|
475
|
+
"Free WiFi",
|
|
476
|
+
"Rooftop",
|
|
477
|
+
"Hammocks",
|
|
478
|
+
"Luggage Storage",
|
|
479
|
+
],
|
|
480
|
+
houseRules: ["Shoes off inside", "Vegetarian property — no meat allowed"],
|
|
481
|
+
checkInTime: "13:00",
|
|
482
|
+
checkOutTime: "11:00",
|
|
483
|
+
cancellationPolicy: "flexible",
|
|
484
|
+
petsAllowed: false,
|
|
485
|
+
instantBook: true,
|
|
486
|
+
rating: 4.8,
|
|
487
|
+
ratingCount: 3120,
|
|
488
|
+
isFeatured: false,
|
|
489
|
+
policies: {
|
|
490
|
+
cancellation: "Free cancellation up to 48 hours before check-in",
|
|
491
|
+
prepayment: "No prepayment needed - pay at the property",
|
|
492
|
+
checkInAge: 18,
|
|
493
|
+
},
|
|
494
|
+
rules: { smokingAllowed: false, partiesAllowed: false },
|
|
495
|
+
fees: { cleaningFee: 500, taxPercentage: 12 },
|
|
496
|
+
},
|
|
497
|
+
// ── APARTMENTS ────────────────────────────────────────────────────────────
|
|
498
|
+
{
|
|
499
|
+
_id: "ap1",
|
|
500
|
+
slug: "colaba-luxury-apartment-mumbai",
|
|
501
|
+
title: "Modern Luxury Apartment — Colaba",
|
|
502
|
+
shortDescription: "Fully furnished 2BHK near Gateway of India",
|
|
503
|
+
description: "Beautiful fully-furnished apartment in the heart of Colaba with stunning sea views. Fully equipped kitchen, high-speed internet, and dedicated workspace. Perfect for long-stay business travelers or families.",
|
|
504
|
+
propertyType: "apartment",
|
|
505
|
+
images: [
|
|
506
|
+
"https://images.unsplash.com/photo-1502672260266-1c1ef2d93688?w=800",
|
|
507
|
+
"https://images.unsplash.com/photo-1484154218962-a197022b5858?w=800",
|
|
508
|
+
],
|
|
509
|
+
address: "14 Garden Road, Colaba",
|
|
510
|
+
city: "Mumbai",
|
|
511
|
+
state: "Maharashtra",
|
|
512
|
+
country: "India",
|
|
513
|
+
nearbyLandmarks: [
|
|
514
|
+
"Gateway of India (0.7 km)",
|
|
515
|
+
"Leopold Cafe (0.3 km)",
|
|
516
|
+
"CST Station (3 km)",
|
|
517
|
+
],
|
|
518
|
+
roomIds: ["r5a"],
|
|
519
|
+
amenities: [
|
|
520
|
+
"High-speed WiFi",
|
|
521
|
+
"Air Conditioning",
|
|
522
|
+
"Fully Equipped Kitchen",
|
|
523
|
+
"Washing Machine",
|
|
524
|
+
"Sea View",
|
|
525
|
+
"Security 24/7",
|
|
526
|
+
],
|
|
527
|
+
houseRules: ["No parties", "No smoking", "Min 2 nights stay"],
|
|
528
|
+
checkInTime: "15:00",
|
|
529
|
+
checkOutTime: "11:00",
|
|
530
|
+
cancellationPolicy: "moderate",
|
|
531
|
+
petsAllowed: true,
|
|
532
|
+
instantBook: false,
|
|
533
|
+
rating: 4.9,
|
|
534
|
+
ratingCount: 145,
|
|
535
|
+
isFeatured: true,
|
|
536
|
+
policies: {
|
|
537
|
+
cancellation: "Free cancellation up to 48 hours before check-in",
|
|
538
|
+
prepayment: "No prepayment needed - pay at the property",
|
|
539
|
+
checkInAge: 18,
|
|
540
|
+
},
|
|
541
|
+
rules: { smokingAllowed: false, partiesAllowed: false },
|
|
542
|
+
fees: { cleaningFee: 500, taxPercentage: 12 },
|
|
543
|
+
},
|
|
544
|
+
// ── HOMESTAY ──────────────────────────────────────────────────────────────
|
|
545
|
+
{
|
|
546
|
+
_id: "hm1",
|
|
547
|
+
slug: "kerala-traditional-homestay-alleppey",
|
|
548
|
+
title: "Kerala Traditional Homestay",
|
|
549
|
+
shortDescription: "Authentic Kerala home with home-cooked meals & backwater views",
|
|
550
|
+
description: "Live like a local in this traditional Kerala tharavadu (ancestral home) surrounded by rice paddies and backwaters. Family-run with unbeatable home-cooked Kerala meals included. Canoe rides and cooking classes available.",
|
|
551
|
+
propertyType: "homestay",
|
|
552
|
+
images: [
|
|
553
|
+
"https://images.unsplash.com/photo-1602216056096-3b40cc0c9944?w=800",
|
|
554
|
+
],
|
|
555
|
+
address: "Kumarakom Village",
|
|
556
|
+
city: "Alleppey",
|
|
557
|
+
state: "Kerala",
|
|
558
|
+
country: "India",
|
|
559
|
+
nearbyLandmarks: [
|
|
560
|
+
"Alleppey Backwaters (0.1 km)",
|
|
561
|
+
"Kumarakom Bird Sanctuary (3 km)",
|
|
562
|
+
"Vembanad Lake (2 km)",
|
|
563
|
+
],
|
|
564
|
+
roomIds: ["r6a", "r6b"],
|
|
565
|
+
amenities: [
|
|
566
|
+
"Home-cooked Meals",
|
|
567
|
+
"Canoe Rides",
|
|
568
|
+
"Cooking Classes",
|
|
569
|
+
"WiFi",
|
|
570
|
+
"Bicycle",
|
|
571
|
+
"Guided Farm Tour",
|
|
572
|
+
],
|
|
573
|
+
houseRules: [
|
|
574
|
+
"Vegetarian meals only",
|
|
575
|
+
"Respect local customs",
|
|
576
|
+
"No alcohol inside rooms",
|
|
577
|
+
],
|
|
578
|
+
checkInTime: "13:00",
|
|
579
|
+
checkOutTime: "10:00",
|
|
580
|
+
cancellationPolicy: "flexible",
|
|
581
|
+
petsAllowed: true,
|
|
582
|
+
instantBook: true,
|
|
583
|
+
rating: 4.9,
|
|
584
|
+
ratingCount: 456,
|
|
585
|
+
isFeatured: true,
|
|
586
|
+
policies: {
|
|
587
|
+
cancellation: "Free cancellation up to 48 hours before check-in",
|
|
588
|
+
prepayment: "No prepayment needed - pay at the property",
|
|
589
|
+
checkInAge: 18,
|
|
590
|
+
},
|
|
591
|
+
rules: { smokingAllowed: false, partiesAllowed: false },
|
|
592
|
+
fees: { cleaningFee: 500, taxPercentage: 12 },
|
|
593
|
+
},
|
|
594
|
+
// ── TREEHOUSE ────────────────────────────────────────────────────────────
|
|
595
|
+
{
|
|
596
|
+
_id: "tr1",
|
|
597
|
+
slug: "treehouse-hideout-coorg",
|
|
598
|
+
title: "Treehouse Hideout Coorg",
|
|
599
|
+
shortDescription: "Magical treehouse stay amid coffee plantations",
|
|
600
|
+
description: "Nestle high above a working coffee plantation in this handcrafted treehouse. Fall asleep to jungle sounds, wake up to bird calls and misty mountains. Rainforest walks, spice tour, and plantation breakfast included.",
|
|
601
|
+
propertyType: "treehouse",
|
|
602
|
+
images: [
|
|
603
|
+
"https://images.unsplash.com/photo-1499793983690-e29da59ef1c2?w=800",
|
|
604
|
+
],
|
|
605
|
+
address: "Madikeri Coffee Estate",
|
|
606
|
+
city: "Coorg",
|
|
607
|
+
state: "Karnataka",
|
|
608
|
+
country: "India",
|
|
609
|
+
nearbyLandmarks: [
|
|
610
|
+
"Madikeri Fort (8 km)",
|
|
611
|
+
"Abbey Falls (10 km)",
|
|
612
|
+
"Raja Seat (7 km)",
|
|
613
|
+
],
|
|
614
|
+
roomIds: ["r7a"],
|
|
615
|
+
amenities: [
|
|
616
|
+
"Plantation Breakfast",
|
|
617
|
+
"Coffee Tasting",
|
|
618
|
+
"Jungle Walks",
|
|
619
|
+
"Bird Watching",
|
|
620
|
+
"Star Gazing",
|
|
621
|
+
"Campfire",
|
|
622
|
+
],
|
|
623
|
+
houseRules: [
|
|
624
|
+
"No generators — eco property",
|
|
625
|
+
"Torch provided for night walks",
|
|
626
|
+
"Silence after 10 PM",
|
|
627
|
+
],
|
|
628
|
+
checkInTime: "15:00",
|
|
629
|
+
checkOutTime: "10:00",
|
|
630
|
+
cancellationPolicy: "strict",
|
|
631
|
+
petsAllowed: false,
|
|
632
|
+
instantBook: false,
|
|
633
|
+
rating: 4.95,
|
|
634
|
+
ratingCount: 289,
|
|
635
|
+
isFeatured: true,
|
|
636
|
+
policies: {
|
|
637
|
+
cancellation: "Free cancellation up to 48 hours before check-in",
|
|
638
|
+
prepayment: "No prepayment needed - pay at the property",
|
|
639
|
+
checkInAge: 18,
|
|
640
|
+
},
|
|
641
|
+
rules: { smokingAllowed: false, partiesAllowed: false },
|
|
642
|
+
fees: { cleaningFee: 500, taxPercentage: 12 },
|
|
643
|
+
},
|
|
644
|
+
];
|
|
645
|
+
// ── Helper: resolve rooms for a property ─────────────────────────────────────
|
|
646
|
+
export function getRoomsForProperty(propertyId) {
|
|
647
|
+
return roomsDummyData.filter((r) => r.propertyId === propertyId);
|
|
648
|
+
}
|
|
649
|
+
export function getRoomsForSlug(slug) {
|
|
650
|
+
const property = staysDummyData.find((p) => p.slug === slug);
|
|
651
|
+
return property ? getRoomsForProperty(property._id) : [];
|
|
652
|
+
}
|
|
653
|
+
export function getCheapestRoom(propertyId) {
|
|
654
|
+
const rooms = getRoomsForProperty(propertyId);
|
|
655
|
+
if (rooms.length === 0)
|
|
656
|
+
return undefined;
|
|
657
|
+
return rooms.reduce((min, r) => (r.pricePerNight < min.pricePerNight ? r : min), rooms[0]);
|
|
658
|
+
}
|
|
659
|
+
// ── Constants ─────────────────────────────────────────────────────────────────
|
|
660
|
+
export const STAY_PROPERTY_TYPES = [
|
|
661
|
+
{ key: "hotel", label: "Hotels", emoji: "🏨" },
|
|
662
|
+
{ key: "hostel", label: "Hostels", emoji: "🎒" },
|
|
663
|
+
{ key: "apartment", label: "Apartments", emoji: "🏢" },
|
|
664
|
+
{ key: "homestay", label: "Homestays", emoji: "🏡" },
|
|
665
|
+
{ key: "resort", label: "Resorts", emoji: "🌴" },
|
|
666
|
+
{ key: "villa", label: "Villas", emoji: "🏖️" },
|
|
667
|
+
{ key: "treehouse", label: "Treehouses", emoji: "🌳" },
|
|
668
|
+
{ key: "houseboat", label: "Houseboats", emoji: "⛵" },
|
|
669
|
+
{ key: "camping", label: "Glamping", emoji: "⛺" },
|
|
670
|
+
{ key: "guesthouse", label: "Guesthouses", emoji: "🛏️" },
|
|
671
|
+
];
|
|
672
|
+
export const ROOM_TYPE_LABELS = {
|
|
673
|
+
"dorm-4": "4-Bed Dorm",
|
|
674
|
+
"dorm-6": "6-Bed Dorm",
|
|
675
|
+
"dorm-8": "8-Bed Dorm",
|
|
676
|
+
"private-single": "Single Room",
|
|
677
|
+
"private-double": "Double Room",
|
|
678
|
+
"private-twin": "Twin Room",
|
|
679
|
+
"private-triple": "Triple Room",
|
|
680
|
+
suite: "Suite",
|
|
681
|
+
deluxe: "Deluxe Room",
|
|
682
|
+
studio: "Studio",
|
|
683
|
+
single: "Single Room",
|
|
684
|
+
double: "Double Room",
|
|
685
|
+
twin: "Twin Room",
|
|
686
|
+
family: "Family Room",
|
|
687
|
+
cottage: "Cottage",
|
|
688
|
+
tent: "Glamping Tent",
|
|
689
|
+
penthouse: "Penthouse",
|
|
690
|
+
villa: "Villa",
|
|
691
|
+
"1bhk": "1 BHK",
|
|
692
|
+
"2bhk": "2 BHK",
|
|
693
|
+
"3bhk": "3 BHK",
|
|
694
|
+
};
|