import { z } from "zod" import { nullableStringValidator } from "@scandic-hotels/common/utils/zod/stringValidator" export const ancillaryError = { TERMS_NOT_ACCEPTED: "TERMS_NOT_ACCEPTED", MIN_QUANTITY_NOT_REACHED: "MIN_QUANTITY_NOT_REACHED", } as const export enum PaymentChoiceEnum { Points = "points", Card = "card", } export const ancillaryFormSchema = z.object({ deliveryTime: z.string(), optionalText: z.string(), termsAndConditions: z .boolean() .refine((value) => value === true, ancillaryError.TERMS_NOT_ACCEPTED), paymentMethod: nullableStringValidator, quantity: z.number().min(1, ancillaryError.MIN_QUANTITY_NOT_REACHED), paymentChoice: z.nativeEnum(PaymentChoiceEnum, { message: ancillaryError.MIN_QUANTITY_NOT_REACHED, }), }) export type AncillaryFormData = z.output