import { defineMessage } from "react-intl" import { z } from "zod" export { type AdditionalInfoFormSchema, additionalInfoFormSchema, type FindMyBookingFormSchema, findMyBookingFormSchema, } defineMessage({ defaultMessage: "Invalid booking number", }) defineMessage({ defaultMessage: "Booking number is required", }) defineMessage({ defaultMessage: "First name is required", }) defineMessage({ defaultMessage: "Last name is required", }) defineMessage({ defaultMessage: "Email address is required", }) const additionalInfoFormSchema = z.object({ firstName: z.string().trim().max(250).min(1, { message: "First name is required", }), email: z.string().max(250).email({ message: "Email address is required" }), }) const findMyBookingFormSchema = additionalInfoFormSchema.extend({ confirmationNumber: z .string() .trim() .min(1, { message: "Booking number is required", }) .regex(/^[0-9]+(-[0-9])?$/, { message: "Invalid booking number", }), lastName: z.string().trim().max(250).min(1, { message: "Last name is required", }), }) type AdditionalInfoFormSchema = z.output type FindMyBookingFormSchema = z.output