@myrjfa/state 2.1.9 → 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.
Files changed (174) hide show
  1. package/dist/hooks/usePersistentDraftState.d.ts +20 -0
  2. package/dist/hooks/usePersistentDraftState.d.ts.map +1 -0
  3. package/dist/hooks/usePersistentDraftState.js +47 -0
  4. package/dist/index.d.ts +3 -0
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +3 -0
  7. package/dist/lib/actions/actions.d.ts +17 -19
  8. package/dist/lib/actions/actions.d.ts.map +1 -1
  9. package/dist/lib/actions/actions.js +24 -7
  10. package/dist/lib/actions/auth.d.ts +2 -2
  11. package/dist/lib/actions/auth.d.ts.map +1 -1
  12. package/dist/lib/actions/auth.js +9 -0
  13. package/dist/lib/actions/booking.js +2 -2
  14. package/dist/lib/actions/fetcher.js +2 -1
  15. package/dist/lib/actions.d.ts +556 -0
  16. package/dist/lib/actions.d.ts.map +1 -0
  17. package/dist/lib/actions.js +1327 -0
  18. package/dist/lib/adminDashboardActions.d.ts +61 -0
  19. package/dist/lib/adminDashboardActions.d.ts.map +1 -0
  20. package/dist/lib/adminDashboardActions.js +89 -0
  21. package/dist/lib/adventureActions.d.ts +102 -0
  22. package/dist/lib/adventureActions.d.ts.map +1 -0
  23. package/dist/lib/adventureActions.js +202 -0
  24. package/dist/lib/adventureDummyData.d.ts +3 -0
  25. package/dist/lib/adventureDummyData.d.ts.map +1 -0
  26. package/dist/lib/adventureDummyData.js +138 -0
  27. package/dist/lib/adventureFormPage.d.ts +39 -0
  28. package/dist/lib/adventureFormPage.d.ts.map +1 -0
  29. package/dist/lib/adventureFormPage.js +70 -0
  30. package/dist/lib/brandActions.d.ts +83 -0
  31. package/dist/lib/brandActions.d.ts.map +1 -0
  32. package/dist/lib/brandActions.js +28 -0
  33. package/dist/lib/companionActions.d.ts +174 -0
  34. package/dist/lib/companionActions.d.ts.map +1 -0
  35. package/dist/lib/companionActions.js +276 -0
  36. package/dist/lib/companionDummyData.d.ts +99 -0
  37. package/dist/lib/companionDummyData.d.ts.map +1 -0
  38. package/dist/lib/companionDummyData.js +203 -0
  39. package/dist/lib/destinations.d.ts +14 -0
  40. package/dist/lib/destinations.d.ts.map +1 -0
  41. package/dist/lib/destinations.js +203 -0
  42. package/dist/lib/entitySubmission.d.ts +21 -0
  43. package/dist/lib/entitySubmission.d.ts.map +1 -0
  44. package/dist/lib/entitySubmission.js +10 -0
  45. package/dist/lib/eventActions.d.ts +176 -0
  46. package/dist/lib/eventActions.d.ts.map +1 -0
  47. package/dist/lib/eventActions.js +222 -0
  48. package/dist/lib/eventFormPage.d.ts +49 -0
  49. package/dist/lib/eventFormPage.d.ts.map +1 -0
  50. package/dist/lib/eventFormPage.js +84 -0
  51. package/dist/lib/eventsDummyData.d.ts +54 -0
  52. package/dist/lib/eventsDummyData.d.ts.map +1 -0
  53. package/dist/lib/eventsDummyData.js +586 -0
  54. package/dist/lib/guideActions.d.ts +53 -0
  55. package/dist/lib/guideActions.d.ts.map +1 -0
  56. package/dist/lib/guideActions.js +127 -0
  57. package/dist/lib/guideDummyData.d.ts +3 -0
  58. package/dist/lib/guideDummyData.d.ts.map +1 -0
  59. package/dist/lib/guideDummyData.js +66 -0
  60. package/dist/lib/hooks/use-mobile.js +0 -1
  61. package/dist/lib/hooks/useChatSocket.js +0 -1
  62. package/dist/lib/hooks/useHostCalendarSelection.d.ts +51 -0
  63. package/dist/lib/hooks/useHostCalendarSelection.d.ts.map +1 -0
  64. package/dist/lib/hooks/useHostCalendarSelection.js +200 -0
  65. package/dist/lib/hostDashboardActions.d.ts +189 -0
  66. package/dist/lib/hostDashboardActions.d.ts.map +1 -0
  67. package/dist/lib/hostDashboardActions.js +400 -0
  68. package/dist/lib/imageUpload.d.ts +4 -0
  69. package/dist/lib/imageUpload.d.ts.map +1 -0
  70. package/dist/lib/imageUpload.js +36 -0
  71. package/dist/lib/locationActions.d.ts +141 -0
  72. package/dist/lib/locationActions.d.ts.map +1 -0
  73. package/dist/lib/locationActions.js +113 -0
  74. package/dist/lib/models/adventure.d.ts +26 -9
  75. package/dist/lib/models/adventure.d.ts.map +1 -1
  76. package/dist/lib/models/blog.d.ts +2 -2
  77. package/dist/lib/models/discount.d.ts +160 -0
  78. package/dist/lib/models/discount.d.ts.map +1 -0
  79. package/dist/lib/models/discount.js +106 -0
  80. package/dist/lib/models/enquiry.d.ts +34 -0
  81. package/dist/lib/models/enquiry.d.ts.map +1 -0
  82. package/dist/lib/models/enquiry.js +140 -0
  83. package/dist/lib/models/guide.d.ts +4 -3
  84. package/dist/lib/models/guide.d.ts.map +1 -1
  85. package/dist/lib/models/notifications.d.ts +12 -12
  86. package/dist/lib/models/opportunities/freelance.d.ts +76 -76
  87. package/dist/lib/models/opportunities/internship.d.ts +76 -76
  88. package/dist/lib/models/opportunities/job.d.ts +78 -78
  89. package/dist/lib/models/opportunities/opportunity.d.ts +76 -76
  90. package/dist/lib/models/opportunities/volunteerJob.d.ts +76 -76
  91. package/dist/lib/models/package.d.ts +380 -86
  92. package/dist/lib/models/package.d.ts.map +1 -1
  93. package/dist/lib/models/package.js +9 -8
  94. package/dist/lib/models/pricing.d.ts +255 -0
  95. package/dist/lib/models/pricing.d.ts.map +1 -0
  96. package/dist/lib/models/pricing.js +145 -0
  97. package/dist/lib/models/rental.d.ts +12 -7
  98. package/dist/lib/models/rental.d.ts.map +1 -1
  99. package/dist/lib/models/review.d.ts +5 -2
  100. package/dist/lib/models/review.d.ts.map +1 -1
  101. package/dist/lib/models/stay.d.ts +11 -8
  102. package/dist/lib/models/stay.d.ts.map +1 -1
  103. package/dist/lib/models/stay.js +1 -0
  104. package/dist/lib/models/tile.d.ts +11 -7
  105. package/dist/lib/models/tile.d.ts.map +1 -1
  106. package/dist/lib/models/travelPackage.d.ts +943 -0
  107. package/dist/lib/models/travelPackage.d.ts.map +1 -0
  108. package/dist/lib/models/travelPackage.js +326 -0
  109. package/dist/lib/multistepDraft.d.ts +4 -0
  110. package/dist/lib/multistepDraft.d.ts.map +1 -0
  111. package/dist/lib/multistepDraft.js +18 -0
  112. package/dist/lib/opportunityFormData.d.ts +13 -0
  113. package/dist/lib/opportunityFormData.d.ts.map +1 -0
  114. package/dist/lib/opportunityFormData.js +62 -0
  115. package/dist/lib/opportunityFormPage.d.ts +38 -0
  116. package/dist/lib/opportunityFormPage.d.ts.map +1 -0
  117. package/dist/lib/opportunityFormPage.js +33 -0
  118. package/dist/lib/packageActions.d.ts +86 -0
  119. package/dist/lib/packageActions.d.ts.map +1 -0
  120. package/dist/lib/packageActions.js +168 -0
  121. package/dist/lib/packageDummyData.d.ts +3 -0
  122. package/dist/lib/packageDummyData.d.ts.map +1 -0
  123. package/dist/lib/packageDummyData.js +57 -0
  124. package/dist/lib/placeActions.d.ts +192 -0
  125. package/dist/lib/placeActions.d.ts.map +1 -0
  126. package/dist/lib/placeActions.js +57 -0
  127. package/dist/lib/propertyActions.d.ts +17 -0
  128. package/dist/lib/propertyActions.d.ts.map +1 -0
  129. package/dist/lib/propertyActions.js +16 -0
  130. package/dist/lib/rentalActions.d.ts +86 -0
  131. package/dist/lib/rentalActions.d.ts.map +1 -0
  132. package/dist/lib/rentalActions.js +235 -0
  133. package/dist/lib/rentalDummyData.d.ts +3 -0
  134. package/dist/lib/rentalDummyData.d.ts.map +1 -0
  135. package/dist/lib/rentalDummyData.js +402 -0
  136. package/dist/lib/rentalFormPage.d.ts +48 -0
  137. package/dist/lib/rentalFormPage.d.ts.map +1 -0
  138. package/dist/lib/rentalFormPage.js +97 -0
  139. package/dist/lib/roomActions.d.ts +39 -0
  140. package/dist/lib/roomActions.d.ts.map +1 -0
  141. package/dist/lib/roomActions.js +74 -0
  142. package/dist/lib/stayActions.d.ts +97 -0
  143. package/dist/lib/stayActions.d.ts.map +1 -0
  144. package/dist/lib/stayActions.js +138 -0
  145. package/dist/lib/staysDummyData.d.ts +72 -0
  146. package/dist/lib/staysDummyData.d.ts.map +1 -0
  147. package/dist/lib/staysDummyData.js +694 -0
  148. package/dist/lib/storeDummyData.d.ts +33 -0
  149. package/dist/lib/storeDummyData.d.ts.map +1 -0
  150. package/dist/lib/storeDummyData.js +336 -0
  151. package/dist/lib/travelPackageActions.d.ts +102 -0
  152. package/dist/lib/travelPackageActions.d.ts.map +1 -0
  153. package/dist/lib/travelPackageActions.js +487 -0
  154. package/dist/lib/travelPackageFormData.d.ts +20 -0
  155. package/dist/lib/travelPackageFormData.d.ts.map +1 -0
  156. package/dist/lib/travelPackageFormData.js +54 -0
  157. package/dist/lib/travelPackageFormPage.d.ts +32 -0
  158. package/dist/lib/travelPackageFormPage.d.ts.map +1 -0
  159. package/dist/lib/travelPackageFormPage.js +43 -0
  160. package/dist/lib/userAtom.d.ts +32 -32
  161. package/dist/lib/userAtom.d.ts.map +1 -1
  162. package/dist/lib/userAtom.js +17 -1
  163. package/dist/lib/util.d.ts +11 -0
  164. package/dist/lib/util.d.ts.map +1 -0
  165. package/dist/lib/util.js +82 -0
  166. package/dist/lib/utils.d.ts.map +1 -1
  167. package/dist/lib/utils.js +1 -0
  168. package/dist/lib/vehicleData.d.ts +2 -0
  169. package/dist/lib/vehicleData.d.ts.map +1 -0
  170. package/dist/lib/vehicleData.js +181 -0
  171. package/dist/lib/vehicleModels.d.ts +2 -0
  172. package/dist/lib/vehicleModels.d.ts.map +1 -0
  173. package/dist/lib/vehicleModels.js +128 -0
  174. package/package.json +6 -5
