BaseOrderSchema: ZodObject<
    {
        orderType: ZodDefault<ZodString>;
        billing: ZodOptional<
            ZodObject<
                {
                    firstName: ZodString;
                    lastName: ZodString;
                    email: ZodOptional<ZodString>;
                    paymentMethod: ZodString;
                    phone: ZodOptional<ZodString>;
                    pickupMethod: ZodDefault<ZodString>;
                    streetAddress: ZodOptional<ZodString>;
                    city: ZodOptional<ZodString>;
                    country: ZodOptional<ZodString>;
                    state: ZodOptional<ZodString>;
                    zipCode: ZodOptional<ZodString>;
                },
                "strip",
                ZodTypeAny,
                {
                    firstName: string;
                    lastName: string;
                    email?: string;
                    paymentMethod: string;
                    phone?: string;
                    pickupMethod: string;
                    streetAddress?: string;
                    city?: string;
                    country?: string;
                    state?: string;
                    zipCode?: string;
                },
                {
                    firstName: string;
                    lastName: string;
                    email?: string;
                    paymentMethod: string;
                    phone?: string;
                    pickupMethod?: string;
                    streetAddress?: string;
                    city?: string;
                    country?: string;
                    state?: string;
                    zipCode?: string;
                },
            >,
        >;
        note: ZodOptional<ZodString>;
        source: ZodOptional<ZodString>;
        pickupTime: ZodOptional<ZodString>;
        pickupDate: ZodOptional<ZodString>;
        pickupType: ZodString;
        tipAmount: ZodNumber;
        isPaid: ZodOptional<ZodBoolean>;
        status: ZodOptional<
            ZodEnum<["pending", "done", "served", "preparing", "dispatched"]>,
        >;
    },
    "strip",
    ZodTypeAny,
    {
        orderType: string;
        billing?: {
            firstName: string;
            lastName: string;
            email?: string;
            paymentMethod: string;
            phone?: string;
            pickupMethod: string;
            streetAddress?: string;
            city?: string;
            country?: string;
            state?: string;
            zipCode?: string;
        };
        note?: string;
        source?: string;
        pickupTime?: string;
        pickupDate?: string;
        pickupType: string;
        tipAmount: number;
        isPaid?: boolean;
        status?: "pending"
        | "done"
        | "served"
        | "preparing"
        | "dispatched";
    },
    {
        orderType?: string;
        billing?: {
            firstName: string;
            lastName: string;
            email?: string;
            paymentMethod: string;
            phone?: string;
            pickupMethod?: string;
            streetAddress?: string;
            city?: string;
            country?: string;
            state?: string;
            zipCode?: string;
        };
        note?: string;
        source?: string;
        pickupTime?: string;
        pickupDate?: string;
        pickupType: string;
        tipAmount: number;
        isPaid?: boolean;
        status?: "pending"
        | "done"
        | "served"
        | "preparing"
        | "dispatched";
    },
> = ...

Base order schema containing common order properties

const orderData = {
orderType: "delivery",
pickupType: "asap",
tipAmount: 5.00,
status: "pending"
};