diff --git a/apps/scandic-web/utils/url.ts b/apps/scandic-web/utils/url.ts index 1e8f40245..588fe681a 100644 --- a/apps/scandic-web/utils/url.ts +++ b/apps/scandic-web/utils/url.ts @@ -49,6 +49,10 @@ const keyRenameMap = { child: "childrenInRoom", searchtype: "searchType", } +const typeHints = { + filters: "COMMA_SEPARATED_ARRAY", + packages: "COMMA_SEPARATED_ARRAY", +} as const const adultsSchema = z.coerce.number().min(1).max(6).catch(0) const childAgeSchema = z.coerce.number().catch(-1) const childBedSchema = z.coerce.number().catch(-1) @@ -60,6 +64,7 @@ export function parseBookingWidgetSearchParams( try { const result = parseSearchParams(searchParams, { keyRenameMap, + typeHints, schema: z.object({ city: z.string().optional(), hotelId: z.string().optional(), @@ -99,6 +104,7 @@ export function parseSelectHotelSearchParams( try { const result = parseSearchParams(searchParams, { keyRenameMap, + typeHints, schema: z.object({ city: z.string(), hotelId: z.string().optional(), @@ -136,6 +142,7 @@ export function parseSelectRateSearchParams( try { const result = parseSearchParams(searchParams, { keyRenameMap, + typeHints, schema: z.object({ city: z.string().optional(), hotelId: z.string(), @@ -190,6 +197,7 @@ export function parseDetailsSearchParams( try { const result = parseSearchParams(searchParams, { keyRenameMap, + typeHints, schema: z.object({ city: z.string().optional(), hotelId: z.string(), @@ -236,6 +244,7 @@ export function serializeBookingSearchParams( return serializeSearchParams(obj, { keyRenameMap: reversedKeyRenameMap, initialSearchParams, + typeHints, }) }