@@ -0,0 +1,113 @@
1
+ import { get, post } from "@myrjfa/state/dist/lib/actions/fetcher";
2
+ // ─── Location fetching ────────────────────────────────────────────────────────
3
+ export async function fetchLocationBySlugPath(slugPath) {
4
+ try {
5
+ const data = await get(`/locations/by-path?slugPath=${encodeURIComponent(slugPath)}`);
6
+ return { success: true, location: data.data };
7
+ }
8
+ catch (err) {
9
+ return { success: false, error: err.message };
10
+ }
11
+ }
12
+ export async function fetchLocationChildren(id) {
13
+ try {
14
+ const data = await get(`/locations/${id}/children`);
15
+ return { success: true, children: data.data };
16
+ }
17
+ catch (err) {
18
+ return { success: false, error: err.message, children: [] };
19
+ }
20
+ }
21
+ export async function fetchLocationBreadcrumb(id) {
22
+ try {
23
+ const data = await get(`/locations/${id}/breadcrumb`);
24
+ return data.data ?? [];
25
+ }
26
+ catch {
27
+ return [];
28
+ }
29
+ }
30
+ export async function searchLocations(q, opts = {}) {
31
+ try {
32
+ const params = new URLSearchParams({ q, limit: String(opts.limit ?? 8) });
33
+ if (opts.type)
34
+ params.set("type", opts.type);
35
+ const data = await get(`/locations/search?${params}`);
36
+ return data.data ?? { results: [], total: 0 };
37
+ }
38
+ catch {
39
+ return { results: [], total: 0 };
40
+ }
41
+ }
42
+ // ─── Itineraries ──────────────────────────────────────────────────────────────
43
+ export async function fetchLocationItineraries(id, page = 1) {
44
+ try {
45
+ const data = await get(`/locations/${id}/itineraries?page=${page}&limit=6`);
46
+ return data.data ?? { itineraries: [], total: 0 };
47
+ }
48
+ catch {
49
+ return { itineraries: [], total: 0 };
50
+ }
51
+ }
52
+ // ─── Forum ────────────────────────────────────────────────────────────────────
53
+ export async function fetchThreads(locationId, opts = {}) {
54
+ try {
55
+ const params = new URLSearchParams({
56
+ sort: opts.sort ?? "latest",
57
+ page: String(opts.page ?? 1),
58
+ limit: "20",
59
+ });
60
+ if (opts.category)
61
+ params.set("category", opts.category);
62
+ const data = await get(`/locations/${locationId}/threads?${params}`);
63
+ return data.data ?? { threads: [], total: 0 };
64
+ }
65
+ catch {
66
+ return { threads: [], total: 0 };
67
+ }
68
+ }
69
+ export async function createThread(payload) {
70
+ try {
71
+ const data = await post("/locations/threads", payload);
72
+ return { success: true, thread: data.data };
73
+ }
74
+ catch (err) {
75
+ return { success: false, error: err.message };
76
+ }
77
+ }
78
+ export async function fetchComments(threadId, page = 1) {
79
+ try {
80
+ const data = await get(`/locations/threads/${threadId}/comments?page=${page}&limit=50`);
81
+ return data.data ?? { comments: [], total: 0 };
82
+ }
83
+ catch {
84
+ return { comments: [], total: 0 };
85
+ }
86
+ }
87
+ export async function fetchThread(threadId) {
88
+ try {
89
+ const data = await get(`/locations/threads/${threadId}`);
90
+ return { success: true, thread: data.data };
91
+ }
92
+ catch (err) {
93
+ return { success: false, error: err.message };
94
+ }
95
+ }
96
+ export async function createComment(threadId, payload) {
97
+ try {
98
+ const data = await post(`/locations/threads/${threadId}/comments`, payload);
99
+ return { success: true, comment: data.data };
100
+ }
101
+ catch (err) {
102
+ return { success: false, error: err.message };
103
+ }
104
+ }
105
+ export async function voteThread(threadId, vote) {
106
+ try {
107
+ await post(`/locations/threads/${threadId}/vote`, { vote });
108
+ return { success: true };
109
+ }
110
+ catch (err) {
111
+ return { success: false, error: err.message };
112
+ }
113
+ }
@@ -1,9 +1,13 @@
1
- export type ActivityType = "trekking" | "rafting" | "paragliding" | "bungee" | "skydiving" | "surfing" | "scuba" | "kayaking" | "cycling" | "camping" | "rock-climbing" | "safari" | "other";
2
- export type DifficultyLevel = "Easy" | "Moderate" | "Challenging" | "Extreme";
1
+ import { Pricing } from "./pricing";
2
+ import { Discount } from "./discount";
3
+ import { DifficultyEnum } from "./travelPackage";
4
+ export type ActivityType = string;
3
5
  export type AdventureStatus = "draft" | "pending" | "open" | "closed" | "denied" | "archived";
