@myrjfa/state 2.2.0 → 2.3.1
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/LICENSE +201 -201
- package/README.md +20 -3
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/lib/actions/actions.d.ts +13 -13
- package/dist/lib/actions/actions.d.ts.map +1 -1
- package/dist/lib/actions/actions.js +5 -4
- package/dist/lib/actions/adminDashboard.d.ts +4 -0
- package/dist/lib/actions/adminDashboard.d.ts.map +1 -0
- package/dist/lib/actions/adminDashboard.js +29 -0
- package/dist/lib/actions/adventure.d.ts +104 -0
- package/dist/lib/actions/adventure.d.ts.map +1 -0
- package/dist/lib/actions/adventure.js +203 -0
- package/dist/lib/actions/application.d.ts +35 -0
- package/dist/lib/actions/application.d.ts.map +1 -0
- package/dist/lib/actions/application.js +573 -0
- package/dist/lib/actions/auth.d.ts +108 -3
- package/dist/lib/actions/auth.d.ts.map +1 -1
- package/dist/lib/actions/auth.js +38 -8
- package/dist/lib/actions/blog.d.ts +61 -0
- package/dist/lib/actions/blog.d.ts.map +1 -0
- package/dist/lib/actions/blog.js +762 -0
- package/dist/lib/actions/brand.d.ts +83 -0
- package/dist/lib/actions/brand.d.ts.map +1 -0
- package/dist/lib/actions/brand.js +28 -0
- package/dist/lib/actions/chat.d.ts +261 -24
- package/dist/lib/actions/chat.d.ts.map +1 -1
- package/dist/lib/actions/chat.js +525 -41
- package/dist/lib/actions/companion.d.ts +174 -0
- package/dist/lib/actions/companion.d.ts.map +1 -0
- package/dist/lib/actions/companion.js +276 -0
- package/dist/lib/actions/event.d.ts +178 -0
- package/dist/lib/actions/event.d.ts.map +1 -0
- package/dist/lib/actions/event.js +214 -0
- package/dist/lib/actions/fetcher.d.ts.map +1 -1
- package/dist/lib/actions/fetcher.js +18 -8
- package/dist/lib/actions/guide.d.ts +55 -0
- package/dist/lib/actions/guide.d.ts.map +1 -0
- package/dist/lib/actions/guide.js +128 -0
- package/dist/lib/actions/hostDashboard.d.ts +122 -0
- package/dist/lib/actions/hostDashboard.d.ts.map +1 -0
- package/dist/lib/actions/hostDashboard.js +329 -0
- package/dist/lib/actions/location.d.ts +141 -0
- package/dist/lib/actions/location.d.ts.map +1 -0
- package/dist/lib/actions/location.js +113 -0
- package/dist/lib/actions/notifications.d.ts +91 -0
- package/dist/lib/actions/notifications.d.ts.map +1 -0
- package/dist/lib/actions/notifications.js +83 -0
- package/dist/lib/actions/opportunity.d.ts +44 -0
- package/dist/lib/actions/opportunity.d.ts.map +1 -0
- package/dist/lib/actions/opportunity.js +318 -0
- package/dist/lib/actions/package.d.ts +85 -0
- package/dist/lib/actions/package.d.ts.map +1 -0
- package/dist/lib/actions/package.js +167 -0
- package/dist/lib/actions/place.d.ts +191 -0
- package/dist/lib/actions/place.d.ts.map +1 -0
- package/dist/lib/actions/place.js +57 -0
- package/dist/lib/actions/portfolio.d.ts +65 -0
- package/dist/lib/actions/portfolio.d.ts.map +1 -0
- package/dist/lib/actions/portfolio.js +62 -0
- package/dist/lib/actions/property.d.ts +17 -0
- package/dist/lib/actions/property.d.ts.map +1 -0
- package/dist/lib/actions/property.js +16 -0
- package/dist/lib/actions/rental.d.ts +87 -0
- package/dist/lib/actions/rental.d.ts.map +1 -0
- package/dist/lib/actions/rental.js +205 -0
- package/dist/lib/actions/review.d.ts +8 -0
- package/dist/lib/actions/review.d.ts.map +1 -0
- package/dist/lib/actions/review.js +102 -0
- package/dist/lib/actions/room.d.ts +39 -0
- package/dist/lib/actions/room.d.ts.map +1 -0
- package/dist/lib/actions/room.js +74 -0
- package/dist/lib/actions/serverActions.d.ts +1 -0
- package/dist/lib/actions/serverActions.d.ts.map +1 -1
- package/dist/lib/actions/serverActions.js +15 -0
- package/dist/lib/actions/socket.d.ts.map +1 -1
- package/dist/lib/actions/socket.js +5 -1
- package/dist/lib/actions/stay.d.ts +97 -0
- package/dist/lib/actions/stay.d.ts.map +1 -0
- package/dist/lib/actions/stay.js +138 -0
- package/dist/lib/actions/travelPackage.d.ts +104 -0
- package/dist/lib/actions/travelPackage.d.ts.map +1 -0
- package/dist/lib/actions/travelPackage.js +487 -0
- package/dist/lib/actions.d.ts +24 -24
- package/dist/lib/actions.d.ts.map +1 -1
- package/dist/lib/actions.js +14 -11
- package/dist/lib/adminDashboardActions.d.ts +15 -3
- package/dist/lib/adminDashboardActions.d.ts.map +1 -1
- package/dist/lib/adminDashboardActions.js +16 -7
- package/dist/lib/authSessionManager.d.ts.map +1 -1
- package/dist/lib/authSessionManager.js +4 -3
- package/dist/lib/authSessionPolicy.d.ts +10 -0
- package/dist/lib/authSessionPolicy.d.ts.map +1 -0
- package/dist/lib/authSessionPolicy.js +9 -0
- package/dist/lib/authorizationActions.d.ts +77 -0
- package/dist/lib/authorizationActions.d.ts.map +1 -0
- package/dist/lib/authorizationActions.js +61 -0
- package/dist/lib/context/ChatContext.d.ts +25 -6
- package/dist/lib/context/ChatContext.d.ts.map +1 -1
- package/dist/lib/context/ChatContext.js +356 -245
- package/dist/lib/data/adventureDummyData.d.ts +3 -0
- package/dist/lib/data/adventureDummyData.d.ts.map +1 -0
- package/dist/lib/data/adventureDummyData.js +138 -0
- package/dist/lib/data/adventureFormPage.d.ts +28 -0
- package/dist/lib/data/adventureFormPage.d.ts.map +1 -0
- package/dist/lib/data/adventureFormPage.js +58 -0
- package/dist/lib/data/companionDummyData.d.ts +99 -0
- package/dist/lib/data/companionDummyData.d.ts.map +1 -0
- package/dist/lib/data/companionDummyData.js +203 -0
- package/dist/lib/data/destinations.d.ts +14 -0
- package/dist/lib/data/destinations.d.ts.map +1 -0
- package/dist/lib/data/destinations.js +203 -0
- package/dist/lib/data/eventFormPage.d.ts +38 -0
- package/dist/lib/data/eventFormPage.d.ts.map +1 -0
- package/dist/lib/data/eventFormPage.js +56 -0
- package/dist/lib/data/eventsDummyData.d.ts +54 -0
- package/dist/lib/data/eventsDummyData.d.ts.map +1 -0
- package/dist/lib/data/eventsDummyData.js +586 -0
- package/dist/lib/data/guideDummyData.d.ts +3 -0
- package/dist/lib/data/guideDummyData.d.ts.map +1 -0
- package/dist/lib/data/guideDummyData.js +66 -0
- package/dist/lib/data/opportunityFormData.d.ts +13 -0
- package/dist/lib/data/opportunityFormData.d.ts.map +1 -0
- package/dist/lib/data/opportunityFormData.js +62 -0
- package/dist/lib/data/opportunityFormPage.d.ts +12 -0
- package/dist/lib/data/opportunityFormPage.d.ts.map +1 -0
- package/dist/lib/data/opportunityFormPage.js +33 -0
- package/dist/lib/data/packageDummyData.d.ts +3 -0
- package/dist/lib/data/packageDummyData.d.ts.map +1 -0
- package/dist/lib/data/packageDummyData.js +56 -0
- package/dist/lib/data/rentalDummyData.d.ts +3 -0
- package/dist/lib/data/rentalDummyData.d.ts.map +1 -0
- package/dist/lib/data/rentalDummyData.js +382 -0
- package/dist/lib/data/rentalFormPage.d.ts +11 -0
- package/dist/lib/data/rentalFormPage.d.ts.map +1 -0
- package/dist/lib/data/rentalFormPage.js +86 -0
- package/dist/lib/data/staysDummyData.d.ts +72 -0
- package/dist/lib/data/staysDummyData.d.ts.map +1 -0
- package/dist/lib/data/staysDummyData.js +694 -0
- package/dist/lib/data/storeDummyData.d.ts +33 -0
- package/dist/lib/data/storeDummyData.d.ts.map +1 -0
- package/dist/lib/data/storeDummyData.js +336 -0
- package/dist/lib/data/travelPackageFormData.d.ts +19 -0
- package/dist/lib/data/travelPackageFormData.d.ts.map +1 -0
- package/dist/lib/data/travelPackageFormData.js +51 -0
- package/dist/lib/data/travelPackageFormPage.d.ts +22 -0
- package/dist/lib/data/travelPackageFormPage.d.ts.map +1 -0
- package/dist/lib/data/travelPackageFormPage.js +40 -0
- package/dist/lib/data/vehicleData.d.ts +2 -0
- package/dist/lib/data/vehicleData.d.ts.map +1 -0
- package/dist/lib/data/vehicleData.js +187 -0
- package/dist/lib/data/vehicleModels.d.ts +2 -0
- package/dist/lib/data/vehicleModels.d.ts.map +1 -0
- package/dist/lib/data/vehicleModels.js +128 -0
- package/dist/lib/discountActions.d.ts +43 -0
- package/dist/lib/discountActions.d.ts.map +1 -0
- package/dist/lib/discountActions.js +69 -0
- package/dist/lib/hooks/usePersistentDraftState.d.ts +20 -0
- package/dist/lib/hooks/usePersistentDraftState.d.ts.map +1 -0
- package/dist/lib/hooks/usePersistentDraftState.js +47 -0
- package/dist/lib/loyaltyActions.d.ts +32 -0
- package/dist/lib/loyaltyActions.d.ts.map +1 -0
- package/dist/lib/loyaltyActions.js +92 -0
- package/dist/lib/models/adventure.d.ts +0 -2
- package/dist/lib/models/adventure.d.ts.map +1 -1
- package/dist/lib/models/authorization.d.ts +107 -0
- package/dist/lib/models/authorization.d.ts.map +1 -0
- package/dist/lib/models/authorization.js +263 -0
- package/dist/lib/models/blog.d.ts +2 -2
- package/dist/lib/models/booking.d.ts +7 -2
- package/dist/lib/models/booking.d.ts.map +1 -1
- package/dist/lib/models/chat.d.ts +418 -32
- package/dist/lib/models/chat.d.ts.map +1 -1
- package/dist/lib/models/chat.js +5 -1
- package/dist/lib/models/discount.d.ts +587 -136
- package/dist/lib/models/discount.d.ts.map +1 -1
- package/dist/lib/models/discount.js +118 -96
- package/dist/lib/models/forms.d.ts +384 -0
- package/dist/lib/models/forms.d.ts.map +1 -0
- package/dist/lib/models/forms.js +121 -0
- package/dist/lib/models/guide.d.ts +0 -2
- package/dist/lib/models/guide.d.ts.map +1 -1
- package/dist/lib/models/loyalty.d.ts +88 -0
- package/dist/lib/models/loyalty.d.ts.map +1 -0
- package/dist/lib/models/loyalty.js +1 -0
- package/dist/lib/models/notifications.d.ts +4 -4
- package/dist/lib/models/opportunities/freelance.d.ts +66 -20
- package/dist/lib/models/opportunities/freelance.d.ts.map +1 -1
- package/dist/lib/models/opportunities/internship.d.ts +66 -20
- package/dist/lib/models/opportunities/internship.d.ts.map +1 -1
- package/dist/lib/models/opportunities/job.d.ts +66 -20
- package/dist/lib/models/opportunities/job.d.ts.map +1 -1
- package/dist/lib/models/opportunities/opportunity.d.ts +66 -20
- 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 +66 -20
- package/dist/lib/models/opportunities/volunteerJob.d.ts.map +1 -1
- package/dist/lib/models/package.d.ts +81 -220
- package/dist/lib/models/package.d.ts.map +1 -1
- package/dist/lib/models/package.js +0 -2
- package/dist/lib/models/props.d.ts +1 -1
- package/dist/lib/models/props.d.ts.map +1 -1
- package/dist/lib/models/rental.d.ts +0 -2
- package/dist/lib/models/rental.d.ts.map +1 -1
- package/dist/lib/models/stay.d.ts +4 -4
- package/dist/lib/models/store.d.ts +71 -0
- package/dist/lib/models/store.d.ts.map +1 -0
- package/dist/lib/models/store.js +1 -0
- package/dist/lib/models/tile.d.ts +0 -2
- package/dist/lib/models/tile.d.ts.map +1 -1
- package/dist/lib/models/travelPackage.d.ts +206 -305
- package/dist/lib/models/travelPackage.d.ts.map +1 -1
- package/dist/lib/models/travelPackage.js +0 -2
- package/dist/lib/models/user.d.ts +28 -4
- package/dist/lib/models/user.d.ts.map +1 -1
- package/dist/lib/models/user.js +10 -1
- package/dist/lib/opportunityFormPage.d.ts +1 -0
- package/dist/lib/opportunityFormPage.d.ts.map +1 -1
- package/dist/lib/opportunityFormPage.js +1 -0
- package/dist/lib/pricingActions.d.ts +13 -0
- package/dist/lib/pricingActions.d.ts.map +1 -0
- package/dist/lib/pricingActions.js +16 -0
- package/dist/lib/rentalActions.js +0 -1
- package/dist/lib/rentalDummyData.d.ts.map +1 -1
- package/dist/lib/rentalDummyData.js +0 -35
- package/dist/lib/rentalFormPage.d.ts +0 -2
- package/dist/lib/rentalFormPage.d.ts.map +1 -1
- package/dist/lib/rentalFormPage.js +0 -3
- package/dist/lib/storeActions.d.ts +25 -0
- package/dist/lib/storeActions.d.ts.map +1 -0
- package/dist/lib/storeActions.js +46 -0
- package/dist/lib/storeDummyData.d.ts +2 -26
- package/dist/lib/storeDummyData.d.ts.map +1 -1
- package/dist/lib/userAtom.d.ts +71 -36
- package/dist/lib/userAtom.d.ts.map +1 -1
- package/dist/lib/userAtom.js +11 -17
- package/dist/lib/utils/entitySubmission.d.ts +21 -0
- package/dist/lib/utils/entitySubmission.d.ts.map +1 -0
- package/dist/lib/utils/entitySubmission.js +10 -0
- package/dist/lib/utils/imageUpload.d.ts +4 -0
- package/dist/lib/utils/imageUpload.d.ts.map +1 -0
- package/dist/lib/utils/imageUpload.js +36 -0
- package/dist/lib/utils/tileConverters.d.ts +8 -0
- package/dist/lib/utils/tileConverters.d.ts.map +1 -0
- package/dist/lib/utils/tileConverters.js +59 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +1 -1
- package/package.json +4 -2
|
@@ -1 +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
|
|
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,yBAAyB,kFAAgF,CAAC;AACvH,eAAO,MAAM,0BAA0B,oLAGrC,CAAC;AACH,eAAO,MAAM,oBAAoB,2DAAyD,CAAC;AAC3F,eAAO,MAAM,oBAAoB,0FAAwF,CAAC;AAC1H,eAAO,MAAM,2BAA2B,sEAAoE,CAAC;AAE7G,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAIhC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBnC,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BjC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBrC,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB9B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAC9E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IAC5F,MAAM,EAAE,QAAQ,GAAG,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IACrE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,MAAM,GAAE,cAAuB,GAAG,gBAAgB,CAoB7F"}
|
|
@@ -1,106 +1,128 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
export const DiscountFeatureTypeSchema = z.enum(["stay", "rental", "adventure", "event", "package", "guide", "store"]);
|
|
3
|
+
export const DiscountStrategyTypeSchema = z.enum([
|
|
4
|
+
"duration", "early_booking", "last_minute", "scheduled", "recurring", "group", "quantity",
|
|
5
|
+
"coupon", "first_booking", "checkout_recovery", "payment_offer", "partner",
|
|
6
|
+
]);
|
|
7
|
+
export const DiscountOriginSchema = z.enum(["host", "staff_suggestion", "staff_campaign"]);
|
|
8
|
+
export const DiscountStatusSchema = z.enum(["draft", "suggested", "active", "paused", "rejected", "expired", "archived"]);
|
|
9
|
+
export const DiscountStackingGroupSchema = z.enum(["automatic", "coupon", "payment", "partner", "recovery"]);
|
|
10
|
+
export const DiscountFundingSchema = z.object({
|
|
11
|
+
hostPercentagePoints: z.number().min(0).default(0),
|
|
12
|
+
platformPercentagePoints: z.number().min(0).default(0),
|
|
13
|
+
partnerPercentagePoints: z.number().min(0).default(0),
|
|
14
|
+
});
|
|
15
|
+
export const DiscountConditionsSchema = z.object({
|
|
16
|
+
minUnits: z.number().min(0).nullable().optional(),
|
|
17
|
+
maxUnits: z.number().min(0).nullable().optional(),
|
|
18
|
+
minQuantity: z.number().min(0).nullable().optional(),
|
|
19
|
+
minParticipants: z.number().min(0).nullable().optional(),
|
|
20
|
+
minSubtotal: z.number().min(0).nullable().optional(),
|
|
21
|
+
bookingLeadMinMinutes: z.number().min(0).nullable().optional(),
|
|
22
|
+
bookingLeadMaxMinutes: z.number().min(0).nullable().optional(),
|
|
23
|
+
bookingStartsAt: z.string().nullable().optional(),
|
|
24
|
+
bookingEndsAt: z.string().nullable().optional(),
|
|
25
|
+
serviceStartsAt: z.string().nullable().optional(),
|
|
26
|
+
serviceEndsAt: z.string().nullable().optional(),
|
|
27
|
+
recurringDays: z.array(z.number().min(0).max(6)).default([]),
|
|
28
|
+
recurringStartTime: z.string().optional(),
|
|
29
|
+
recurringEndTime: z.string().optional(),
|
|
30
|
+
timezone: z.string().default("Asia/Kolkata"),
|
|
31
|
+
firstBookingOnly: z.boolean().default(false),
|
|
32
|
+
checkoutDelayMinutes: z.number().min(0).nullable().optional(),
|
|
33
|
+
paymentMethods: z.array(z.string()).default([]),
|
|
34
|
+
cardTypes: z.array(z.string()).default([]),
|
|
35
|
+
issuers: z.array(z.string()).default([]),
|
|
36
|
+
networks: z.array(z.string()).default([]),
|
|
37
|
+
partnerProgramIds: z.array(z.string()).default([]),
|
|
38
|
+
});
|
|
2
39
|
export const DiscountStrategySchema = z.object({
|
|
3
|
-
|
|
40
|
+
_id: z.string().optional(),
|
|
41
|
+
name: z.string().min(1),
|
|
42
|
+
description: z.string().default(""),
|
|
43
|
+
strategyType: DiscountStrategyTypeSchema,
|
|
44
|
+
origin: DiscountOriginSchema,
|
|
45
|
+
status: DiscountStatusSchema.default("draft"),
|
|
46
|
+
sourceStrategyId: z.string().nullable().optional(),
|
|
47
|
+
hostId: z.union([z.string(), z.object({ _id: z.string() })]).nullable().optional(),
|
|
48
|
+
targetScope: z.enum(["platform", "host", "listing", "subtarget"]).default("platform"),
|
|
49
|
+
featureTypes: z.array(DiscountFeatureTypeSchema).default([]),
|
|
50
|
+
targetId: z.string().nullable().optional(),
|
|
51
|
+
targetIds: z.array(z.string()).default([]),
|
|
52
|
+
subTargetId: z.string().nullable().optional(),
|
|
53
|
+
pricingStrategyIds: z.array(z.string()).default([]),
|
|
54
|
+
percentage: z.number().positive().max(100),
|
|
55
|
+
funding: DiscountFundingSchema,
|
|
56
|
+
conditions: DiscountConditionsSchema.default({}),
|
|
57
|
+
stacking: z.object({
|
|
58
|
+
group: DiscountStackingGroupSchema.default("automatic"),
|
|
59
|
+
priority: z.number().default(0),
|
|
60
|
+
compatibleGroups: z.array(DiscountStackingGroupSchema).default([]),
|
|
61
|
+
}).default({}),
|
|
62
|
+
usageLimits: z.object({ total: z.number().positive().nullable().optional(), perUser: z.number().positive().nullable().optional() }).default({}),
|
|
63
|
+
redemptionCount: z.number().min(0).default(0),
|
|
4
64
|
couponCode: z.string().optional(),
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
65
|
+
couponPreview: z.string().optional(),
|
|
66
|
+
razorpayOfferId: z.string().optional(),
|
|
67
|
+
createdAt: z.string().optional(),
|
|
68
|
+
updatedAt: z.string().optional(),
|
|
69
|
+
});
|
|
70
|
+
export const DiscountQuoteRequestSchema = z.object({
|
|
71
|
+
featureType: DiscountFeatureTypeSchema,
|
|
72
|
+
targetId: z.string(),
|
|
73
|
+
subTargetId: z.string().optional(),
|
|
74
|
+
pricingStrategyId: z.string().optional(),
|
|
75
|
+
selectedPricingIndex: z.number().optional(),
|
|
76
|
+
quantity: z.number().positive().optional(),
|
|
77
|
+
participants: z.number().positive().optional(),
|
|
15
78
|
startDate: z.string().optional(),
|
|
16
79
|
endDate: z.string().optional(),
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
80
|
+
startTime: z.string().optional(),
|
|
81
|
+
pickupTime: z.string().optional(),
|
|
82
|
+
orderType: z.enum(["purchase", "rental"]).optional(),
|
|
83
|
+
activityTotal: z.number().min(0).optional(),
|
|
84
|
+
couponCode: z.string().optional(),
|
|
85
|
+
checkoutStartedAt: z.string().optional(),
|
|
20
86
|
});
|
|
21
|
-
export const
|
|
22
|
-
|
|
87
|
+
export const DiscountQuoteSchema = z.object({
|
|
88
|
+
quoteId: z.string(),
|
|
89
|
+
currency: z.string(),
|
|
90
|
+
combinedPercentage: z.number(),
|
|
91
|
+
totalDiscount: z.number(),
|
|
92
|
+
funding: z.object({ host: z.number(), platform: z.number(), partner: z.number() }),
|
|
93
|
+
totalBeforeDiscount: z.number(),
|
|
94
|
+
totalAfterDiscount: z.number(),
|
|
95
|
+
grantId: z.string().nullable().optional(),
|
|
96
|
+
selected: z.array(z.object({
|
|
97
|
+
strategyId: z.string(), name: z.string(), description: z.string().optional(), strategyType: DiscountStrategyTypeSchema,
|
|
98
|
+
percentage: z.number(), amount: z.number(), funding: z.object({ host: z.number(), platform: z.number(), partner: z.number() }),
|
|
99
|
+
stackingGroup: DiscountStackingGroupSchema, razorpayOfferId: z.string().optional(),
|
|
100
|
+
paymentEligibility: z.object({
|
|
101
|
+
paymentMethods: z.array(z.string()).default([]), cardTypes: z.array(z.string()).default([]),
|
|
102
|
+
issuers: z.array(z.string()).default([]), networks: z.array(z.string()).default([]),
|
|
103
|
+
}).optional(),
|
|
104
|
+
})),
|
|
105
|
+
rejected: z.array(z.object({ strategyId: z.string().optional(), name: z.string(), reason: z.string() })),
|
|
106
|
+
createdAt: z.string().or(z.date()),
|
|
23
107
|
});
|
|
24
|
-
export function
|
|
108
|
+
export function createEmptyDiscountStrategy(origin = "host") {
|
|
25
109
|
return {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
-
],
|
|
110
|
+
name: "",
|
|
111
|
+
description: "",
|
|
112
|
+
strategyType: "scheduled",
|
|
113
|
+
origin,
|
|
114
|
+
status: "draft",
|
|
115
|
+
targetScope: "listing",
|
|
116
|
+
featureTypes: [],
|
|
117
|
+
targetIds: [],
|
|
118
|
+
pricingStrategyIds: [],
|
|
119
|
+
percentage: 10,
|
|
120
|
+
funding: origin === "staff_campaign"
|
|
121
|
+
? { hostPercentagePoints: 0, platformPercentagePoints: 10, partnerPercentagePoints: 0 }
|
|
122
|
+
: { hostPercentagePoints: 10, platformPercentagePoints: 0, partnerPercentagePoints: 0 },
|
|
123
|
+
conditions: { recurringDays: [], timezone: "Asia/Kolkata", firstBookingOnly: false, paymentMethods: [], cardTypes: [], issuers: [], networks: [], partnerProgramIds: [] },
|
|
124
|
+
stacking: { group: "automatic", priority: 0, compatibleGroups: [] },
|
|
125
|
+
usageLimits: {},
|
|
126
|
+
redemptionCount: 0,
|
|
73
127
|
};
|
|
74
128
|
}
|
|
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,384 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
export declare const opportunitySchema: z.ZodObject<{
|
|
3
|
+
opportunityType: z.ZodEnum<["volunteer" | "internship" | "freelance" | "job" | "contentCreator", ...("volunteer" | "internship" | "freelance" | "job" | "contentCreator")[]]>;
|
|
4
|
+
title: z.ZodString;
|
|
5
|
+
description: z.ZodString;
|
|
6
|
+
categoryId: z.ZodOptional<z.ZodString>;
|
|
7
|
+
city: z.ZodString;
|
|
8
|
+
country: z.ZodString;
|
|
9
|
+
state: z.ZodString;
|
|
10
|
+
address: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
|
|
11
|
+
workMode: z.ZodOptional<z.ZodEnum<["onsite" | "remote" | "hybrid", ...("onsite" | "remote" | "hybrid")[]]>>;
|
|
12
|
+
compensationType: z.ZodOptional<z.ZodEnum<["free" | "stipend" | "salary" | "project-based", ...("free" | "stipend" | "salary" | "project-based")[]]>>;
|
|
13
|
+
compensationAmount: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
compensationCurrency: z.ZodOptional<z.ZodString>;
|
|
15
|
+
compensationFrequency: z.ZodOptional<z.ZodEnum<["daily" | "weekly" | "monthly" | "yearly" | "one-time", ...("daily" | "weekly" | "monthly" | "yearly" | "one-time")[]]>>;
|
|
16
|
+
availableFrom: z.ZodDate;
|
|
17
|
+
minDuration: z.ZodNumber;
|
|
18
|
+
maxDuration: z.ZodNumber;
|
|
19
|
+
urgent: z.ZodBoolean;
|
|
20
|
+
peopleRequired: z.ZodNumber;
|
|
21
|
+
questions: z.ZodArray<z.ZodObject<{
|
|
22
|
+
question: z.ZodString;
|
|
23
|
+
answer: z.ZodString;
|
|
24
|
+
}, "strip", z.ZodTypeAny, {
|
|
25
|
+
question: string;
|
|
26
|
+
answer: string;
|
|
27
|
+
}, {
|
|
28
|
+
question: string;
|
|
29
|
+
answer: string;
|
|
30
|
+
}>, "many">;
|
|
31
|
+
hostingType: z.ZodString;
|
|
32
|
+
adminApproval: z.ZodBoolean;
|
|
33
|
+
hostId: z.ZodOptional<z.ZodString>;
|
|
34
|
+
}, "strip", z.ZodTypeAny, {
|
|
35
|
+
opportunityType: "volunteer" | "internship" | "freelance" | "job" | "contentCreator";
|
|
36
|
+
title: string;
|
|
37
|
+
description: string;
|
|
38
|
+
city: string;
|
|
39
|
+
country: string;
|
|
40
|
+
state: string;
|
|
41
|
+
availableFrom: Date;
|
|
42
|
+
minDuration: number;
|
|
43
|
+
maxDuration: number;
|
|
44
|
+
urgent: boolean;
|
|
45
|
+
peopleRequired: number;
|
|
46
|
+
questions: {
|
|
47
|
+
question: string;
|
|
48
|
+
answer: string;
|
|
49
|
+
}[];
|
|
50
|
+
hostingType: string;
|
|
51
|
+
adminApproval: boolean;
|
|
52
|
+
categoryId?: string | undefined;
|
|
53
|
+
address?: string | undefined;
|
|
54
|
+
workMode?: "onsite" | "remote" | "hybrid" | undefined;
|
|
55
|
+
compensationType?: "free" | "stipend" | "salary" | "project-based" | undefined;
|
|
56
|
+
compensationAmount?: number | undefined;
|
|
57
|
+
compensationCurrency?: string | undefined;
|
|
58
|
+
compensationFrequency?: "daily" | "weekly" | "monthly" | "yearly" | "one-time" | undefined;
|
|
59
|
+
hostId?: string | undefined;
|
|
60
|
+
}, {
|
|
61
|
+
opportunityType: "volunteer" | "internship" | "freelance" | "job" | "contentCreator";
|
|
62
|
+
title: string;
|
|
63
|
+
description: string;
|
|
64
|
+
city: string;
|
|
65
|
+
country: string;
|
|
66
|
+
state: string;
|
|
67
|
+
availableFrom: Date;
|
|
68
|
+
minDuration: number;
|
|
69
|
+
maxDuration: number;
|
|
70
|
+
urgent: boolean;
|
|
71
|
+
peopleRequired: number;
|
|
72
|
+
questions: {
|
|
73
|
+
question: string;
|
|
74
|
+
answer: string;
|
|
75
|
+
}[];
|
|
76
|
+
hostingType: string;
|
|
77
|
+
adminApproval: boolean;
|
|
78
|
+
categoryId?: string | undefined;
|
|
79
|
+
address?: string | undefined;
|
|
80
|
+
workMode?: "onsite" | "remote" | "hybrid" | undefined;
|
|
81
|
+
compensationType?: "free" | "stipend" | "salary" | "project-based" | undefined;
|
|
82
|
+
compensationAmount?: number | undefined;
|
|
83
|
+
compensationCurrency?: string | undefined;
|
|
84
|
+
compensationFrequency?: "daily" | "weekly" | "monthly" | "yearly" | "one-time" | undefined;
|
|
85
|
+
hostId?: string | undefined;
|
|
86
|
+
}>;
|
|
87
|
+
export type OpportunityFormValues = z.infer<typeof opportunitySchema>;
|
|
88
|
+
export declare const travelPackageSchema: z.ZodObject<{
|
|
89
|
+
title: z.ZodString;
|
|
90
|
+
description: z.ZodOptional<z.ZodString>;
|
|
91
|
+
categoryId: z.ZodOptional<z.ZodString>;
|
|
92
|
+
bookingMode: z.ZodDefault<z.ZodEnum<["enquiry", "booking", "both"]>>;
|
|
93
|
+
pricing: z.ZodObject<{
|
|
94
|
+
currency: z.ZodString;
|
|
95
|
+
pricingStrategies: z.ZodArray<z.ZodObject<{
|
|
96
|
+
basePrice: z.ZodOptional<z.ZodNumber>;
|
|
97
|
+
finalBasePrice: z.ZodNumber;
|
|
98
|
+
description: z.ZodString;
|
|
99
|
+
gst: z.ZodNumber;
|
|
100
|
+
governmentTaxes: z.ZodNumber;
|
|
101
|
+
convenienceFee: z.ZodNumber;
|
|
102
|
+
platformFee: z.ZodNumber;
|
|
103
|
+
}, "strip", z.ZodTypeAny, {
|
|
104
|
+
description: string;
|
|
105
|
+
finalBasePrice: number;
|
|
106
|
+
gst: number;
|
|
107
|
+
governmentTaxes: number;
|
|
108
|
+
convenienceFee: number;
|
|
109
|
+
platformFee: number;
|
|
110
|
+
basePrice?: number | undefined;
|
|
111
|
+
}, {
|
|
112
|
+
description: string;
|
|
113
|
+
finalBasePrice: number;
|
|
114
|
+
gst: number;
|
|
115
|
+
governmentTaxes: number;
|
|
116
|
+
convenienceFee: number;
|
|
117
|
+
platformFee: number;
|
|
118
|
+
basePrice?: number | undefined;
|
|
119
|
+
}>, "many">;
|
|
120
|
+
}, "strip", z.ZodTypeAny, {
|
|
121
|
+
currency: string;
|
|
122
|
+
pricingStrategies: {
|
|
123
|
+
description: string;
|
|
124
|
+
finalBasePrice: number;
|
|
125
|
+
gst: number;
|
|
126
|
+
governmentTaxes: number;
|
|
127
|
+
convenienceFee: number;
|
|
128
|
+
platformFee: number;
|
|
129
|
+
basePrice?: number | undefined;
|
|
130
|
+
}[];
|
|
131
|
+
}, {
|
|
132
|
+
currency: string;
|
|
133
|
+
pricingStrategies: {
|
|
134
|
+
description: string;
|
|
135
|
+
finalBasePrice: number;
|
|
136
|
+
gst: number;
|
|
137
|
+
governmentTaxes: number;
|
|
138
|
+
convenienceFee: number;
|
|
139
|
+
platformFee: number;
|
|
140
|
+
basePrice?: number | undefined;
|
|
141
|
+
}[];
|
|
142
|
+
}>;
|
|
143
|
+
difficultyLevel: z.ZodOptional<z.ZodEnum<[string, ...string[]]>>;
|
|
144
|
+
city: z.ZodString;
|
|
145
|
+
state: z.ZodString;
|
|
146
|
+
country: z.ZodString;
|
|
147
|
+
availableFrom: z.ZodDate;
|
|
148
|
+
duration: z.ZodNumber;
|
|
149
|
+
urgent: z.ZodBoolean;
|
|
150
|
+
peopleRequired: z.ZodNumber;
|
|
151
|
+
questions: z.ZodArray<z.ZodObject<{
|
|
152
|
+
question: z.ZodString;
|
|
153
|
+
answer: z.ZodString;
|
|
154
|
+
}, "strip", z.ZodTypeAny, {
|
|
155
|
+
question: string;
|
|
156
|
+
answer: string;
|
|
157
|
+
}, {
|
|
158
|
+
question: string;
|
|
159
|
+
answer: string;
|
|
160
|
+
}>, "many">;
|
|
161
|
+
hostId: z.ZodOptional<z.ZodString>;
|
|
162
|
+
}, "strip", z.ZodTypeAny, {
|
|
163
|
+
title: string;
|
|
164
|
+
city: string;
|
|
165
|
+
country: string;
|
|
166
|
+
state: string;
|
|
167
|
+
availableFrom: Date;
|
|
168
|
+
urgent: boolean;
|
|
169
|
+
peopleRequired: number;
|
|
170
|
+
questions: {
|
|
171
|
+
question: string;
|
|
172
|
+
answer: string;
|
|
173
|
+
}[];
|
|
174
|
+
bookingMode: "enquiry" | "booking" | "both";
|
|
175
|
+
pricing: {
|
|
176
|
+
currency: string;
|
|
177
|
+
pricingStrategies: {
|
|
178
|
+
description: string;
|
|
179
|
+
finalBasePrice: number;
|
|
180
|
+
gst: number;
|
|
181
|
+
governmentTaxes: number;
|
|
182
|
+
convenienceFee: number;
|
|
183
|
+
platformFee: number;
|
|
184
|
+
basePrice?: number | undefined;
|
|
185
|
+
}[];
|
|
186
|
+
};
|
|
187
|
+
duration: number;
|
|
188
|
+
description?: string | undefined;
|
|
189
|
+
categoryId?: string | undefined;
|
|
190
|
+
hostId?: string | undefined;
|
|
191
|
+
difficultyLevel?: string | undefined;
|
|
192
|
+
}, {
|
|
193
|
+
title: string;
|
|
194
|
+
city: string;
|
|
195
|
+
country: string;
|
|
196
|
+
state: string;
|
|
197
|
+
availableFrom: Date;
|
|
198
|
+
urgent: boolean;
|
|
199
|
+
peopleRequired: number;
|
|
200
|
+
questions: {
|
|
201
|
+
question: string;
|
|
202
|
+
answer: string;
|
|
203
|
+
}[];
|
|
204
|
+
pricing: {
|
|
205
|
+
currency: string;
|
|
206
|
+
pricingStrategies: {
|
|
207
|
+
description: string;
|
|
208
|
+
finalBasePrice: number;
|
|
209
|
+
gst: number;
|
|
210
|
+
governmentTaxes: number;
|
|
211
|
+
convenienceFee: number;
|
|
212
|
+
platformFee: number;
|
|
213
|
+
basePrice?: number | undefined;
|
|
214
|
+
}[];
|
|
215
|
+
};
|
|
216
|
+
duration: number;
|
|
217
|
+
description?: string | undefined;
|
|
218
|
+
categoryId?: string | undefined;
|
|
219
|
+
hostId?: string | undefined;
|
|
220
|
+
bookingMode?: "enquiry" | "booking" | "both" | undefined;
|
|
221
|
+
difficultyLevel?: string | undefined;
|
|
222
|
+
}>;
|
|
223
|
+
export type TravelPackageFormValues = z.infer<typeof travelPackageSchema>;
|
|
224
|
+
export declare const rentalSchema: z.ZodObject<{
|
|
225
|
+
title: z.ZodOptional<z.ZodString>;
|
|
226
|
+
description: z.ZodString;
|
|
227
|
+
vehicleType: z.ZodString;
|
|
228
|
+
brand: z.ZodString;
|
|
229
|
+
model: z.ZodString;
|
|
230
|
+
year: z.ZodNumber;
|
|
231
|
+
city: z.ZodString;
|
|
232
|
+
state: z.ZodString;
|
|
233
|
+
address: z.ZodString;
|
|
234
|
+
mapLink: z.ZodOptional<z.ZodString>;
|
|
235
|
+
pricing: z.ZodObject<{
|
|
236
|
+
currency: z.ZodString;
|
|
237
|
+
pricingStrategies: z.ZodArray<z.ZodObject<{
|
|
238
|
+
basePrice: z.ZodOptional<z.ZodNumber>;
|
|
239
|
+
finalBasePrice: z.ZodNumber;
|
|
240
|
+
description: z.ZodString;
|
|
241
|
+
gst: z.ZodNumber;
|
|
242
|
+
governmentTaxes: z.ZodNumber;
|
|
243
|
+
convenienceFee: z.ZodNumber;
|
|
244
|
+
platformFee: z.ZodNumber;
|
|
245
|
+
}, "strip", z.ZodTypeAny, {
|
|
246
|
+
description: string;
|
|
247
|
+
finalBasePrice: number;
|
|
248
|
+
gst: number;
|
|
249
|
+
governmentTaxes: number;
|
|
250
|
+
convenienceFee: number;
|
|
251
|
+
platformFee: number;
|
|
252
|
+
basePrice?: number | undefined;
|
|
253
|
+
}, {
|
|
254
|
+
description: string;
|
|
255
|
+
finalBasePrice: number;
|
|
256
|
+
gst: number;
|
|
257
|
+
governmentTaxes: number;
|
|
258
|
+
convenienceFee: number;
|
|
259
|
+
platformFee: number;
|
|
260
|
+
basePrice?: number | undefined;
|
|
261
|
+
}>, "many">;
|
|
262
|
+
}, "strip", z.ZodTypeAny, {
|
|
263
|
+
currency: string;
|
|
264
|
+
pricingStrategies: {
|
|
265
|
+
description: string;
|
|
266
|
+
finalBasePrice: number;
|
|
267
|
+
gst: number;
|
|
268
|
+
governmentTaxes: number;
|
|
269
|
+
convenienceFee: number;
|
|
270
|
+
platformFee: number;
|
|
271
|
+
basePrice?: number | undefined;
|
|
272
|
+
}[];
|
|
273
|
+
}, {
|
|
274
|
+
currency: string;
|
|
275
|
+
pricingStrategies: {
|
|
276
|
+
description: string;
|
|
277
|
+
finalBasePrice: number;
|
|
278
|
+
gst: number;
|
|
279
|
+
governmentTaxes: number;
|
|
280
|
+
convenienceFee: number;
|
|
281
|
+
platformFee: number;
|
|
282
|
+
basePrice?: number | undefined;
|
|
283
|
+
}[];
|
|
284
|
+
}>;
|
|
285
|
+
weeklyPrice: z.ZodOptional<z.ZodNumber>;
|
|
286
|
+
monthlyPrice: z.ZodOptional<z.ZodNumber>;
|
|
287
|
+
depositAmount: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
288
|
+
inventoryCount: z.ZodNumber;
|
|
289
|
+
fuelType: z.ZodOptional<z.ZodString>;
|
|
290
|
+
transmission: z.ZodOptional<z.ZodString>;
|
|
291
|
+
seatingCapacity: z.ZodOptional<z.ZodNumber>;
|
|
292
|
+
fuelPolicy: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
293
|
+
driverOption: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
294
|
+
damagePolicy: z.ZodOptional<z.ZodString>;
|
|
295
|
+
cancellationPolicy: z.ZodOptional<z.ZodString>;
|
|
296
|
+
instantBook: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
297
|
+
homeDeliveryAvailable: z.ZodDefault<z.ZodBoolean>;
|
|
298
|
+
homeDeliveryPrice: z.ZodDefault<z.ZodNumber>;
|
|
299
|
+
distanceLimit: z.ZodDefault<z.ZodString>;
|
|
300
|
+
operatingHoursStart: z.ZodDefault<z.ZodString>;
|
|
301
|
+
operatingHoursEnd: z.ZodDefault<z.ZodString>;
|
|
302
|
+
}, "strip", z.ZodTypeAny, {
|
|
303
|
+
description: string;
|
|
304
|
+
city: string;
|
|
305
|
+
state: string;
|
|
306
|
+
address: string;
|
|
307
|
+
pricing: {
|
|
308
|
+
currency: string;
|
|
309
|
+
pricingStrategies: {
|
|
310
|
+
description: string;
|
|
311
|
+
finalBasePrice: number;
|
|
312
|
+
gst: number;
|
|
313
|
+
governmentTaxes: number;
|
|
314
|
+
convenienceFee: number;
|
|
315
|
+
platformFee: number;
|
|
316
|
+
basePrice?: number | undefined;
|
|
317
|
+
}[];
|
|
318
|
+
};
|
|
319
|
+
vehicleType: string;
|
|
320
|
+
brand: string;
|
|
321
|
+
model: string;
|
|
322
|
+
year: number;
|
|
323
|
+
depositAmount: number;
|
|
324
|
+
inventoryCount: number;
|
|
325
|
+
fuelPolicy: string;
|
|
326
|
+
driverOption: string;
|
|
327
|
+
instantBook: boolean;
|
|
328
|
+
homeDeliveryAvailable: boolean;
|
|
329
|
+
homeDeliveryPrice: number;
|
|
330
|
+
distanceLimit: string;
|
|
331
|
+
operatingHoursStart: string;
|
|
332
|
+
operatingHoursEnd: string;
|
|
333
|
+
title?: string | undefined;
|
|
334
|
+
mapLink?: string | undefined;
|
|
335
|
+
weeklyPrice?: number | undefined;
|
|
336
|
+
monthlyPrice?: number | undefined;
|
|
337
|
+
fuelType?: string | undefined;
|
|
338
|
+
transmission?: string | undefined;
|
|
339
|
+
seatingCapacity?: number | undefined;
|
|
340
|
+
damagePolicy?: string | undefined;
|
|
341
|
+
cancellationPolicy?: string | undefined;
|
|
342
|
+
}, {
|
|
343
|
+
description: string;
|
|
344
|
+
city: string;
|
|
345
|
+
state: string;
|
|
346
|
+
address: string;
|
|
347
|
+
pricing: {
|
|
348
|
+
currency: string;
|
|
349
|
+
pricingStrategies: {
|
|
350
|
+
description: string;
|
|
351
|
+
finalBasePrice: number;
|
|
352
|
+
gst: number;
|
|
353
|
+
governmentTaxes: number;
|
|
354
|
+
convenienceFee: number;
|
|
355
|
+
platformFee: number;
|
|
356
|
+
basePrice?: number | undefined;
|
|
357
|
+
}[];
|
|
358
|
+
};
|
|
359
|
+
vehicleType: string;
|
|
360
|
+
brand: string;
|
|
361
|
+
model: string;
|
|
362
|
+
year: number;
|
|
363
|
+
inventoryCount: number;
|
|
364
|
+
title?: string | undefined;
|
|
365
|
+
mapLink?: string | undefined;
|
|
366
|
+
weeklyPrice?: number | undefined;
|
|
367
|
+
monthlyPrice?: number | undefined;
|
|
368
|
+
depositAmount?: number | undefined;
|
|
369
|
+
fuelType?: string | undefined;
|
|
370
|
+
transmission?: string | undefined;
|
|
371
|
+
seatingCapacity?: number | undefined;
|
|
372
|
+
fuelPolicy?: string | undefined;
|
|
373
|
+
driverOption?: string | undefined;
|
|
374
|
+
damagePolicy?: string | undefined;
|
|
375
|
+
cancellationPolicy?: string | undefined;
|
|
376
|
+
instantBook?: boolean | undefined;
|
|
377
|
+
homeDeliveryAvailable?: boolean | undefined;
|
|
378
|
+
homeDeliveryPrice?: number | undefined;
|
|
379
|
+
distanceLimit?: string | undefined;
|
|
380
|
+
operatingHoursStart?: string | undefined;
|
|
381
|
+
operatingHoursEnd?: string | undefined;
|
|
382
|
+
}>;
|
|
383
|
+
export type RentalFormValues = z.infer<typeof rentalSchema>;
|
|
384
|
+
//# sourceMappingURL=forms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forms.d.ts","sourceRoot":"","sources":["../../../src/lib/models/forms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAezB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+B5B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAKtE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkC9B,CAAC;AAEH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAK1E,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqDvB,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
|