MenuSchema: ZodObject<
{
id: ZodString;
name: ZodString;
description: ZodString;
unitPrice: ZodNumber;
image: ZodString;
category: ZodArray<ZodString, "many">;
sku: ZodString;
dietaryFilter: ZodArray<ZodString, "many">;
isVegetarian: ZodOptional<ZodBoolean>;
hasAllergens: ZodOptional<ZodBoolean>;
type: ZodArray<
ZodObject<
{ icon: ZodString; label: ZodString; value: ZodString },
"strip",
ZodTypeAny,
{ icon: string; label: string; value: string },
{ icon: string; label: string; value: string },
>,
"many",
>;
modifiers: ZodOptional<ZodArray<ZodString, "many">>;
availability: ZodObject<
{
isOrderable: ZodDefault<ZodBoolean>;
isAvailable: ZodDefault<ZodBoolean>;
maxOrder: ZodDefault<ZodNumber>;
minOrder: ZodDefault<ZodNumber>;
},
"strip",
ZodTypeAny,
{
isOrderable: boolean;
isAvailable: boolean;
maxOrder: number;
minOrder: number;
},
{
isOrderable?: boolean;
isAvailable?: boolean;
maxOrder?: number;
minOrder?: number;
},
>;
},
"strip",
ZodTypeAny,
{
id: string;
name: string;
description: string;
unitPrice: number;
image: string;
category: string[];
sku: string;
dietaryFilter: string[];
isVegetarian?: boolean;
hasAllergens?: boolean;
type: { icon: string; label: string; value: string }[];
modifiers?: string[];
availability: {
isOrderable: boolean;
isAvailable: boolean;
maxOrder: number;
minOrder: number;
};
},
{
id: string;
name: string;
description: string;
unitPrice: number;
image: string;
category: string[];
sku: string;
dietaryFilter: string[];
isVegetarian?: boolean;
hasAllergens?: boolean;
type: { icon: string; label: string; value: string }[];
modifiers?: string[];
availability: {
isOrderable?: boolean;
isAvailable?: boolean;
maxOrder?: number;
minOrder?: number;
};
},
> = ...
Complete menu item schema Contains all information needed for a menu item