4
6
  export interface AdventureSlot {
5
7
  _id?: string;
6
8
  date: Date;
9
+ startTime?: string;
10
+ endTime?: string;
7
11
  maxParticipants: number;
8
12
  bookedCount: number;
9
13
  isAvailable: boolean;
@@ -18,8 +22,7 @@ export interface Adventure {
18
22
  title: string;
19
23
  description: string;
20
24
  activityType: ActivityType;
21
- difficulty: DifficultyLevel;
22
- duration: number;
25
+ difficulty: DifficultyEnum;
23
26
  maxGroupSize?: number;
24
27
  minAge?: number;
25
28
  instantBook?: boolean;
@@ -28,9 +31,19 @@ export interface Adventure {
28
31
  state: string;
29
32
  country?: string;
30
33
  address?: string;
34
+ locationSearchAddress?: string;
35
+ pincode?: string;
36
+ latitude?: number;
37
+ longitude?: number;
31
38
  meetingPoint?: string;
32
- pricePerPerson: number;
33
- currency: string;
39
+ pricing?: Pricing;
40
+ discount?: Discount;
41
+ pricingSummary?: {
42
+ basePrice: number;
43
+ discountedPrice: number;
44
+ discountPercentage: number;
45
+ hasDiscount: boolean;
46
+ };
34
47
  operatingHours?: {
35
48
  start: string;
36
49
  end: string;
@@ -48,10 +61,14 @@ export interface Adventure {
48
61
  reviewCount?: number;
49
62
  views?: number;
50
63
  status: AdventureStatus;
64
+ draftStep?: number;
51
65
  adminApproval?: boolean;
52
66
  rejectionReason?: string;
53
67
  approvedAt?: Date;
54
- hostId: string;
68
+ hostId: string | {
69
+ _id?: string;
70
+ username?: string;
71
+ };
55
72
  host?: {
56
73
  username?: string;
57
74
  name?: string;
@@ -68,8 +85,8 @@ export interface AdventureMetaData {
68
85
  city: string;
69
86
  state: string;
70
87
  activityType: ActivityType;
71
- difficulty: DifficultyLevel;
72
- pricePerPerson: number;
88
+ difficulty: DifficultyEnum;
89
+ price: number;
73
90
  currency: string;
74
91
  }
75
92
  //# sourceMappingURL=adventure.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adventure.d.ts","sourceRoot":"","sources":["../../../src/lib/models/adventure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adventure.d.ts","sourceRoot":"","sources":["../../../src/lib/models/adventure.ts"],"names":[],"mappings":"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"}
@@ -19,7 +19,7 @@ export declare const BlogSchema: z.ZodObject<{
19
19
  authorImage: z.ZodString;
20
20
  authorRole: z.ZodEnum<["host", "admin", "user"]>;
21
21
  }, "strict", z.ZodTypeAny, {
22
- status: "pending" | "draft" | "posted" | "archived" | "denied";
22
+ status: "pending" | "denied" | "draft" | "posted" | "archived";
23
23
  title: string;
24
24
  createdAt: Date;
25
25
  updatedAt: Date;
@@ -36,7 +36,7 @@ export declare const BlogSchema: z.ZodObject<{
36
36
  authorRole: "host" | "user" | "admin";
37
37
  hashtags?: string | undefined;
38
38
  }, {
39
- status: "pending" | "draft" | "posted" | "archived" | "denied";
39
+ status: "pending" | "denied" | "draft" | "posted" | "archived";
40
40
  title: string;
41
41
  createdAt: Date;
42
42
  updatedAt: Date;
@@ -0,0 +1,160 @@
1
+ import { z } from "zod";
2
+ export declare const DiscountStrategySchema: z.ZodObject<{
3
+ type: z.ZodDefault<z.ZodEnum<["duration", "last-minute", "temporary-promotion", "coupon"]>>;
4
+ couponCode: z.ZodOptional<z.ZodString>;
5
+ couponScope: z.ZodOptional<z.ZodEnum<["listing", "host", "platform"]>>;
6
+ discountAppliesTo: z.ZodOptional<z.ZodEnum<["booking-total", "platform-fees"]>>;
7
+ createdBy: z.ZodOptional<z.ZodEnum<["admin", "host"]>>;
8
+ maxRedemptions: z.ZodOptional<z.ZodNumber>;
9
+ maxRedemptionsPerUser: z.ZodOptional<z.ZodNumber>;
10
+ minimumOrderValue: z.ZodOptional<z.ZodNumber>;
11
+ durationType: z.ZodDefault<z.ZodEnum<["weekly", "fifteen-days", "monthly", "custom", ""]>>;
12
+ minDays: z.ZodDefault<z.ZodNumber>;
13
+ discountType: z.ZodDefault<z.ZodEnum<["percentage", "flat"]>>;
14
+ discountValue: z.ZodDefault<z.ZodNumber>;
15
+ startDate: z.ZodOptional<z.ZodString>;
16
+ endDate: z.ZodOptional<z.ZodString>;
17
+ description: z.ZodDefault<z.ZodString>;
18
+ suggestedByPlatform: z.ZodDefault<z.ZodBoolean>;
19
+ active: z.ZodDefault<z.ZodBoolean>;
20
+ }, "strip", z.ZodTypeAny, {
21
+ type: "duration" | "last-minute" | "temporary-promotion" | "coupon";
22
+ description: string;
23
+ durationType: "" | "custom" | "weekly" | "monthly" | "fifteen-days";
24
+ minDays: number;
25
+ discountType: "flat" | "percentage";
26
+ discountValue: number;
27
+ suggestedByPlatform: boolean;
28
+ active: boolean;
29
+ couponCode?: string | undefined;
30
+ couponScope?: "host" | "listing" | "platform" | undefined;
31
+ discountAppliesTo?: "booking-total" | "platform-fees" | undefined;
32
+ createdBy?: "host" | "admin" | undefined;
33
+ maxRedemptions?: number | undefined;
34
+ maxRedemptionsPerUser?: number | undefined;
35
+ minimumOrderValue?: number | undefined;
36
+ startDate?: string | undefined;
37
+ endDate?: string | undefined;
38
+ }, {
39
+ type?: "duration" | "last-minute" | "temporary-promotion" | "coupon" | undefined;
40
+ description?: string | undefined;
41
+ couponCode?: string | undefined;
42
+ couponScope?: "host" | "listing" | "platform" | undefined;
43
+ discountAppliesTo?: "booking-total" | "platform-fees" | undefined;
44
+ createdBy?: "host" | "admin" | undefined;
45
+ maxRedemptions?: number | undefined;
46
+ maxRedemptionsPerUser?: number | undefined;
47
+ minimumOrderValue?: number | undefined;
48
+ durationType?: "" | "custom" | "weekly" | "monthly" | "fifteen-days" | undefined;
49
+ minDays?: number | undefined;
50
+ discountType?: "flat" | "percentage" | undefined;
51
+ discountValue?: number | undefined;
52
+ startDate?: string | undefined;
53
+ endDate?: string | undefined;
54
+ suggestedByPlatform?: boolean | undefined;
55
+ active?: boolean | undefined;
56
+ }>;
57
+ export declare const DiscountSchema: z.ZodObject<{
58
+ discountStrategies: z.ZodDefault<z.ZodArray<z.ZodObject<{
59
+ type: z.ZodDefault<z.ZodEnum<["duration", "last-minute", "temporary-promotion", "coupon"]>>;
60
+ couponCode: z.ZodOptional<z.ZodString>;
61
+ couponScope: z.ZodOptional<z.ZodEnum<["listing", "host", "platform"]>>;
62
+ discountAppliesTo: z.ZodOptional<z.ZodEnum<["booking-total", "platform-fees"]>>;
63
+ createdBy: z.ZodOptional<z.ZodEnum<["admin", "host"]>>;
64
+ maxRedemptions: z.ZodOptional<z.ZodNumber>;
65
+ maxRedemptionsPerUser: z.ZodOptional<z.ZodNumber>;
66
+ minimumOrderValue: z.ZodOptional<z.ZodNumber>;
67
+ durationType: z.ZodDefault<z.ZodEnum<["weekly", "fifteen-days", "monthly", "custom", ""]>>;
68
+ minDays: z.ZodDefault<z.ZodNumber>;
69
+ discountType: z.ZodDefault<z.ZodEnum<["percentage", "flat"]>>;
70
+ discountValue: z.ZodDefault<z.ZodNumber>;
71
+ startDate: z.ZodOptional<z.ZodString>;
72
+ endDate: z.ZodOptional<z.ZodString>;
73
+ description: z.ZodDefault<z.ZodString>;
74
+ suggestedByPlatform: z.ZodDefault<z.ZodBoolean>;
75
+ active: z.ZodDefault<z.ZodBoolean>;
76
+ }, "strip", z.ZodTypeAny, {
77
+ type: "duration" | "last-minute" | "temporary-promotion" | "coupon";
78
+ description: string;
79
+ durationType: "" | "custom" | "weekly" | "monthly" | "fifteen-days";
80
+ minDays: number;
81
+ discountType: "flat" | "percentage";
82
+ discountValue: number;
83
+ suggestedByPlatform: boolean;
84
+ active: boolean;
85
+ couponCode?: string | undefined;
86
+ couponScope?: "host" | "listing" | "platform" | undefined;
87
+ discountAppliesTo?: "booking-total" | "platform-fees" | undefined;
88
+ createdBy?: "host" | "admin" | undefined;
89
+ maxRedemptions?: number | undefined;
90
+ maxRedemptionsPerUser?: number | undefined;
91
+ minimumOrderValue?: number | undefined;
92
+ startDate?: string | undefined;
93
+ endDate?: string | undefined;
94
+ }, {
95
+ type?: "duration" | "last-minute" | "temporary-promotion" | "coupon" | undefined;
96
+ description?: string | undefined;
97
+ couponCode?: string | undefined;
98
+ couponScope?: "host" | "listing" | "platform" | undefined;
99
+ discountAppliesTo?: "booking-total" | "platform-fees" | undefined;
100
+ createdBy?: "host" | "admin" | undefined;
101
+ maxRedemptions?: number | undefined;
102
+ maxRedemptionsPerUser?: number | undefined;
103
+ minimumOrderValue?: number | undefined;
104
+ durationType?: "" | "custom" | "weekly" | "monthly" | "fifteen-days" | undefined;
105
+ minDays?: number | undefined;
106
+ discountType?: "flat" | "percentage" | undefined;
107
+ discountValue?: number | undefined;
108
+ startDate?: string | undefined;
109
+ endDate?: string | undefined;
110
+ suggestedByPlatform?: boolean | undefined;
111
+ active?: boolean | undefined;
112
+ }>, "many">>;
113
+ }, "strip", z.ZodTypeAny, {
114
+ discountStrategies: {
115
+ type: "duration" | "last-minute" | "temporary-promotion" | "coupon";
116
+ description: string;
117
+ durationType: "" | "custom" | "weekly" | "monthly" | "fifteen-days";
118
+ minDays: number;
119
+ discountType: "flat" | "percentage";
120
+ discountValue: number;
121
+ suggestedByPlatform: boolean;
122
+ active: boolean;
123
+ couponCode?: string | undefined;
124
+ couponScope?: "host" | "listing" | "platform" | undefined;
125
+ discountAppliesTo?: "booking-total" | "platform-fees" | undefined;
126
+ createdBy?: "host" | "admin" | undefined;
127
+ maxRedemptions?: number | undefined;
128
+ maxRedemptionsPerUser?: number | undefined;
129
+ minimumOrderValue?: number | undefined;
130
+ startDate?: string | undefined;
131
+ endDate?: string | undefined;
132
+ }[];
133
+ }, {
134
+ discountStrategies?: {
135
+ type?: "duration" | "last-minute" | "temporary-promotion" | "coupon" | undefined;
136
+ description?: string | undefined;
137
+ couponCode?: string | undefined;
138
+ couponScope?: "host" | "listing" | "platform" | undefined;
139
+ discountAppliesTo?: "booking-total" | "platform-fees" | undefined;
140
+ createdBy?: "host" | "admin" | undefined;
141
+ maxRedemptions?: number | undefined;
142
+ maxRedemptionsPerUser?: number | undefined;
143
+ minimumOrderValue?: number | undefined;
144
+ durationType?: "" | "custom" | "weekly" | "monthly" | "fifteen-days" | undefined;
145
+ minDays?: number | undefined;
146
+ discountType?: "flat" | "percentage" | undefined;
147
+ discountValue?: number | undefined;
148
+ startDate?: string | undefined;
149
+ endDate?: string | undefined;
150
+ suggestedByPlatform?: boolean | undefined;
151
+ active?: boolean | undefined;
152
+ }[] | undefined;
153
+ }>;
154
+ export type DiscountStrategy = z.infer<typeof DiscountStrategySchema>;
155
+ export type Discount = z.infer<typeof DiscountSchema>;
156
+ export declare function createDefaultRentalDiscount(): Discount;
157
+ export declare function normalizeDiscount(discount?: Discount | null): Discount;
158
+ export declare function calculateDiscountAmount(total: number, strategy?: Partial<DiscountStrategy> | null): number;
159
+ export declare function getApplicableDiscountStrategy(discount: Discount | null | undefined, days: number, bookingDate?: Date, couponCode?: string): DiscountStrategy | undefined;
160
+ //# sourceMappingURL=discount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discount.d.ts","sourceRoot":"","sources":["../../../src/lib/models/discount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBjC,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEzB,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,wBAAgB,2BAA2B,IAAI,QAAQ,CAkDtD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,QAAQ,CAItE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,GAAG,MAAM,CAO1G;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EACrC,IAAI,EAAE,MAAM,EACZ,WAAW,GAAE,IAAiB,EAC9B,UAAU,GAAE,MAAW,GACtB,gBAAgB,GAAG,SAAS,CAY9B"}
@@ -0,0 +1,106 @@
1
+ import { z } from "zod";
2
+ export const DiscountStrategySchema = z.object({
3
+ type: z.enum(["duration", "last-minute", "temporary-promotion", "coupon"]).default("duration"),
4
+ couponCode: z.string().optional(),
5
+ couponScope: z.enum(["listing", "host", "platform"]).optional(),
6
+ discountAppliesTo: z.enum(["booking-total", "platform-fees"]).optional(),
7
+ createdBy: z.enum(["admin", "host"]).optional(),
8
+ maxRedemptions: z.number().min(0).optional(),
9
+ maxRedemptionsPerUser: z.number().min(0).optional(),
10
+ minimumOrderValue: z.number().min(0).optional(),
11
+ durationType: z.enum(["weekly", "fifteen-days", "monthly", "custom", ""]).default(""),
12
+ minDays: z.number().min(0).default(0),
13
+ discountType: z.enum(["percentage", "flat"]).default("percentage"),
14
+ discountValue: z.number().min(0).default(0),
15
+ startDate: z.string().optional(),
16
+ endDate: z.string().optional(),
17
+ description: z.string().default(""),
18
+ suggestedByPlatform: z.boolean().default(false),
19
+ active: z.boolean().default(true),
20
+ });
21
+ export const DiscountSchema = z.object({
22
+ discountStrategies: z.array(DiscountStrategySchema).default([]),
23
+ });
24
+ export function createDefaultRentalDiscount() {
25
+ return {
26
+ discountStrategies: [
27
+ {
28
+ type: "duration",
29
+ couponCode: "",
30
+ couponScope: "listing",
31
+ discountAppliesTo: "booking-total",
32
+ createdBy: "host",
33
+ minimumOrderValue: 0,
34
+ durationType: "weekly",
35
+ minDays: 7,
36
+ discountType: "percentage",
37
+ discountValue: 0,
38
+ description: "Weekly discount",
39
+ suggestedByPlatform: false,
40
+ active: true,
41
+ },
42
+ {
43
+ type: "duration",
44
+ couponCode: "",
45
+ couponScope: "listing",
46
+ discountAppliesTo: "booking-total",
47
+ createdBy: "host",
48
+ minimumOrderValue: 0,
49
+ durationType: "fifteen-days",
50
+ minDays: 15,
51
+ discountType: "percentage",
52
+ discountValue: 0,
53
+ description: "15 day discount",
54
+ suggestedByPlatform: false,
55
+ active: true,
56
+ },
57
+ {
58
+ type: "duration",
59
+ couponCode: "",
60
+ couponScope: "listing",
61
+ discountAppliesTo: "booking-total",
62
+ createdBy: "host",
63
+ minimumOrderValue: 0,
64
+ durationType: "monthly",
65
+ minDays: 30,
66
+ discountType: "percentage",
67
+ discountValue: 0,
68
+ description: "Monthly discount",
69
+ suggestedByPlatform: false,
70
+ active: true,
71
+ },
72
+ ],
73
+ };
74
+ }
75
+ export function normalizeDiscount(discount) {
76
+ return {
77
+ discountStrategies: discount?.discountStrategies || [],
78
+ };
79
+ }
80
+ export function calculateDiscountAmount(total, strategy) {
81
+ if (!strategy)
82
+ return 0;
83
+ const discountValue = Math.max(Number(strategy.discountValue) || 0, 0);
84
+ if (strategy.discountType === "flat") {
85
+ return Math.min(discountValue, total);
86
+ }
87
+ return Math.min(Math.round((total * discountValue) / 100), total);
88
+ }
89
+ export function getApplicableDiscountStrategy(discount, days, bookingDate = new Date(), couponCode = "") {
90
+ const normalizedCoupon = couponCode.trim().toUpperCase();
91
+ return (discount?.discountStrategies || [])
92
+ .filter((strategy) => {
93
+ if (!strategy.active)
94
+ return false;
95
+ if (Number(strategy.minDays || 0) > days)
96
+ return false;
97
+ if (strategy.startDate && bookingDate < new Date(strategy.startDate))
98
+ return false;
99
+ if (strategy.endDate && bookingDate > new Date(strategy.endDate))
100
+ return false;
101
+ if (strategy.type === "coupon" && (strategy.couponCode || "").trim().toUpperCase() !== normalizedCoupon)
102
+ return false;
103
+ return Number(strategy.discountValue || 0) > 0;
104
+ })
105
+ .sort((a, b) => Number(b.minDays || 0) - Number(a.minDays || 0))[0];
106
+ }
@@ -0,0 +1,34 @@
1
+ export type EnquiryStatus = 'pending' | 'booked' | 'denied' | 'completed' | 'cancelled' | 'refunded';
2
+ export interface Traveler {
3
+ name?: string;
4
+ age: number;
5
+ gender: 'male' | 'female' | 'other';
6
+ specialRequests?: string;
7
+ }
8
+ export interface PackageEnquiry {
9
+ _id: string;
10
+ userId: string;
11
+ name: string;
12
+ profilePic?: string;
13
+ email: string;
14
+ phoneNumber?: string;
15
+ userRating?: number;
16
+ hostId?: string;
17
+ packageId: string;
18
+ packageTitle: string;
19
+ destination: string;
20
+ status: EnquiryStatus;
21
+ males: number;
22
+ females: number;
23
+ desiredStartDate?: string | Date;
24
+ message: string;
25
+ optionalActivities?: string[];
26
+ selectedActivities?: {
27
+ activityName: string;
28
+ }[];
29
+ selectedPricingIndex?: number;
30
+ totalPrice?: number;
31
+ createdAt: string;
32
+ updatedAt: string;
33
+ }
34
+ //# sourceMappingURL=enquiry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enquiry.d.ts","sourceRoot":"","sources":["../../../src/lib/models/enquiry.tsx"],"names":[],"mappings":"AACA,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;AAErG,MAAM,WAAW,QAAQ;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC3B,GAAG,EAAE,MAAM,CAAC;IAEZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IAEpB,MAAM,EAAE,aAAa,CAAC;IAEtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB"}