CreateMenuSchema: ZodObject<
    Omit<
        {
            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;
                },
            >;
        },
        "id",
    >,
    "strip",
    ZodTypeAny,
    {
        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;
        };
    },
    {
        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;
        };
    },
> = ...

Schema for creating a new menu item Omits the ID field as it's typically auto-generated

const newMenuItem = {
name: "Pepperoni Pizza",
description: "Spicy pepperoni with cheese",
unitPrice: 16.99,
image: "https://example.com/pepperoni.jpg",
category: ["Pizza", "Italian"],
sku: "PIZZA-002",
dietaryFilter: [],
isVegetarian: false,
hasAllergens: true,
type: [
{ icon: "🍕", label: "Pepperoni", value: "pepperoni" }
],
modifiers: ["mod_cheese", "mod_size"],
availability: {
isOrderable: true,
isAvailable: true,
maxOrder: 5,
minOrder: 1
}
};