import {z} from 'zod' export type GetApiApiV10AppIdEventsMenuMenuIdArgs = {appId: string, menuId: number, limit?: number | undefined, page?: number | undefined, start?: string | undefined, end?: string | undefined, orderId?: number | undefined, storeId?: number | undefined, storeIdList?: Array | undefined, storeGroupId?: number | undefined, userId?: number | undefined, campaignId?: number | undefined, userEmail?: string | undefined, userName?: string | undefined, voucherCode?: string | undefined, eventType?: Array | undefined, flipdishEventId?: string | undefined}; export type GetApiApiV10AppIdEventsMenuMenuIdOptions = {baseUrl?: string | undefined, oauth2?: string | undefined, fetch?: typeof fetch | undefined}; export const userEventInfo = z.object({UserId: z.number().int().optional(), UserName: z.string().optional(), UserPhoneNumber: z.string().optional(), UserEmail: z.string().optional()}); export const appCreatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), AppName: z.string().optional(), CountryId: z.string().optional(), User: userEventInfo.optional(), AccountId: z.string().optional(), OrgId: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const language = z.object({LanguageId: z.string().optional(), DisplayOrder: z.number().int().optional(), Name: z.string().optional(), Enabled: z.boolean().optional()}); export const coordinates = z.object({Latitude: z.number().optional(), Longitude: z.number().optional()}); export const app = z.object({AppId: z.string().optional(), HasIosApp: z.boolean().optional(), IosAppStoreUrl: z.string().optional(), HasAndroidApp: z.boolean().optional(), AndroidPlayStoreUrl: z.string().optional(), DisplayDeliveryRestaurantScreen: z.boolean().optional(), LogoImageUrl: z.string().optional(), Languages: z.array(language).optional(), AvailableAppLanguages: z.array(language).optional(), AppAccessLevel: z.enum(["None", "Owner", "StoreOwner", "PropertyOwner", "ManagedOwner", "Integrator", "PropertyManager", "StoreManager", "StoreStaff", "StaffMember", "StoreReadOnlyAccess", "FinanceManger", "Onboarding", "Support"]).optional(), AppResourceSet: z.array(z.enum(["ViewApp", "CreateApp", "UpdateApp", "ViewAppName", "EditAppAssets", "EditAppFeatures", "ViewTeammates", "EditTeammates", "CreateTeammateOwner", "CreateTeammateManagedOwner", "CreateTeammateStoreOwner", "CreateTeammateStoreManager", "CreateTeammateStoreStaff", "CreateTeammateStoreReadAccess", "CreateTeammateFinanceManager", "CreateTeammateIntegrator", "CreateTeammateOnboarding", "CreateTeammatePropertyManager", "CreateTeammatePropertyOwner", "CreateTeammateStaffMember", "ViewApmConfigurations", "EditApmConfigurations", "ViewCampaignsConfigurations", "CreateCampaignsConfigurations", "UpdateCampaignsConfigurations", "DeleteCampaignsConfigurations", "StampLoyaltyCardAgainstCampaignsConfigurations", "ViewDevelopersSettings", "EditDevelopersSettings", "ViewOrders", "UpdateOrdersAccept", "UpdateOrdersReject", "UpdateOrdersRefund", "UpdateOrdersDispatch", "ViewStores", "CreateStores", "EditStores", "ViewStoresOpeningHours", "UpdateStoresOpenForCollectionOrDelivery", "UpdateStoresOpeningHours", "ViewStoresOpeningHoursOverride", "EditStoresOpeningHoursOverride", "EditStoresOpeningHoursOverrideTemporary", "UpdateStoresName", "EditStoreKioskSettings", "EditStoreOrderCapacity", "ArchiveStores", "PublishStores", "UpdatePrinterTerminalsAssign", "UpdatePrinterTerminalsToggle", "EditStoreNotifications", "ViewStoreGroups", "CreateStoreGroups", "UpdateStoreGroups", "DeleteStoreGroups", "ViewDeliveryZones", "CreateDeliveryZones", "UpdateDeliveryZones", "DeleteDeliveryZones", "ViewMenu", "CreateMenu", "UpdateMenu", "DeleteMenu", "UpdateMenuLock", "UpdateMenuItemsHideTemporarily", "EditMenuImage", "ViewVouchers", "EditVouchers", "ViewWebsiteContent", "EditWebsiteContent", "ViewWebsiteDnsVerified", "ViewWebsiteCertificateCreated", "ViewWebsiteCertificateRenewed", "ViewBankAccounts", "CreateBankAccounts", "UpdateBankAccounts", "UpdateBankAccountsAssign", "ViewAssignedBankAccount", "VerifyBankAccounts", "ViewServiceChargeConfigurations", "EditServiceChargeConfigurations", "EditStoreDeliveryZoneFees", "EditStoreDeliveryFeesLimited", "ViewHydraConfig", "UpdateHydraConfigManage", "InitiateBluetoothPairingMode", "DeleteTerminal", "ViewKioskTelemetry", "ViewCustomers", "EditCustomers", "CreateCustomers", "CreateCatalogElements", "UpdateCatalogElements", "ViewCatalogElements", "DeleteCatalogElements", "ViewMetafieldDefinitions", "CreateMetafieldDefinitions", "UpdateMetafieldDefinitions", "DeleteMetafieldDefinitions", "UpdateMetafields", "ViewCatalogMenuChanges", "PublishCatalogMenuChanges", "ViewAppStatistics", "ViewApmStatistics", "ViewCampaignsStatistics", "ViewCustomerStatistics", "ViewLiveStatistics", "ViewOrderStatistics", "ViewSalesStatistics", "ViewSalesEndOfDayStatistics", "ViewVouchersStatistics", "DownloadCustomerCsvExport", "ViewApmAuditLogs", "ViewStoreAuditLogs", "ViewMenuAuditLogs", "ViewBankAccountAuditLogs", "ViewFeeConfigurationsAuditLogs", "ViewOrdersAuditLogs", "ViewVouchersAuditLogs", "ViewUserEventsAuditLogs", "ViewCampaignsAuditLogs", "ViewTeammatesAuditLogs", "ViewAppAuditLogs", "ViewCustomerAuditLogs", "ViewPrinterAuditLogs", "ViewHydraAuditLogs", "ViewPushNotificationAuditLogs", "ViewStripeCustomConnectedAccountAuditLogs", "ViewKioskBluetoothDeviceAuditLogs", "ViewExternalAuditLogs", "CreateExternalAuditLogEvents", "ViewCatalogAuditLogs", "ViewOrderFulfillmentAuditLogs", "ViewChannelAuditLogs", "ViewAppStoreAuditLogs", "SendPushNotificationToCustomer", "InviteDriverToApp", "GetDriverForApp", "RemoveDriverFromApp", "AssignDriverToOrder", "UnassignDriverFromOrder", "UpdateOrdersDeliveryTrackingStatus", "UpdateOrderFulfillmentStatus", "ViewFulfillmentStatesConfiguration", "CreateFulfillmentStatesConfiguration", "UpdateFulfillmentStatesConfiguration", "DeleteFulfillmentStatesConfiguration", "ViewPayouts", "ViewChannels", "ViewOnboarding", "UpdateOnboarding", "ViewClientDevices", "UpdateClientDevices", "EnrollClientDevices", "AssignClientDevices", "ViewClientAuditLogs", "CreateAppStoreAppConfiguration", "ViewAppStoreAppConfiguration", "UpdateAppStoreAppConfiguration", "DeleteAppStoreAppConfiguration", "UpdateAppStoreAppConfigurationSettings", "CreateAppStoreSubscription", "UpdateAppStoreSubscription", "DeleteAppStoreSubscription", "ViewSalesChannels", "EditSalesChannels", "ViewPayGreenWhiteLabelConfiguration", "CreatePayGreenWhiteLabelConfiguration", "UpdatePayGreenWhiteLabelConfiguration", "UpdatePayGreenStoreConfiguration", "ViewSubscriptions", "ViewInvoices", "EditAccountsBills", "ViewAccountsBills", "EditAccountsCategories", "ViewAccountsCategories", "EditAccountsCreditAccounts", "ViewAccountsCreditAccounts", "EditAccountsCreditBooks", "ViewAccountsCreditBooks", "EditAccountsExpenses", "ViewAccountsExpenses", "EditAccountsTransactionAccounts", "ViewAccountsTransactionAccounts", "EditDocumentExplorer", "ViewDocumentExplorer", "ViewInventoryReports", "EditInventoryPurchaseOrders", "ViewInventoryPurchaseOrders", "EditInventoryStockItems", "ViewInventoryStockItems", "EditInventorySupplier", "ViewInventorySupplier", "EditInventoryTrackingProfiles", "ViewInventoryTrackingProfiles", "ViewPayrollReports", "EditPayrollHoliday", "ViewPayrollHoliday", "EditPayrollRota", "ViewPayrollRota", "EditPayrollStaff", "ViewPayrollStaff", "ViewSalesReports", "ViewCostReports", "ViewMenuReports"])).optional(), Features: z.array(z.string()).optional(), MapCenter: coordinates.optional(), MapNorthEast: coordinates.optional(), MapSouthWest: coordinates.optional(), GoogleMapsApiKeyWeb: z.string().optional(), OrgId: z.string().optional(), SmsRestaurantName: z.string().optional(), WebToAppRedirect: z.enum(["NoRedirect", "RedirectOnce", "RedirectAlways", "SuggestPwa", "ForcePwa"]).optional(), Name: z.string().optional(), HostName: z.string().optional(), MainColor: z.string().optional(), KioskPrimaryColour: z.string().optional(), ApplicationCategory: z.enum(["Restaurant", "Cafe", "Convenience"]).optional(), IsPanaceaEnabled: z.boolean().optional(), PanaceaVanityUrl: z.string().optional(), CookieConsentPromptEnabled: z.boolean().optional(), CountryId: z.string().max(2).optional()}); export const appUpdatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), Changes: z.string().optional(), AppName: z.string().optional(), CountryId: z.string().optional(), User: userEventInfo.optional(), App: app.optional(), OrgId: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const analyticsClientEvent = z.object({EventName: z.string().optional(), EventType: z.string().optional(), AppType: z.string().optional(), Metadata: z.string().optional(), UserId: z.number().int().nullable().optional(), Latitude: z.number().nullable().optional(), Longitude: z.number().nullable().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeSummary = z.object({Id: z.number().int().optional(), Name: z.string().optional(), MenuId: z.number().int().optional(), MenuPublishId: z.string().optional(), Metadata: z.record(z.string(), z.string()).optional(), Currency: z.enum(["EUR", "USD", "GBP", "CAD", "AUD", "DJF", "ZAR", "ETB", "AED", "BHD", "DZD", "EGP", "IQD", "JOD", "KWD", "LBP", "LYD", "MAD", "OMR", "QAR", "SAR", "SYP", "TND", "YER", "CLP", "INR", "AZN", "RUB", "BYN", "BGN", "NGN", "BDT", "CNY", "BAM", "CZK", "DKK", "CHF", "MVR", "BTN", "XCD", "BZD", "HKD", "IDR", "JMD", "MYR", "NZD", "PHP", "SGD", "TTD", "XDR", "ARS", "BOB", "COP", "CRC", "CUP", "DOP", "GTQ", "HNL", "MXN", "NIO", "PAB", "PEN", "PYG", "UYU", "VEF", "IRR", "XOF", "CDF", "XAF", "HTG", "ILS", "HRK", "HUF", "AMD", "ISK", "JPY", "GEL", "KZT", "KHR", "KRW", "KGS", "LAK", "MKD", "MNT", "BND", "MMK", "NOK", "NPR", "PKR", "PLN", "AFN", "BRL", "MDL", "RON", "RWF", "SEK", "LKR", "SOS", "ALL", "RSD", "KES", "TJS", "THB", "ERN", "TMT", "BWP", "TRY", "UAH", "UZS", "VND", "MOP", "TWD", "BMD"]).optional(), Coordinates: coordinates.optional(), StoreTimezone: z.string().optional(), StoreIanaTimezone: z.string().optional(), StoreGroupId: z.number().int().optional(), TaxId: z.string().optional(), PrettyAddress: z.string().optional(), CountryCode: z.string().optional(), PropertyId: z.string().optional()}); export const customerSummary = z.object({Id: z.number().int().optional(), Name: z.string().optional(), EmailAddress: z.string().optional(), PhoneNumberLocalFormat: z.string().optional(), PhoneNumber: z.string().optional(), LanguagePreference: z.string().optional()}); export const orderVoucherSummary = z.object({VoucherId: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), Code: z.string().optional(), Amount: z.number().optional(), Type: z.enum(["PercentageDiscount", "LumpDiscount", "AddItem", "CreditNote", "FreeDelivery"]).optional(), SubType: z.enum(["None", "SignUp", "Loyalty", "Loyalty25", "Retention", "SecondaryRetention", "Custom"]).optional()}); export const feeSummary = z.object({FeeAmount: z.number().optional(), PercentageRate: z.number().optional(), PerTransactionFee: z.number().optional()}); export const orderItemOption = z.object({Metadata: z.record(z.string(), z.string()).optional(), MenuItemOptionPublicId: z.string().optional(), MenuItemOptionId: z.number().int().optional(), IsMasterOptionSetItem: z.boolean().optional(), Name: z.string().optional(), Price: z.number().optional(), TaxAmount: z.number().optional(), MenuItemOptionDisplayOrder: z.number().int().optional(), MenuItemOptionSetDisplayOrder: z.number().int().optional(), DepositReturnFee: z.number().nullable().optional()}); export const orderItem = z.object({OrderItemOptions: z.array(orderItemOption).optional(), Metadata: z.record(z.string(), z.string()).optional(), MenuItemPublicId: z.string().optional(), MenuSectionName: z.string().optional(), MenuSectionDisplayOrder: z.number().int().optional(), Name: z.string().optional(), Description: z.string().optional(), Price: z.number().optional(), TaxAmount: z.number().optional(), PriceIncludingOptionSetItems: z.number().optional(), MenuItemId: z.number().int().optional(), MenuItemDisplayOrder: z.number().int().optional(), IsAvailable: z.boolean().optional(), DepositReturnFee: z.number().nullable().optional()}); export const deliveryLocation = z.object({Coordinates: coordinates.optional(), Building: z.string().optional(), Street: z.string().optional(), Town: z.string().optional(), PostCode: z.string().optional(), DeliveryInstructions: z.string().optional(), PrettyAddressString: z.string().optional()}); export const maskedPhoneNumber = z.object({IsEnabled: z.boolean().optional(), PhoneNumber: z.string().optional(), Code: z.string().optional()}); export const channel = z.object({ChannelId: z.number().int().optional(), TranslationKey: z.string().optional(), Source: z.enum(["Internal", "External"]).optional(), LogoUri: z.string().optional(), Available: z.boolean().optional(), MaintainedExternally: z.boolean().optional()}); export const orderDropOffLocation = z.object({OrderId: z.number().int().optional(), LocationName: z.string().optional(), LocationAreaName: z.string().optional(), LocationId: z.number().int().optional(), LocationAreaId: z.number().int().optional(), ExternalLocationId: z.string().optional()}); export const orderFulfillmentStatusBase = z.object({StatusId: z.string().optional(), StatusName: z.string().optional(), Icon: z.string().optional()}); export const orderBatchSummary = z.object({Id: z.number().int().optional(), DisplayCode: z.string().optional(), CreateTime: z.string().optional(), IsPublished: z.boolean().optional()}); export const taxItem = z.object({Name: z.string().optional(), Rate: z.number().optional(), Amount: z.number().optional()}); export const order = z.object({Store: storeSummary.optional(), Customer: customerSummary.optional(), Voucher: orderVoucherSummary.optional(), Fees: feeSummary.optional(), OrderItems: z.array(orderItem).optional(), DeliveryLocation: deliveryLocation.optional(), CustomerLocation: coordinates.optional(), MaskedPhoneNumber: maskedPhoneNumber.optional(), DropOffLocationId: z.number().int().nullable().optional(), DropOffLocation: z.string().optional(), AcceptedFor: z.string().nullable().optional(), InFraudZone: z.boolean().optional(), UnusualHighValueOrder: z.boolean().optional(), RejectedByUserId: z.number().int().nullable().optional(), ChannelOrderId: z.string().optional(), ChannelOrderDisplayId: z.string().optional(), Channel: channel.optional(), OrderDropOffLocation: orderDropOffLocation.optional(), FulfillmentStatus: orderFulfillmentStatusBase.optional(), OrderBatchInfo: orderBatchSummary.optional(), TaxItems: z.array(taxItem).optional(), CreatedCampaignVoucherId: z.number().int().nullable().optional(), OrderId: z.number().int().optional(), LocalOrderId: z.string().optional(), DeliveryType: z.enum(["Delivery", "Pickup"]).optional(), PickupLocationType: z.enum(["TakeOut", "TableService", "DineIn"]).optional(), TableServiceCatagory: z.enum(["Generic", "Villa", "House", "Room", "Area", "Table", "ParkingBay", "Gate", "DriveThrough", "Team"]).nullable().optional(), TipAmount: z.number().optional(), DeliveryAmount: z.number().optional(), OrderItemsAmount: z.number().optional(), ServiceChargeAmount: z.number().optional(), ServiceChargePercentage: z.number().optional(), Amount: z.number().optional(), ProcessingFee: z.number().optional(), PaymentAccountType: z.enum(["Card", "Cash", "Ideal", "Bancontact", "Giropay", "Eps", "Emv", "PayPal", "PayGreen", "GoogleWalletToken"]).optional(), PaymentAccountDescription: z.string().optional(), OrderState: z.enum(["Created", "PlacedCanBeCancelled", "ReadyToProcess", "AcceptedByRestaurant", "Dispatched", "Delivered", "Cancelled", "ManualReview", "RejectedByStore", "RejectedByFlipdish", "RejectedAutomatically", "RejectedAfterBeingAccepted", "AcceptedAndRefunded", "PendingPayment"]).optional(), IsPreOrder: z.boolean().optional(), PlacedTime: z.string().optional(), RequestedForTime: z.string().optional(), ChefNote: z.string().optional(), AppType: z.enum(["Unknown", "Ios", "Android", "Web", "Kiosk", "Pos", "TelephoneCall", "Sms", "PwaAndroid", "PwaIos", "Google"]).optional(), UserRating: z.number().int().nullable().optional(), PaymentStatus: z.enum(["Paid", "Unpaid", "Refunded", "PartiallyRefunded", "Disputed"]).optional(), RejectionReason: z.enum(["TooBusy", "FoodUnavailable", "UnableToDeliver", "UnknownAddress", "UnknownReason", "TooSoon", "TimeUnavailable", "DontDeliverToArea", "StoreUncontactable"]).nullable().optional(), RefundedAmount: z.number().nullable().optional(), DeliveryTrackingStatus: z.enum(["Unassigned", "Unaccepted", "Accepted", "Carrying", "OnTheWay", "ArrivedAtLocation", "Delivered", "CannotDeliver"]).nullable().optional(), DriverId: z.number().int().nullable().optional(), TotalTax: z.number().optional(), OrderTrackingCode: z.string().optional(), DeliveryFeeAreaId: z.number().int().nullable().optional(), ReceiptCode: z.string().optional(), TotalDepositReturnFeeAmount: z.number().optional()}); export const orderAcceptedEvent = z.object({EventName: z.string().optional(), OrgId: z.string().optional(), Description: z.string().optional(), OrderAcceptedTime: z.string().optional(), User: userEventInfo.optional(), Order: order.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const orderDispatchedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), OrderDispatchedTime: z.string().optional(), Order: order.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const customerDeliveryTrackingOrderLine = z.object({ItemName: z.string().optional(), SelectedOptions: z.array(z.string()).optional()}); export const customerDeliveryTrackingOrder = z.object({OrderId: z.number().int().optional(), Address: z.string().optional(), DeliveryNotes: z.string().optional(), StorePhoneNumber: z.string().optional(), AppIconUrl: z.string().optional(), OrderTrackingCode: z.string().optional(), PaymentMethodDescription: z.string().optional(), LastFourDigits: z.string().optional(), OrderLines: z.array(customerDeliveryTrackingOrderLine).optional(), TotalAmount: z.number().optional(), Currency: z.enum(["EUR", "USD", "GBP", "CAD", "AUD", "DJF", "ZAR", "ETB", "AED", "BHD", "DZD", "EGP", "IQD", "JOD", "KWD", "LBP", "LYD", "MAD", "OMR", "QAR", "SAR", "SYP", "TND", "YER", "CLP", "INR", "AZN", "RUB", "BYN", "BGN", "NGN", "BDT", "CNY", "BAM", "CZK", "DKK", "CHF", "MVR", "BTN", "XCD", "BZD", "HKD", "IDR", "JMD", "MYR", "NZD", "PHP", "SGD", "TTD", "XDR", "ARS", "BOB", "COP", "CRC", "CUP", "DOP", "GTQ", "HNL", "MXN", "NIO", "PAB", "PEN", "PYG", "UYU", "VEF", "IRR", "XOF", "CDF", "XAF", "HTG", "ILS", "HRK", "HUF", "AMD", "ISK", "JPY", "GEL", "KZT", "KHR", "KRW", "KGS", "LAK", "MKD", "MNT", "BND", "MMK", "NOK", "NPR", "PKR", "PLN", "AFN", "BRL", "MDL", "RON", "RWF", "SEK", "LKR", "SOS", "ALL", "RSD", "KES", "TJS", "THB", "ERN", "TMT", "BWP", "TRY", "UAH", "UZS", "VND", "MOP", "TWD", "BMD"]).optional(), Latitude: z.number().optional(), Longitude: z.number().optional(), Placed: z.string().optional(), RequestedFor: z.string().optional(), DriverId: z.number().int().nullable().optional(), DriverName: z.string().optional(), DriverImage: z.string().optional(), EstimatedMinutesForDelivery: z.number().int().optional()}); export const orderCustomerTrackingCreatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), Order: customerDeliveryTrackingOrder.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const orderDeliveryTrackingStatusUpdatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), Order: order.optional(), DeliveryIntegrationName: z.string().optional(), DeliveryErrorMessage: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const orderBatchPublishedEvent = z.object({EventName: z.string().optional(), OrderBatchId: z.number().int().optional(), StoreId: z.number().int().optional(), OrderIds: z.array(z.number().int()).optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const orderCreatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), OrderCreatedTime: z.string().optional(), Order: order.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const orderRatingUpdatedEvent = z.object({EventName: z.string().optional(), Rating: z.number().int().nullable().optional(), Description: z.string().optional(), Order: order.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const orderRefundedEvent = z.object({EventName: z.string().optional(), RefundedAmount: z.number().optional(), Description: z.string().optional(), User: userEventInfo.optional(), Order: order.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const orderRejectedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), OrderRejectedTime: z.string().optional(), Reason: z.string().optional(), User: userEventInfo.optional(), Order: order.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const orderTipUpdatedEvent = z.object({EventName: z.string().optional(), TipAmount: z.number().optional(), Description: z.string().optional(), Order: order.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const emvNotificationEvent = z.object({EventName: z.string().optional(), Notification: z.string().optional(), Order: order.optional(), TerminalId: z.string().optional(), Description: z.string().optional(), ExpDate: z.string().optional(), CardType: z.string().optional(), PaymentMethod: z.string().optional(), AccountNumber: z.string().optional(), AuthCode: z.string().optional(), ProviderMessage: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeAddress = z.object({AddressId: z.number().int().optional(), Coordinates: coordinates.optional(), Line1: z.string().optional(), Postcode: z.string().optional(), City: z.string().optional(), CountryCode: z.string().max(2).optional(), DisplayForCustomer: z.string().optional(), AddressFields: z.record(z.string(), z.object({})).optional(), SingleLineDisplay: z.string().optional(), TwoLinesDisplay: z.array(z.string()).optional()}); export const deliveryZone = z.object({Id: z.number().int().optional(), FeeChargedToStore: z.number().nullable().optional(), DeliveryFee: z.number().optional(), MinimumDeliveryOrderAmount: z.number().optional(), WellKnownText: z.string().optional(), IsEnabled: z.boolean().optional()}); export const range = z.object({StartTime: z.string().optional(), Period: z.string().optional(), DayOfWeek: z.enum(["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]).optional()}); export const businessHoursPeriod = z.object({Early: range.optional(), Late: range.optional(), Ranges: z.array(range).optional(), DayOfWeek: z.enum(["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]).optional(), StartTime: z.string().optional(), Period: z.string().optional(), StartTimeEarly: z.string().optional(), PeriodEarly: z.string().optional()}); export const storeNote = z.object({UserId: z.number().int().optional(), CreateTime: z.string().optional(), Note: z.string().optional()}); export const store = z.object({StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), Address: storeAddress.optional(), DeliveryZones: z.array(deliveryZone).optional(), ApmPhoneNumber: z.string().optional(), PickupHours: z.array(businessHoursPeriod).optional(), DeliveryHours: z.array(businessHoursPeriod).optional(), MenuId: z.number().int().optional(), OrderConfirmationMessageOverrideDelivery: z.string().optional(), OrderConfirmationMessageOverridePickup: z.string().optional(), PrintoutLayoutType: z.enum(["Default", "Centra", "SmallChefNotes", "SmallChefNotesAndCentra"]).nullable().optional(), StoreNotes: z.array(storeNote).optional(), MicrosoftTimeZone: z.string().optional(), IanaTimeZone: z.string().optional(), Currency: z.enum(["EUR", "USD", "GBP", "CAD", "AUD", "DJF", "ZAR", "ETB", "AED", "BHD", "DZD", "EGP", "IQD", "JOD", "KWD", "LBP", "LYD", "MAD", "OMR", "QAR", "SAR", "SYP", "TND", "YER", "CLP", "INR", "AZN", "RUB", "BYN", "BGN", "NGN", "BDT", "CNY", "BAM", "CZK", "DKK", "CHF", "MVR", "BTN", "XCD", "BZD", "HKD", "IDR", "JMD", "MYR", "NZD", "PHP", "SGD", "TTD", "XDR", "ARS", "BOB", "COP", "CRC", "CUP", "DOP", "GTQ", "HNL", "MXN", "NIO", "PAB", "PEN", "PYG", "UYU", "VEF", "IRR", "XOF", "CDF", "XAF", "HTG", "ILS", "HRK", "HUF", "AMD", "ISK", "JPY", "GEL", "KZT", "KHR", "KRW", "KGS", "LAK", "MKD", "MNT", "BND", "MMK", "NOK", "NPR", "PKR", "PLN", "AFN", "BRL", "MDL", "RON", "RWF", "SEK", "LKR", "SOS", "ALL", "RSD", "KES", "TJS", "THB", "ERN", "TMT", "BWP", "TRY", "UAH", "UZS", "VND", "MOP", "TWD", "BMD"]).optional(), PreOrderDeliveryEnabled: z.boolean().optional(), PreOrderPickupEnabled: z.boolean().optional(), LogoUrl: z.string().optional(), FraudPreventionStrategy: z.string().optional(), AppIds: z.array(z.string()).optional(), PropertyId: z.string().optional(), PhoneNumber: z.string().optional(), AlwaysAppearOpen: z.boolean().optional(), PreOrderEnabled: z.boolean().optional(), TakeOutEnabled: z.boolean().optional(), TableServiceEnabled: z.boolean().optional(), DineInEnabled: z.boolean().optional(), AllowPreOrdersAndTableService: z.boolean().optional(), PickupEnabled: z.boolean().optional(), DeliveryEnabled: z.boolean().optional(), CardOrderDeliveryEnabled: z.boolean().optional(), CashOrdersDeliveryEnabled: z.boolean().optional(), CardOrdersPickupEnabled: z.boolean().optional(), CashOrdersPickupEnabled: z.boolean().optional(), TipsEnabled: z.boolean().optional(), AutomaticallyAcceptOrders: z.boolean().optional(), OpenForDelivery: z.boolean().optional(), OpenForPickup: z.boolean().optional(), MinimumPickupOrderAmount: z.number().optional(), RequireCustomerNameForPickup: z.boolean().optional(), GdprCustomerPhoneNumbers: z.boolean().optional(), RequireCustomerNameForDelivery: z.boolean().optional(), AllowChefNotes: z.boolean().optional(), EtaInPickupConfirmationSmsEnabled: z.boolean().optional(), EtaInDeliveryConfirmationSmsEnabled: z.boolean().optional(), IsArchived: z.boolean().optional(), IsPublished: z.boolean().optional(), Name: z.string().optional(), EmailAddress: z.string().max(100).optional(), StaffLanguage: z.string().optional(), SalesChannelTypes: z.array(z.enum(["Web", "App", "Kiosk", "Pos", "None", "PhoneAgent"])).optional(), InheritanceConfigTypes: z.array(z.literal("CollectionSettings")).optional()}); export const storeCreatedEvent = z.object({EventName: z.string().optional(), OrgId: z.string().optional(), StoreId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), Store: store.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeDeletedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), Store: store.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeAddressUpdatedEvent = z.object({EventName: z.string().optional(), OrgId: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), StoreAddress: storeAddress.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeKioskSetting = z.object({KioskSettingId: z.number().int().optional(), KioskName: z.string().optional(), RequireCustomerName: z.boolean().optional(), RequireCustomerPhoneNumber: z.boolean().optional(), RequestCustomerPhoneNumber: z.boolean().optional(), RequestTableNumber: z.boolean().optional(), OfferDineInOrTakeawayOption: z.boolean().optional(), PhysicalRestaurantId: z.number().int().optional(), HydraConfigId: z.number().int().optional()}); export const storeKioskSettingUpdatedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), StoreKioskSetting: storeKioskSetting.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const deliveryZoneCreatedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), DeliveryZone: deliveryZone.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const deliveryZoneUpdatedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), DeliveryZone: deliveryZone.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const deliveryZoneDeletedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), DeliveryZone: deliveryZone.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeOpeningHoursUpdatedEvent = z.object({EventName: z.string().optional(), OrgId: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), DeliveryType: z.enum(["Delivery", "Pickup"]).optional(), DeliveryTypeString: z.enum(["Delivery", "Pickup"]).optional(), BusinessHoursPeriodOld: businessHoursPeriod.optional(), BusinessHoursPeriod: businessHoursPeriod.optional(), Description: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeMenuAssignedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), MenuId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const businessHoursOverride = z.object({BusinessHoursOverrideId: z.number().int().optional(), DeliveryType: z.enum(["Delivery", "Pickup"]).optional(), StartTime: z.string(), EndTime: z.string(), Type: z.enum(["Open", "Closed", "ClosedAllowPreOrders"]).optional()}); export const storeBusinessHoursOverrideCreatedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), BusinessHoursOverride: businessHoursOverride.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeBusinessHoursOverrideDeletedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), BusinessHoursOverride: businessHoursOverride.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeArchivedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), Store: store.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeUnarchivedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), Store: store.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storePublishedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), Store: store.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeUnpublishedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), Store: store.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeUpdatedEvent = z.object({EventName: z.string().optional(), OrgId: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), Store: store.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const preOrderConfig = z.object({LeadTimeMinutes: z.number().int().optional(), IntervalMinutes: z.number().int().optional(), MaxOrderAheadDays: z.number().int().optional(), IncludeAsap: z.boolean().optional(), IncludeMoreGranularInitialTime: z.boolean().optional(), CutOffTimePreviousDayBasic: z.string().nullable().optional(), CutOffTimeCurrentDayBasic: z.string().nullable().optional(), PreOrderTimeDisplayType: z.enum(["SingleTime", "StartAndEndTime", "DayOnly"]).optional(), AlwaysAppearOpen: z.boolean().optional(), RequireExplicitSelectAlways: z.boolean().optional()}); export const storePreOrderConfigUpdatedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), PreOrderConfig: preOrderConfig.optional(), OldPreOrderConfig: preOrderConfig.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeLogoCreatedEvent = z.object({EventName: z.string().optional(), OrgId: z.string().optional(), StoreId: z.number().int().optional(), LogoUrl: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeLogoUpdatedEvent = z.object({EventName: z.string().optional(), OrgId: z.string().optional(), StoreId: z.number().int().optional(), LogoUrl: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeLogoDeletedEvent = z.object({EventName: z.string().optional(), OrgId: z.string().optional(), StoreId: z.number().int().optional(), Description: z.string().optional(), User: userEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const createMetadata = z.object({StoreId: z.number().int().optional(), Key: z.string().max(128).optional(), Value: z.string().max(4000).optional()}); export const menuItemOptionSetItem = z.object({MenuItemOptionSetItemId: z.number().int().optional(), PublicId: z.string().optional(), Metadata: z.array(createMetadata).optional(), NextMenuItemOptionSetId: z.number().int().nullable().optional(), CatalogItemId: z.string().optional(), TaxRateName: z.string().optional(), TaxRateId: z.number().int().nullable().optional(), TaxValue: z.number().optional(), Name: z.string().optional(), Price: z.number().optional(), DepositReturnFee: z.number().nullable().optional(), IsAvailable: z.boolean().optional(), DisplayOrder: z.number().int().optional(), CellLayoutType: z.enum(["Small", "Medium", "Large", "HiddenImage"]).optional(), ImageUrl: z.string().optional()}); export const menuItemOptionSet = z.object({MenuItemOptionSetId: z.number().int().optional(), ImageName: z.string().optional(), ImageUrl: z.string().optional(), MenuItemOptionSetItems: z.array(menuItemOptionSetItem).optional(), PublicId: z.string().optional(), CatalogItemId: z.string().optional(), Name: z.string().max(4000).optional(), IsMasterOptionSet: z.boolean().optional(), DisplayOrder: z.number().int().optional(), MinSelectCount: z.number().int().optional(), MaxSelectCount: z.number().int().optional(), CellLayoutType: z.enum(["Small", "Medium", "Large", "HiddenImage"]).optional()}); export const menuSectionItem = z.object({ActualPrice: z.number().optional(), MenuItemOptionSets: z.array(menuItemOptionSet).optional(), DailySpecialHours: z.array(businessHoursPeriod).optional(), PublicId: z.string().optional(), TaxRateName: z.string().optional(), TaxRateId: z.number().int().nullable().optional(), TaxValue: z.number().optional(), ExcludeFromVoucherDiscounting: z.boolean().optional(), Metadata: z.array(createMetadata).optional(), CatalogItemId: z.string().optional(), Name: z.string().max(4000).optional(), Description: z.string().max(4000).optional(), SpicinessRating: z.enum(["NotRated", "Mild", "Medium", "Hot"]).optional(), Price: z.number().optional(), DepositReturnFee: z.number().nullable().optional(), DisplayOrder: z.number().int().optional(), Alcohol: z.boolean().optional(), IsAvailable: z.boolean().optional(), CellLayoutType: z.enum(["Small", "Medium", "Large", "HiddenImage"]).optional(), DisableVouchers: z.boolean().optional(), ImageName: z.string().optional(), ImageUrl: z.string().optional(), MenuItemId: z.number().int().optional()}); export const menuSectionAvailability = z.object({AvailableTimes: z.array(businessHoursPeriod).optional(), AvailabilityMode: z.enum(["DisplayAlways", "DisplayBasedOnTimes", "DisplayAlwaysStartCollapsed", "DisplayAlwaysStartCollapsedBasedOnTimes"]).nullable().optional()}); export const menuSection = z.object({MenuSectionId: z.number().int().optional(), MenuItems: z.array(menuSectionItem).optional(), MenuSectionAvailability: menuSectionAvailability.optional(), PublicId: z.string().optional(), ImageName: z.string().optional(), Name: z.string().max(4000).optional(), Description: z.string().max(4000).optional(), DisplayOrder: z.number().int().optional(), IsAvailable: z.boolean().optional(), IsHiddenFromCustomers: z.boolean().optional(), ImageUrl: z.string().optional()}); export const menuTaxRate = z.object({TaxRateId: z.number().int().optional(), Name: z.string().max(2048).optional(), Rate: z.number().optional()}); export const menu = z.object({MenuId: z.number().int().optional(), ModifiedTime: z.string().optional(), VersionNumber: z.number().int().optional(), ImageName: z.string().optional(), ImageUrl: z.string().optional(), Name: z.string().optional(), Locked: z.boolean().optional(), MenuSections: z.array(menuSection).optional(), TaxRates: z.array(menuTaxRate).optional(), AppId: z.string().optional(), DisplaySectionLinks: z.boolean().optional(), MenuSectionBehaviour: z.enum(["ExpandSingle", "ExpandMultiple"]).optional(), TaxType: z.enum(["IncludedInBasePrice", "ExcludedFromBasePrice"]).optional(), IsIntegrated: z.boolean().optional()}); export const menuCreatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), Menu: menu.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuAsyncCreationCompletedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), Menu: menu.optional(), Success: z.boolean().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuUpdatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), Menu: menu.optional(), MenuId: z.number().int().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuUploadedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), Menu: menu.optional(), InstanceEventCount: z.string().optional(), MenuId: z.number().int().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuBulkEditEvent = z.object({EventName: z.string().optional(), MenuName: z.string().optional(), Description: z.string().optional(), Item: z.string().optional(), InstanceCount: z.number().int().optional(), IsAvailable: z.boolean().optional(), User: userEventInfo.optional(), MenuId: z.number().int().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuSectionCreatedEvent = z.object({MenuId: z.number().int().optional(), Description: z.string().optional(), User: userEventInfo.optional(), MenuSection: menuSection.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuSectionUpdatedEvent = z.object({MenuId: z.number().int().optional(), Description: z.string().optional(), User: userEventInfo.optional(), MenuSection: menuSection.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuSectionDeletedEvent = z.object({MenuId: z.number().int().optional(), Description: z.string().optional(), User: userEventInfo.optional(), MenuSection: menuSection.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuSectionItemCreatedEvent = z.object({MenuId: z.number().int().optional(), Description: z.string().optional(), User: userEventInfo.optional(), MenuSectionItem: menuSectionItem.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuSectionItemUpdatedEvent = z.object({MenuId: z.number().int().optional(), Description: z.string().optional(), User: userEventInfo.optional(), MenuSectionItem: menuSectionItem.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuSectionItemDeletedEvent = z.object({MenuId: z.number().int().optional(), Description: z.string().optional(), User: userEventInfo.optional(), MenuSectionItem: menuSectionItem.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuItemOptionSetCreatedEvent = z.object({MenuId: z.number().int().optional(), Description: z.string().optional(), User: userEventInfo.optional(), MenuItemOptionSet: menuItemOptionSet.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuItemOptionSetUpdatedEvent = z.object({MenuId: z.number().int().optional(), Description: z.string().optional(), User: userEventInfo.optional(), MenuItemOptionSet: menuItemOptionSet.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuItemOptionSetDeletedEvent = z.object({MenuId: z.number().int().optional(), Description: z.string().optional(), User: userEventInfo.optional(), MenuItemOptionSet: menuItemOptionSet.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuItemOptionSetItemCreatedEvent = z.object({MenuId: z.number().int().optional(), Description: z.string().optional(), User: userEventInfo.optional(), MenuItemOptionSetItem: menuItemOptionSetItem.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuItemOptionSetItemUpdatedEvent = z.object({MenuId: z.number().int().optional(), Description: z.string().optional(), User: userEventInfo.optional(), MenuItemOptionSetItem: menuItemOptionSetItem.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuItemOptionSetItemDeletedEvent = z.object({MenuId: z.number().int().optional(), Description: z.string().optional(), User: userEventInfo.optional(), MenuItemOptionSetItem: menuItemOptionSetItem.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const menuCheckpointCreatedEvent = z.object({Description: z.string().optional(), User: userEventInfo.optional(), Menu: menu.optional(), MenuId: z.number().int().optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeGroup = z.object({StoreGroupId: z.number().int().optional(), GeneralRating: z.number().nullable().optional(), GeneralRatingCount: z.number().int().optional(), DeliveryMenuMessage: z.string().optional(), PickupMenuMessage: z.string().optional(), BrandIds: z.array(z.string()).optional(), Name: z.string().optional(), Currency: z.enum(["EUR", "USD", "GBP", "CAD", "AUD", "DJF", "ZAR", "ETB", "AED", "BHD", "DZD", "EGP", "IQD", "JOD", "KWD", "LBP", "LYD", "MAD", "OMR", "QAR", "SAR", "SYP", "TND", "YER", "CLP", "INR", "AZN", "RUB", "BYN", "BGN", "NGN", "BDT", "CNY", "BAM", "CZK", "DKK", "CHF", "MVR", "BTN", "XCD", "BZD", "HKD", "IDR", "JMD", "MYR", "NZD", "PHP", "SGD", "TTD", "XDR", "ARS", "BOB", "COP", "CRC", "CUP", "DOP", "GTQ", "HNL", "MXN", "NIO", "PAB", "PEN", "PYG", "UYU", "VEF", "IRR", "XOF", "CDF", "XAF", "HTG", "ILS", "HRK", "HUF", "AMD", "ISK", "JPY", "GEL", "KZT", "KHR", "KRW", "KGS", "LAK", "MKD", "MNT", "BND", "MMK", "NOK", "NPR", "PKR", "PLN", "AFN", "BRL", "MDL", "RON", "RWF", "SEK", "LKR", "SOS", "ALL", "RSD", "KES", "TJS", "THB", "ERN", "TMT", "BWP", "TRY", "UAH", "UZS", "VND", "MOP", "TWD", "BMD"]).optional()}); export const storeGroupCreatedEvent = z.object({EventName: z.string().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), StoreGroup: storeGroup.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeGroupUpdatedEvent = z.object({EventName: z.string().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), StoreGroup: storeGroup.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeGroupDeletedEvent = z.object({EventName: z.string().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), StoreGroup: storeGroup.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const customerCreatedEvent = z.object({EventName: z.string().optional(), OrgId: z.string().optional(), User: userEventInfo.optional(), Description: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const customerUpdatedEvent = z.object({EventName: z.string().optional(), User: userEventInfo.optional(), Description: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const customerConsentUpdatedEvent = z.object({EventName: z.string().optional(), OrgId: z.string().optional(), Enabled: z.boolean().optional(), Description: z.string().optional(), User: userEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const webhookSubscriptionEventInfo = z.object({OwnerUserId: z.number().int().optional(), WebhookSubscriptionId: z.number().int().optional(), ClientId: z.string().optional(), CallbackUrl: z.string().optional()}); export const webhookSubscriptionCreatedEvent = z.object({EventName: z.string().optional(), WebhookSubscriptionEventInfo: webhookSubscriptionEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const webhookSubscriptionUpdatedEvent = z.object({EventName: z.string().optional(), WebhookSubscriptionEventInfo: webhookSubscriptionEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const webhookSubscriptionDeletedEvent = z.object({EventName: z.string().optional(), WebhookSubscriptionEventInfo: webhookSubscriptionEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const printer = z.object({SerialNumber: z.string().optional(), LastPollTime: z.string().optional()}); export const printerTurnedOnEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Printer: printer.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const printerTurnedOffEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Printer: printer.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const printerAssignedToStoreEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Printer: printer.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const printerUnassignedFromStoreEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Printer: printer.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const phoneCall = z.object({PhoneCallId: z.number().int().optional(), CallSid: z.string().optional(), TimeOfCall: z.string().optional(), TimeOfCallLocal: z.string().optional(), StoreId: z.number().int().optional(), StoreName: z.string().optional(), CallerName: z.string().optional(), CallerUserId: z.number().int().optional(), CallerNumber: z.string().optional(), CallLengthInSeconds: z.number().int().optional(), CallStatus: z.enum(["Queued", "Ringing", "InProgress", "Completed", "Failed", "Busy", "NoAnswer", "Unknown", "Canceled"]).optional()}); export const phoneCallStartedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), StoreId: z.number().int().optional(), PhoneCall: phoneCall.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const phoneCallEndedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), StoreId: z.number().int().optional(), PhoneCall: phoneCall.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const telephonyConfig = z.object({TelephonyConfigId: z.number().int().optional(), ApmEnabled: z.boolean().optional(), Type: z.enum(["PreRecorded", "VoiceAI"]).optional(), ConsentEnabled: z.boolean().optional(), PhoneNumber: z.string().optional(), SendAppLinkSms: z.boolean().optional(), UseCustomAppLinkSmsMessage: z.boolean().optional(), UseCustomVoiceMessage: z.boolean().optional(), AppLinkSmsMessage: z.string().optional(), ResendApmMessageAfterDays: z.number().int().optional()}); export const telephonyConfigUpdatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), StoreId: z.number().int().optional(), TelephonyConfig: telephonyConfig.optional(), PropertyId: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const channelStoresUpdatedEvent = z.object({EventName: z.string().optional(), ChannelId: z.number().int().optional(), StoreIds: z.array(z.number().int()).optional(), User: userEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const campaignStatistics = z.object({VouchersIssued: z.number().int().optional(), VouchersRedeemed: z.number().int().optional(), Conversion: z.number().optional(), SalesGenerated: z.number().optional(), ReturnOfInvestment: z.number().optional()}); export const storeCampaignStartTime = z.object({StoreId: z.number().int().optional(), TsStart: z.string().optional()}); export const loyaltyCampaign = z.object({CampaignId: z.number().int().optional(), Statistics: campaignStatistics.optional(), Stores: z.array(storeCampaignStartTime).optional(), PublicId: z.string().optional(), OrdersBeforeReceivingVoucher: z.number().int().optional(), PercentDiscountAmount: z.number().int().gte(1).lte(100).nullable().optional(), MaxDiscount: z.number().gte(0).nullable().optional(), RoundingStrategy: z.number().int().gte(0).lte(2).nullable().optional(), ShouldIncludeOrdersWithLoyaltyVoucher: z.boolean().nullable().optional(), VoucherValidPeriodDays: z.number().int().gte(1).lte(300).optional(), IncludeDeliveryFee: z.boolean().optional(), AutoApplyResultingVouchers: z.boolean().optional(), IncludeExistingOrders: z.boolean().optional(), IsEnabled: z.boolean().optional(), StoreIds: z.array(z.number().int()).optional(), AppId: z.string().optional(), ForceDiscount: z.boolean().optional()}); export const loyaltyCampaignCreatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), StoreId: z.number().int().optional(), User: userEventInfo.optional(), LoyaltyCampaign: loyaltyCampaign.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const loyaltyCampaignDeletedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), StoreId: z.number().int().optional(), User: userEventInfo.optional(), LoyaltyCampaign: loyaltyCampaign.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const loyaltyCampaignUpdatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), StoreId: z.number().int().optional(), User: userEventInfo.optional(), LoyaltyCampaign: loyaltyCampaign.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const retentionCampaign = z.object({CampaignId: z.number().int().optional(), Statistics: campaignStatistics.optional(), Stores: z.array(storeCampaignStartTime).optional(), PublicId: z.string().optional(), NotifyCustomerAfterMinutes: z.number().int().gte(1440).lte(2147483647).optional(), PercentDiscountAmount: z.number().int().gte(1).lte(100).nullable().optional(), MaxDiscount: z.number().gte(0).nullable().optional(), LumpDiscountAmount: z.number().gte(0).lte(2147483647).nullable().optional(), VoucherValidPeriodDays: z.number().int().gte(1).lte(300).optional(), IncludeDeliveryFee: z.boolean().optional(), AutoApplyResultingVouchers: z.boolean().optional(), IncludeExistingOrders: z.boolean().optional(), IsEnabled: z.boolean().optional(), StoreIds: z.array(z.number().int()).optional(), AppId: z.string().optional(), ForceDiscount: z.boolean().optional()}); export const retentionCampaignCreatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), StoreId: z.number().int().optional(), User: userEventInfo.optional(), RetentionCampaign: retentionCampaign.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const retentionCampaignDeletedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), StoreId: z.number().int().optional(), User: userEventInfo.optional(), RetentionCampaign: retentionCampaign.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const retentionCampaignUpdatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), StoreId: z.number().int().optional(), User: userEventInfo.optional(), RetentionCampaign: retentionCampaign.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const smsInfo = z.object({From: z.string().optional(), To: z.string().optional(), Text: z.string().optional()}); export const smsReceivedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), SmsInfo: smsInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const userLoginEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const userCreatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const userUpdatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const userDeletedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const userPasswordCreatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const userAnsweredSignupQuestionsEvent = z.object({EventName: z.string().optional(), User: userEventInfo.optional(), SignupAnswers: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const promotionAward = z.object({PromotionAwardId: z.number().int().optional(), MenuItemPublicId: z.string().optional()}); export const promotionDetails = z.object({PromotionId: z.number().int().optional(), Name: z.string().optional(), PromotionAwards: z.array(promotionAward).optional()}); export const creditNoteDetails = z.object({RemainingCredit: z.number().optional()}); export const lumpDiscountDetails = z.object({DiscountAmount: z.number().optional()}); export const percentDiscountDetails = z.object({PercentageDiscount: z.number().int().optional(), MaxDiscountAmount: z.number().nullable().optional()}); export const validityPeriod = z.object({DayOfWeek: z.enum(["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]).optional(), StartTime: z.string().optional(), EndTime: z.string().optional()}); export const voucher = z.object({VoucherId: z.number().int().optional(), Status: z.enum(["Valid", "NotYetValid", "Expired", "Used", "Disabled"]).optional(), VoucherType: z.enum(["PercentageDiscount", "LumpDiscount", "AddItem", "CreditNote", "FreeDelivery"]).optional(), Currency: z.enum(["EUR", "USD", "GBP", "CAD", "AUD", "DJF", "ZAR", "ETB", "AED", "BHD", "DZD", "EGP", "IQD", "JOD", "KWD", "LBP", "LYD", "MAD", "OMR", "QAR", "SAR", "SYP", "TND", "YER", "CLP", "INR", "AZN", "RUB", "BYN", "BGN", "NGN", "BDT", "CNY", "BAM", "CZK", "DKK", "CHF", "MVR", "BTN", "XCD", "BZD", "HKD", "IDR", "JMD", "MYR", "NZD", "PHP", "SGD", "TTD", "XDR", "ARS", "BOB", "COP", "CRC", "CUP", "DOP", "GTQ", "HNL", "MXN", "NIO", "PAB", "PEN", "PYG", "UYU", "VEF", "IRR", "XOF", "CDF", "XAF", "HTG", "ILS", "HRK", "HUF", "AMD", "ISK", "JPY", "GEL", "KZT", "KHR", "KRW", "KGS", "LAK", "MKD", "MNT", "BND", "MMK", "NOK", "NPR", "PKR", "PLN", "AFN", "BRL", "MDL", "RON", "RWF", "SEK", "LKR", "SOS", "ALL", "RSD", "KES", "TJS", "THB", "ERN", "TMT", "BWP", "TRY", "UAH", "UZS", "VND", "MOP", "TWD", "BMD"]).optional(), StoreNames: z.array(z.string()).optional(), PromotionDetails: promotionDetails.optional(), CreditNoteDetails: creditNoteDetails.optional(), LumpDiscountDetails: lumpDiscountDetails.optional(), PercentDiscountDetails: percentDiscountDetails.optional(), Code: z.string().optional(), Description: z.string().optional(), Stores: z.array(z.number().int()).optional(), ValidOnOrdersOver: z.number().optional(), TakesPriority: z.boolean().optional(), IsEnabled: z.boolean().optional(), IsAutomaticallyApplied: z.boolean().optional(), IncludeDeliveryFee: z.boolean().optional(), IsValidForDeliveryOrders: z.boolean().optional(), IsValidForPickupOrders: z.boolean().optional(), IsValidForOrdersPayedOnline: z.boolean().optional(), IsValidForOrdersPayedByCash: z.boolean().optional(), IsValidForFirstOrderOnly: z.boolean().optional(), IsValidOncePerCustomer: z.boolean().optional(), IsValidOnlyOnce: z.boolean().optional(), IsDiscoverable: z.boolean().optional(), IsPromoted: z.boolean().optional(), ForceDiscount: z.boolean().optional(), StartDate: z.string().optional(), ExpiryDate: z.string().optional(), ChannelRestrictions: z.array(z.enum(["Ios", "Android", "Web", "Kiosk", "Pos", "Google"])).optional(), ValidityPeriods: z.array(validityPeriod).optional(), VoucherSubType: z.enum(["None", "SignUp", "Loyalty", "Loyalty25", "Retention", "SecondaryRetention", "Custom"]).optional(), CustomerId: z.number().int().nullable().optional(), MaxRedemptions: z.number().int().nullable().optional()}); export const voucherCreatedEvent = z.object({VoucherId: z.number().int().optional(), EventName: z.string().optional(), User: userEventInfo.optional(), Description: z.string().optional(), Voucher: voucher.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const voucherUpdatedEvent = z.object({VoucherId: z.number().int().optional(), EventName: z.string().optional(), User: userEventInfo.optional(), Description: z.string().optional(), Voucher: voucher.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const voucherDeletedEvent = z.object({VoucherId: z.number().int().optional(), EventName: z.string().optional(), User: userEventInfo.optional(), Description: z.string().optional(), Voucher: voucher.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const voucherAppliedEvent = z.object({VoucherId: z.number().int().optional(), EventName: z.string().optional(), OrderId: z.number().int().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const teammate = z.object({TeammateId: z.string().optional(), UserId: z.number().int().nullable().optional(), Name: z.string().optional(), LastActivity: z.string().nullable().optional(), AppId: z.string().optional(), InvitationStatus: z.enum(["Pending", "Accepted", "Expired"]).optional(), Email: z.string().optional(), AppAccessLevel: z.enum(["None", "Owner", "StoreOwner", "PropertyOwner", "ManagedOwner", "Integrator", "PropertyManager", "StoreManager", "StoreStaff", "StaffMember", "StoreReadOnlyAccess", "FinanceManger", "Onboarding", "Support"]).optional(), HasAccessToAllStores: z.boolean().optional(), StoreIds: z.array(z.number().int()).optional(), PropertyIds: z.array(z.string()).optional()}); export const teammateInviteSentEvent = z.object({Teammate: teammate.optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const teammateInviteAcceptedEvent = z.object({Teammate: teammate.optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const teammateUpdatedEvent = z.object({Teammate: teammate.optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const teammateDeletedEvent = z.object({Teammate: teammate.optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const accountFieldKeyValuePair = z.object({Key: z.enum(["Iban", "AccountNumber", "RoutingNumber", "BSB", "BranchCode", "BankCode", "InstitutionNumber", "TransitNumber", "ClearingCode", "IfscCode", "Clabe", "SortCode", "Swift"]).optional(), Value: z.string().optional()}); export const bankAccount = z.object({Id: z.number().int().optional(), AccountName: z.string().optional(), Iban: z.string().optional(), Swift: z.string().optional(), PopulatedAccountFields: z.array(accountFieldKeyValuePair).optional(), AccountState: z.enum(["Unverified", "AwatingVerification", "Verified", "Grandfathered"]).optional(), StoreNames: z.array(z.string()).optional(), StoreIds: z.array(z.number().int()).optional(), BankAddress: z.string().optional(), BankCountryCode: z.string().optional(), AccountHolderAddress: z.string().optional(), AccountHolderCountryCode: z.string().optional(), VatNumber: z.string().optional(), StripeAccountId: z.string().optional()}); export const bankAccountCreatedEvent = z.object({OrgId: z.string().optional(), BankAccount: bankAccount.optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const bankAccountUpdatedEvent = z.object({OrgId: z.string().optional(), BankAccount: bankAccount.optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const bankAccountDeletedEvent = z.object({OrgId: z.string().optional(), BankAccount: bankAccount.optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const bankAccountAssignedEvent = z.object({OrgId: z.string().optional(), BankAccount: bankAccount.optional(), Description: z.string().optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const hydraStatus = z.object({AppId: z.string(), StoreIds: z.array(z.number().int()).optional(), PropertyIds: z.array(z.string()).optional(), IsRegistered: z.boolean(), PinCode: z.number().int().gte(100000).lte(999999).nullable().optional(), Images: z.array(z.string()).optional(), UserType: z.enum(["Kiosk", "Terminal", "LegacyPrinter"]).optional(), DeviceType: z.enum(["Kiosk", "Terminal", "LegacyPrinter"]).optional(), HydraUserId: z.number().int().optional()}); export const hydraAssignedEvent = z.object({User: userEventInfo.optional(), HydraStatus: hydraStatus.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const hydraCreatedEvent = z.object({User: userEventInfo.optional(), DeviceId: z.string().optional(), HydraUserId: z.number().int().optional(), UserType: z.enum(["Kiosk", "Terminal", "LegacyPrinter"]).optional(), DeviceType: z.enum(["Kiosk", "Terminal", "LegacyPrinter"]).optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const hydraRequestResetEvent = z.object({User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const hydraStoreAssignedEvent = z.object({User: userEventInfo.optional(), StoreIds: z.array(z.number().int()).optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const hydraStoreUnassignedEvent = z.object({User: userEventInfo.optional(), StoreIds: z.array(z.number().int()).optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const deviceSettings = z.object({Volume: z.number().int().gte(0).lte(10), FontSize: z.number().gte(1).lte(100), Brightness: z.number().int().gte(0).lte(100)}); export const hydraConfig = z.object({MinimumVersion: z.string(), PaymentOptions: z.array(z.enum(["Online", "Emv", "Counter"])), DeviceSettings: deviceSettings, Version: z.string().optional(), BuildNumber: z.string().optional(), GitSha: z.string().optional(), GitBranch: z.string().optional()}); export const hydraSettingChangedEvent = z.object({User: userEventInfo.optional(), HydraConfig: hydraConfig.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const hydraUnAssignedEvent = z.object({User: userEventInfo.optional(), HydraStatus: hydraStatus.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const hydraConnectionStatusChangedEvent = z.object({DeviceId: z.string().optional(), HydraDeviceStatus: z.enum(["Online", "PossiblyOffline", "Offline"]).optional(), PollTime: z.string().optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const kioskBluetoothPairingModeEvent = z.object({DeviceId: z.string().optional(), BluetoothTerminalType: z.enum(["CHIPPER_2X", "COTS_DEVICE", "VERIFONE_P400", "WISEPAD_3", "WISEPOS_E"]).optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const kioskBluetoothUnpairingModeEvent = z.object({DeviceId: z.string().optional(), BluetoothTerminalType: z.enum(["CHIPPER_2X", "COTS_DEVICE", "VERIFONE_P400", "WISEPAD_3", "WISEPOS_E"]).optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const kioskBluetoothTerminalUnpairedEvent = z.object({DeviceId: z.string().optional(), BluetoothTerminalType: z.enum(["CHIPPER_2X", "COTS_DEVICE", "VERIFONE_P400", "WISEPAD_3", "WISEPOS_E"]).optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const kioskTerminalActionStateChangedEvent = z.object({ReaderId: z.string().optional(), BluetoothTerminalType: z.enum(["CHIPPER_2X", "COTS_DEVICE", "VERIFONE_P400", "WISEPAD_3", "WISEPOS_E"]).optional(), ActionState: z.string().optional(), FailureCode: z.string().optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const bluetoothTerminalStatus = z.object({SerialNumber: z.string().optional(), SoftwareVersion: z.string().optional(), DeviceType: z.enum(["CHIPPER_2X", "COTS_DEVICE", "VERIFONE_P400", "WISEPAD_3", "WISEPOS_E"]).optional(), Status: z.enum(["Not_Connected", "Connecting", "Connected", "Online", "Offline"]).optional(), BatteryLevel: z.number().nullable().optional(), UpdateTime: z.string().optional(), ReaderId: z.string().optional()}); export const kioskBluetoothTerminalUpdatedEvent = z.object({DeviceId: z.string().optional(), BluetoothTerminalType: z.enum(["CHIPPER_2X", "COTS_DEVICE", "VERIFONE_P400", "WISEPAD_3", "WISEPOS_E"]).optional(), BluetoothTerminalSerialNumber: z.string().optional(), BluetoothTerminalStatus: bluetoothTerminalStatus.optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const kioskBluetoothTerminalInitiateUpdateCheckEvent = z.object({DeviceId: z.string().optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const kioskBluetoothInstallUpdateInitiateEvent = z.object({DeviceId: z.string().optional(), BluetoothTerminalType: z.enum(["CHIPPER_2X", "COTS_DEVICE", "VERIFONE_P400", "WISEPAD_3", "WISEPOS_E"]).optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const kioskBluetoothTerminalCancelUpdateEvent = z.object({DeviceId: z.string().optional(), BluetoothTerminalType: z.enum(["CHIPPER_2X", "COTS_DEVICE", "VERIFONE_P400", "WISEPAD_3", "WISEPOS_E"]).optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const kioskBluetoothTerminalFirmwareVersionStatusEvent = z.object({DeviceId: z.string().optional(), SerialNumber: z.string().optional(), HasFirmwareUpdate: z.boolean().optional(), HasConfigUpdate: z.boolean().optional(), HasKeyUpdate: z.boolean().optional(), UpdateTimeEstimate: z.enum(["LessThanOneMinute", "OneToTwoMinutes", "TwoToFiveMinutes", "FiveToFifteenMinutes"]).optional(), UserEventInfo: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const kioskBluetoothTerminalInstallationStatusEvent = z.object({DeviceId: z.string().optional(), BluetoothTerminalType: z.enum(["CHIPPER_2X", "COTS_DEVICE", "VERIFONE_P400", "WISEPAD_3", "WISEPOS_E"]).optional(), BluetoothTerminalSerialNumber: z.string().optional(), User: userEventInfo.optional(), Progress: z.number().int().nullable().optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const pushNotificationRequest = z.object({ScheduledTime: z.string().optional(), Title: z.string().optional(), Message: z.string()}); export const pushNotificationScheduledEvent = z.object({EventName: z.string().optional(), User: userEventInfo.optional(), Description: z.string().optional(), PushNotification: pushNotificationRequest.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const pushNotificationSentEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), PushNotification: pushNotificationRequest.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const pushNotificationDeletedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), PushNotification: pushNotificationRequest.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const dnsVerifiedEvent = z.object({Hostname: z.string().optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const certificateCreatedEvent = z.object({Hostname: z.string().optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const certificateRenewedEvent = z.object({Hostname: z.string().optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const websiteVanityUrlUpdatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), VanityUrl: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const websiteUpdatedEvent = z.object({AppNameId: z.string().optional(), User: userEventInfo.optional(), Description: z.string().optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeOrderCapacityPeriod = z.object({MaxOrderNumberPerStoreInterval: z.number().int().optional(), DayOfTheWeek: z.enum(["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]).optional(), PeriodStartHour: z.number().int().optional(), PeriodStartMinutes: z.number().int().optional(), PeriodEndHour: z.number().int().optional(), PeriodEndMinutes: z.number().int().optional()}); export const storeOrderCapacityConfigEditModel = z.object({OrderCapacityPeriods: z.array(storeOrderCapacityPeriod).optional()}); export const orderCapacityConfigUpdatedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), OrderCapacityConfig: storeOrderCapacityConfigEditModel.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const fieldChangeInformation = z.object({Path: z.string().optional(), Name: z.string().optional(), Key: z.string().optional(), OldValue: z.string().optional(), NewValue: z.string().optional()}); export const externalStoreEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), DescriptionFormat: z.string().optional(), DescriptionFields: z.string().optional(), DescriptionId: z.string().optional(), Ref1: z.string().optional(), Ref2: z.string().optional(), Ref3: z.string().optional(), Ref4: z.string().optional(), OrderId: z.number().int().nullable().optional(), Tags: z.array(z.string()).optional(), FieldChanges: z.array(fieldChangeInformation).optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const orderFulfillmentStatusUpdatedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), Description: z.string().optional(), OrderId: z.number().int().nullable().optional(), StatusName: z.string().optional(), StatusId: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const appStoreConfigCreatedEvent = z.object({EventName: z.string().optional(), AppStoreAppId: z.string().optional(), AppStoreAppConfigurationId: z.string().optional(), User: userEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const setting = z.object({Key: z.string().optional(), Value: z.string().optional()}); export const updateAppStoreAppConfigurationWebhookDTO = z.object({Id: z.string(), IsEnabled: z.boolean(), StoreIds: z.array(z.number().int()).optional(), Settings: z.array(setting).optional()}); export const appStoreConfigUpdatedEvent = z.object({EventName: z.string().optional(), AppStoreAppId: z.string().optional(), AppStoreAppConfiguration: updateAppStoreAppConfigurationWebhookDTO.optional(), User: userEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const appStoreConfigDeletedEvent = z.object({EventName: z.string().optional(), AppStoreAppId: z.string().optional(), AppStoreAppConfigurationId: z.string().optional(), User: userEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const appStoreSubscriptionChangeJobUpdatedEvent = z.object({EventName: z.string().optional(), AppStoreAppId: z.string().optional(), Status: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const groupReference = z.object({Group: z.lazy(() => group.optional()), CatalogItemId: z.string().max(30), GroupType: z.literal("ModifierGroup")}); export const metafield = z.object({Key: z.string(), Value: z.string()}); export const product = z.object({CatalogItemId: z.string().max(30).optional(), IsArchived: z.boolean().optional(), Groups: z.array(groupReference).optional(), Metafields: z.array(metafield).optional(), ProductType: z.enum(["Product", "Modifier"]), Sku: z.string().max(30), Name: z.string().max(300), Description: z.string().max(3000).optional(), Price: z.number().gte(0), ImageFileName: z.string().max(512).optional(), Alcohol: z.boolean().optional()}); export const productReference = z.object({Item: product.optional(), Product: product.optional(), CatalogItemId: z.string().max(30), ProductType: z.enum(["Product", "Modifier"]), PreselectedQuantity: z.number().int().optional()}); export const group: z.ZodType = z.object({CatalogGroupId: z.string().max(30).optional(), CatalogItemId: z.string().max(30).optional(), IsArchived: z.boolean().optional(), MinSelectCount: z.number().int().optional(), MaxSelectCount: z.number().int().nullable().optional(), Products: z.array(productReference).optional(), Metafields: z.array(metafield).optional(), GroupType: z.literal("ModifierGroup"), Sku: z.string().max(30), Name: z.string().max(300), AutogenerateDisplayText: z.boolean().optional(), ImageFileName: z.string().max(512).optional()}); export const catalogGroupReference = z.object({Group: group.optional(), CatalogGroupId: z.string().max(30), CatalogItemId: z.string().max(30).optional(), GroupType: z.literal("ModifierGroup")}); export const catalogItem = z.object({CatalogItemId: z.string().max(30).optional(), IsArchived: z.boolean().optional(), Groups: z.array(catalogGroupReference).optional(), Metafields: z.array(metafield).optional(), ItemType: z.enum(["Product", "Modifier"]), Sku: z.string().max(30), Name: z.string().max(300), Description: z.string().max(3000).optional(), Price: z.number().gte(0), ImageFileName: z.string().max(512).optional(), Alcohol: z.boolean().optional()}); export const catalogItemCreatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), CatalogItem: catalogItem.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const catalogItemUpdatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), CatalogItem: catalogItem.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const catalogItemArchivedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), CatalogItem: catalogItem.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const catalogGroupCreatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), Group: group.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const catalogGroupUpdatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), Group: group.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const catalogGroupArchivedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), Group: group.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const updateTipConfiguration = z.object({IsEnabled: z.boolean().optional(), AllowCustomTips: z.boolean().optional(), AllowRoundUp: z.boolean().optional(), AllowEmojis: z.boolean().optional(), Percentages: z.array(z.number()).optional(), DefaultPercentage: z.number().nullable().optional()}); export const storeTipUpdatedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), Config: updateTipConfiguration.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const locationAreaCreatedEvent = z.object({LocationAreaId: z.string().optional(), LocationAreaName: z.string().optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const locationAreaUpdatedEvent = z.object({LocationAreaId: z.string().optional(), LocationAreaName: z.string().optional(), User: userEventInfo.optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const locationCreatedEvent = z.object({LocationId: z.number().int().optional(), LocationName: z.string().optional(), DisplayOrder: z.number().int().optional(), ExternalLocationId: z.string().optional(), LocationAreaId: z.number().int().optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const locationDeletedEvent = z.object({LocationId: z.number().int().optional(), LocationName: z.string().optional(), DisplayOrder: z.number().int().optional(), ExternalLocationId: z.string().optional(), LocationAreaId: z.number().int().optional(), EventName: z.string().optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const serviceCharge = z.object({StoreId: z.number().int().optional(), PercentageValue: z.number().optional(), Enabled: z.boolean().optional(), IsOptional: z.boolean().optional(), DisplayWithProcessingFee: z.boolean().optional(), IncludesVouchers: z.boolean().optional()}); export const storeServiceChargeUpdatedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), ServiceCharge: serviceCharge.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const mobileAppsSubmissionStatus = z.object({MobileAppsSubmissionStatusId: z.number().int().optional(), MobileAppsSubmissionId: z.number().int().optional(), Type: z.enum(["None", "Android", "IOS"]).optional(), AppStatus: z.enum(["None", "Published", "Unpublished"]).optional(), UpdateStatus: z.enum(["None", "Submitted", "InReview", "Rejected", "Approved", "Published"]).optional(), LastUpdateStatusTime: z.string().nullable().optional(), CreateTime: z.string().optional(), UpdateTime: z.string().nullable().optional(), Notes: z.string().optional()}); export const mobileAppsSubmissionStatusUpdatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), MobileAppsSubmissionStatus: mobileAppsSubmissionStatus.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const mobileAppsSubmissionUpdatedEvent = z.object({EventName: z.string().optional(), Description: z.string().optional(), User: userEventInfo.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const storeFeeConfig = z.object({FeeConfigId: z.number().int().optional(), StoreId: z.number().int().optional(), StartTime: z.string().optional(), PercentFeeCardOrders: z.number().optional(), PercentFeeCashOrders: z.number().optional(), PercentFeeCardOrdersWeb: z.number().optional(), PercentFeeCashOrdersWeb: z.number().optional(), PercentFeeCardOrdersKiosk: z.number().optional(), PercentFeeCashOrdersKiosk: z.number().optional(), FixedFeeCardOrdersKiosk: z.number().optional(), FixedFeeCashOrdersKiosk: z.number().optional(), PercentFeeCardOrdersKioskChargedToCustomerIncludingVat: z.number().optional(), FixedFeeCardOrdersKioskChargedToCustomerIncludingVat: z.number().optional(), PercentFeeCashOrdersKioskChargedToCustomerIncludingVat: z.number().optional(), FixedFeeCashOrdersKioskChargedToCustomerIncludingVat: z.number().optional(), FixedFeeCardOrders: z.number().optional(), FixedFeeCashOrders: z.number().optional(), PercentFeeCardOrdersChargedToCustomerIncludingVat: z.number().optional(), FixedFeeCardOrdersChargedToCustomerIncludingVat: z.number().optional(), PercentFeeCashOrdersChargedToCustomerIncludingVat: z.number().optional(), FixedFeeCashOrdersChargedToCustomerIncludingVat: z.number().optional(), PercentFeeTips: z.number().optional(), PercentFeeTipsCollection: z.number().optional(), PercentFeeTipsDelivery: z.number().optional(), TaxRatePercent: z.number().optional(), PercentFeeCardOrdersLocationService: z.number().optional(), PercentFeeCashOrdersLocationService: z.number().optional(), FixedFeeCardOrdersLocationService: z.number().optional(), FixedFeeCashOrdersLocationService: z.number().optional(), PercentFeeCardOrdersLocationServiceChargedToCustomerIncludingVat: z.number().optional(), PercentFeeCashOrdersLocationServiceChargedToCustomerIncludingVat: z.number().optional(), FixedFeeCardOrdersLocationServiceChargedToCustomerIncludingVat: z.number().optional(), FixedFeeCashOrdersLocationServiceChargedToCustomerIncludingVat: z.number().optional(), PercentFeeCardOrdersIngest: z.number().nullable().optional(), PercentFeeCashOrdersIngest: z.number().nullable().optional(), FixedFeeCardOrdersIngest: z.number().nullable().optional(), FixedFeeCashOrdersIngest: z.number().nullable().optional(), PercentFeeDelivery: z.number().optional(), FixedFeeDelivery: z.number().optional(), PercentFeeCardPosTransaction: z.number().optional(), FixedFeeCardPosTransaction: z.number().optional(), PercentFeeOrderWithGoogle: z.number().optional(), FixedFeeOrderWithGoogle: z.number().optional(), ShouldNotAutoIncreaseBefore: z.string().nullable().optional(), Reason: z.string().optional(), PercentFeeCardOrdersPhoneAgent: z.number().optional(), PercentFeeCashOrdersPhoneAgent: z.number().optional(), FixedFeeCardOrdersPhoneAgent: z.number().optional(), FixedFeeCashOrdersPhoneAgent: z.number().optional(), PercentFeeCardOrdersPhoneAgentChargedToCustomerIncludingVat: z.number().optional(), PercentFeeCashOrdersPhoneAgentChargedToCustomerIncludingVat: z.number().optional(), FixedFeeCardOrdersPhoneAgentChargedToCustomerIncludingVat: z.number().optional(), FixedFeeCashOrdersPhoneAgentChargedToCustomerIncludingVat: z.number().optional()}); export const storeFeeConfigUpdatedEvent = z.object({EventName: z.string().optional(), StoreId: z.number().int().optional(), StoreGroupId: z.number().int().optional(), User: userEventInfo.optional(), Description: z.string().optional(), Changes: z.string().optional(), StoreFeeConfig: storeFeeConfig.optional(), FlipdishEventId: z.string().optional(), CreateTime: z.string().optional(), Position: z.number().int().optional(), AppId: z.string().optional(), OrgId: z.string().optional(), IpAddress: z.string().optional(), ActivityId: z.string().optional(), ActivityType: z.string().optional()}); export const eventSearchResult = z.object({AppCreatedEvent: z.array(appCreatedEvent).optional(), AppUpdatedEvent: z.array(appUpdatedEvent).optional(), AnalyticsClientEvent: z.array(analyticsClientEvent).optional(), OrderAcceptedEvent: z.array(orderAcceptedEvent).optional(), OrderDispatchedEvent: z.array(orderDispatchedEvent).optional(), OrderCustomerTrackingCreatedEvent: z.array(orderCustomerTrackingCreatedEvent).optional(), OrderDeliveryTrackingStatusUpdatedEvent: z.array(orderDeliveryTrackingStatusUpdatedEvent).optional(), OrderBatchPublishedEvent: z.array(orderBatchPublishedEvent).optional(), OrderCreatedEvent: z.array(orderCreatedEvent).optional(), OrderRatingUpdatedEvent: z.array(orderRatingUpdatedEvent).optional(), OrderRefundedEvent: z.array(orderRefundedEvent).optional(), OrderRejectedEvent: z.array(orderRejectedEvent).optional(), OrderTipUpdatedEvent: z.array(orderTipUpdatedEvent).optional(), OrderTerminalNotifications: z.array(emvNotificationEvent).optional(), StoreCreatedEvent: z.array(storeCreatedEvent).optional(), StoreDeletedEvent: z.array(storeDeletedEvent).optional(), StoreAddressUpdatedEvent: z.array(storeAddressUpdatedEvent).optional(), StoreKioskSettingUpdatedEvent: z.array(storeKioskSettingUpdatedEvent).optional(), DeliveryZoneCreatedEvent: z.array(deliveryZoneCreatedEvent).optional(), DeliveryZoneUpdatedEvent: z.array(deliveryZoneUpdatedEvent).optional(), DeliveryZoneDeletedEvent: z.array(deliveryZoneDeletedEvent).optional(), StoreOpeningHoursUpdatedEvent: z.array(storeOpeningHoursUpdatedEvent).optional(), StoreMenuAssignedEvent: z.array(storeMenuAssignedEvent).optional(), StoreBusinessHoursOverrideCreatedEvent: z.array(storeBusinessHoursOverrideCreatedEvent).optional(), StoreBusinessHoursOverrideDeletedEvent: z.array(storeBusinessHoursOverrideDeletedEvent).optional(), StoreArchivedEvent: z.array(storeArchivedEvent).optional(), StoreUnarchivedEvent: z.array(storeUnarchivedEvent).optional(), StorePublishedEvent: z.array(storePublishedEvent).optional(), StoreUnpublishedEvent: z.array(storeUnpublishedEvent).optional(), StoreUpdatedEvent: z.array(storeUpdatedEvent).optional(), StorePreOrderConfigUpdatedEvent: z.array(storePreOrderConfigUpdatedEvent).optional(), StoreLogoCreatedEvent: z.array(storeLogoCreatedEvent).optional(), StoreLogoUpdatedEvent: z.array(storeLogoUpdatedEvent).optional(), StoreLogoDeletedEvent: z.array(storeLogoDeletedEvent).optional(), MenuCreatedEvent: z.array(menuCreatedEvent).optional(), MenuAsyncCreationCompletedEvent: z.array(menuAsyncCreationCompletedEvent).optional(), MenuUpdatedEvent: z.array(menuUpdatedEvent).optional(), MenuUploadedEvent: z.array(menuUploadedEvent).optional(), MenuBulkEditEvent: z.array(menuBulkEditEvent).optional(), MenuSectionCreatedEvent: z.array(menuSectionCreatedEvent).optional(), MenuSectionUpdatedEvent: z.array(menuSectionUpdatedEvent).optional(), MenuSectionDeletedEvent: z.array(menuSectionDeletedEvent).optional(), MenuSectionItemCreatedEvent: z.array(menuSectionItemCreatedEvent).optional(), MenuSectionItemUpdatedEvent: z.array(menuSectionItemUpdatedEvent).optional(), MenuSectionItemDeletedEvent: z.array(menuSectionItemDeletedEvent).optional(), MenuItemOptionSetCreatedEvent: z.array(menuItemOptionSetCreatedEvent).optional(), MenuItemOptionSetUpdatedEvent: z.array(menuItemOptionSetUpdatedEvent).optional(), MenuItemOptionSetDeletedEvent: z.array(menuItemOptionSetDeletedEvent).optional(), MenuItemOptionSetItemCreatedEvent: z.array(menuItemOptionSetItemCreatedEvent).optional(), MenuItemOptionSetItemUpdatedEvent: z.array(menuItemOptionSetItemUpdatedEvent).optional(), MenuItemOptionSetItemDeletedEvent: z.array(menuItemOptionSetItemDeletedEvent).optional(), MenuCheckpointCreatedEvent: z.array(menuCheckpointCreatedEvent).optional(), StoreGroupCreatedEvent: z.array(storeGroupCreatedEvent).optional(), StoreGroupUpdatedEvent: z.array(storeGroupUpdatedEvent).optional(), StoreGroupDeletedEvent: z.array(storeGroupDeletedEvent).optional(), CustomerCreatedEvent: z.array(customerCreatedEvent).optional(), CustomerUpdatedEvent: z.array(customerUpdatedEvent).optional(), CustomerConsentUpdatedEvent: z.array(customerConsentUpdatedEvent).optional(), WebhookSubscriptionCreatedEvent: z.array(webhookSubscriptionCreatedEvent).optional(), WebhookSubscriptionUpdatedEvent: z.array(webhookSubscriptionUpdatedEvent).optional(), WebhookSubscriptionDeletedEvent: z.array(webhookSubscriptionDeletedEvent).optional(), PrinterTurnedOnEvent: z.array(printerTurnedOnEvent).optional(), PrinterTurnedOffEvent: z.array(printerTurnedOffEvent).optional(), PrinterAssignedToStoreEvent: z.array(printerAssignedToStoreEvent).optional(), PrinterUnassignedFromStoreEvent: z.array(printerUnassignedFromStoreEvent).optional(), PhoneCallStartedEvent: z.array(phoneCallStartedEvent).optional(), PhoneCallEndedEvent: z.array(phoneCallEndedEvent).optional(), TelephonyConfigUpdatedEvent: z.array(telephonyConfigUpdatedEvent).optional(), ChannelStoresUpdatedEvent: z.array(channelStoresUpdatedEvent).optional(), LoyaltyCampaignCreatedEvent: z.array(loyaltyCampaignCreatedEvent).optional(), LoyaltyCampaignDeletedEvent: z.array(loyaltyCampaignDeletedEvent).optional(), LoyaltyCampaignUpdatedEvent: z.array(loyaltyCampaignUpdatedEvent).optional(), RetentionCampaignCreatedEvent: z.array(retentionCampaignCreatedEvent).optional(), RetentionCampaignDeletedEvent: z.array(retentionCampaignDeletedEvent).optional(), RetentionCampaignUpdatedEvent: z.array(retentionCampaignUpdatedEvent).optional(), SmsReceivedEvent: z.array(smsReceivedEvent).optional(), UserLoginEvent: z.array(userLoginEvent).optional(), UserCreatedEvent: z.array(userCreatedEvent).optional(), UserUpdatedEvent: z.array(userUpdatedEvent).optional(), UserDeletedEvent: z.array(userDeletedEvent).optional(), UserCreatedPasswordEvent: z.array(userPasswordCreatedEvent).optional(), UserAnsweredSignupQuestionsEvent: z.array(userAnsweredSignupQuestionsEvent).optional(), VoucherCreatedEvent: z.array(voucherCreatedEvent).optional(), VoucherUpdatedEvent: z.array(voucherUpdatedEvent).optional(), VoucherDeletedEvent: z.array(voucherDeletedEvent).optional(), VoucherAppliedEvent: z.array(voucherAppliedEvent).optional(), TeammateInviteSentEvent: z.array(teammateInviteSentEvent).optional(), TeammateInviteAcceptedEvent: z.array(teammateInviteAcceptedEvent).optional(), TeammateUpdatedEvent: z.array(teammateUpdatedEvent).optional(), TeammateDeletedEvent: z.array(teammateDeletedEvent).optional(), BankAccountCreatedEvent: z.array(bankAccountCreatedEvent).optional(), BankAccountUpdatedEvent: z.array(bankAccountUpdatedEvent).optional(), BankAccountDeletedEvent: z.array(bankAccountDeletedEvent).optional(), BankAccountAssignedEvent: z.array(bankAccountAssignedEvent).optional(), HydraAssignedEvent: z.array(hydraAssignedEvent).optional(), HydraCreatedEvent: z.array(hydraCreatedEvent).optional(), HydraRequestResetEvent: z.array(hydraRequestResetEvent).optional(), HydraStoreAssignedEvent: z.array(hydraStoreAssignedEvent).optional(), HydraStoreUnassignedEvent: z.array(hydraStoreUnassignedEvent).optional(), HydraSettingChangedEvent: z.array(hydraSettingChangedEvent).optional(), HydraUnAssignedEvent: z.array(hydraUnAssignedEvent).optional(), HydraConnectionStatusChangedEvent: z.array(hydraConnectionStatusChangedEvent).optional(), KioskBluetoothPairingModeEvent: z.array(kioskBluetoothPairingModeEvent).optional(), KioskBluetoothUnpairingModeEvent: z.array(kioskBluetoothUnpairingModeEvent).optional(), KioskBluetoothTerminalUnpairedEvent: z.array(kioskBluetoothTerminalUnpairedEvent).optional(), KioskTerminalActionStateChangedEvent: z.array(kioskTerminalActionStateChangedEvent).optional(), KioskBluetoothTerminalUpdatedEvent: z.array(kioskBluetoothTerminalUpdatedEvent).optional(), KioskBluetoothTerminalInitiateUpdateCheckEvent: z.array(kioskBluetoothTerminalInitiateUpdateCheckEvent).optional(), KioskBluetoothInstallUpdateInitiateEvent: z.array(kioskBluetoothInstallUpdateInitiateEvent).optional(), KioskBluetoothTerminalCancelUpdateEvent: z.array(kioskBluetoothTerminalCancelUpdateEvent).optional(), KioskBluetoothTerminalFirmwareVersionStatusEvent: z.array(kioskBluetoothTerminalFirmwareVersionStatusEvent).optional(), KioskBluetoothTerminalInstallationStatusEvent: z.array(kioskBluetoothTerminalInstallationStatusEvent).optional(), PushNotificationScheduledEvent: z.array(pushNotificationScheduledEvent).optional(), PushNotificationSentEvent: z.array(pushNotificationSentEvent).optional(), PushNotificationDeletedEvent: z.array(pushNotificationDeletedEvent).optional(), DnsVerifiedEvent: z.array(dnsVerifiedEvent).optional(), CertificateCreatedEvent: z.array(certificateCreatedEvent).optional(), CertificateRenewedEvent: z.array(certificateRenewedEvent).optional(), WebsiteVanityUrlUpdatedEvent: z.array(websiteVanityUrlUpdatedEvent).optional(), WebsiteUpdatedEvent: z.array(websiteUpdatedEvent).optional(), OrderCapacityUpdatedEvent: z.array(orderCapacityConfigUpdatedEvent).optional(), ExternalStoreEvent: z.array(externalStoreEvent).optional(), OrderFulfillmentStatusUpdatedEvent: z.array(orderFulfillmentStatusUpdatedEvent).optional(), AppStoreConfigCreatedEvent: z.array(appStoreConfigCreatedEvent).optional(), AppStoreConfigUpdatedEvent: z.array(appStoreConfigUpdatedEvent).optional(), AppStoreConfigDeletedEvent: z.array(appStoreConfigDeletedEvent).optional(), AppStoreSubscriptionChangeJobUpdatedEvent: z.array(appStoreSubscriptionChangeJobUpdatedEvent).optional(), CatalogItemCreatedEvent: z.array(catalogItemCreatedEvent).optional(), CatalogItemUpdatedEvent: z.array(catalogItemUpdatedEvent).optional(), CatalogItemArchivedEvent: z.array(catalogItemArchivedEvent).optional(), CatalogGroupCreatedEvent: z.array(catalogGroupCreatedEvent).optional(), CatalogGroupUpdatedEvent: z.array(catalogGroupUpdatedEvent).optional(), CatalogGroupArchivedEvent: z.array(catalogGroupArchivedEvent).optional(), StoreTipUpdatedEvent: z.array(storeTipUpdatedEvent).optional(), LocationAreaCreatedEvent: z.array(locationAreaCreatedEvent).optional(), LocationAreaUpdatedEvent: z.array(locationAreaUpdatedEvent).optional(), LocationCreatedEvent: z.array(locationCreatedEvent).optional(), LocationDeletedEvent: z.array(locationDeletedEvent).optional(), StoreServiceChargeUpdatedEvent: z.array(storeServiceChargeUpdatedEvent).optional(), MobileAppsSubmissionStatusUpdatedEvent: z.array(mobileAppsSubmissionStatusUpdatedEvent).optional(), MobileAppsSubmissionUpdatedEvent: z.array(mobileAppsSubmissionUpdatedEvent).optional(), StoreFeeConfigUpdatedEvent: z.array(storeFeeConfigUpdatedEvent).optional()}); export const restApiEventSearchPaginationResult = z.object({Data: eventSearchResult, Page: z.number().int(), Limit: z.number().int(), TotalRecordCount: z.number().int()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * GET /api/v1.0/{appId}/events/menu/{menuId} */ export const getApiApiV10AppIdEventsMenuMenuId = async (args: GetApiApiV10AppIdEventsMenuMenuIdArgs, options?: GetApiApiV10AppIdEventsMenuMenuIdOptions) => { const {baseUrl = "https://api.flipdish.co", fetch: fetchFn = fetch, oauth2} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/json") if (args.limit != null) query.append("limit", String(args.limit)) if (args.page != null) query.append("page", String(args.page)) if (args.start != null) query.append("start", String(args.start)) if (args.end != null) query.append("end", String(args.end)) if (args.orderId != null) query.append("orderId", String(args.orderId)) if (args.storeId != null) query.append("storeId", String(args.storeId)) for (const item of args.storeIdList ?? []) query.append("storeIdList", String(item)) if (args.storeGroupId != null) query.append("storeGroupId", String(args.storeGroupId)) if (args.userId != null) query.append("userId", String(args.userId)) if (args.menuId != null) query.append("menuId", String(args.menuId)) if (args.campaignId != null) query.append("campaignId", String(args.campaignId)) if (args.userEmail != null) query.append("userEmail", String(args.userEmail)) if (args.userName != null) query.append("userName", String(args.userName)) if (args.voucherCode != null) query.append("voucherCode", String(args.voucherCode)) for (const item of args.eventType ?? []) query.append("eventType", String(item)) if (args.flipdishEventId != null) query.append("flipdishEventId", String(args.flipdishEventId)) if (oauth2 !== undefined) headers.set('authorization', `Bearer ${oauth2}`) const url = `${baseUrl.replace(/\/+$/, '')}/api/v1.0/${encodeURIComponent(String(args.appId))}/events/menu/${encodeURIComponent(String(args.menuId))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(restApiEventSearchPaginationResult, await res.json()) };