feat: SW-1583 Implemented Reward nights on city search

This commit is contained in:
Hrishikesh Vaipurkar
2025-03-03 16:39:10 +01:00
parent 51b70f3032
commit 5058180c41
25 changed files with 176 additions and 12 deletions

View File

@@ -1,10 +1,16 @@
import { z } from "zod"
import { productTypePriceSchema } from "../productTypePrice"
import {
productTypePriceSchema,
productTypePointsSchema,
} from "../productTypePrice"
export const productTypeSchema = z
.object({
public: productTypePriceSchema.optional(),
member: productTypePriceSchema.optional(),
redemption: productTypePointsSchema.optional(),
redemptionA: productTypePointsSchema.optional(),
redemptionB: productTypePointsSchema.optional(),
})
.optional()

View File

@@ -10,9 +10,24 @@ export const priceSchema = z.object({
regularPricePerStay: z.coerce.number().optional(),
})
export const productTypePriceSchema = z.object({
localPrice: priceSchema,
export const pointsSchema = z.object({
currency: z.nativeEnum(CurrencyEnum).optional(),
pricePerNight: z.coerce.number().optional(),
pricePerStay: z.coerce.number().optional(),
pointsPerNight: z.number(),
pointsPerStay: z.number(),
})
const partialPriceSchema = z.object({
rateCode: z.string(),
rateType: z.string().optional(),
requestedPrice: priceSchema.optional(),
})
export const productTypePriceSchema = partialPriceSchema.extend({
localPrice: priceSchema,
})
export const productTypePointsSchema = partialPriceSchema.extend({
localPrice: pointsSchema,
})