/** OrderSettings is the main entity of OrderSettings service */ interface OrderSettings { /** * Order Settings id * @format GUID * @immutable */ _id?: string | null; /** * Restaurant location id * @format GUID */ restaurantLocationId?: string | null; /** Is Order settings enabled - customers can order through the system */ enabled?: boolean | null; /** if UOU need to provide a valid google maps address */ approximateAddresses?: ApproximateAddressesWithLiterals; /** Local regulations may require you to add a policy document to your site. */ policies?: Policies; tips?: Tips; futureOrders?: FutureOrdersSettings; /** Represents only exceptions of when the user wants to turn off the online ordering for a period of time */ availability?: Availability; /** @immutable */ revision?: string | null; /** Restaurant charge rounding strategy */ chargeRoundingStrategy?: ChargeRoundingStrategyWithLiterals; } declare enum ApproximateAddresses { EMPTY = "EMPTY", BLOCK = "BLOCK", ALLOW = "ALLOW" } /** @enumType */ type ApproximateAddressesWithLiterals = ApproximateAddresses | 'EMPTY' | 'BLOCK' | 'ALLOW'; /** Local regulations may require you to add a policy document to your site. */ interface Policies { /** Privacy policy */ privacyPolicy?: Policy; /** Terms and Conditions */ termsAndConditions?: Policy; /** Is the Policies feature enabled, default value false */ enabled?: boolean; /** Is the checkbox of the policy agreement marked by default */ checkedByDefault?: boolean | null; } interface Policy { /** Default Policy type */ defaultType?: TypeWithLiterals; text?: string | null; /** @format WEB_URL */ url?: string | null; } declare enum Type { /** Add a page to your site and put your policy document there. You can link to it from here. */ URL = "URL", /** The policy will be displayed as plain text in a popup. */ TEXT = "TEXT" } /** @enumType */ type TypeWithLiterals = Type | 'URL' | 'TEXT'; /** Customers can leave a tip when placing an order. */ interface Tips { /** Allow customers to leave a custom tips, default `false` */ allowCustom?: boolean | null; /** tip type to display */ displayType?: TipsTypeWithLiterals; /** * Set different tipping suggestion options with exact amounts, for your customers to choose from * @minSize 3 * @maxSize 3 */ suggestedAmounts?: TippingRate[]; /** * Set different tipping rate options with percentage values, for your customers to choose from * @minSize 3 * @maxSize 3 */ suggestedPercentages?: TippingRate[]; /** Is the Tips feature enabled, default value false */ enabled?: boolean; } declare enum TipsType { /** Tip with exact amount ($) */ AMOUNT = "AMOUNT", /** Tip in percentage */ PERCENTAGE = "PERCENTAGE" } /** @enumType */ type TipsTypeWithLiterals = TipsType | 'AMOUNT' | 'PERCENTAGE'; interface TippingRate { /** * Can be exact amount or percentage * @decimalValue options { maxScale:2 } */ value?: string; /** Is default option */ default?: boolean; } interface FutureOrdersSettings { /** Is Future Orders enabled */ enabled?: boolean | null; /** latest time in advance in minutes that customers can place an order */ latestOrderBy?: number | null; /** earliest time in advance in minutes that customers can place an order */ earliestOrderBy?: number | null; /** Allow asap orders or not. If false, only future orders are allowed */ enableAsapOrders?: boolean | null; } interface Availability { /** * Weekly recurring time periods when the entity is available. Limited to 100 time periods. * @maxSize 100 */ periods?: TimePeriod[]; /** * Exceptions to the entity's regular availability. The entity can be available or not available during the special hour period. * @maxSize 100 */ specialHourPeriods?: SpecialHourPeriod[]; } /** Weekly recurring time periods when the entity is available. */ interface TimePeriod { /** Day of the week the period starts on. */ openDay?: DayOfWeekWithLiterals; /** * Time the period starts in 24-hour [ISO 8601](https:en.wikipedia.orgwikiISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents * midnight at the end of the specified day. */ openTime?: string; /** Day of the week the period ends on. */ closeDay?: DayOfWeekWithLiterals; /** * Time the period ends in 24-hour [ISO 8601](https:en.wikipedia.orgwikiISO_8601) extended format. Valid values are 00:00-24:00, where 24:00 represents * midnight at the end of the specified day. * __Note:__ If `openDay` and `closeDay` specify the same day of the week `closeTime` must be later than `openTime`. */ closeTime?: string; } declare enum DayOfWeek { MON = "MON", TUE = "TUE", WED = "WED", THU = "THU", FRI = "FRI", SAT = "SAT", SUN = "SUN" } /** @enumType */ type DayOfWeekWithLiterals = DayOfWeek | 'MON' | 'TUE' | 'WED' | 'THU' | 'FRI' | 'SAT' | 'SUN'; /** Exception to the business's regular hours. The business can be open or closed during the exception. */ interface SpecialHourPeriod { /** Start date and time of the exception in [ISO 8601](https:en.wikipedia.orgwikiISO_8601) format and [Coordinated Universal Time (UTC)](https:en.wikipedia.orgwikiCoordinated_Universal_Time). */ startDate?: string; /** End date and time of the exception in [ISO 8601](https:en.wikipedia.orgwikiISO_8601) format and [Coordinated Universal Time (UTC)](https:en.wikipedia.orgwikiCoordinated_Universal_Time). */ endDate?: string; /** Whether the item is available during the exception. Defaults to `false`. */ available?: boolean; /** Name of the special hour period. In the Business Manager the special hour period is called event. */ eventName?: string | null; } declare enum ChargeRoundingStrategy { UNDEFINED = "UNDEFINED", /** https://en.wikipedia.org/wiki/Rounding#Round_half_away_from_zero */ HALF_AWAY_FROM_ZERO = "HALF_AWAY_FROM_ZERO", /** https://en.wikipedia.org/wiki/Rounding#Round_half_to_even */ HALF_EVEN = "HALF_EVEN" } /** @enumType */ type ChargeRoundingStrategyWithLiterals = ChargeRoundingStrategy | 'UNDEFINED' | 'HALF_AWAY_FROM_ZERO' | 'HALF_EVEN'; interface GetOrderSettingsRequest { /** * Id of the OrderSettings to retrieve * @format GUID */ orderSettingsId: string; } interface GetOrderSettingsResponse { /** The retrieved OrderSettings */ orderSettings?: OrderSettings; } interface UpdateOrderSettingsRequest { /** OrderSettings to be updated, may be partial */ orderSettings: OrderSettings; } interface UpdateOrderSettingsResponse { /** The updated OrderSettings */ orderSettings?: OrderSettings; } interface ListOrderSettingsRequest { /** * Ids of the restaurant locations for the OrderSettings to retrieve * @format GUID */ restaurantLocationIds?: string[]; } interface ListOrderSettingsResponse { /** The retrieved order settings */ orderSettings?: OrderSettings[]; } interface UpdateOrderSettings { /** * Order Settings id * @format GUID * @immutable */ _id?: string | null; /** * Restaurant location id * @format GUID */ restaurantLocationId?: string | null; /** Is Order settings enabled - customers can order through the system */ enabled?: boolean | null; /** if UOU need to provide a valid google maps address */ approximateAddresses?: ApproximateAddressesWithLiterals; /** Local regulations may require you to add a policy document to your site. */ policies?: Policies; tips?: Tips; futureOrders?: FutureOrdersSettings; /** Represents only exceptions of when the user wants to turn off the online ordering for a period of time */ availability?: Availability; /** @immutable */ revision?: string | null; /** Restaurant charge rounding strategy */ chargeRoundingStrategy?: ChargeRoundingStrategyWithLiterals; } interface ListOrderSettingsOptions { /** * Ids of the restaurant locations for the OrderSettings to retrieve * @format GUID */ restaurantLocationIds?: string[]; } export { ApproximateAddresses, type ApproximateAddressesWithLiterals, type Availability, ChargeRoundingStrategy, type ChargeRoundingStrategyWithLiterals, DayOfWeek, type DayOfWeekWithLiterals, type FutureOrdersSettings, type GetOrderSettingsRequest, type GetOrderSettingsResponse, type ListOrderSettingsOptions, type ListOrderSettingsRequest, type ListOrderSettingsResponse, type OrderSettings, type Policies, type Policy, type SpecialHourPeriod, type TimePeriod, type TippingRate, type Tips, TipsType, type TipsTypeWithLiterals, Type, type TypeWithLiterals, type UpdateOrderSettings, type UpdateOrderSettingsRequest, type UpdateOrderSettingsResponse };