@compassdigital/sdk.typescript 4.620.0 → 4.622.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -228,6 +228,7 @@ export interface OrderDetails {
228
228
  order_type?: string;
229
229
  duration?: string;
230
230
  destination?: string;
231
+ receiptEmail?: string;
231
232
  }
232
233
 
233
234
  export interface OrderMonetaryValue {
@@ -265,14 +266,28 @@ export interface OrderCashlessPayment {
265
266
  name?: string;
266
267
  }
267
268
 
269
+ export interface OrderPOSPayment {
270
+ type?: string;
271
+ transaction?: Record<string, any>;
272
+ }
273
+
268
274
  export interface OrderPayment {
275
+ // Payment token
269
276
  token?: string;
277
+ // Credit card payment details
270
278
  credit_card?: OrderCreditCard;
279
+ // Digital wallet payment token
271
280
  digital_wallet_pay?: string;
281
+ // Badge pay cashless payment details
272
282
  badge_pay?: OrderCashlessPayment;
283
+ // Stipend cashless payment details
273
284
  stipend?: OrderCashlessPayment;
285
+ // Voucher cashless payment details
274
286
  voucher?: OrderCashlessPayment;
287
+ // Coupon voucher cashless payment details
275
288
  coupon_voucher?: OrderCashlessPayment;
289
+ // POS payment details
290
+ pos?: OrderPOSPayment;
276
291
  }
277
292
 
278
293
  export interface OrderMealplan {
@@ -341,8 +356,15 @@ export interface OrderItemWithIssue {
341
356
  options?: OrderedItemOptionGroup[];
342
357
  }
343
358
 
359
+ export interface OrderNoRefundMeta {
360
+ reason?: string;
361
+ no_refund_date?: string;
362
+ processed_by?: string;
363
+ }
364
+
344
365
  export interface OrderIssueMeta {
345
366
  created_at?: string;
367
+ no_refund?: OrderNoRefundMeta;
346
368
  }
347
369
 
348
370
  export interface OrderIssue {
@@ -355,6 +377,7 @@ export interface OrderIssue {
355
377
  // Issue Meta
356
378
  meta?: OrderIssueMeta;
357
379
  type?: string;
380
+ item?: Record<string, any>;
358
381
  }
359
382
 
360
383
  export interface ShoppingcartSalePrice {
@@ -818,6 +841,36 @@ export interface GetCustomerOrdersResponseDTO {
818
841
  orders: CustomerOrder[];
819
842
  }
820
843
 
844
+ export interface CustomerOrderV2 {
845
+ // Order metadata
846
+ meta?: OrderMeta;
847
+ id?: string;
848
+ reorder_eligibility?: string;
849
+ location_brand?: string;
850
+ location?: string;
851
+ customer?: string;
852
+ date?: OrderDate;
853
+ details?: OrderDetails;
854
+ pickup?: string;
855
+ pickup_name?: string;
856
+ requested_date?: string;
857
+ refunds?: OrderRefundItem[];
858
+ pickup_id?: string;
859
+ payment?: OrderPayment;
860
+ mealplan?: OrderMealplan;
861
+ meal_swipes?: OrderMealSwipes;
862
+ is?: OrderIs;
863
+ issue?: OrderIssue;
864
+ past_issues?: OrderIssue[];
865
+ shoppingcart?: string;
866
+ runner?: string;
867
+ }
868
+
869
+ export interface GetCustomerOrdersV2ResponseDTO {
870
+ // customer orders
871
+ orders: CustomerOrderV2[];
872
+ }
873
+
821
874
  export interface GooglePayToken {
822
875
  // Google Pay token signature
823
876
  signature?: string;
@@ -839,17 +892,26 @@ export interface ConsumerPaymentToken {
839
892
  }
840
893
 
841
894
  export interface CreateOrderPayment {
895
+ // Deprecated payment token
842
896
  token?: string | Record<string, any>;
897
+ // Consumer payment token (Google Pay, Apple Pay, etc.)
843
898
  consumer_payment_token?: ConsumerPaymentToken;
899
+ // Credit card payment details
844
900
  credit_card?: OrderCreditCard;
901
+ // Badge pay cashless payment details
845
902
  badge_pay?: OrderCashlessPayment;
903
+ // Stipend cashless payment details
846
904
  stipend?: OrderCashlessPayment;
905
+ // Voucher cashless payment details
847
906
  voucher?: OrderCashlessPayment;
907
+ // Coupon voucher cashless payment details
848
908
  coupon_voucher?: OrderCashlessPayment;
849
909
  }
850
910
 
851
911
  export interface CreateOrderIs {
912
+ // Is the order in progress
852
913
  in_progress?: boolean;
914
+ // Is the order ready
853
915
  ready?: boolean;
854
916
  }
855
917
 
@@ -861,16 +923,25 @@ export interface CreateOrderMeta {
861
923
  }
862
924
 
863
925
  export interface CreateOrderDetails {
926
+ // Customer name
864
927
  name?: string;
928
+ // Customer contact number
865
929
  contact_number?: string;
930
+ // Customer country code
931
+ country_code?: string;
932
+ // Order type
866
933
  order_type?: string;
934
+ // Order duration
867
935
  duration?: string;
936
+ // Delivery destination
868
937
  destination?: string;
869
938
  // Pickup or delivery instructions
870
939
  instructions?: string;
871
940
  }
872
941
 
873
942
  export interface PostOrderBodyDto {
943
+ // Order ID
944
+ id?: string;
874
945
  // The location brand
875
946
  location_brand?: string;
876
947
  // The location
@@ -897,6 +968,42 @@ export interface PostOrderBodyDto {
897
968
  details?: CreateOrderDetails;
898
969
  }
899
970
 
971
+ export interface OrderDiscountEffect {
972
+ type?: string;
973
+ amount_off?: number;
974
+ percent_off?: number;
975
+ }
976
+
977
+ export interface OrderDiscountItem {
978
+ id?: string;
979
+ date?: string;
980
+ result?: boolean;
981
+ discount?: OrderDiscountEffect;
982
+ type?: string;
983
+ original_redemption?: string;
984
+ app?: string;
985
+ name?: string;
986
+ resource_id?: string;
987
+ }
988
+
989
+ export interface OrderDiscountsRefundItem {
990
+ source_id?: string;
991
+ quantity?: number;
992
+ price?: number;
993
+ }
994
+
995
+ export interface OrderDiscountsRefund {
996
+ app?: string;
997
+ date?: string;
998
+ order_created_at?: string;
999
+ order_id?: string;
1000
+ order_items?: OrderDiscountsRefundItem[];
1001
+ order_total?: number;
1002
+ reason?: string;
1003
+ redemption_id?: string;
1004
+ result?: boolean;
1005
+ }
1006
+
900
1007
  export interface PlacedOrderMeta {
901
1008
  // Check-in UUID for frictionless orders
902
1009
  checkin_uuid?: string;
@@ -919,6 +1026,14 @@ export interface PlacedOrderMeta {
919
1026
  // Indicate whether the order is eligible for cancellation
920
1027
  cancel_eligible?: boolean;
921
1028
  refunds?: OrderRefundTransaction[];
1029
+ pickup_instruction?: MultiLanguageLabel;
1030
+ market_place_label?: MultiLanguageLabel;
1031
+ market_place_description?: MultiLanguageLabel;
1032
+ apex_code?: string;
1033
+ apex_qr?: string;
1034
+ apex_codes?: ApexCodes;
1035
+ discounts?: OrderDiscountItem[];
1036
+ discounts_refund?: OrderDiscountsRefund;
922
1037
  }
923
1038
 
924
1039
  export interface PostOrderResponseDTO {
@@ -1863,23 +1978,90 @@ export interface GetMenuItemNutritionConsumer {
1863
1978
  calories?: GetMenuItemNutritionValueConsumer;
1864
1979
  }
1865
1980
 
1981
+ export interface Certified {
1982
+ // Certified vegan
1983
+ vegan?: boolean;
1984
+ // Certified vegetarian
1985
+ vegetarian?: boolean;
1986
+ // Seafood Watch certified (sustainable seafood)
1987
+ seafood_watch?: boolean;
1988
+ // Certified for general wellbeing
1989
+ wellbeing?: boolean;
1990
+ // Farm to Fork certified (locally sourced)
1991
+ farm_to_fork?: boolean;
1992
+ // In Balance certified (nutritionally balanced)
1993
+ in_balance?: boolean;
1994
+ // Certified organic
1995
+ organic?: boolean;
1996
+ // No gluten ingredients present
1997
+ no_gluten_ingredients?: boolean;
1998
+ // Certified halal
1999
+ halal?: boolean;
2000
+ // Certified kosher
2001
+ kosher?: boolean;
2002
+ // Certified humane (animal welfare)
2003
+ humane?: boolean;
2004
+ // Locally crafted product
2005
+ locally_crafted?: boolean;
2006
+ // Contains nuts
2007
+ nuts?: boolean;
2008
+ // Oracle Garden Grown certified
2009
+ oracle_garden_grown?: boolean;
2010
+ // Oracle OYES certified
2011
+ oracle_oyes?: boolean;
2012
+ // Peanut free
2013
+ peanut_free?: boolean;
2014
+ // Tree nut free
2015
+ tree_nut_free?: boolean;
2016
+ // Wheat free
2017
+ wheat_free?: boolean;
2018
+ // Non-GMO certified
2019
+ non_gmo?: boolean;
2020
+ // Milk free
2021
+ milk_free?: boolean;
2022
+ // Egg free
2023
+ egg_free?: boolean;
2024
+ // Soy free
2025
+ soy_free?: boolean;
2026
+ // Fair Trade certified
2027
+ fair_trade?: boolean;
2028
+ // Rainforest Alliance certified
2029
+ rainforest_alliance?: boolean;
2030
+ // Salt free
2031
+ salt_free?: boolean;
2032
+ }
2033
+
1866
2034
  export interface GetMenuOptionNutritionConsumer {
2035
+ // Calories
1867
2036
  calories?: GetMenuItemNutritionValueConsumer;
2037
+ // Total fat
1868
2038
  total_fat?: GetMenuItemNutritionValueConsumer;
2039
+ // Saturated fat
1869
2040
  saturated_fat?: GetMenuItemNutritionValueConsumer;
2041
+ // Total carbohydrates
1870
2042
  total_carbohydrate?: GetMenuItemNutritionValueConsumer;
2043
+ // Total sugars
1871
2044
  total_sugars?: GetMenuItemNutritionValueConsumer;
2045
+ // Protein
1872
2046
  protein?: GetMenuItemNutritionValueConsumer;
2047
+ // Dietary fiber
1873
2048
  dietary_fiber?: GetMenuItemNutritionValueConsumer;
2049
+ // Sodium
1874
2050
  sodium?: GetMenuItemNutritionValueConsumer;
2051
+ // Trans fat
1875
2052
  trans_fat?: GetMenuItemNutritionValueConsumer;
2053
+ // Cholesterol
1876
2054
  cholesterol?: GetMenuItemNutritionValueConsumer;
2055
+ // Added sugars
1877
2056
  added_sugars?: GetMenuItemNutritionValueConsumer;
1878
2057
  }
1879
2058
 
1880
2059
  export interface GetMenuItemOptionSizingConsumer {
2060
+ // Sizing name
1881
2061
  name?: string;
2062
+ // POS ID for sizing
1882
2063
  posid?: string;
2064
+ // Price for this sizing
1883
2065
  price?: number;
1884
2066
  }
1885
2067
 
@@ -1888,16 +2070,6 @@ export interface GetMenuItemOptionMetaConsumer {
1888
2070
  sizing?: GetMenuItemOptionSizingConsumer[];
1889
2071
  }
1890
2072
 
1891
- export interface GetMenuItemImageSizesConsumer {
1892
- original?: string;
1893
- thumbnail_80_80?: string;
1894
- }
1895
-
1896
- export interface GetMenuItemImageConsumer {
1897
- src?: string;
1898
- sizes?: GetMenuItemImageSizesConsumer;
1899
- }
1900
-
1901
2073
  export interface GetMenuItemOptionConsumer {
1902
2074
  // Menu Option ID
1903
2075
  id?: string;
@@ -1912,6 +2084,7 @@ export interface GetMenuItemOptionConsumer {
1912
2084
  }
1913
2085
 
1914
2086
  export interface GetMenuItemGroupIsConsumer {
2087
+ // Options group incremental?
1915
2088
  incremental?: boolean;
1916
2089
  }
1917
2090
 
@@ -1923,11 +2096,17 @@ export interface GetMenuItemGroupMetaConsumer {
1923
2096
  export interface GetMenuItemOptionsGroupConsumer {
1924
2097
  // Menu Options Group ID
1925
2098
  id?: string;
2099
+ // Label for the options group
1926
2100
  label?: GetMenuItemLabelConsumer;
2101
+ // Options group items
1927
2102
  items?: GetMenuItemOptionConsumer[];
2103
+ // Minimum number of options
1928
2104
  min?: number;
2105
+ // Maximum number of options
1929
2106
  max?: number;
2107
+ // Object containing quick boolean details
1930
2108
  is?: GetMenuItemGroupIsConsumer;
2109
+ // Metadata for the options group
1931
2110
  meta?: GetMenuItemGroupMetaConsumer;
1932
2111
  }
1933
2112
 
@@ -1945,14 +2124,31 @@ export interface GetMenuItemMetaConsumer {
1945
2124
  recipe?: GetMenuItemRecipeConsumer;
1946
2125
  }
1947
2126
 
2127
+ export interface GetMenuItemImageSizesConsumer {
2128
+ // Image URL
2129
+ original?: string;
2130
+ // 80x80 thumbnail image URL
2131
+ thumbnail_80_80?: string;
2132
+ }
2133
+
2134
+ export interface GetMenuItemImageConsumer {
2135
+ // Image source URL
2136
+ src?: string;
2137
+ // Image sizes
2138
+ sizes?: GetMenuItemImageSizesConsumer;
2139
+ }
2140
+
1948
2141
  export interface GetMenuItemIsConsumer {
1949
2142
  // Is the item out of stock?
1950
2143
  out_of_stock?: boolean;
1951
2144
  }
1952
2145
 
1953
2146
  export interface GetMenuItemMenuLabelConsumer {
2147
+ // Menu label ID
1954
2148
  id?: string;
2149
+ // Menu label text
1955
2150
  text?: string;
2151
+ // Image for Menu label S3 link
1956
2152
  s3_link?: string;
1957
2153
  }
1958
2154
 
@@ -2007,1152 +2203,1086 @@ export interface GetMenuResponseConsumer {
2007
2203
  parent_id?: string;
2008
2204
  }
2009
2205
 
2010
- export interface GetConsumerMenuItemsResponse {
2011
- // meta
2012
- meta?: Record<string, any>;
2013
- // items
2014
- items: ConsumerItem[];
2015
- }
2016
-
2017
- export interface ConsumerTimeslot {
2018
- id?: number;
2019
- brand_id?: string;
2020
- start_time?: string;
2021
- duration?: string;
2022
- is_available?: boolean;
2023
- number_orders?: number;
2024
- delivery_destinations?: string[];
2025
- }
2026
-
2027
- export interface PostConsumerLocationMarketplaceTimeslotsResponse {
2028
- // The timeslots
2029
- timeslots?: ConsumerTimeslot[];
2030
- }
2031
-
2032
- export interface PostConsumerLocationMarketplaceTimeslotsDeliveryResponse {
2033
- // The timeslots
2034
- timeslots?: ConsumerTimeslot[];
2035
- }
2036
-
2037
- export interface ConsumerDeleteUserResponse {
2038
- // success
2039
- success: boolean;
2206
+ export interface GetMenuLabelConsumerV2 {
2207
+ // English
2208
+ en?: string;
2040
2209
  }
2041
2210
 
2042
- export interface ConsumerDeleteUserLogoutResponse {
2043
- // success
2044
- success: boolean;
2211
+ export interface GetMenuGroupLabelConsumerV2 {
2212
+ // English
2213
+ en?: string;
2214
+ // French
2215
+ fr?: string;
2045
2216
  }
2046
2217
 
2047
- export interface PostConsumerUserChangePasswordRequest {
2048
- // password
2049
- password: string;
2050
- // new_password
2051
- new_password: string;
2218
+ export interface GetMenuItemLabelConsumerV2 {
2219
+ // English
2220
+ en?: string;
2052
2221
  }
2053
2222
 
2054
- export interface ConsumerUserName {
2055
- // The first name of the user
2056
- first: string;
2057
- // The last name of the user
2058
- last: string;
2223
+ export interface GetMenuItemPriceConsumerV2 {
2224
+ // Amount
2225
+ amount?: number;
2226
+ // Currency code
2227
+ currency?: string;
2228
+ // Total price
2229
+ total_price?: number;
2230
+ // Discount amount
2231
+ discount?: number;
2059
2232
  }
2060
2233
 
2061
- export interface ConsumerUserDate {
2062
- // The created date of the user
2063
- created: string;
2064
- // The modified date of the user
2065
- modified: string;
2234
+ export interface GetMenuItemNutritionValueConsumerV2 {
2235
+ // Amount
2236
+ amount?: number;
2237
+ // Unit of measurement
2238
+ unit?: string;
2239
+ // Display string for calories (e.g., "620 kcal")
2240
+ display?: string;
2066
2241
  }
2067
2242
 
2068
- export interface ConsumerCashlessLog {
2069
- added?: string;
2070
- deleted?: string;
2243
+ export interface GetMenuItemNutritionConsumerV2 {
2244
+ // Deprecated calorie value in kcal
2245
+ kcal?: number;
2246
+ // Calories
2247
+ calories?: GetMenuItemNutritionValueConsumerV2;
2248
+ // Serving size
2249
+ serving_size?: GetMenuItemNutritionValueConsumerV2;
2250
+ // Total fat
2251
+ total_fat?: GetMenuItemNutritionValueConsumerV2;
2252
+ // Saturated fat
2253
+ saturated_fat?: GetMenuItemNutritionValueConsumerV2;
2254
+ // Trans fat
2255
+ trans_fat?: GetMenuItemNutritionValueConsumerV2;
2256
+ // Cholesterol
2257
+ cholesterol?: GetMenuItemNutritionValueConsumerV2;
2258
+ // Sodium
2259
+ sodium?: GetMenuItemNutritionValueConsumerV2;
2260
+ // Total carbohydrates
2261
+ total_carbohydrate?: GetMenuItemNutritionValueConsumerV2;
2262
+ // Dietary fiber
2263
+ dietary_fiber?: GetMenuItemNutritionValueConsumerV2;
2264
+ // Sugars
2265
+ sugars?: GetMenuItemNutritionValueConsumerV2;
2266
+ // Total sugars
2267
+ total_sugars?: GetMenuItemNutritionValueConsumerV2;
2268
+ // Protein
2269
+ protein?: GetMenuItemNutritionValueConsumerV2;
2270
+ // Well-being score
2271
+ well_being?: GetMenuItemNutritionValueConsumerV2;
2071
2272
  }
2072
2273
 
2073
- export interface ConsumerUserMeta {
2074
- // Whether the user has opted in to marketing
2075
- marketing_opt_in?: boolean;
2076
- // Date the user opted in to marketing
2077
- marketing_opt_in_date?: string;
2078
- // Source where the user opted in to marketing
2079
- marketing_opt_in_source?: 'App' | 'Web';
2080
- order_status_notification?: {
2081
- send_emails?: boolean;
2082
- send_emails_date_updated?: string;
2083
- };
2084
- mealplan_added_date?: string;
2085
- login_limit?: {
2086
- login_attempts?: number;
2087
- last_attempt_date?: string;
2088
- };
2089
- password_verification?: {
2090
- attempts?: number;
2091
- first_attempted?: string;
2092
- };
2093
- phone_verification?: {
2094
- verification_code?: string;
2095
- date_generated?: number;
2096
- failed_attempts?: number;
2097
- consecutive_failed_attempts?: number;
2098
- };
2099
- cashless?: {
2100
- stipend?: ConsumerCashlessLog;
2101
- voucher?: ConsumerCashlessLog;
2102
- badge_pay?: ConsumerCashlessLog;
2103
- coupon_voucher?: ConsumerCashlessLog;
2104
- };
2105
- last_location?: string;
2106
- }
2107
-
2108
- export interface ConsumerUserIs {
2109
- // The disabled status of the user
2110
- disabled?: boolean;
2111
- // The locked out status of the user
2112
- locked_out?: boolean;
2113
- // The verified status of the user
2114
- verified?: boolean;
2115
- // The phone verified status of the user
2116
- phone_verified?: boolean;
2117
- // The deleted status of the user
2118
- deleted?: boolean;
2119
- // The placeholder status of the user
2120
- placeholder?: boolean;
2121
- }
2122
-
2123
- export interface ConsumerScopes {
2124
- scopes?: string[];
2125
- }
2126
-
2127
- export interface ConsumerTemporaryPermissions {
2128
- // Expiry date of the temporary permissions
2129
- expiry: string;
2130
- // Permission scopes
2131
- scopes: string[];
2132
- }
2133
-
2134
- export interface PostConsumerUserChangePasswordResponse {
2135
- // The ID of the user
2136
- id: string;
2137
- // The email of the user
2138
- email: string;
2139
- // The name of the user
2140
- name?: ConsumerUserName;
2141
- // The date the user was created
2142
- date?: ConsumerUserDate;
2143
- // The birthday of the user
2144
- birthday?: string;
2145
- // The password of the user
2146
- password?: string;
2147
- // The phone of the user
2148
- phone?: number;
2149
- // The phone country code of the user
2150
- phone_country_code?: string;
2151
- // The realm of the user
2152
- realm?: string;
2153
- // The location group of the user
2154
- location_group?: string;
2155
- // The ssoId of the user
2156
- ssoId?: string;
2157
- // The last accessed date of the user
2158
- last_accessed?: string;
2159
- // The gender of the user
2160
- gender?: 'male' | 'female' | 'non-binary';
2161
- // The meta of the user
2162
- meta?: ConsumerUserMeta;
2163
- // Quick boolean details for the user
2164
- is?: ConsumerUserIs;
2165
- // The permissions of the user
2166
- permissions?: ConsumerScopes;
2167
- // Temporary permissions for the user
2168
- temporary_permissions?: ConsumerTemporaryPermissions;
2169
- }
2170
-
2171
- export interface PutConsumerUserRequest {
2172
- // The id of the user
2173
- id?: string;
2174
- // The email of the user
2175
- email?: string;
2176
- // The name of the user
2177
- name?: ConsumerUserName;
2178
- // The date of the user
2179
- date?: ConsumerUserDate;
2180
- // The birthday of the user
2181
- birthday?: string;
2182
- // The password of the user
2183
- password?: string;
2184
- // The phone of the user
2185
- phone?: number;
2186
- // The phone country code of the user
2187
- phone_country_code?: string;
2188
- // The realm of the user
2189
- realm?: string;
2190
- // The gender of the user
2191
- gender?: 'male' | 'female' | 'non-binary';
2192
- // The meta of the user
2193
- meta?: ConsumerUserMeta;
2194
- // The is of the user
2195
- is?: ConsumerUserIs;
2196
- // The permissions of the user
2197
- permissions?: ConsumerScopes;
2198
- // The location group of the user
2199
- location_group?: string;
2200
- // The ssoId of the user
2201
- ssoId?: string;
2202
- }
2203
-
2204
- export interface PutConsumerUserResponse {
2205
- // The ID of the user
2206
- id: string;
2207
- // The email of the user
2208
- email: string;
2209
- // The name of the user
2210
- name?: ConsumerUserName;
2211
- // The date of the user
2212
- date?: ConsumerUserDate;
2213
- // The birthday of the user
2214
- birthday?: string;
2215
- // The password of the user
2216
- password?: string;
2217
- // The phone of the user
2218
- phone?: number;
2219
- // The phone country code of the user
2220
- phone_country_code?: string;
2221
- // The realm of the user
2222
- realm?: string;
2223
- // The gender of the user
2224
- gender?: Record<string, any>;
2225
- // The meta of the user
2226
- meta?: ConsumerUserMeta;
2227
- // The is of the user
2228
- is?: ConsumerUserIs;
2229
- // The permissions of the user
2230
- permissions?: ConsumerScopes;
2231
- // The location group of the user
2232
- location_group?: string;
2233
- // The ssoId of the user
2234
- ssoId?: string;
2235
- }
2236
-
2237
- export interface PatchConsumerUserRequest {
2238
- // The id of the user
2239
- id?: string;
2240
- // The email of the user
2241
- email?: string;
2242
- // The name of the user
2243
- name?: ConsumerUserName;
2244
- // The date of the user
2245
- date?: ConsumerUserDate;
2246
- // The birthday of the user
2247
- birthday?: string;
2248
- // The password of the user
2249
- password?: string;
2250
- // The phone of the user
2251
- phone?: number;
2252
- // The phone country code of the user
2253
- phone_country_code?: string;
2254
- // The realm of the user
2255
- realm?: string;
2256
- // The gender of the user
2257
- gender?: 'male' | 'female' | 'non-binary';
2258
- // The meta of the user
2259
- meta?: ConsumerUserMeta;
2260
- // The is of the user
2261
- is?: ConsumerUserIs;
2262
- // The permissions of the user
2263
- permissions?: ConsumerScopes;
2264
- // The location group of the user
2265
- location_group?: string;
2266
- // The ssoId of the user
2267
- ssoId?: string;
2268
- }
2269
-
2270
- export interface PatchConsumerUserResponse {
2271
- id?: string;
2272
- email?: string;
2273
- name?: ConsumerUserName;
2274
- date?: ConsumerUserDate;
2275
- birthday?: string;
2276
- password?: string;
2277
- phone?: number;
2278
- phone_country_code?: string;
2279
- realm?: string;
2280
- gender?: Record<string, any>;
2281
- meta?: ConsumerUserMeta;
2282
- is?: ConsumerUserIs;
2283
- permissions?: ConsumerScopes;
2284
- location_group?: string;
2285
- ssoId?: string;
2274
+ export interface GetMenuItemCertifiedConsumerV2 {
2275
+ // Certified vegan
2276
+ vegan?: boolean;
2277
+ // Certified vegetarian
2278
+ vegetarian?: boolean;
2279
+ // Seafood Watch certified (sustainable seafood)
2280
+ seafood_watch?: boolean;
2281
+ // Certified for general wellbeing
2282
+ wellbeing?: boolean;
2283
+ // Farm to Fork certified (locally sourced)
2284
+ farm_to_fork?: boolean;
2285
+ // In Balance certified (nutritionally balanced)
2286
+ in_balance?: boolean;
2287
+ // Certified organic
2288
+ organic?: boolean;
2289
+ // No gluten ingredients present
2290
+ no_gluten_ingredients?: boolean;
2291
+ // Certified halal
2292
+ halal?: boolean;
2293
+ // Certified kosher
2294
+ kosher?: boolean;
2295
+ // Certified humane (animal welfare)
2296
+ humane?: boolean;
2297
+ // Locally crafted product
2298
+ locally_crafted?: boolean;
2299
+ // Contains nuts
2300
+ nuts?: boolean;
2301
+ // Oracle Garden Grown certified
2302
+ oracle_garden_grown?: boolean;
2303
+ // Oracle OYES certified
2304
+ oracle_oyes?: boolean;
2305
+ // Peanut free
2306
+ peanut_free?: boolean;
2307
+ // Tree nut free
2308
+ tree_nut_free?: boolean;
2309
+ // Wheat free
2310
+ wheat_free?: boolean;
2311
+ // Non-GMO certified
2312
+ non_gmo?: boolean;
2313
+ // Milk free
2314
+ milk_free?: boolean;
2315
+ // Egg free
2316
+ egg_free?: boolean;
2317
+ // Soy free
2318
+ soy_free?: boolean;
2319
+ // Fair Trade certified
2320
+ fair_trade?: boolean;
2321
+ // Rainforest Alliance certified
2322
+ rainforest_alliance?: boolean;
2323
+ // Salt free
2324
+ salt_free?: boolean;
2286
2325
  }
2287
2326
 
2288
- export interface GetConsumerUserResponse {
2289
- // The ID of the user
2290
- id: string;
2291
- // The email of the user
2292
- email: string;
2293
- // The name of the user
2294
- name?: ConsumerUserName;
2295
- // The date of the user
2296
- date?: ConsumerUserDate;
2297
- // The birthday of the user
2298
- birthday?: string;
2299
- // The password of the user
2300
- password?: string;
2301
- // The phone of the user
2302
- phone?: number;
2303
- // The phone country code of the user
2304
- phone_country_code?: string;
2305
- // The realm of the user
2306
- realm?: string;
2307
- // The gender of the user
2308
- gender?: 'male' | 'female' | 'non-binary';
2309
- // The meta of the user
2310
- meta?: ConsumerUserMeta;
2311
- // The is of the user
2312
- is?: ConsumerUserIs;
2313
- // The permissions of the user
2314
- permissions?: ConsumerScopes;
2315
- // The location group of the user
2316
- location_group?: string;
2317
- // The ssoId of the user
2318
- ssoId?: string;
2319
- // The last accessed date of the user
2320
- last_accessed?: string;
2327
+ export interface GetMenuOptionNutritionConsumerV2 {
2328
+ // Calories
2329
+ calories?: GetMenuItemNutritionValueConsumerV2;
2330
+ // Total fat
2331
+ total_fat?: GetMenuItemNutritionValueConsumerV2;
2332
+ // Saturated fat
2333
+ saturated_fat?: GetMenuItemNutritionValueConsumerV2;
2334
+ // Total carbohydrates
2335
+ total_carbohydrate?: GetMenuItemNutritionValueConsumerV2;
2336
+ // Total sugars
2337
+ total_sugars?: GetMenuItemNutritionValueConsumerV2;
2338
+ // Protein
2339
+ protein?: GetMenuItemNutritionValueConsumerV2;
2340
+ // Dietary fiber
2341
+ dietary_fiber?: GetMenuItemNutritionValueConsumerV2;
2342
+ // Sodium
2343
+ sodium?: GetMenuItemNutritionValueConsumerV2;
2344
+ // Trans fat
2345
+ trans_fat?: GetMenuItemNutritionValueConsumerV2;
2346
+ // Cholesterol
2347
+ cholesterol?: GetMenuItemNutritionValueConsumerV2;
2348
+ // Added sugars
2349
+ added_sugars?: GetMenuItemNutritionValueConsumerV2;
2321
2350
  }
2322
2351
 
2323
- export interface ConsumerCashlessTender {
2324
- // Cashless tender balance
2325
- balance?: number;
2326
- // Cashless tender ID
2327
- id?: string;
2328
- // Cashless tender name
2352
+ export interface GetMenuItemOptionSizingConsumerV2 {
2353
+ // Sizing name
2329
2354
  name?: string;
2330
- // Cashless tender total
2331
- total?: number;
2332
- // Cashless tender tender
2333
- tender?: string;
2334
- // Cashless tender type
2335
- type?: 'badge_pay' | 'stipend' | 'voucher' | 'coupon_voucher';
2336
- }
2337
-
2338
- export interface ConsumerGetPaymentCashlessResponse {
2339
- // list of cashless tenders
2340
- tenders?: ConsumerCashlessTender[];
2341
- }
2342
-
2343
- export interface ConsumerGetPaymentClienttokenResponse {
2344
- // Client token (BrainTree)
2345
- clienttoken?: string;
2346
- // Access token (FreedomPay)
2347
- access_token?: string;
2348
- // Bearer token (FreedomPay)
2349
- token_type?: string;
2350
- // Token expiry (FreedomPay)
2351
- expires_in?: number;
2352
- }
2353
-
2354
- export interface ConsumerGetPaymentHpcResponse {
2355
- // FreedomPay HPC iframe HTML
2356
- iframe?: string;
2357
- // Session key for subsequent HPC operations
2358
- sessionKey?: string;
2359
- }
2360
-
2361
- export interface ConsumerGetPaymentTokenResponse {
2362
- // Payment token
2363
- token?: string;
2364
- // Masked account number
2365
- accountNumberMasked?: string;
2366
- // Card expiration month
2367
- cardExpirationMonth?: string;
2368
- // Card expiration year
2369
- cardExpirationYear?: string;
2370
- // Card brand
2371
- brand?: string;
2372
- // POS card type
2373
- posCardType?: string;
2374
- // Card type
2375
- cardType?: string;
2376
- // Token expiration
2377
- tokenExpiration?: string;
2378
- // POS data
2379
- posData?: string;
2380
- // New token
2381
- newToken?: string;
2382
- // Session key
2383
- sessionKey?: string;
2384
- }
2385
-
2386
- export interface TokenInfoDto {
2387
- // Payment token
2388
- token?: string;
2389
- // Masked account number
2390
- accountNumberMasked?: string;
2391
- // Card expiration month
2392
- cardExpirationMonth?: string;
2393
- // Card expiration year
2394
- cardExpirationYear?: string;
2395
- // Card brand
2396
- brand?: string;
2397
- // POS card type
2398
- posCardType?: string;
2399
- // Card type
2400
- cardType?: string;
2401
- // Token expiration
2402
- tokenExpiration?: string;
2403
- // POS data
2404
- posData?: string;
2405
- // New token
2406
- newToken?: string;
2407
- // Session key
2408
- sessionKey?: string;
2409
- }
2410
-
2411
- export interface PostConsumerPaymentTokenBody {
2412
- // Token information
2413
- tokenInfo: TokenInfoDto;
2414
- // Name on credit card
2415
- nameOnCard: string;
2416
- // CDL Site Id
2417
- siteId: string;
2418
- }
2419
-
2420
- export interface BillingAddressDto {
2421
- // Postal code
2422
- postalCode?: string;
2355
+ // POS ID for sizing
2356
+ posid?: string;
2357
+ // Price for this sizing
2358
+ price?: number;
2423
2359
  }
2424
2360
 
2425
- export interface PostConsumerPaymentTokenResponse {
2426
- // Masked card number
2427
- maskedCardNumber?: string;
2428
- // Card type
2429
- cardType?: string;
2430
- // Card nickname
2431
- nickname?: string;
2432
- // Is preferred card
2433
- isPreferred?: boolean;
2434
- // Card expiry year
2435
- expiryYear?: number;
2436
- // Card expiry month
2437
- expiryMonth?: number;
2438
- // Name on card
2439
- nameOnCard?: string;
2440
- // Payment token
2441
- token?: string;
2442
- // Token expiration date
2443
- tokenExpirationDate?: string;
2444
- // Billing address
2445
- billingAddress?: BillingAddressDto;
2361
+ export interface GetMenuItemOptionMetaConsumerV2 {
2362
+ // Available sizings
2363
+ sizing?: GetMenuItemOptionSizingConsumerV2[];
2364
+ // Chit sort order
2365
+ sort_number?: number;
2366
+ // Menu sort order
2367
+ menu_sort_number?: number;
2368
+ // Unique ID of the entity
2369
+ unique_id?: number;
2370
+ tax?: {
2371
+ tax_tag_code?: string;
2372
+ };
2446
2373
  }
2447
2374
 
2448
- export interface PromoDetails {
2449
- code?: string;
2450
- provider?: Record<string, any>;
2451
- amount_off?: number;
2452
- percent_off?: number;
2453
- amount?: number;
2454
- app?: string;
2455
- provider_data?: Record<string, any>;
2456
- order?: Record<string, any>;
2375
+ export interface GetMenuItemImageSizesConsumerV2 {
2376
+ // Image URL
2377
+ original?: string;
2378
+ // 80x80 thumbnail image URL
2379
+ thumbnail_80_80?: string;
2457
2380
  }
2458
2381
 
2459
- export interface ConsumerIncentives {
2460
- discounts?: Discounts;
2461
- promo?: PromoDetails;
2462
- stacked_total?: number;
2382
+ export interface GetMenuItemImageConsumerV2 {
2383
+ // Image source URL
2384
+ src?: string;
2385
+ // Image sizes
2386
+ sizes?: GetMenuItemImageSizesConsumerV2;
2463
2387
  }
2464
2388
 
2465
- export interface GetConsumerShoppingCartResponse {
2466
- id?: string;
2467
- location?: string;
2468
- menu?: string;
2469
- brand?: string;
2470
- date?: Record<string, any>;
2471
- items?: ShoppingcartItem[];
2472
- sub_total?: {
2473
- amount?: number;
2474
- };
2475
- promo?: ShoppingcartPromoDetails;
2476
- loyalty?: {
2477
- coupon: {
2478
- code?: string;
2479
- amount_off?: number;
2480
- amount?: number;
2481
- name?: string;
2482
- };
2483
- order_loyalty_points?: boolean;
2484
- };
2485
- discount?: ShoppingcartPromoDetails;
2486
- discounts?: {
2487
- stacked_total?: number;
2488
- stacked_discounts?: Record<string, any>[];
2489
- app?: string;
2490
- };
2491
- payment_method?: ShoppingcartPaymentMethod;
2492
- taxes?: ShoppingcartTaxes;
2493
- total?: {
2494
- amount?: number;
2495
- meals?: number;
2496
- };
2497
- exemptions?: {
2498
- tax?: boolean;
2499
- };
2500
- order?: {
2501
- id?: string;
2502
- };
2503
- service_fee?: {
2504
- amount?: number;
2505
- };
2506
- delivery_fee?: {
2507
- amount?: number;
2508
- };
2509
- is?: {
2510
- type?: Record<string, any>;
2511
- mx_cart?: boolean;
2512
- email_tax_exempt?: boolean;
2513
- tax_calculation_required?: boolean;
2514
- system365?: boolean;
2389
+ export interface GetMenuItemOptionIsConsumerV2 {
2390
+ // Is the option disabled
2391
+ disabled?: boolean;
2392
+ // Is the option hidden
2393
+ hidden?: boolean;
2394
+ // Is the option out of stock
2395
+ out_of_stock?: boolean;
2396
+ }
2397
+
2398
+ export interface GetMenuItemReportingConsumerV2 {
2399
+ category?: {
2400
+ primary?: string;
2401
+ secondary?: string;
2515
2402
  };
2516
- incentives?: ConsumerIncentives;
2403
+ // JDE category
2404
+ jde_category?: string;
2517
2405
  }
2518
2406
 
2519
- export interface ConsumerMealplan {
2520
- // The meal plan ID
2407
+ export interface GetMenuItemOptionConsumerV2 {
2408
+ // Menu Option ID
2521
2409
  id?: string;
2522
- // The meal plan tender
2523
- tender?: string;
2524
- // The meal plan total
2525
- total?: number;
2526
- // The meal plan type
2527
- type?: string;
2410
+ // Label for the option
2411
+ label?: GetMenuItemLabelConsumerV2;
2412
+ // Name of the option
2413
+ name?: string;
2414
+ // Description of the option
2415
+ description?: GetMenuItemLabelConsumerV2;
2416
+ // Price
2417
+ price?: GetMenuItemPriceConsumerV2;
2418
+ // Nutrition information
2419
+ nutrition?: GetMenuOptionNutritionConsumerV2;
2420
+ // Metadata for the option
2421
+ meta?: GetMenuItemOptionMetaConsumerV2;
2422
+ // Item image data
2423
+ image?: GetMenuItemImageConsumerV2;
2424
+ // Food certifications
2425
+ certified?: GetMenuItemCertifiedConsumerV2;
2426
+ // Quick boolean details
2427
+ is?: GetMenuItemOptionIsConsumerV2;
2428
+ // Reporting metadata
2429
+ reporting?: GetMenuItemReportingConsumerV2;
2430
+ // SKU number
2431
+ sku?: number;
2432
+ weight?: {
2433
+ unit?: string;
2434
+ amount?: number;
2435
+ };
2436
+ // Line route
2437
+ line_route?: string;
2438
+ // Amount off exclusion types
2439
+ amount_off_exclusions?: string[];
2528
2440
  }
2529
2441
 
2530
- export interface ConsumerCreditCard {
2531
- // The credit card type
2532
- card_type?: string;
2533
- // The last 4 digits of the card number
2534
- last4?: string;
2535
- // The credit card total
2536
- total?: number;
2537
- // The credit card type
2538
- type?: string;
2442
+ export interface GetMenuItemGroupIsConsumerV2 {
2443
+ // Options group incremental
2444
+ incremental?: boolean;
2539
2445
  }
2540
2446
 
2541
- export interface ConsumerDigitalWalletPay {
2542
- // The digital wallet type
2543
- wallet_type?: string;
2544
- // The digital wallet total
2545
- total: number;
2546
- // The digital wallet type
2547
- type: string;
2447
+ export interface GetMenuItemGroupMetaConsumerV2 {
2448
+ // Type of mod group
2449
+ order_type?: 'selection' | 'option' | 'quantity';
2450
+ // Chit sort order
2451
+ sort_number?: number;
2452
+ // Menu sort order
2453
+ menu_sort_number?: number;
2454
+ // Number of modifiers before surcharge applies
2455
+ surcharge_limit_value?: number;
2548
2456
  }
2549
2457
 
2550
- export interface ConsumerMealSwipes {
2551
- // The meal swipes ID
2458
+ export interface GetMenuItemOptionsGroupConsumerV2 {
2459
+ // Menu Options Group ID
2552
2460
  id?: string;
2553
- // The meal swipes tender
2554
- tender?: string;
2555
- // The meal swipes tender type
2556
- tender_type?: string;
2557
- // The meal swipes tender name
2558
- tender_name?: string;
2559
- // The meal swipes swipes
2560
- swipes?: number;
2561
- // The meal swipes rate
2562
- rate?: number;
2563
- // The meal swipes total
2564
- total?: number;
2565
- // The meal swipes type
2566
- type?: string;
2461
+ // Label for the options group
2462
+ label?: GetMenuItemLabelConsumerV2;
2463
+ // Options group items
2464
+ items?: GetMenuItemOptionConsumerV2[];
2465
+ // Minimum number of options
2466
+ min?: number;
2467
+ // Maximum number of options
2468
+ max?: number;
2469
+ // Quick boolean details
2470
+ is?: GetMenuItemGroupIsConsumerV2;
2471
+ // Metadata for the options group
2472
+ meta?: GetMenuItemGroupMetaConsumerV2;
2567
2473
  }
2568
2474
 
2569
- export interface ConsumerMealExchange {
2570
- // The meal exchange ID
2571
- id?: string;
2572
- // The meal exchange tender
2573
- tender?: string;
2574
- // The meal exchange type
2575
- type?: string;
2475
+ export interface GetMenuItemRecipeConsumerV2 {
2476
+ // Smart tags
2477
+ smart_tags?: string[];
2478
+ // Allergen tags
2479
+ allergen_tags?: string[];
2480
+ // MenuWorks MRN
2481
+ mrn?: string;
2482
+ // MenuWorks unit ID
2483
+ unit_id?: string;
2484
+ // MenuWorks portion quantity
2485
+ portion_quantity?: number;
2486
+ // MenuWorks portion unit name
2487
+ portion_unit_name?: string;
2488
+ // MenuWorks grams
2489
+ grams?: number;
2490
+ // MenuWorks cost per serving
2491
+ cost?: number;
2492
+ // MenuWorks ingredients
2493
+ ingredients?: string[];
2576
2494
  }
2577
2495
 
2578
- export interface PutConsumerShoppingCartPaymentRequestDto {
2579
- // The email to apply to the shopping cart
2580
- email?: string;
2581
- // The meal plan to apply to the shopping cart
2582
- mealplan?: ConsumerMealplan;
2583
- // The credit card to apply to the shopping cart
2584
- credit_card?: ConsumerCreditCard;
2585
- // The digital wallet pay to apply to the shopping cart
2586
- digital_wallet_pay?: ConsumerDigitalWalletPay;
2587
- // The meal swipes to apply to the shopping cart
2588
- meal_swipes?: ConsumerMealSwipes;
2589
- // The meal exchange to apply to the shopping cart
2590
- meal_exchange?: ConsumerMealExchange;
2591
- // The badge pay to apply to the shopping cart
2592
- badge_pay?: ConsumerCashlessTender;
2593
- // The stipend to apply to the shopping cart
2594
- voucher?: ConsumerCashlessTender;
2595
- // The coupon voucher to apply to the shopping cart
2596
- coupon_voucher?: ConsumerCashlessTender;
2597
- // The stipend to apply to the shopping cart
2598
- stipend?: ConsumerCashlessTender;
2496
+ export interface GetMenuItemMetaConsumerV2 {
2497
+ // Barcodes of the item
2498
+ barcodes?: string[];
2499
+ // Recipe metadata
2500
+ recipe?: GetMenuItemRecipeConsumerV2;
2501
+ superplate?: {
2502
+ type_id?: number;
2503
+ type?: string;
2504
+ };
2505
+ // Chit sort order
2506
+ sort_number?: number;
2507
+ // Menu sort order
2508
+ menu_sort_number?: number;
2509
+ // Unique ID of the entity
2510
+ unique_id?: number;
2511
+ tax?: {
2512
+ tax_tag_code?: string;
2513
+ tax_jwo_code?: string;
2514
+ tax_rate?: number;
2515
+ tax_amount?: number;
2516
+ };
2599
2517
  }
2600
2518
 
2601
- export interface PutConsumerShoppingCartResponse {
2519
+ export interface GetMenuItemIsConsumerV2 {
2520
+ // Is the item disabled
2521
+ disabled?: boolean;
2522
+ // Is the item hidden
2523
+ hidden?: boolean;
2524
+ // Is the item MEQ eligible
2525
+ meq_eligible?: boolean;
2526
+ // Is the item out of stock
2527
+ out_of_stock?: boolean;
2528
+ // Is the item deleted
2529
+ deleted?: boolean;
2530
+ // Is the item featured
2531
+ featured?: boolean;
2532
+ }
2533
+
2534
+ export interface GetMenuItemMenuLabelConsumerV2 {
2535
+ // Menu label ID
2536
+ id?: string;
2537
+ // Menu label text
2538
+ text?: string;
2539
+ // Image for menu label S3 link
2540
+ s3_link?: string;
2541
+ }
2542
+
2543
+ export interface GetMenuItemConsumerV2 {
2544
+ // Menu Item ID
2602
2545
  id?: string;
2546
+ // Label for the menu item
2547
+ label?: GetMenuItemLabelConsumerV2;
2548
+ // Name of the item
2549
+ name?: string;
2550
+ // Description of the item
2551
+ description?: GetMenuItemLabelConsumerV2;
2552
+ // Item price
2553
+ price?: GetMenuItemPriceConsumerV2;
2554
+ // Meal exchange value of the item
2555
+ meal_value?: number;
2556
+ // Sale price of the item
2557
+ sale_price?: GetMenuItemPriceConsumerV2;
2558
+ // Number of units for the item
2559
+ unit?: number;
2560
+ // SKU number
2561
+ sku?: number;
2562
+ // Item number
2563
+ item_number?: number;
2564
+ // Parent item ID
2565
+ parent_id?: string;
2566
+ // Location ID
2603
2567
  location?: string;
2604
- menu?: string;
2605
- brand?: string;
2606
- date?: Record<string, any>;
2607
- items?: ShoppingcartItem[];
2608
- sub_total?: {
2609
- amount?: number;
2610
- };
2611
- promo?: ShoppingcartPromoDetails;
2612
- loyalty?: {
2613
- coupon: {
2614
- code?: string;
2615
- amount_off?: number;
2616
- amount?: number;
2617
- name?: string;
2618
- };
2619
- order_loyalty_points?: boolean;
2620
- };
2621
- discount?: ShoppingcartPromoDetails;
2622
- discounts?: {
2623
- stacked_total?: number;
2624
- stacked_discounts?: Record<string, any>[];
2625
- app?: string;
2626
- };
2627
- payment_method?: ShoppingcartPaymentMethod;
2628
- taxes?: ShoppingcartTaxes;
2629
- total?: {
2630
- amount?: number;
2631
- meals?: number;
2632
- };
2633
- exemptions?: {
2634
- tax?: boolean;
2635
- };
2636
- order?: {
2637
- id?: string;
2638
- };
2639
- service_fee?: {
2640
- amount?: number;
2641
- };
2642
- delivery_fee?: {
2568
+ // Line route
2569
+ line_route?: string;
2570
+ weight?: {
2571
+ unit?: string;
2643
2572
  amount?: number;
2644
2573
  };
2645
- is?: {
2646
- type?: Record<string, any>;
2647
- mx_cart?: boolean;
2648
- email_tax_exempt?: boolean;
2649
- tax_calculation_required?: boolean;
2650
- system365?: boolean;
2574
+ category?: {
2575
+ en?: string;
2651
2576
  };
2652
- incentives?: ConsumerIncentives;
2577
+ // Ingredients list
2578
+ ingredients?: Record<string, any>[];
2579
+ // Amount off exclusion types
2580
+ amount_off_exclusions?: string[];
2581
+ // Item nutrition
2582
+ nutrition?: GetMenuItemNutritionConsumerV2;
2583
+ // Food certifications like vegan, organic, etc
2584
+ certified?: GetMenuItemCertifiedConsumerV2;
2585
+ // Item options/modifiers
2586
+ options?: GetMenuItemOptionsGroupConsumerV2[];
2587
+ // Metadata for the item
2588
+ meta?: GetMenuItemMetaConsumerV2;
2589
+ // Item image data
2590
+ image?: GetMenuItemImageConsumerV2;
2591
+ // Quick boolean details
2592
+ is?: GetMenuItemIsConsumerV2;
2593
+ // Menu labels
2594
+ menu_labels?: GetMenuItemMenuLabelConsumerV2[];
2595
+ // Reporting metadata
2596
+ reporting?: GetMenuItemReportingConsumerV2;
2597
+ }
2598
+
2599
+ export interface GetMenuGroupConsumerV2 {
2600
+ // Menu Group ID
2601
+ id?: string;
2602
+ // Menu Group label
2603
+ label?: GetMenuGroupLabelConsumerV2;
2604
+ // Menu Items
2605
+ items?: GetMenuItemConsumerV2[];
2606
+ }
2607
+
2608
+ export interface GetMenuDateConsumerV2 {
2609
+ // Date created
2610
+ created?: string;
2611
+ // Date last modified
2612
+ modified?: string;
2613
+ // Date published
2614
+ published?: string;
2653
2615
  }
2654
2616
 
2655
- export interface ConsumerLabel {
2656
- en?: string;
2657
- fr?: string;
2617
+ export interface GetMenuIsConsumerV2 {
2618
+ // Is the menu disabled
2619
+ disabled?: boolean;
2620
+ // Is the menu hidden
2621
+ hidden?: boolean;
2622
+ // Is the menu linked
2623
+ linked?: boolean;
2624
+ // Are promo exemptions enabled
2625
+ promo_exemptions_enabled?: boolean;
2626
+ // Is PLU enabled
2627
+ plu_enabled?: boolean;
2628
+ // Are item images enabled
2629
+ item_images_enabled?: boolean;
2630
+ // Is item showcase enabled
2631
+ item_showcase_enabled?: boolean;
2632
+ // Is item description editing enabled
2633
+ item_desc_edit_enabled?: boolean;
2634
+ // Is calories editing enabled
2635
+ calories_edit_enabled?: boolean;
2636
+ // Is item label editing enabled
2637
+ item_label_edit_enabled?: boolean;
2638
+ // Is frictionless enabled
2639
+ frictionless?: boolean;
2640
+ // Are category images enabled
2641
+ category_images_enabled?: boolean;
2658
2642
  }
2659
2643
 
2660
- export interface ConsumerModifierSizingInner {
2661
- name?: string;
2662
- price?: number;
2663
- posid?: string;
2644
+ export interface GetMenuMetaConsumerV2 {
2645
+ // User who locked the menu
2646
+ locked_by_user?: string;
2647
+ // User who last modified the menu
2648
+ last_modified_user?: string;
2649
+ // Is this a Centricos menu
2650
+ centricos?: boolean;
2651
+ // Menu version number
2652
+ version?: number;
2653
+ // Menu revision identifier
2654
+ revision?: string;
2664
2655
  }
2665
2656
 
2666
- export interface ConsumerModifierRequestMeta {
2667
- sizing?: ConsumerModifierSizingInner[];
2657
+ export interface GetMenuImageSizesConsumerV2 {
2658
+ // Original image URL
2659
+ original?: string;
2660
+ // 80x80 thumbnail image URL
2661
+ thumbnail_80_80?: string;
2668
2662
  }
2669
2663
 
2670
- export interface ConsumerPrice {
2671
- amount?: number;
2664
+ export interface GetMenuImageConsumerV2 {
2665
+ // Image source URL
2666
+ src?: string;
2667
+ // Image sizes
2668
+ sizes?: GetMenuImageSizesConsumerV2;
2672
2669
  }
2673
2670
 
2674
- export interface ConsumerModifierRequest {
2675
- id?: string;
2676
- label?: ConsumerLabel;
2677
- _index?: string;
2678
- quantity?: number;
2679
- amount_off_exclusions?: Record<string, any>[];
2680
- meta?: ConsumerModifierRequestMeta;
2681
- is_selected?: boolean;
2682
- parent_label?: ConsumerLabel;
2683
- price?: ConsumerPrice;
2671
+ export interface GetMenuResponseConsumerV2 {
2672
+ // menu id
2673
+ id: string;
2674
+ // menu label
2675
+ label?: GetMenuLabelConsumerV2;
2676
+ // menu groups
2677
+ groups?: GetMenuGroupConsumerV2[];
2678
+ // menu parent id
2679
+ parent_id?: string;
2680
+ // location brand id
2681
+ location_brand?: string;
2682
+ // company id
2683
+ company?: string;
2684
+ // sector id
2685
+ sector?: string;
2686
+ // Menu date metadata
2687
+ date?: GetMenuDateConsumerV2;
2688
+ // Quick boolean details
2689
+ is?: GetMenuIsConsumerV2;
2690
+ // Menu metadata
2691
+ meta?: GetMenuMetaConsumerV2;
2692
+ // Menu image
2693
+ image?: GetMenuImageConsumerV2;
2684
2694
  }
2685
2695
 
2686
- export interface ConsumerModifierGroupRequest {
2687
- label?: ConsumerLabel;
2688
- id?: string;
2689
- items?: ConsumerModifierRequest[];
2696
+ export interface GetConsumerMenuItemsResponse {
2697
+ // meta
2698
+ meta?: Record<string, any>;
2699
+ // items
2700
+ items: ConsumerItem[];
2690
2701
  }
2691
2702
 
2692
- export interface ConsumerItemRequestMeta {
2693
- brand?: string;
2694
- brand_label?: ConsumerLabel;
2695
- menu?: string;
2696
- barcodes?: string[];
2697
- plu?: string;
2703
+ export interface ConsumerTimeslot {
2704
+ id?: number;
2705
+ brand_id?: string;
2706
+ start_time?: string;
2707
+ duration?: string;
2708
+ is_available?: boolean;
2709
+ number_orders?: number;
2710
+ delivery_destinations?: string[];
2698
2711
  }
2699
2712
 
2700
- export interface ConsumerItemRequest {
2701
- id: string;
2702
- quantity: number;
2703
- quantity_by_weight?: {
2704
- unit?: string;
2705
- value?: number;
2706
- };
2707
- options?: ConsumerModifierGroupRequest[];
2708
- _index?: string;
2709
- special_instructions?: string;
2710
- meta?: ConsumerItemRequestMeta;
2711
- amount_off_exclusions?: Record<string, any>[];
2713
+ export interface PostConsumerLocationMarketplaceTimeslotsResponse {
2714
+ // The timeslots
2715
+ timeslots?: ConsumerTimeslot[];
2712
2716
  }
2713
2717
 
2714
- export interface PutConsumerShoppingCartItemsRequest {
2715
- items?: ConsumerItemRequest[];
2718
+ export interface PostConsumerLocationMarketplaceTimeslotsDeliveryResponse {
2719
+ // The timeslots
2720
+ timeslots?: ConsumerTimeslot[];
2716
2721
  }
2717
2722
 
2718
- export interface PostConsumerRecommendedRequest {
2719
- // excluded items
2720
- excludedItems: string[];
2723
+ export interface ConsumerDeleteUserResponse {
2724
+ // success
2725
+ success: boolean;
2721
2726
  }
2722
2727
 
2723
- export interface ConsumerRecommendedItem {
2724
- // item
2725
- item: ConsumerItem;
2726
- station_name?: string;
2727
- menu_id?: string;
2728
- brand_id?: string;
2728
+ export interface ConsumerDeleteUserLogoutResponse {
2729
+ // success
2730
+ success: boolean;
2729
2731
  }
2730
2732
 
2731
- export interface PostConsumerRecommendedResponse {
2732
- // items
2733
- items: ConsumerRecommendedItem[];
2733
+ export interface PostConsumerUserChangePasswordRequest {
2734
+ // password
2735
+ password: string;
2736
+ // new_password
2737
+ new_password: string;
2734
2738
  }
2735
2739
 
2736
- export interface PostConsumerShoppingCartBodyRequest {
2737
- location?: string;
2738
- menu?: string;
2739
- brand?: string;
2740
- promo?: ShoppingcartPromoDetails;
2741
- discount?: ShoppingcartPromoDetails;
2742
- payment_method?: ShoppingcartPaymentMethod;
2743
- taxes?: ShoppingcartTaxes;
2744
- exemptions?: {
2745
- tax?: boolean;
2746
- };
2747
- service_fee?: ShoppingcartMonetaryValue;
2748
- delivery_fee?: ShoppingcartMonetaryValue;
2749
- is?: {
2750
- type?: Record<string, any>;
2751
- mx_cart?: boolean;
2752
- email_tax_exempt?: boolean;
2753
- tax_calculation_required?: boolean;
2754
- system365?: boolean;
2755
- };
2756
- meta?: {
2757
- vendor?: Record<string, any>;
2758
- [index: string]: any;
2759
- };
2740
+ export interface ConsumerUserName {
2741
+ // The first name of the user
2742
+ first: string;
2743
+ // The last name of the user
2744
+ last: string;
2760
2745
  }
2761
2746
 
2762
- export interface PostConsumerShoppingCartResponse {
2763
- id?: string;
2764
- location?: string;
2765
- menu?: string;
2766
- brand?: string;
2767
- date?: Record<string, any>;
2768
- items?: ShoppingcartItem[];
2769
- sub_total?: {
2770
- amount?: number;
2771
- };
2772
- promo?: ShoppingcartPromoDetails;
2773
- loyalty?: {
2774
- coupon: {
2775
- code?: string;
2776
- amount_off?: number;
2777
- amount?: number;
2778
- name?: string;
2779
- };
2780
- order_loyalty_points?: boolean;
2781
- };
2782
- discount?: ShoppingcartPromoDetails;
2783
- discounts?: {
2784
- stacked_total?: number;
2785
- stacked_discounts?: Record<string, any>[];
2786
- app?: string;
2787
- };
2788
- payment_method?: ShoppingcartPaymentMethod;
2789
- taxes?: ShoppingcartTaxes;
2790
- total?: {
2791
- amount?: number;
2792
- meals?: number;
2793
- };
2794
- exemptions?: {
2795
- tax?: boolean;
2796
- };
2797
- order?: {
2798
- id?: string;
2799
- };
2800
- service_fee?: {
2801
- amount?: number;
2747
+ export interface ConsumerUserDate {
2748
+ // The created date of the user
2749
+ created: string;
2750
+ // The modified date of the user
2751
+ modified: string;
2752
+ }
2753
+
2754
+ export interface ConsumerCashlessLog {
2755
+ added?: string;
2756
+ deleted?: string;
2757
+ }
2758
+
2759
+ export interface ConsumerUserMeta {
2760
+ // Whether the user has opted in to marketing
2761
+ marketing_opt_in?: boolean;
2762
+ // Date the user opted in to marketing
2763
+ marketing_opt_in_date?: string;
2764
+ // Source where the user opted in to marketing
2765
+ marketing_opt_in_source?: 'App' | 'Web';
2766
+ order_status_notification?: {
2767
+ send_emails?: boolean;
2768
+ send_emails_date_updated?: string;
2802
2769
  };
2803
- delivery_fee?: {
2804
- amount?: number;
2770
+ mealplan_added_date?: string;
2771
+ login_limit?: {
2772
+ login_attempts?: number;
2773
+ last_attempt_date?: string;
2805
2774
  };
2806
- is?: {
2807
- type?: Record<string, any>;
2808
- mx_cart?: boolean;
2809
- email_tax_exempt?: boolean;
2810
- tax_calculation_required?: boolean;
2811
- system365?: boolean;
2775
+ password_verification?: {
2776
+ attempts?: number;
2777
+ first_attempted?: string;
2812
2778
  };
2813
- incentives?: ConsumerIncentives;
2814
- }
2815
-
2816
- export interface PostConsumerPromoValidateRequest {
2817
- // The code of the promo voucher
2818
- code?: string;
2819
- // The email of the customer
2820
- email?: string;
2821
- // The app of the customer
2822
- app?: string;
2823
- // The realm of the customer
2824
- realm?: string;
2825
- // The location brand of the customer
2826
- location_brand?: string;
2827
- shoppingcart?: {
2828
- id?: string;
2829
- date_created?: string;
2830
- items?: ShoppingcartItem[];
2779
+ phone_verification?: {
2780
+ verification_code?: string;
2781
+ date_generated?: number;
2782
+ failed_attempts?: number;
2783
+ consecutive_failed_attempts?: number;
2831
2784
  };
2832
- totals?: {
2833
- amount?: number;
2834
- currency?: string;
2785
+ cashless?: {
2786
+ stipend?: ConsumerCashlessLog;
2787
+ voucher?: ConsumerCashlessLog;
2788
+ badge_pay?: ConsumerCashlessLog;
2789
+ coupon_voucher?: ConsumerCashlessLog;
2835
2790
  };
2791
+ last_location?: string;
2836
2792
  }
2837
2793
 
2838
- export interface ConsumerAppliedDiscount {
2839
- type?: string;
2840
- amount_off?: number;
2841
- percent_off?: number;
2842
- amount_limit?: number;
2843
- }
2844
-
2845
- export interface ConsumerVoucher {
2846
- provider?: Record<string, any>;
2847
- code?: string;
2848
- valid?: boolean;
2849
- discount?: ConsumerAppliedDiscount;
2850
- app?: string;
2851
- provider_data?: ShoppingcartFPValidationData;
2794
+ export interface ConsumerUserIs {
2795
+ // The disabled status of the user
2796
+ disabled?: boolean;
2797
+ // The locked out status of the user
2798
+ locked_out?: boolean;
2799
+ // The verified status of the user
2800
+ verified?: boolean;
2801
+ // The phone verified status of the user
2802
+ phone_verified?: boolean;
2803
+ // The deleted status of the user
2804
+ deleted?: boolean;
2805
+ // The placeholder status of the user
2806
+ placeholder?: boolean;
2852
2807
  }
2853
2808
 
2854
- export interface PostConsumerPromoRedeemRequest {
2855
- // The promo code to redeem
2856
- code: string;
2857
- // The email of the customer
2858
- email: string;
2859
- // The app of the customer
2860
- app: string;
2861
- // The location brand of the customer
2862
- location_brand?: string;
2809
+ export interface ConsumerScopes {
2810
+ scopes?: string[];
2863
2811
  }
2864
2812
 
2865
- export interface ConsumerRedemption {
2866
- // The unique identifier of the redemption
2867
- id?: string;
2868
- // The date of redemption
2869
- date?: string;
2870
- // The result of the redemption
2871
- result?: boolean;
2872
- // The promo code that was redeemed
2873
- code?: string;
2874
- // The discount applied
2875
- discount?: ConsumerAppliedDiscount;
2876
- // The type of redemption
2877
- type?: string;
2878
- // The app where the redemption occurred
2879
- app?: string;
2813
+ export interface ConsumerTemporaryPermissions {
2814
+ // Expiry date of the temporary permissions
2815
+ expiry: string;
2816
+ // Permission scopes
2817
+ scopes: string[];
2880
2818
  }
2881
2819
 
2882
- export interface ConsumerTenderIs {
2883
- // tender is validated or not by the user
2884
- validated?: boolean;
2885
- // tender is supports split tender or not
2886
- supports_split_tender?: boolean;
2820
+ export interface PostConsumerUserChangePasswordResponse {
2821
+ // The ID of the user
2822
+ id: string;
2823
+ // The email of the user
2824
+ email: string;
2825
+ // The name of the user
2826
+ name?: ConsumerUserName;
2827
+ // The date the user was created
2828
+ date?: ConsumerUserDate;
2829
+ // The birthday of the user
2830
+ birthday?: string;
2831
+ // The password of the user
2832
+ password?: string;
2833
+ // The phone of the user
2834
+ phone?: number;
2835
+ // The phone country code of the user
2836
+ phone_country_code?: string;
2837
+ // The realm of the user
2838
+ realm?: string;
2839
+ // The location group of the user
2840
+ location_group?: string;
2841
+ // The ssoId of the user
2842
+ ssoId?: string;
2843
+ // The last accessed date of the user
2844
+ last_accessed?: string;
2845
+ // The gender of the user
2846
+ gender?: 'male' | 'female' | 'non-binary';
2847
+ // The meta of the user
2848
+ meta?: ConsumerUserMeta;
2849
+ // Quick boolean details for the user
2850
+ is?: ConsumerUserIs;
2851
+ // The permissions of the user
2852
+ permissions?: ConsumerScopes;
2853
+ // Temporary permissions for the user
2854
+ temporary_permissions?: ConsumerTemporaryPermissions;
2887
2855
  }
2888
2856
 
2889
- export interface ConsumerTender {
2890
- // tender id
2857
+ export interface PutConsumerUserRequest {
2858
+ // The id of the user
2891
2859
  id?: string;
2892
- // tender name
2893
- name?: string;
2894
- // tender balance
2895
- balance?: number;
2896
- // tender amount
2897
- amount?: number;
2898
- // tender type
2899
- type?: string;
2900
- // tender is
2901
- is?: ConsumerTenderIs;
2902
- // tender currency
2903
- currency?: string;
2904
- }
2905
-
2906
- export interface ConsumerMealplanAuthWebview {
2907
- // mealplan auth webview url
2908
- url?: string;
2909
- // mealplan auth webview method
2910
- method?: string;
2911
- // mealplan auth webview encoding
2912
- encoding?: string;
2913
- // mealplan auth webview body
2914
- body?: Record<string, any>;
2915
- }
2916
-
2917
- export interface ConsumerMealplanAuthDirectName {
2918
- // mealplan auth direct name
2919
- en?: string;
2920
- }
2921
-
2922
- export interface ConsumerMealplanAuthDirectDescription {
2923
- // mealplan auth direct description
2924
- en?: string;
2860
+ // The email of the user
2861
+ email?: string;
2862
+ // The name of the user
2863
+ name?: ConsumerUserName;
2864
+ // The date of the user
2865
+ date?: ConsumerUserDate;
2866
+ // The birthday of the user
2867
+ birthday?: string;
2868
+ // The password of the user
2869
+ password?: string;
2870
+ // The phone of the user
2871
+ phone?: number;
2872
+ // The phone country code of the user
2873
+ phone_country_code?: string;
2874
+ // The realm of the user
2875
+ realm?: string;
2876
+ // The gender of the user
2877
+ gender?: 'male' | 'female' | 'non-binary';
2878
+ // The meta of the user
2879
+ meta?: ConsumerUserMeta;
2880
+ // The is of the user
2881
+ is?: ConsumerUserIs;
2882
+ // The permissions of the user
2883
+ permissions?: ConsumerScopes;
2884
+ // The location group of the user
2885
+ location_group?: string;
2886
+ // The ssoId of the user
2887
+ ssoId?: string;
2925
2888
  }
2926
2889
 
2927
- export interface ConsumerMealplanAuthDirectUsernameField {
2928
- // mealplan auth direct username field
2929
- en?: string;
2890
+ export interface PutConsumerUserResponse {
2891
+ // The ID of the user
2892
+ id: string;
2893
+ // The email of the user
2894
+ email: string;
2895
+ // The name of the user
2896
+ name?: ConsumerUserName;
2897
+ // The date of the user
2898
+ date?: ConsumerUserDate;
2899
+ // The birthday of the user
2900
+ birthday?: string;
2901
+ // The password of the user
2902
+ password?: string;
2903
+ // The phone of the user
2904
+ phone?: number;
2905
+ // The phone country code of the user
2906
+ phone_country_code?: string;
2907
+ // The realm of the user
2908
+ realm?: string;
2909
+ // The gender of the user
2910
+ gender?: Record<string, any>;
2911
+ // The meta of the user
2912
+ meta?: ConsumerUserMeta;
2913
+ // The is of the user
2914
+ is?: ConsumerUserIs;
2915
+ // The permissions of the user
2916
+ permissions?: ConsumerScopes;
2917
+ // The location group of the user
2918
+ location_group?: string;
2919
+ // The ssoId of the user
2920
+ ssoId?: string;
2930
2921
  }
2931
2922
 
2932
- export interface ConsumerMealplanAuthDirectPasswordField {
2933
- // mealplan auth direct password field
2934
- en?: string;
2923
+ export interface PatchConsumerUserRequest {
2924
+ // The id of the user
2925
+ id?: string;
2926
+ // The email of the user
2927
+ email?: string;
2928
+ // The name of the user
2929
+ name?: ConsumerUserName;
2930
+ // The date of the user
2931
+ date?: ConsumerUserDate;
2932
+ // The birthday of the user
2933
+ birthday?: string;
2934
+ // The password of the user
2935
+ password?: string;
2936
+ // The phone of the user
2937
+ phone?: number;
2938
+ // The phone country code of the user
2939
+ phone_country_code?: string;
2940
+ // The realm of the user
2941
+ realm?: string;
2942
+ // The gender of the user
2943
+ gender?: 'male' | 'female' | 'non-binary';
2944
+ // The meta of the user
2945
+ meta?: ConsumerUserMeta;
2946
+ // The is of the user
2947
+ is?: ConsumerUserIs;
2948
+ // The permissions of the user
2949
+ permissions?: ConsumerScopes;
2950
+ // The location group of the user
2951
+ location_group?: string;
2952
+ // The ssoId of the user
2953
+ ssoId?: string;
2935
2954
  }
2936
2955
 
2937
- export interface ConsumerMealplanAuthDirectEmailField {
2938
- // mealplan auth direct email field
2939
- en?: string;
2956
+ export interface PatchConsumerUserResponse {
2957
+ id?: string;
2958
+ email?: string;
2959
+ name?: ConsumerUserName;
2960
+ date?: ConsumerUserDate;
2961
+ birthday?: string;
2962
+ password?: string;
2963
+ phone?: number;
2964
+ phone_country_code?: string;
2965
+ realm?: string;
2966
+ gender?: Record<string, any>;
2967
+ meta?: ConsumerUserMeta;
2968
+ is?: ConsumerUserIs;
2969
+ permissions?: ConsumerScopes;
2970
+ location_group?: string;
2971
+ ssoId?: string;
2940
2972
  }
2941
2973
 
2942
- export interface ConsumerMealplanAuthDirect {
2943
- // mealplan auth direct name
2944
- name?: ConsumerMealplanAuthDirectName;
2945
- // mealplan auth direct description
2946
- description?: ConsumerMealplanAuthDirectDescription;
2947
- // mealplan auth direct username field
2948
- username_field?: ConsumerMealplanAuthDirectUsernameField;
2949
- // mealplan auth direct password field
2950
- password_field?: ConsumerMealplanAuthDirectPasswordField;
2951
- // mealplan auth direct email field
2952
- email_field?: ConsumerMealplanAuthDirectEmailField;
2953
- // mealplan auth direct username value
2954
- username_value?: string;
2955
- // mealplan auth direct email value
2956
- email_value?: string;
2974
+ export interface GetConsumerUserResponse {
2975
+ // The ID of the user
2976
+ id: string;
2977
+ // The email of the user
2978
+ email: string;
2979
+ // The name of the user
2980
+ name?: ConsumerUserName;
2981
+ // The date of the user
2982
+ date?: ConsumerUserDate;
2983
+ // The birthday of the user
2984
+ birthday?: string;
2985
+ // The password of the user
2986
+ password?: string;
2987
+ // The phone of the user
2988
+ phone?: number;
2989
+ // The phone country code of the user
2990
+ phone_country_code?: string;
2991
+ // The realm of the user
2992
+ realm?: string;
2993
+ // The gender of the user
2994
+ gender?: 'male' | 'female' | 'non-binary';
2995
+ // The meta of the user
2996
+ meta?: ConsumerUserMeta;
2997
+ // The is of the user
2998
+ is?: ConsumerUserIs;
2999
+ // The permissions of the user
3000
+ permissions?: ConsumerScopes;
3001
+ // The location group of the user
3002
+ location_group?: string;
3003
+ // The ssoId of the user
3004
+ ssoId?: string;
3005
+ // The last accessed date of the user
3006
+ last_accessed?: string;
2957
3007
  }
2958
3008
 
2959
- export interface ConsumerMealplanAuth {
2960
- // mealplan auth webview configuration
2961
- webview?: ConsumerMealplanAuthWebview;
2962
- // mealplan auth direct configuration
2963
- direct?: ConsumerMealplanAuthDirect;
3009
+ export interface ConsumerCashlessTender {
3010
+ // Cashless tender balance
3011
+ balance?: number;
3012
+ // Cashless tender ID
3013
+ id?: string;
3014
+ // Cashless tender
3015
+ tender?: string;
3016
+ // Cashless tender name
3017
+ name?: string;
3018
+ // Cashless tender type
3019
+ type?: 'badge_pay' | 'stipend' | 'voucher' | 'coupon_voucher';
2964
3020
  }
2965
3021
 
2966
- export interface ConsumerGetMealplanResponse {
2967
- // list of mealplan tenders
2968
- tenders?: ConsumerTender[];
2969
- // mealplan auth configuration
2970
- auth?: ConsumerMealplanAuth;
3022
+ export interface ConsumerGetPaymentCashlessResponse {
3023
+ // list of cashless tenders
3024
+ tenders?: ConsumerCashlessTender[];
2971
3025
  }
2972
3026
 
2973
- export interface ConsumerGetMealplanBarcodeResponse {
2974
- // dynamic barcode ID for kiosk scan-and-pay
2975
- barcode_id?: string;
2976
- // list of mealplan tenders
2977
- tenders?: ConsumerTender[];
3027
+ export interface ConsumerGetPaymentClienttokenResponse {
3028
+ // Client token (BrainTree)
3029
+ clienttoken?: string;
3030
+ // Access token (FreedomPay)
3031
+ access_token?: string;
3032
+ // Bearer token (FreedomPay)
3033
+ token_type?: string;
3034
+ // Token expiry (FreedomPay)
3035
+ expires_in?: number;
2978
3036
  }
2979
3037
 
2980
- export interface ConsumerPostMealplanBody {
2981
- // mealplan username
2982
- username?: string;
2983
- // mealplan password
2984
- password?: string;
2985
- // Used for email domain validation, if enabled for current mealplan.
2986
- email?: string;
2987
- // mealplan language
2988
- lang?: string;
2989
- // mealplan skey
2990
- skey?: string;
3038
+ export interface ConsumerGetPaymentHpcResponse {
3039
+ // FreedomPay HPC iframe HTML
3040
+ iframe?: string;
3041
+ // Session key for subsequent HPC operations
3042
+ sessionKey?: string;
2991
3043
  }
2992
3044
 
2993
- export interface ConsumerPostMealplanResponse {
2994
- // list of mealplan tenders
2995
- tenders?: ConsumerTender[];
3045
+ export interface ConsumerGetPaymentTokenResponse {
3046
+ // Payment token
3047
+ token?: string;
3048
+ // Masked account number
3049
+ accountNumberMasked?: string;
3050
+ // Card expiration month
3051
+ cardExpirationMonth?: string;
3052
+ // Card expiration year
3053
+ cardExpirationYear?: string;
3054
+ // Card brand
3055
+ brand?: string;
3056
+ // POS card type
3057
+ posCardType?: string;
3058
+ // Card type
3059
+ cardType?: string;
3060
+ // Token expiration
3061
+ tokenExpiration?: string;
3062
+ // POS data
3063
+ posData?: string;
3064
+ // New token
3065
+ newToken?: string;
3066
+ // Session key
3067
+ sessionKey?: string;
2996
3068
  }
2997
3069
 
2998
- export interface ConsumerPostMealplanVerifyRequest {
2999
- // Email address to send verification to
3000
- email?: string;
3070
+ export interface TokenInfoDto {
3071
+ // Payment token
3072
+ token?: string;
3073
+ // Masked account number
3074
+ accountNumberMasked?: string;
3075
+ // Card expiration month
3076
+ cardExpirationMonth?: string;
3077
+ // Card expiration year
3078
+ cardExpirationYear?: string;
3079
+ // Card brand
3080
+ brand?: string;
3081
+ // POS card type
3082
+ posCardType?: string;
3083
+ // Card type
3084
+ cardType?: string;
3085
+ // Token expiration
3086
+ tokenExpiration?: string;
3087
+ // POS data
3088
+ posData?: string;
3089
+ // New token
3090
+ newToken?: string;
3091
+ // Session key
3092
+ sessionKey?: string;
3001
3093
  }
3002
3094
 
3003
- export interface ConsumerPostMealplanVerifyResponse {
3004
- // Verification email sent successfully
3005
- success?: boolean;
3095
+ export interface PostConsumerPaymentTokenBody {
3096
+ // Token information
3097
+ tokenInfo: TokenInfoDto;
3098
+ // Name on credit card
3099
+ nameOnCard: string;
3100
+ // CDL Site Id
3101
+ siteId: string;
3006
3102
  }
3007
3103
 
3008
- export interface GetConsumerAppConfigResponse {
3009
- // minimum version of the app
3010
- min?: string;
3011
- // url to the app store or play store
3012
- url?: string;
3104
+ export interface BillingAddressDto {
3105
+ // Postal code
3106
+ postalCode?: string;
3013
3107
  }
3014
3108
 
3015
- export interface PatchCheckinOrderResponseDTO {
3016
- // Order ID
3017
- id?: string;
3018
- // Brand/Station ID
3019
- location_brand?: string;
3020
- // Location/Site ID - only present for marketplace
3021
- location?: string;
3022
- // Shopping cart ID
3023
- shoppingcart?: string;
3024
- // Payment details
3025
- payment?: OrderPayment;
3026
- // Meal plan
3027
- mealplan?: OrderMealplan;
3028
- // Meal swipes
3029
- meal_swipes?: OrderMealSwipes;
3030
- // Meal exchange
3031
- meal_exchange?: OrderMealplan;
3032
- // User ID
3033
- customer?: string;
3034
- // Order status flags
3035
- is?: OrderIs;
3036
- // Order date info
3037
- date?: OrderDate;
3038
- // Pickup (deprecated)
3039
- pickup?: string;
3040
- // Pickup name (deprecated)
3041
- pickup_name?: string;
3042
- // Pickup ID (deprecated)
3043
- pickup_id?: string;
3044
- // Requested date
3045
- requested_date?: string;
3046
- // Order details
3047
- details?: OrderDetails;
3048
- // Order meta info
3049
- meta?: PlacedOrderMeta;
3050
- // Issue
3051
- issue?: OrderIssue;
3052
- // Past issues
3053
- past_issues?: OrderIssue[];
3054
- // Delivery user
3055
- runner?: string;
3056
- // Reorder eligibility
3057
- reorder_eligibility?:
3058
- | 'eligible'
3059
- | 'order_type_ineligible'
3060
- | 'location_ineligible'
3061
- | 'active_order'
3062
- | 'old_order'
3063
- | 'marketplace_order'
3064
- | 'duplicate_order'
3065
- | 'brand_unavailable'
3066
- | 'menu_unavailable'
3067
- | 'items_unavailable'
3068
- | 'refunded_order'
3069
- | 'modifiers_unavailable'
3070
- | 'modified_items'
3071
- | 'cancelled_order';
3072
- // Refunds
3073
- refunds?: OrderRefundItem[];
3074
- // Latest refunds
3075
- latest_refunds?: OrderRefundItem[];
3109
+ export interface PostConsumerPaymentTokenResponse {
3110
+ // Masked card number
3111
+ maskedCardNumber?: string;
3112
+ // Card type
3113
+ cardType?: string;
3114
+ // Card nickname
3115
+ nickname?: string;
3116
+ // Is preferred card
3117
+ isPreferred?: boolean;
3118
+ // Card expiry year
3119
+ expiryYear?: number;
3120
+ // Card expiry month
3121
+ expiryMonth?: number;
3122
+ // Name on card
3123
+ nameOnCard?: string;
3124
+ // Payment token
3125
+ token?: string;
3126
+ // Token expiration date
3127
+ tokenExpirationDate?: string;
3128
+ // Billing address
3129
+ billingAddress?: BillingAddressDto;
3076
3130
  }
3077
3131
 
3078
- export interface GetAppThemeResponse {
3079
- id: string;
3080
- seedColor: string;
3081
- dynamicSchemeVariant?: Record<string, any>;
3082
- logo?: string;
3132
+ export interface PromoDetails {
3133
+ code?: string;
3134
+ provider?: Record<string, any>;
3135
+ amount_off?: number;
3136
+ percent_off?: number;
3137
+ amount?: number;
3138
+ app?: string;
3139
+ provider_data?: Record<string, any>;
3140
+ order?: Record<string, any>;
3083
3141
  }
3084
3142
 
3085
- export interface GetConsumerLocationBrandMenuTimeslotsResponse {
3086
- // timeslots
3087
- timeslots?: ConsumerTimeslot[];
3143
+ export interface ConsumerIncentives {
3144
+ discounts?: Discounts;
3145
+ promo?: PromoDetails;
3146
+ stacked_total?: number;
3088
3147
  }
3089
3148
 
3090
- export interface GetConsumerLocationBrandMenuDeliveryTimeslotsResponse {
3091
- // timeslots
3092
- timeslots?: ConsumerTimeslot[];
3149
+ export interface GetConsumerShoppingCartResponse {
3150
+ id?: string;
3151
+ location?: string;
3152
+ menu?: string;
3153
+ brand?: string;
3154
+ date?: Record<string, any>;
3155
+ items?: ShoppingcartItem[];
3156
+ sub_total?: {
3157
+ amount?: number;
3158
+ };
3159
+ promo?: ShoppingcartPromoDetails;
3160
+ loyalty?: {
3161
+ coupon: {
3162
+ code?: string;
3163
+ amount_off?: number;
3164
+ amount?: number;
3165
+ name?: string;
3166
+ };
3167
+ order_loyalty_points?: boolean;
3168
+ };
3169
+ discount?: ShoppingcartPromoDetails;
3170
+ discounts?: {
3171
+ stacked_total?: number;
3172
+ stacked_discounts?: Record<string, any>[];
3173
+ app?: string;
3174
+ };
3175
+ payment_method?: ShoppingcartPaymentMethod;
3176
+ taxes?: ShoppingcartTaxes;
3177
+ total?: {
3178
+ amount?: number;
3179
+ meals?: number;
3180
+ };
3181
+ exemptions?: {
3182
+ tax?: boolean;
3183
+ };
3184
+ order?: {
3185
+ id?: string;
3186
+ };
3187
+ service_fee?: {
3188
+ amount?: number;
3189
+ };
3190
+ delivery_fee?: {
3191
+ amount?: number;
3192
+ };
3193
+ is?: {
3194
+ type?: Record<string, any>;
3195
+ mx_cart?: boolean;
3196
+ email_tax_exempt?: boolean;
3197
+ tax_calculation_required?: boolean;
3198
+ system365?: boolean;
3199
+ };
3200
+ incentives?: ConsumerIncentives;
3093
3201
  }
3094
3202
 
3095
- export interface ConsumerPublicMealplanConfig {
3096
- // The mealplan id
3203
+ export interface ConsumerMealplan {
3204
+ // The meal plan ID
3097
3205
  id?: string;
3098
- // The mealplan type
3206
+ // The meal plan tender
3207
+ tender?: string;
3208
+ // The meal plan total
3209
+ total?: number;
3210
+ // The meal plan type
3099
3211
  type?: string;
3100
- // The mealplan name
3101
- name?: string;
3102
- // The mealplan tenders
3103
- tenders?: ConsumerTender[];
3104
- // The mealplan valid email domains
3105
- valid_email_domains?: string[];
3106
- // The mealplan note
3107
- note?: Record<string, any>;
3108
3212
  }
3109
3213
 
3110
- export interface GetConsumerConfigPublicResponse {
3111
- // The mealplan config data
3112
- mealplan?: ConsumerPublicMealplanConfig[];
3113
- // The badge pay config data
3114
- badge_pay?: Record<string, any>;
3115
- // The chat enabled flag
3116
- chat_enabled?: Record<string, any>;
3117
- // The cashless config data
3118
- cashless?: Record<string, any>;
3119
- // The has kds config data
3120
- has_kds?: boolean;
3121
- // The runner app enabled flag
3122
- runner_app_enabled?: boolean;
3123
- // The show single timeslot flag
3124
- show_single_timeslot?: boolean;
3125
- // The is checkin enabled flag
3126
- is_checkin_enabled?: boolean;
3127
- // The block timeslot select flag
3128
- block_timeslot_select?: boolean;
3214
+ export interface ConsumerCreditCard {
3215
+ // The credit card type
3216
+ card_type?: string;
3217
+ // The last 4 digits of the card number
3218
+ last4?: string;
3219
+ // The credit card total
3220
+ total?: number;
3221
+ // The credit card type
3222
+ type?: string;
3129
3223
  }
3130
3224
 
3131
- export interface ConsumerPutMealplanBody {
3132
- // user token
3133
- token: string;
3225
+ export interface ConsumerDigitalWalletPay {
3226
+ // The digital wallet type
3227
+ wallet_type?: string;
3228
+ // The digital wallet total
3229
+ total: number;
3230
+ // The digital wallet type
3231
+ type: string;
3134
3232
  }
3135
3233
 
3136
- export interface ConsumerPutMealplanResponse {
3137
- // list of mealplan tenders
3138
- tenders?: ConsumerTender[];
3234
+ export interface ConsumerMealSwipes {
3235
+ // The meal swipes ID
3236
+ id?: string;
3237
+ // The meal swipes tender
3238
+ tender?: string;
3239
+ // The meal swipes tender type
3240
+ tender_type?: string;
3241
+ // The meal swipes tender name
3242
+ tender_name?: string;
3243
+ // The meal swipes swipes
3244
+ swipes?: number;
3245
+ // The meal swipes rate
3246
+ rate?: number;
3247
+ // The meal swipes total
3248
+ total?: number;
3249
+ // The meal swipes type
3250
+ type?: string;
3139
3251
  }
3140
3252
 
3141
- export interface PutConsumerShoppingCartPromoRequestDto {
3142
- // The promo code to apply to the shopping cart
3143
- code?: string;
3144
- // The email to apply to the shopping cart
3145
- email?: string;
3146
- // The associated brands for the reward code for the reward programs
3147
- associated_brands?: string[];
3253
+ export interface ConsumerMealExchange {
3254
+ // The meal exchange ID
3255
+ id?: string;
3256
+ // The meal exchange tender
3257
+ tender?: string;
3258
+ // The meal exchange type
3259
+ type?: string;
3148
3260
  }
3149
3261
 
3150
- export interface DeleteConsumerShoppingcartCartItemsBody {
3151
- // items
3152
- items: ConsumerItemRequest[];
3262
+ export interface PutConsumerShoppingCartPaymentRequestDto {
3263
+ // The email to apply to the shopping cart
3264
+ email?: string;
3265
+ // The meal plan to apply to the shopping cart
3266
+ mealplan?: ConsumerMealplan;
3267
+ // The credit card to apply to the shopping cart
3268
+ credit_card?: ConsumerCreditCard;
3269
+ // The digital wallet pay to apply to the shopping cart
3270
+ digital_wallet_pay?: ConsumerDigitalWalletPay;
3271
+ // The meal swipes to apply to the shopping cart
3272
+ meal_swipes?: ConsumerMealSwipes;
3273
+ // The meal exchange to apply to the shopping cart
3274
+ meal_exchange?: ConsumerMealExchange;
3275
+ // The badge pay to apply to the shopping cart
3276
+ badge_pay?: ConsumerCashlessTender;
3277
+ // The stipend to apply to the shopping cart
3278
+ voucher?: ConsumerCashlessTender;
3279
+ // The coupon voucher to apply to the shopping cart
3280
+ coupon_voucher?: ConsumerCashlessTender;
3281
+ // The stipend to apply to the shopping cart
3282
+ stipend?: ConsumerCashlessTender;
3153
3283
  }
3154
3284
 
3155
- export interface DeleteConsumerShoppingCartResponse {
3285
+ export interface PutConsumerShoppingCartResponse {
3156
3286
  id?: string;
3157
3287
  location?: string;
3158
3288
  menu?: string;
@@ -3163,6 +3293,15 @@ export interface DeleteConsumerShoppingCartResponse {
3163
3293
  amount?: number;
3164
3294
  };
3165
3295
  promo?: ShoppingcartPromoDetails;
3296
+ loyalty?: {
3297
+ coupon: {
3298
+ code?: string;
3299
+ amount_off?: number;
3300
+ amount?: number;
3301
+ name?: string;
3302
+ };
3303
+ order_loyalty_points?: boolean;
3304
+ };
3166
3305
  discount?: ShoppingcartPromoDetails;
3167
3306
  discounts?: {
3168
3307
  stacked_total?: number;
@@ -3197,37 +3336,100 @@ export interface DeleteConsumerShoppingCartResponse {
3197
3336
  incentives?: ConsumerIncentives;
3198
3337
  }
3199
3338
 
3200
- export interface PatchConsumerShoppingCartRequest {
3201
- id?: string;
3339
+ export interface ConsumerLabel {
3340
+ en?: string;
3341
+ fr?: string;
3342
+ }
3343
+
3344
+ export interface ConsumerModifierSizingInner {
3345
+ name?: string;
3346
+ price?: number;
3347
+ posid?: string;
3348
+ }
3349
+
3350
+ export interface ConsumerModifierRequestMeta {
3351
+ sizing?: ConsumerModifierSizingInner[];
3352
+ }
3353
+
3354
+ export interface ConsumerPrice {
3355
+ amount?: number;
3356
+ }
3357
+
3358
+ export interface ConsumerModifierRequest {
3359
+ id?: string;
3360
+ label?: ConsumerLabel;
3361
+ _index?: string;
3362
+ quantity?: number;
3363
+ amount_off_exclusions?: Record<string, any>[];
3364
+ meta?: ConsumerModifierRequestMeta;
3365
+ isSelected?: boolean;
3366
+ parentLabel?: ConsumerLabel;
3367
+ price?: ConsumerPrice;
3368
+ }
3369
+
3370
+ export interface ConsumerModifierGroupRequest {
3371
+ label?: ConsumerLabel;
3372
+ id?: string;
3373
+ items?: ConsumerModifierRequest[];
3374
+ }
3375
+
3376
+ export interface ConsumerItemRequestMeta {
3377
+ brand?: string;
3378
+ brand_label?: ConsumerLabel;
3379
+ menu?: string;
3380
+ barcodes?: string[];
3381
+ plu?: string;
3382
+ }
3383
+
3384
+ export interface ConsumerItemRequest {
3385
+ id: string;
3386
+ quantity: number;
3387
+ quantity_by_weight?: {
3388
+ unit?: string;
3389
+ value?: number;
3390
+ };
3391
+ options?: ConsumerModifierGroupRequest[];
3392
+ _index?: string;
3393
+ special_instructions?: string;
3394
+ meta?: ConsumerItemRequestMeta;
3395
+ amount_off_exclusions?: Record<string, any>[];
3396
+ }
3397
+
3398
+ export interface PutConsumerShoppingCartItemsRequest {
3399
+ items?: ConsumerItemRequest[];
3400
+ }
3401
+
3402
+ export interface PostConsumerRecommendedRequest {
3403
+ // excluded items
3404
+ excludedItems: string[];
3405
+ }
3406
+
3407
+ export interface ConsumerRecommendedItem {
3408
+ // item
3409
+ item: ConsumerItem;
3410
+ station_name?: string;
3411
+ menu_id?: string;
3412
+ brand_id?: string;
3413
+ }
3414
+
3415
+ export interface PostConsumerRecommendedResponse {
3416
+ // items
3417
+ items: ConsumerRecommendedItem[];
3418
+ }
3419
+
3420
+ export interface PostConsumerShoppingCartBodyRequest {
3202
3421
  location?: string;
3203
3422
  menu?: string;
3204
3423
  brand?: string;
3205
- date?: Record<string, any>;
3206
- items?: ShoppingcartItem[];
3207
- sub_total?: {
3208
- amount?: number;
3209
- };
3210
- promo?: PromoDetails;
3211
- discount?: PromoDetails;
3212
- discounts?: Discounts;
3424
+ promo?: ShoppingcartPromoDetails;
3425
+ discount?: ShoppingcartPromoDetails;
3213
3426
  payment_method?: ShoppingcartPaymentMethod;
3214
3427
  taxes?: ShoppingcartTaxes;
3215
- total?: {
3216
- amount?: number;
3217
- meals?: number;
3218
- };
3219
3428
  exemptions?: {
3220
3429
  tax?: boolean;
3221
3430
  };
3222
- order?: {
3223
- id?: string;
3224
- };
3225
- service_fee?: {
3226
- amount?: number;
3227
- };
3228
- delivery_fee?: {
3229
- amount?: number;
3230
- };
3431
+ service_fee?: ShoppingcartMonetaryValue;
3432
+ delivery_fee?: ShoppingcartMonetaryValue;
3231
3433
  is?: {
3232
3434
  type?: Record<string, any>;
3233
3435
  mx_cart?: boolean;
@@ -3235,10 +3437,13 @@ export interface PatchConsumerShoppingCartRequest {
3235
3437
  tax_calculation_required?: boolean;
3236
3438
  system365?: boolean;
3237
3439
  };
3238
- incentives?: ConsumerIncentives;
3440
+ meta?: {
3441
+ vendor?: Record<string, any>;
3442
+ [index: string]: any;
3443
+ };
3239
3444
  }
3240
3445
 
3241
- export interface PatchConsumerShoppingCartResponse {
3446
+ export interface PostConsumerShoppingCartResponse {
3242
3447
  id?: string;
3243
3448
  location?: string;
3244
3449
  menu?: string;
@@ -3249,6 +3454,15 @@ export interface PatchConsumerShoppingCartResponse {
3249
3454
  amount?: number;
3250
3455
  };
3251
3456
  promo?: ShoppingcartPromoDetails;
3457
+ loyalty?: {
3458
+ coupon: {
3459
+ code?: string;
3460
+ amount_off?: number;
3461
+ amount?: number;
3462
+ name?: string;
3463
+ };
3464
+ order_loyalty_points?: boolean;
3465
+ };
3252
3466
  discount?: ShoppingcartPromoDetails;
3253
3467
  discounts?: {
3254
3468
  stacked_total?: number;
@@ -3283,795 +3497,964 @@ export interface PatchConsumerShoppingCartResponse {
3283
3497
  incentives?: ConsumerIncentives;
3284
3498
  }
3285
3499
 
3286
- export interface PostConsumerShoppingCartCloneBodyRequest {
3287
- // menu id
3288
- menu: string;
3289
- // order type
3290
- order_type: string;
3291
- // array of item indexes that should be cloned
3292
- items_to_clone: string[];
3500
+ export interface PostConsumerPromoValidateRequest {
3501
+ // The code of the promo voucher
3502
+ code?: string;
3503
+ // The customer ID
3504
+ customer_id?: string;
3505
+ // The email of the customer
3506
+ email?: string;
3507
+ // The app of the customer
3508
+ app?: string;
3509
+ // The realm of the customer
3510
+ realm?: string;
3511
+ // The location brand of the customer
3512
+ location_brand?: string;
3513
+ shoppingcart?: {
3514
+ id?: string;
3515
+ date_created?: string;
3516
+ items?: ShoppingcartItem[];
3517
+ };
3518
+ totals?: {
3519
+ amount?: number;
3520
+ currency?: string;
3521
+ };
3293
3522
  }
3294
3523
 
3295
- export interface PostCustomerRewardsBodyDTO {
3296
- // The shoppingcart brands
3297
- shoppingcartBrands?: string[];
3524
+ export interface ConsumerAppliedDiscount {
3525
+ type?: string;
3526
+ amount_off?: number;
3527
+ percent_off?: number;
3528
+ amount_limit?: number;
3298
3529
  }
3299
3530
 
3300
- export interface ConsumerRewardWindowDTO {
3301
- // campaign start date
3302
- startsAt: string;
3303
- // campaign end date
3304
- endsAt: string;
3531
+ export interface RedeemableResult {
3532
+ discount?: ConsumerAppliedDiscount;
3305
3533
  }
3306
3534
 
3307
- export interface ConsumerNextRewardDTO {
3308
- // required points to earn the next reward
3309
- requiredPoints: number;
3310
- // progress towards the next reward
3311
- progress: number;
3535
+ export interface RedeemableOrder {
3536
+ total_applied_discount_amount?: number;
3312
3537
  }
3313
3538
 
3314
- export interface ConsumerRewardDiscountDTO {
3315
- // discount type
3316
- type: 'AMOUNT_OFF' | 'PERCENT_OFF';
3317
- // percentage off for the discount
3318
- percentOff?: number;
3319
- // amount off for the discount
3320
- amountOff?: number;
3539
+ export interface ConsumerRedeemable {
3540
+ status: string;
3541
+ id: string;
3542
+ object: Record<string, any>;
3543
+ result?: RedeemableResult;
3544
+ order?: RedeemableOrder;
3321
3545
  }
3322
3546
 
3323
- export interface ConsumerRewardDTO {
3324
- // voucher id
3325
- voucherId: string;
3326
- // voucher code
3327
- voucherCode: string;
3328
- // campaign id
3329
- campaignId?: string;
3330
- // reward name
3331
- name: string;
3332
- // reward description
3333
- description?: string;
3334
- discount: ConsumerRewardDiscountDTO;
3335
- // when the voucher was issued
3336
- issuedAt: string;
3337
- // points required for this reward
3338
- requiredPoints: number;
3547
+ export interface ConsumerVoucher {
3548
+ provider?: Record<string, any>;
3549
+ code?: string;
3550
+ valid?: boolean;
3551
+ discount?: ConsumerAppliedDiscount;
3552
+ app?: string;
3553
+ provider_data?: ShoppingcartFPValidationData;
3554
+ stacked_total?: number;
3555
+ redeemables?: ConsumerRedeemable[];
3556
+ stacked_vouchers?: ConsumerRedeemable[];
3557
+ inapplicable_redeemables?: ConsumerRedeemable[];
3558
+ }
3559
+
3560
+ export interface PromoRedeemShoppingcart {
3561
+ // The shopping cart ID
3562
+ id?: string;
3563
+ // The date the shopping cart was created
3564
+ date_created?: string;
3565
+ // Items in the shopping cart
3566
+ items?: Record<string, any>[];
3567
+ }
3568
+
3569
+ export interface PromoRedeemTotals {
3570
+ // The total amount
3571
+ amount?: number;
3572
+ // The discount amount
3573
+ discount?: number;
3574
+ // The currency code
3575
+ currency?: string;
3576
+ }
3577
+
3578
+ export interface PostConsumerPromoRedeemRequest {
3579
+ // The promo code to redeem
3580
+ code: string;
3581
+ // The email of the customer
3582
+ email?: string;
3583
+ // The app of the customer
3584
+ app?: string;
3585
+ // The realm of the customer
3586
+ realm?: string;
3587
+ // The location brand of the customer
3588
+ location_brand?: string;
3589
+ // The customer ID
3590
+ customer_id?: string;
3591
+ // The order ID
3592
+ order_id?: string;
3593
+ // The brand ID
3594
+ brand_id?: string;
3595
+ // The site ID
3596
+ site_id?: string;
3597
+ // The payment request ID
3598
+ payment_request_id?: string;
3599
+ // The shopping cart details
3600
+ shoppingcart?: PromoRedeemShoppingcart;
3601
+ // The order totals
3602
+ totals?: PromoRedeemTotals;
3603
+ }
3604
+
3605
+ export interface ConsumerRedemption {
3606
+ // The unique identifier of the redemption
3607
+ id?: string;
3608
+ // The date of redemption
3609
+ date?: string;
3610
+ // The result of the redemption
3611
+ result?: boolean;
3612
+ // The promo code that was redeemed
3613
+ code?: string;
3614
+ // The discount applied
3615
+ discount?: ConsumerAppliedDiscount;
3616
+ // The type of redemption
3617
+ type?: string;
3618
+ // The app where the redemption occurred
3619
+ app?: string;
3620
+ }
3621
+
3622
+ export interface ConsumerTenderIs {
3623
+ // tender is validated or not by the user
3624
+ validated?: boolean;
3625
+ // tender is supports split tender or not
3626
+ supports_split_tender?: boolean;
3627
+ }
3628
+
3629
+ export interface ConsumerTender {
3630
+ // tender id
3631
+ id?: string;
3632
+ // tender name
3633
+ name?: string;
3634
+ // tender balance
3635
+ balance?: number;
3636
+ // tender amount
3637
+ amount?: number;
3638
+ // tender type
3639
+ type?: string;
3640
+ // tender is
3641
+ is?: ConsumerTenderIs;
3642
+ // tender currency
3643
+ currency?: string;
3644
+ }
3645
+
3646
+ export interface ConsumerMealplanAuthWebview {
3647
+ // mealplan auth webview url
3648
+ url?: string;
3649
+ // mealplan auth webview method
3650
+ method?: string;
3651
+ // mealplan auth webview encoding
3652
+ encoding?: string;
3653
+ // mealplan auth webview body
3654
+ body?: Record<string, any>;
3655
+ }
3656
+
3657
+ export interface ConsumerMealplanAuthDirectName {
3658
+ // mealplan auth direct name
3659
+ en?: string;
3660
+ }
3661
+
3662
+ export interface ConsumerMealplanAuthDirectDescription {
3663
+ // mealplan auth direct description
3664
+ en?: string;
3665
+ }
3666
+
3667
+ export interface ConsumerMealplanAuthDirectUsernameField {
3668
+ // mealplan auth direct username field
3669
+ en?: string;
3670
+ }
3671
+
3672
+ export interface ConsumerMealplanAuthDirectPasswordField {
3673
+ // mealplan auth direct password field
3674
+ en?: string;
3675
+ }
3676
+
3677
+ export interface ConsumerMealplanAuthDirectEmailField {
3678
+ // mealplan auth direct email field
3679
+ en?: string;
3680
+ }
3681
+
3682
+ export interface ConsumerMealplanAuthDirect {
3683
+ // mealplan auth direct name
3684
+ name?: ConsumerMealplanAuthDirectName;
3685
+ // mealplan auth direct description
3686
+ description?: ConsumerMealplanAuthDirectDescription;
3687
+ // mealplan auth direct username field
3688
+ username_field?: ConsumerMealplanAuthDirectUsernameField;
3689
+ // mealplan auth direct password field
3690
+ password_field?: ConsumerMealplanAuthDirectPasswordField;
3691
+ // mealplan auth direct email field
3692
+ email_field?: ConsumerMealplanAuthDirectEmailField;
3693
+ // mealplan auth direct username value
3694
+ username_value?: string;
3695
+ // mealplan auth direct email value
3696
+ email_value?: string;
3339
3697
  }
3340
3698
 
3341
- export interface ConsumerRewardCampaignDTO {
3342
- // campaign id
3343
- campaignId: string;
3344
- // campaign name
3345
- name: string;
3346
- // campaign description
3347
- description?: string;
3348
- // associated brands with the campaign
3349
- associatedBrands?: string[];
3350
- // campaign status
3351
- active: boolean;
3352
- window: ConsumerRewardWindowDTO;
3353
- // number of points the customer has earned for this campaign
3354
- customerPoints: number;
3355
- nextReward: ConsumerNextRewardDTO;
3356
- // campaign rewards
3357
- rewards: ConsumerRewardDTO[];
3699
+ export interface ConsumerMealplanAuth {
3700
+ // mealplan auth webview configuration
3701
+ webview?: ConsumerMealplanAuthWebview;
3702
+ // mealplan auth direct configuration
3703
+ direct?: ConsumerMealplanAuthDirect;
3358
3704
  }
3359
3705
 
3360
- export interface PostCustomerRewardsResponseDTO {
3361
- // customer id
3362
- customerId: string;
3363
- // site id
3364
- siteId: string;
3365
- // total number of rewards
3366
- rewardCount: number;
3367
- // eligible campaigns
3368
- campaigns: ConsumerRewardCampaignDTO[];
3706
+ export interface ConsumerGetMealplanResponse {
3707
+ // list of mealplan tenders
3708
+ tenders?: ConsumerTender[];
3709
+ // mealplan auth configuration
3710
+ auth?: ConsumerMealplanAuth;
3369
3711
  }
3370
3712
 
3371
- export interface PostConsumerUserVerificationResponse {
3372
- success: boolean;
3713
+ export interface ConsumerGetMealplanBarcodeResponse {
3714
+ // dynamic barcode ID for kiosk scan-and-pay
3715
+ barcode_id?: string;
3716
+ // list of mealplan tenders
3717
+ tenders?: ConsumerTender[];
3373
3718
  }
3374
3719
 
3375
- export interface PostConsumerUserCaptchaRequest {
3376
- // The email of the user
3377
- email?: string;
3378
- // The name of the user
3379
- name?: ConsumerUserName;
3380
- // The date of the user
3381
- date?: ConsumerUserDate;
3382
- // The birthday of the user
3383
- birthday?: string;
3384
- // The password of the user
3720
+ export interface ConsumerPostMealplanBody {
3721
+ // mealplan username
3722
+ username?: string;
3723
+ // mealplan password
3385
3724
  password?: string;
3386
- // The phone of the user
3387
- phone?: number;
3388
- // The phone country code of the user
3389
- phone_country_code?: string;
3390
- // The realm of the user
3391
- realm: string;
3392
- // The gender of the user
3393
- gender?: Record<string, any>;
3394
- // The meta of the user
3395
- meta?: ConsumerUserMeta;
3396
- // The is of the user
3397
- is?: ConsumerUserIs;
3398
- // The permissions of the user
3399
- permissions?: ConsumerScopes;
3400
- // The location group of the user
3401
- location_group?: string;
3402
- // The ssoId of the user
3403
- ssoId?: string;
3404
- }
3405
-
3406
- export interface PostConsumerUserCaptchaResponse {
3407
- // The ID of the user
3408
- id: string;
3409
- // The email of the user
3410
- email: string;
3411
- // The name of the user
3412
- name?: ConsumerUserName;
3413
- // The date of the user
3414
- date?: ConsumerUserDate;
3415
- // The birthday of the user
3416
- birthday?: string;
3417
- // The phone of the user
3418
- phone?: number;
3419
- // The phone country code of the user
3420
- phone_country_code?: string;
3421
- // The realm of the user
3422
- realm?: string;
3423
- // The gender of the user
3424
- gender?: Record<string, any>;
3425
- // The meta of the user
3426
- meta?: ConsumerUserMeta;
3427
- // The is of the user
3428
- is?: ConsumerUserIs;
3429
- // The permissions of the user
3430
- permissions?: ConsumerScopes;
3431
- // The location group of the user
3432
- location_group?: string;
3433
- // The ssoId of the user
3434
- ssoId?: string;
3725
+ // Used for email domain validation, if enabled for current mealplan.
3726
+ email?: string;
3727
+ // mealplan language
3728
+ lang?: string;
3729
+ // mealplan skey
3730
+ skey?: string;
3435
3731
  }
3436
3732
 
3437
- export interface PostConsumerUserGuestTokenRequest {
3438
- // The realm of the user
3439
- realm?: string;
3733
+ export interface ConsumerPostMealplanResponse {
3734
+ // list of mealplan tenders
3735
+ tenders?: ConsumerTender[];
3440
3736
  }
3441
3737
 
3442
- export interface PostConsumerUserGuestTokenResponse {
3443
- // The token of the user
3444
- token: string;
3445
- access: {
3446
- token?: string;
3447
- expires?: string;
3448
- };
3738
+ export interface ConsumerPostMealplanVerifyRequest {
3739
+ // Email address to send verification to
3740
+ email?: string;
3449
3741
  }
3450
3742
 
3451
- export interface PostConsumerUserGuestRequest {
3452
- // The realm of the user
3453
- realm: string;
3454
- // The email of the user
3455
- email: string;
3456
- // The name of the user
3457
- name: ConsumerUserName;
3743
+ export interface ConsumerPostMealplanVerifyResponse {
3744
+ // Verification email sent successfully
3745
+ success?: boolean;
3458
3746
  }
3459
3747
 
3460
- export interface GuestUserAccess {
3461
- // Access token
3462
- token?: string;
3463
- // Token expiry date
3464
- expires?: string;
3748
+ export interface GetConsumerAppConfigResponse {
3749
+ // minimum version of the app
3750
+ min?: string;
3751
+ // url to the app store or play store
3752
+ url?: string;
3465
3753
  }
3466
3754
 
3467
- export interface GuestUserProfile {
3468
- // The ID of the user
3755
+ export interface PatchCheckinOrderResponseDTO {
3756
+ // Order ID
3469
3757
  id?: string;
3470
- // The email of the user
3471
- email?: string;
3472
- // The name of the user
3473
- name?: ConsumerUserName;
3474
- // The date of the user
3475
- date?: ConsumerUserDate;
3476
- // The birthday of the user
3477
- birthday?: string;
3478
- // The password of the user
3479
- password?: string;
3480
- // The phone of the user
3481
- phone?: number;
3482
- // The phone country code of the user
3483
- phone_country_code?: string;
3484
- // The realm of the user
3485
- realm?: string;
3486
- // The gender of the user
3487
- gender?: 'male' | 'female' | 'non-binary';
3488
- // The meta of the user
3489
- meta?: ConsumerUserMeta;
3490
- // Quick boolean details for the user
3491
- is?: ConsumerUserIs;
3492
- // The permissions of the user
3493
- permissions?: ConsumerScopes;
3494
- // The location group of the user
3495
- location_group?: string;
3496
- // The ssoId of the user
3497
- ssoId?: string;
3498
- // The last accessed date of the user
3499
- last_accessed?: string;
3758
+ // Brand/Station ID
3759
+ location_brand?: string;
3760
+ // Location/Site ID - only present for marketplace
3761
+ location?: string;
3762
+ // Shopping cart ID
3763
+ shoppingcart?: string;
3764
+ // Payment details
3765
+ payment?: OrderPayment;
3766
+ // Meal plan
3767
+ mealplan?: OrderMealplan;
3768
+ // Meal swipes
3769
+ meal_swipes?: OrderMealSwipes;
3770
+ // Meal exchange
3771
+ meal_exchange?: OrderMealplan;
3772
+ // User ID
3773
+ customer?: string;
3774
+ // Order status flags
3775
+ is?: OrderIs;
3776
+ // Order date info
3777
+ date?: OrderDate;
3778
+ // Pickup (deprecated)
3779
+ pickup?: string;
3780
+ // Pickup name (deprecated)
3781
+ pickup_name?: string;
3782
+ // Pickup ID (deprecated)
3783
+ pickup_id?: string;
3784
+ // Requested date
3785
+ requested_date?: string;
3786
+ // Order details
3787
+ details?: OrderDetails;
3788
+ // Order meta info
3789
+ meta?: PlacedOrderMeta;
3790
+ // Issue
3791
+ issue?: OrderIssue;
3792
+ // Past issues
3793
+ past_issues?: OrderIssue[];
3794
+ // Delivery user
3795
+ runner?: string;
3796
+ // Reorder eligibility
3797
+ reorder_eligibility?:
3798
+ | 'eligible'
3799
+ | 'order_type_ineligible'
3800
+ | 'location_ineligible'
3801
+ | 'active_order'
3802
+ | 'old_order'
3803
+ | 'marketplace_order'
3804
+ | 'duplicate_order'
3805
+ | 'brand_unavailable'
3806
+ | 'menu_unavailable'
3807
+ | 'items_unavailable'
3808
+ | 'refunded_order'
3809
+ | 'modifiers_unavailable'
3810
+ | 'modified_items'
3811
+ | 'cancelled_order';
3812
+ // Refunds
3813
+ refunds?: OrderRefundItem[];
3814
+ // Latest refunds
3815
+ latest_refunds?: OrderRefundItem[];
3500
3816
  }
3501
3817
 
3502
- export interface PostConsumerUserGuestResponse {
3503
- // @deprecated
3504
- token?: string;
3505
- // The access information of the guest user
3506
- access?: GuestUserAccess;
3507
- // The user ID of the guest user
3508
- user?: string;
3509
- // The profile of the guest user
3510
- profile?: GuestUserProfile;
3818
+ export interface GetAppThemeResponse {
3819
+ id: string;
3820
+ seedColor: string;
3821
+ dynamicSchemeVariant?: Record<string, any>;
3822
+ logo?: string;
3511
3823
  }
3512
3824
 
3513
- export interface OpenAiToolCallFunction {
3514
- // The name of the function
3515
- name: string;
3516
- // The arguments of the function
3517
- arguments: string;
3825
+ export interface GetConsumerLocationBrandMenuTimeslotsResponse {
3826
+ // timeslots
3827
+ timeslots?: ConsumerTimeslot[];
3518
3828
  }
3519
3829
 
3520
- export interface OpenAiChatToolCall {
3521
- // The ID of the tool call
3522
- id: string;
3523
- // The type of the tool call
3524
- type: string;
3525
- // The function that was called
3526
- function: OpenAiToolCallFunction;
3830
+ export interface GetConsumerLocationBrandMenuDeliveryTimeslotsResponse {
3831
+ // timeslots
3832
+ timeslots?: ConsumerTimeslot[];
3527
3833
  }
3528
3834
 
3529
- export interface OpenAiChatMessage {
3530
- // The role of the message
3531
- role: 'developer' | 'system' | 'user' | 'assistant' | 'tool' | 'function';
3532
- // The content of the message
3533
- content?: Record<string, any>;
3534
- // The name of the message
3835
+ export interface ConsumerPublicMealplanConfig {
3836
+ // The mealplan id
3837
+ id?: string;
3838
+ // The mealplan type
3839
+ type?: string;
3840
+ // The mealplan name
3535
3841
  name?: string;
3536
- // The tool calls of the message
3537
- toolCalls?: OpenAiChatToolCall[];
3538
- // The tool call ID (for tool role messages)
3539
- toolCallId?: string;
3842
+ // The mealplan tenders
3843
+ tenders?: ConsumerTender[];
3844
+ // The mealplan valid email domains
3845
+ valid_email_domains?: string[];
3846
+ // The mealplan note
3847
+ note?: Record<string, any>;
3540
3848
  }
3541
3849
 
3542
- export interface OpenAiChatBody {
3543
- // The model to use for the chat completion
3544
- model: string;
3545
- // The messages to send to the chat completion
3546
- messages: OpenAiChatMessage[];
3547
- // The tools to use for the chat completion
3548
- tools: Record<string, any>[];
3549
- // The tool choices to use for the chat completion
3550
- tool_choice: Record<string, any>;
3551
- // The temperature to use for the chat completion
3552
- temperature: number;
3553
- // The max tokens to use for the chat completion
3554
- max_tokens: number;
3850
+ export interface GetConsumerConfigPublicResponse {
3851
+ // The mealplan config data
3852
+ mealplan?: ConsumerPublicMealplanConfig[];
3853
+ // The badge pay config data
3854
+ badge_pay?: Record<string, any>;
3855
+ // The chat enabled flag
3856
+ chat_enabled?: Record<string, any>;
3857
+ // The cashless config data
3858
+ cashless?: Record<string, any>;
3859
+ // The has kds config data
3860
+ has_kds?: boolean;
3861
+ // The runner app enabled flag
3862
+ runner_app_enabled?: boolean;
3863
+ // The show single timeslot flag
3864
+ show_single_timeslot?: boolean;
3865
+ // The is checkin enabled flag
3866
+ is_checkin_enabled?: boolean;
3867
+ // The block timeslot select flag
3868
+ block_timeslot_select?: boolean;
3555
3869
  }
3556
3870
 
3557
- export interface OpenAiChatChoice {
3558
- // The index of the choice
3559
- index: number;
3560
- // The message of the choice
3561
- message: OpenAiChatMessage;
3562
- // The finish reason of the choice
3563
- finishReason: string;
3871
+ export interface ConsumerPutMealplanBody {
3872
+ // user token
3873
+ token: string;
3564
3874
  }
3565
3875
 
3566
- export interface OpenAiChatResponse {
3567
- // The id of the chat completion
3568
- id: string;
3569
- // The object of the chat completion
3570
- object: string;
3571
- // The created at of the chat completion
3572
- created: number;
3573
- // The model of the chat completion
3574
- model: string;
3575
- // The choices of the chat completion
3576
- choices: OpenAiChatChoice[];
3876
+ export interface ConsumerPutMealplanResponse {
3877
+ // list of mealplan tenders
3878
+ tenders?: ConsumerTender[];
3577
3879
  }
3578
3880
 
3579
- export interface PostPaymentValidateMerchantBody {
3580
- // Validation URL
3581
- validation_url: string;
3582
- // Display name
3583
- display_name: string;
3881
+ export interface PutConsumerShoppingCartPromoRequestDto {
3882
+ // The promo code to apply to the shopping cart
3883
+ code?: string;
3884
+ // The email to apply to the shopping cart
3885
+ email?: string;
3886
+ // The associated brands for the reward code for the reward programs
3887
+ associated_brands?: string[];
3584
3888
  }
3585
3889
 
3586
- export interface MerchantSessionResponse {
3587
- // Epoch timestamp
3588
- epochTimestamp: number;
3589
- // Expires at
3590
- expiresAt: number;
3591
- // Nonce
3592
- nonce: string;
3593
- // Merchant identifier
3594
- merchantIdentifier: string;
3595
- // Merchant session identifier
3596
- merchantSessionIdentifier: string;
3597
- // Operational analytics identifier
3598
- operationalAnalyticsIdentifier: string;
3599
- // Domain name
3600
- domainName: string;
3601
- // Display name
3602
- displayName: string;
3603
- // Signature
3604
- signature: string;
3605
- // Retries
3606
- retries: number;
3607
- // PSP ID
3608
- pspId: string;
3890
+ export interface DeleteConsumerShoppingcartCartItemsBody {
3891
+ // items
3892
+ items: ConsumerItemRequest[];
3609
3893
  }
3610
3894
 
3611
- export interface PostPaymentValidateMerchantResponse {
3612
- // Merchant session
3613
- merchant_session: MerchantSessionResponse;
3895
+ export interface DeleteConsumerShoppingCartResponse {
3896
+ id?: string;
3897
+ location?: string;
3898
+ menu?: string;
3899
+ brand?: string;
3900
+ date?: Record<string, any>;
3901
+ items?: ShoppingcartItem[];
3902
+ sub_total?: {
3903
+ amount?: number;
3904
+ };
3905
+ promo?: ShoppingcartPromoDetails;
3906
+ discount?: ShoppingcartPromoDetails;
3907
+ discounts?: {
3908
+ stacked_total?: number;
3909
+ stacked_discounts?: Record<string, any>[];
3910
+ app?: string;
3911
+ };
3912
+ payment_method?: ShoppingcartPaymentMethod;
3913
+ taxes?: ShoppingcartTaxes;
3914
+ total?: {
3915
+ amount?: number;
3916
+ meals?: number;
3917
+ };
3918
+ exemptions?: {
3919
+ tax?: boolean;
3920
+ };
3921
+ order?: {
3922
+ id?: string;
3923
+ };
3924
+ service_fee?: {
3925
+ amount?: number;
3926
+ };
3927
+ delivery_fee?: {
3928
+ amount?: number;
3929
+ };
3930
+ is?: {
3931
+ type?: Record<string, any>;
3932
+ mx_cart?: boolean;
3933
+ email_tax_exempt?: boolean;
3934
+ tax_calculation_required?: boolean;
3935
+ system365?: boolean;
3936
+ };
3937
+ incentives?: ConsumerIncentives;
3614
3938
  }
3615
3939
 
3616
- export interface ConsumerPostPaymentCashlessBody {
3617
- // Token
3618
- token: string;
3940
+ export interface PatchConsumerShoppingCartRequest {
3941
+ id?: string;
3942
+ location?: string;
3943
+ menu?: string;
3944
+ brand?: string;
3945
+ date?: Record<string, any>;
3946
+ items?: ShoppingcartItem[];
3947
+ sub_total?: {
3948
+ amount?: number;
3949
+ };
3950
+ promo?: PromoDetails;
3951
+ discount?: PromoDetails;
3952
+ discounts?: Discounts;
3953
+ payment_method?: ShoppingcartPaymentMethod;
3954
+ taxes?: ShoppingcartTaxes;
3955
+ total?: {
3956
+ amount?: number;
3957
+ meals?: number;
3958
+ };
3959
+ exemptions?: {
3960
+ tax?: boolean;
3961
+ };
3962
+ order?: {
3963
+ id?: string;
3964
+ };
3965
+ service_fee?: {
3966
+ amount?: number;
3967
+ };
3968
+ delivery_fee?: {
3969
+ amount?: number;
3970
+ };
3971
+ is?: {
3972
+ type?: Record<string, any>;
3973
+ mx_cart?: boolean;
3974
+ email_tax_exempt?: boolean;
3975
+ tax_calculation_required?: boolean;
3976
+ system365?: boolean;
3977
+ };
3978
+ incentives?: ConsumerIncentives;
3979
+ }
3980
+
3981
+ export interface PatchConsumerShoppingCartResponse {
3982
+ id?: string;
3983
+ location?: string;
3984
+ menu?: string;
3985
+ brand?: string;
3986
+ date?: Record<string, any>;
3987
+ items?: ShoppingcartItem[];
3988
+ sub_total?: {
3989
+ amount?: number;
3990
+ };
3991
+ promo?: ShoppingcartPromoDetails;
3992
+ discount?: ShoppingcartPromoDetails;
3993
+ discounts?: {
3994
+ stacked_total?: number;
3995
+ stacked_discounts?: Record<string, any>[];
3996
+ app?: string;
3997
+ };
3998
+ payment_method?: ShoppingcartPaymentMethod;
3999
+ taxes?: ShoppingcartTaxes;
4000
+ total?: {
4001
+ amount?: number;
4002
+ meals?: number;
4003
+ };
4004
+ exemptions?: {
4005
+ tax?: boolean;
4006
+ };
4007
+ order?: {
4008
+ id?: string;
4009
+ };
4010
+ service_fee?: {
4011
+ amount?: number;
4012
+ };
4013
+ delivery_fee?: {
4014
+ amount?: number;
4015
+ };
4016
+ is?: {
4017
+ type?: Record<string, any>;
4018
+ mx_cart?: boolean;
4019
+ email_tax_exempt?: boolean;
4020
+ tax_calculation_required?: boolean;
4021
+ system365?: boolean;
4022
+ };
4023
+ incentives?: ConsumerIncentives;
3619
4024
  }
3620
4025
 
3621
- export interface ReviewDTO {
3622
- taxonomy?: Record<string, any>;
3623
- id: string;
3624
- createdAt: string;
3625
- updatedAt: string;
3626
- score?: number;
3627
- comment?: string;
3628
- reason?: [];
4026
+ export interface PostConsumerShoppingCartCloneBodyRequest {
4027
+ // menu id
4028
+ menu?: string;
4029
+ // order type
4030
+ order_type?: string;
4031
+ // array of item indexes that should be cloned
4032
+ items_to_clone?: string[];
3629
4033
  }
3630
4034
 
3631
- export interface GetReviewOrderItemsRequestDTO {
3632
- reviews: ReviewDTO[];
4035
+ export interface PostCustomerRewardsBodyDTO {
4036
+ // The shoppingcart brands
4037
+ shoppingcartBrands?: string[];
3633
4038
  }
3634
4039
 
3635
- export interface PostConsumerShoppingCartBulkBodyRequest {
3636
- // ids of the shopping carts to get
3637
- ids: string[];
4040
+ export interface ConsumerRewardWindowDTO {
4041
+ // campaign start date
4042
+ startsAt: string;
4043
+ // campaign end date
4044
+ endsAt: string;
3638
4045
  }
3639
4046
 
3640
- export interface PostConsumerShoppingCartBulkResponse {
3641
- // shopping carts
3642
- shoppingcarts: PostConsumerShoppingCartResponse[];
4047
+ export interface ConsumerNextRewardDTO {
4048
+ // required points to earn the next reward
4049
+ requiredPoints: number;
4050
+ // progress towards the next reward
4051
+ progress: number;
3643
4052
  }
3644
4053
 
3645
- export interface ConsumerDeleteMealplanBody {
3646
- // mealplan tenders to delete
3647
- tenders?: string[];
4054
+ export interface ConsumerRewardDiscountDTO {
4055
+ // discount type
4056
+ type: 'AMOUNT_OFF' | 'PERCENT_OFF';
4057
+ // percentage off for the discount
4058
+ percentOff?: number;
4059
+ // amount off for the discount
4060
+ amountOff?: number;
3648
4061
  }
3649
4062
 
3650
- export interface PostExternalExchangeLoginCodeRequestDTO {
3651
- // One-time code from the app login link
3652
- code: string;
4063
+ export interface ConsumerRewardDTO {
4064
+ // voucher id
4065
+ voucherId: string;
4066
+ // voucher code
4067
+ voucherCode: string;
4068
+ // campaign id
4069
+ campaignId?: string;
4070
+ // reward name
4071
+ name: string;
4072
+ // reward description
4073
+ description?: string;
4074
+ discount: ConsumerRewardDiscountDTO;
4075
+ // when the voucher was issued
4076
+ issuedAt: string;
4077
+ // points required for this reward
4078
+ requiredPoints: number;
3653
4079
  }
3654
4080
 
3655
- export interface AccessTokenPartDTO {
3656
- token: string;
3657
- expires: string;
4081
+ export interface ConsumerRewardCampaignDTO {
4082
+ // campaign id
4083
+ campaignId: string;
4084
+ // campaign name
4085
+ name: string;
4086
+ // campaign description
4087
+ description?: string;
4088
+ // associated brands with the campaign
4089
+ associatedBrands?: string[];
4090
+ // campaign status
4091
+ active: boolean;
4092
+ window: ConsumerRewardWindowDTO;
4093
+ // number of points the customer has earned for this campaign
4094
+ customerPoints: number;
4095
+ nextReward: ConsumerNextRewardDTO;
4096
+ // campaign rewards
4097
+ rewards: ConsumerRewardDTO[];
3658
4098
  }
3659
4099
 
3660
- export interface ProfileNameDTO {
3661
- first: string;
3662
- last: string;
4100
+ export interface PostCustomerRewardsResponseDTO {
4101
+ // customer id
4102
+ customerId: string;
4103
+ // site id
4104
+ siteId: string;
4105
+ // total number of rewards
4106
+ rewardCount: number;
4107
+ // eligible campaigns
4108
+ campaigns: ConsumerRewardCampaignDTO[];
3663
4109
  }
3664
4110
 
3665
- export interface ProfileDateDTO {
3666
- modified?: string;
3667
- created?: string;
4111
+ export interface PostConsumerUserVerificationResponse {
4112
+ success: boolean;
3668
4113
  }
3669
4114
 
3670
- export interface ProfileIsDTO {
3671
- disabled: boolean;
3672
- verified: boolean;
4115
+ export interface PostConsumerUserCaptchaRequest {
4116
+ // The email of the user
4117
+ email?: string;
4118
+ // The name of the user
4119
+ name?: ConsumerUserName;
4120
+ // The date of the user
4121
+ date?: ConsumerUserDate;
4122
+ // The birthday of the user
4123
+ birthday?: string;
4124
+ // The password of the user
4125
+ password?: string;
4126
+ // The phone of the user
4127
+ phone?: number;
4128
+ // The phone country code of the user
4129
+ phone_country_code?: string;
4130
+ // The realm of the user
4131
+ realm: string;
4132
+ // The gender of the user
4133
+ gender?: Record<string, any>;
4134
+ // The meta of the user
4135
+ meta?: ConsumerUserMeta;
4136
+ // The is of the user
4137
+ is?: ConsumerUserIs;
4138
+ // The permissions of the user
4139
+ permissions?: ConsumerScopes;
4140
+ // The location group of the user
4141
+ location_group?: string;
4142
+ // The ssoId of the user
4143
+ ssoId?: string;
3673
4144
  }
3674
4145
 
3675
- export interface ExchangeProfileDTO {
4146
+ export interface PostConsumerUserCaptchaResponse {
4147
+ // The ID of the user
3676
4148
  id: string;
4149
+ // The email of the user
3677
4150
  email: string;
3678
- name?: ProfileNameDTO;
3679
- date?: ProfileDateDTO;
3680
- is?: ProfileIsDTO;
3681
- // Additional user metadata
3682
- meta?: Record<string, any>;
4151
+ // The name of the user
4152
+ name?: ConsumerUserName;
4153
+ // The date of the user
4154
+ date?: ConsumerUserDate;
4155
+ // The birthday of the user
4156
+ birthday?: string;
4157
+ // The phone of the user
4158
+ phone?: number;
4159
+ // The phone country code of the user
4160
+ phone_country_code?: string;
4161
+ // The realm of the user
4162
+ realm?: string;
4163
+ // The gender of the user
4164
+ gender?: Record<string, any>;
4165
+ // The meta of the user
4166
+ meta?: ConsumerUserMeta;
4167
+ // The is of the user
4168
+ is?: ConsumerUserIs;
4169
+ // The permissions of the user
4170
+ permissions?: ConsumerScopes;
4171
+ // The location group of the user
4172
+ location_group?: string;
4173
+ // The ssoId of the user
4174
+ ssoId?: string;
3683
4175
  }
3684
4176
 
3685
- export interface PostExternalExchangeLoginCodeResponseDTO {
3686
- access: AccessTokenPartDTO;
3687
- profile: ExchangeProfileDTO;
4177
+ export interface PostConsumerUserGuestTokenRequest {
4178
+ // The realm of the user
4179
+ realm?: string;
3688
4180
  }
3689
4181
 
3690
- export interface GetConsumerLocationResponse {
3691
- // id
3692
- id: string;
3693
- date?: {
3694
- created?: string;
3695
- modified?: string;
3696
- };
3697
- // name
3698
- name: string;
3699
- label?: {
3700
- en?: string;
3701
- fr?: string;
3702
- };
3703
- // distance in meters from the group
3704
- distance?: number;
3705
- // meta data
3706
- meta?: Record<string, any>;
3707
- style?: {
3708
- logo?: string | null;
3709
- main_logo?: string | null;
3710
- alt_logo?: string | null;
4182
+ export interface PostConsumerUserGuestTokenResponse {
4183
+ // The token of the user
4184
+ token: string;
4185
+ access: {
4186
+ token?: string;
4187
+ expires?: string;
3711
4188
  };
3712
- // timezone
3713
- timezone?: string;
3714
- // site operational status
3715
- status?: Record<string, any>;
3716
- locations?: ConsumerLocation[];
3717
- address?: ConsumerAddress;
3718
- }
3719
-
3720
- export interface GetMenuItemNutritionValueConsumerV2 {
3721
- amount?: number;
3722
- unit?: string;
3723
- display?: string;
3724
- }
3725
-
3726
- export interface GetMenuItemNutritionConsumerV2 {
3727
- kcal?: number;
3728
- calories?: GetMenuItemNutritionValueConsumerV2;
3729
- serving_size?: GetMenuItemNutritionValueConsumerV2;
3730
- total_fat?: GetMenuItemNutritionValueConsumerV2;
3731
- saturated_fat?: GetMenuItemNutritionValueConsumerV2;
3732
- trans_fat?: GetMenuItemNutritionValueConsumerV2;
3733
- cholesterol?: GetMenuItemNutritionValueConsumerV2;
3734
- sodium?: GetMenuItemNutritionValueConsumerV2;
3735
- total_carbohydrate?: GetMenuItemNutritionValueConsumerV2;
3736
- dietary_fiber?: GetMenuItemNutritionValueConsumerV2;
3737
- sugars?: GetMenuItemNutritionValueConsumerV2;
3738
- total_sugars?: GetMenuItemNutritionValueConsumerV2;
3739
- protein?: GetMenuItemNutritionValueConsumerV2;
3740
- well_being?: GetMenuItemNutritionValueConsumerV2;
3741
4189
  }
3742
4190
 
3743
- export interface GetMenuOptionNutritionConsumerV2 {
3744
- calories?: GetMenuItemNutritionValueConsumerV2;
3745
- total_fat?: GetMenuItemNutritionValueConsumerV2;
3746
- saturated_fat?: GetMenuItemNutritionValueConsumerV2;
3747
- total_carbohydrate?: GetMenuItemNutritionValueConsumerV2;
3748
- total_sugars?: GetMenuItemNutritionValueConsumerV2;
3749
- protein?: GetMenuItemNutritionValueConsumerV2;
3750
- dietary_fiber?: GetMenuItemNutritionValueConsumerV2;
3751
- sodium?: GetMenuItemNutritionValueConsumerV2;
3752
- trans_fat?: GetMenuItemNutritionValueConsumerV2;
3753
- cholesterol?: GetMenuItemNutritionValueConsumerV2;
3754
- added_sugars?: GetMenuItemNutritionValueConsumerV2;
4191
+ export interface PostConsumerUserGuestRequest {
4192
+ // The realm of the user
4193
+ realm: string;
4194
+ // The email of the user
4195
+ email: string;
4196
+ // The name of the user
4197
+ name: ConsumerUserName;
3755
4198
  }
3756
4199
 
3757
- export interface GetMenuItemPriceConsumerV2 {
3758
- amount?: number;
3759
- currency?: string;
3760
- total_price?: number;
3761
- discount?: number;
4200
+ export interface GuestUserAccess {
4201
+ // Access token
4202
+ token?: string;
4203
+ // Token expiry date
4204
+ expires?: string;
3762
4205
  }
3763
4206
 
3764
- export interface GetMenuItemImageSizesConsumerV2 {
3765
- original?: string;
3766
- thumbnail_80_80?: string;
4207
+ export interface GuestUserProfile {
4208
+ // The ID of the user
4209
+ id?: string;
4210
+ // The email of the user
4211
+ email?: string;
4212
+ // The name of the user
4213
+ name?: ConsumerUserName;
4214
+ // The date of the user
4215
+ date?: ConsumerUserDate;
4216
+ // The birthday of the user
4217
+ birthday?: string;
4218
+ // The password of the user
4219
+ password?: string;
4220
+ // The phone of the user
4221
+ phone?: number;
4222
+ // The phone country code of the user
4223
+ phone_country_code?: string;
4224
+ // The realm of the user
4225
+ realm?: string;
4226
+ // The gender of the user
4227
+ gender?: 'male' | 'female' | 'non-binary';
4228
+ // The meta of the user
4229
+ meta?: ConsumerUserMeta;
4230
+ // Quick boolean details for the user
4231
+ is?: ConsumerUserIs;
4232
+ // The permissions of the user
4233
+ permissions?: ConsumerScopes;
4234
+ // The location group of the user
4235
+ location_group?: string;
4236
+ // The ssoId of the user
4237
+ ssoId?: string;
4238
+ // The last accessed date of the user
4239
+ last_accessed?: string;
3767
4240
  }
3768
4241
 
3769
- export interface GetMenuItemImageConsumerV2 {
3770
- src?: string;
3771
- sizes?: GetMenuItemImageSizesConsumerV2;
4242
+ export interface PostConsumerUserGuestResponse {
4243
+ // @deprecated
4244
+ token?: string;
4245
+ // The access information of the guest user
4246
+ access?: GuestUserAccess;
4247
+ // The user ID of the guest user
4248
+ user?: string;
4249
+ // The profile of the guest user
4250
+ profile?: GuestUserProfile;
3772
4251
  }
3773
4252
 
3774
- export interface GetMenuItemCertifiedConsumerV2 {
3775
- vegan?: boolean;
3776
- vegetarian?: boolean;
3777
- seafood_watch?: boolean;
3778
- wellbeing?: boolean;
3779
- farm_to_fork?: boolean;
3780
- in_balance?: boolean;
3781
- organic?: boolean;
3782
- no_gluten_ingredients?: boolean;
3783
- halal?: boolean;
3784
- kosher?: boolean;
3785
- humane?: boolean;
3786
- locally_crafted?: boolean;
3787
- nuts?: boolean;
3788
- oracle_garden_grown?: boolean;
3789
- oracle_oyes?: boolean;
3790
- peanut_free?: boolean;
3791
- tree_nut_free?: boolean;
3792
- wheat_free?: boolean;
3793
- non_gmo?: boolean;
3794
- milk_free?: boolean;
3795
- egg_free?: boolean;
3796
- soy_free?: boolean;
3797
- fair_trade?: boolean;
3798
- rainforest_alliance?: boolean;
3799
- salt_free?: boolean;
4253
+ export interface OpenAiToolCallFunction {
4254
+ // The name of the function
4255
+ name: string;
4256
+ // The arguments of the function
4257
+ arguments: string;
3800
4258
  }
3801
4259
 
3802
- export interface GetMenuItemReportingConsumerV2 {
3803
- category?: {
3804
- primary?: string;
3805
- secondary?: string;
3806
- };
3807
- jde_category?: string;
4260
+ export interface OpenAiChatToolCall {
4261
+ // The ID of the tool call
4262
+ id: string;
4263
+ // The type of the tool call
4264
+ type: string;
4265
+ // The function that was called
4266
+ function: OpenAiToolCallFunction;
3808
4267
  }
3809
4268
 
3810
- export interface GetMenuItemIsConsumerV2 {
3811
- disabled?: boolean;
3812
- hidden?: boolean;
3813
- meq_eligible?: boolean;
3814
- out_of_stock?: boolean;
3815
- deleted?: boolean;
3816
- featured?: boolean;
4269
+ export interface OpenAiChatMessage {
4270
+ // The role of the message
4271
+ role: 'developer' | 'system' | 'user' | 'assistant' | 'tool' | 'function';
4272
+ // The content of the message
4273
+ content?: Record<string, any>;
4274
+ // The name of the message
4275
+ name?: string;
4276
+ // The tool calls of the message
4277
+ toolCalls?: OpenAiChatToolCall[];
4278
+ // The tool call ID (for tool role messages)
4279
+ toolCallId?: string;
3817
4280
  }
3818
4281
 
3819
- export interface GetMenuItemMenuLabelConsumerV2 {
3820
- id?: string;
3821
- text?: string;
3822
- s3_link?: string;
4282
+ export interface OpenAiChatBody {
4283
+ // The model to use for the chat completion
4284
+ model: string;
4285
+ // The messages to send to the chat completion
4286
+ messages: OpenAiChatMessage[];
4287
+ // The tools to use for the chat completion
4288
+ tools: Record<string, any>[];
4289
+ // The tool choices to use for the chat completion
4290
+ tool_choice: Record<string, any>;
4291
+ // The temperature to use for the chat completion
4292
+ temperature: number;
4293
+ // The max tokens to use for the chat completion
4294
+ max_tokens: number;
3823
4295
  }
3824
4296
 
3825
- export interface GetMenuItemOptionMetaConsumerV2 {
3826
- sizing?: {
3827
- name?: string;
3828
- posid?: string;
3829
- price?: number;
3830
- }[];
3831
- sort_number?: number;
3832
- menu_sort_number?: number;
3833
- unique_id?: number;
3834
- tax?: {
3835
- tax_tag_code?: string;
3836
- };
4297
+ export interface OpenAiChatChoice {
4298
+ // The index of the choice
4299
+ index: number;
4300
+ // The message of the choice
4301
+ message: OpenAiChatMessage;
4302
+ // The finish reason of the choice
4303
+ finishReason: string;
3837
4304
  }
3838
4305
 
3839
- export interface GetMenuItemOptionIsConsumerV2 {
3840
- disabled?: boolean;
3841
- hidden?: boolean;
3842
- out_of_stock?: boolean;
4306
+ export interface OpenAiChatResponse {
4307
+ // The id of the chat completion
4308
+ id: string;
4309
+ // The object of the chat completion
4310
+ object: string;
4311
+ // The created at of the chat completion
4312
+ created: number;
4313
+ // The model of the chat completion
4314
+ model: string;
4315
+ // The choices of the chat completion
4316
+ choices: OpenAiChatChoice[];
3843
4317
  }
3844
4318
 
3845
- export interface GetMenuItemOptionConsumerV2 {
3846
- id?: string;
3847
- label?: {
3848
- en?: string;
3849
- };
3850
- name?: string;
3851
- description?: {
3852
- en?: string;
3853
- };
3854
- price?: GetMenuItemPriceConsumerV2;
3855
- nutrition?: GetMenuOptionNutritionConsumerV2;
3856
- meta?: GetMenuItemOptionMetaConsumerV2;
3857
- image?: GetMenuItemImageConsumerV2;
3858
- certified?: GetMenuItemCertifiedConsumerV2;
3859
- is?: GetMenuItemOptionIsConsumerV2;
3860
- reporting?: GetMenuItemReportingConsumerV2;
3861
- sku?: number;
3862
- weight?: {
3863
- unit?: string;
3864
- amount?: number;
3865
- };
3866
- line_route?: string;
3867
- amount_off_exclusions?: string[];
4319
+ export interface PostPaymentValidateMerchantBody {
4320
+ // Validation URL
4321
+ validation_url: string;
4322
+ // Display name
4323
+ display_name: string;
3868
4324
  }
3869
4325
 
3870
- export interface GetMenuItemGroupIsConsumerV2 {
3871
- incremental?: boolean;
4326
+ export interface MerchantSessionResponse {
4327
+ // Epoch timestamp
4328
+ epochTimestamp: number;
4329
+ // Expires at
4330
+ expiresAt: number;
4331
+ // Nonce
4332
+ nonce: string;
4333
+ // Merchant identifier
4334
+ merchantIdentifier: string;
4335
+ // Merchant session identifier
4336
+ merchantSessionIdentifier: string;
4337
+ // Operational analytics identifier
4338
+ operationalAnalyticsIdentifier: string;
4339
+ // Domain name
4340
+ domainName: string;
4341
+ // Display name
4342
+ displayName: string;
4343
+ // Signature
4344
+ signature: string;
4345
+ // Retries
4346
+ retries: number;
4347
+ // PSP ID
4348
+ pspId: string;
3872
4349
  }
3873
4350
 
3874
- export interface GetMenuItemGroupMetaConsumerV2 {
3875
- order_type?: 'selection' | 'option' | 'quantity';
3876
- sort_number?: number;
3877
- menu_sort_number?: number;
3878
- surcharge_limit_value?: number;
4351
+ export interface PostPaymentValidateMerchantResponse {
4352
+ // Merchant session
4353
+ merchant_session: MerchantSessionResponse;
3879
4354
  }
3880
4355
 
3881
- export interface GetMenuItemOptionsGroupConsumerV2 {
3882
- id?: string;
3883
- label?: {
3884
- en?: string;
3885
- };
3886
- items?: GetMenuItemOptionConsumerV2[];
3887
- min?: number;
3888
- max?: number;
3889
- is?: GetMenuItemGroupIsConsumerV2;
3890
- meta?: GetMenuItemGroupMetaConsumerV2;
4356
+ export interface ConsumerPostPaymentCashlessBody {
4357
+ // Token
4358
+ token: string;
4359
+ }
4360
+
4361
+ export interface ReviewDTO {
4362
+ taxonomy?: Record<string, any>;
4363
+ id: string;
4364
+ createdAt: string;
4365
+ updatedAt: string;
4366
+ score?: number;
4367
+ comment?: string;
4368
+ reason?: [];
3891
4369
  }
3892
4370
 
3893
- export interface GetMenuItemRecipeConsumerV2 {
3894
- smart_tags?: string[];
3895
- allergen_tags?: string[];
3896
- mrn?: string;
3897
- unit_id?: string;
3898
- portion_quantity?: number;
3899
- portion_unit_name?: string;
3900
- grams?: number;
3901
- cost?: number;
3902
- ingredients?: string[];
4371
+ export interface GetReviewOrderItemsRequestDTO {
4372
+ reviews: ReviewDTO[];
3903
4373
  }
3904
4374
 
3905
- export interface GetMenuItemMetaConsumerV2 {
3906
- barcodes?: string[];
3907
- recipe?: GetMenuItemRecipeConsumerV2;
3908
- superplate?: {
3909
- type_id?: number;
3910
- type?: string;
3911
- };
3912
- sort_number?: number;
3913
- menu_sort_number?: number;
3914
- unique_id?: number;
3915
- tax?: {
3916
- tax_tag_code?: string;
3917
- tax_jwo_code?: string;
3918
- tax_rate?: number;
3919
- tax_amount?: number;
3920
- };
4375
+ export interface PostConsumerShoppingCartBulkBodyRequest {
4376
+ // ids of the shopping carts to get
4377
+ ids: string[];
3921
4378
  }
3922
4379
 
3923
- export interface GetMenuItemConsumerV2 {
3924
- id?: string;
3925
- label?: {
3926
- en?: string;
3927
- };
3928
- name?: string;
3929
- description?: {
3930
- en?: string;
3931
- };
3932
- price?: GetMenuItemPriceConsumerV2;
3933
- meal_value?: number;
3934
- sale_price?: GetMenuItemPriceConsumerV2;
3935
- unit?: number;
3936
- sku?: number;
3937
- item_number?: number;
3938
- parent_id?: string;
3939
- location?: string;
3940
- line_route?: string;
3941
- weight?: {
3942
- unit?: string;
3943
- amount?: number;
3944
- };
3945
- category?: {
3946
- en?: string;
3947
- };
3948
- ingredients?: Record<string, any>[];
3949
- amount_off_exclusions?: string[];
3950
- nutrition?: GetMenuItemNutritionConsumerV2;
3951
- certified?: GetMenuItemCertifiedConsumerV2;
3952
- options?: GetMenuItemOptionsGroupConsumerV2[];
3953
- meta?: GetMenuItemMetaConsumerV2;
3954
- image?: GetMenuItemImageConsumerV2;
3955
- is?: GetMenuItemIsConsumerV2;
3956
- menu_labels?: GetMenuItemMenuLabelConsumerV2[];
3957
- reporting?: GetMenuItemReportingConsumerV2;
4380
+ export interface PostConsumerShoppingCartBulkResponse {
4381
+ // shopping carts
4382
+ shoppingcarts: PostConsumerShoppingCartResponse[];
3958
4383
  }
3959
4384
 
3960
- export interface GetMenuGroupConsumerV2 {
3961
- id: string;
3962
- label?: {
3963
- en?: string;
3964
- fr?: string;
3965
- };
3966
- items?: GetMenuItemConsumerV2[];
4385
+ export interface ConsumerDeleteMealplanBody {
4386
+ // mealplan tenders to delete
4387
+ tenders?: string[];
3967
4388
  }
3968
4389
 
3969
- export interface GetMenuIsConsumerV2 {
3970
- disabled?: boolean;
3971
- hidden?: boolean;
3972
- linked?: boolean;
3973
- promo_exemptions_enabled?: boolean;
3974
- plu_enabled?: boolean;
3975
- item_images_enabled?: boolean;
3976
- item_showcase_enabled?: boolean;
3977
- item_desc_edit_enabled?: boolean;
3978
- calories_edit_enabled?: boolean;
3979
- item_label_edit_enabled?: boolean;
3980
- frictionless?: boolean;
3981
- category_images_enabled?: boolean;
4390
+ export interface PostExternalExchangeLoginCodeRequestDTO {
4391
+ // One-time code from the app login link
4392
+ code: string;
3982
4393
  }
3983
4394
 
3984
- export interface GetMenuMetaConsumerV2 {
3985
- locked_by_user?: string;
3986
- last_modified_user?: string;
3987
- centricos?: boolean;
3988
- version?: number;
3989
- revision?: string;
4395
+ export interface AccessTokenPartDTO {
4396
+ token: string;
4397
+ expires: string;
3990
4398
  }
3991
4399
 
3992
- export interface GetMenuDateConsumerV2 {
3993
- created?: string;
4400
+ export interface ProfileNameDTO {
4401
+ first: string;
4402
+ last: string;
4403
+ }
4404
+
4405
+ export interface ProfileDateDTO {
3994
4406
  modified?: string;
3995
- published?: string;
4407
+ created?: string;
3996
4408
  }
3997
4409
 
3998
- export interface GetMenuImageSizesConsumerV2 {
3999
- original?: string;
4000
- thumbnail_80_80?: string;
4410
+ export interface ProfileIsDTO {
4411
+ disabled: boolean;
4412
+ verified: boolean;
4001
4413
  }
4002
4414
 
4003
- export interface GetMenuImageConsumerV2 {
4004
- src?: string;
4005
- sizes?: GetMenuImageSizesConsumerV2;
4415
+ export interface ExchangeProfileDTO {
4416
+ id: string;
4417
+ email: string;
4418
+ name?: ProfileNameDTO;
4419
+ date?: ProfileDateDTO;
4420
+ is?: ProfileIsDTO;
4421
+ // Additional user metadata
4422
+ meta?: Record<string, any>;
4006
4423
  }
4007
4424
 
4008
- export interface GetMenuResponseConsumerV2 {
4425
+ export interface PostExternalExchangeLoginCodeResponseDTO {
4426
+ access: AccessTokenPartDTO;
4427
+ profile: ExchangeProfileDTO;
4428
+ }
4429
+
4430
+ export interface GetConsumerLocationResponse {
4431
+ // id
4009
4432
  id: string;
4433
+ date?: {
4434
+ created?: string;
4435
+ modified?: string;
4436
+ };
4437
+ // name
4438
+ name: string;
4010
4439
  label?: {
4011
4440
  en?: string;
4441
+ fr?: string;
4012
4442
  };
4013
- groups?: GetMenuGroupConsumerV2[];
4014
- parent_id?: string;
4015
- location_brand?: string;
4016
- company?: string;
4017
- sector?: string;
4018
- date?: GetMenuDateConsumerV2;
4019
- is?: GetMenuIsConsumerV2;
4020
- meta?: GetMenuMetaConsumerV2;
4021
- image?: GetMenuImageConsumerV2;
4022
- }
4023
-
4024
- export interface Certified {
4025
- // Certified vegan
4026
- vegan?: boolean;
4027
- // Certified vegetarian
4028
- vegetarian?: boolean;
4029
- // Seafood Watch certified (sustainable seafood)
4030
- seafood_watch?: boolean;
4031
- // Certified for general wellbeing
4032
- wellbeing?: boolean;
4033
- // Farm to Fork certified (locally sourced)
4034
- farm_to_fork?: boolean;
4035
- // In Balance certified (nutritionally balanced)
4036
- in_balance?: boolean;
4037
- // Certified organic
4038
- organic?: boolean;
4039
- // No gluten ingredients present
4040
- no_gluten_ingredients?: boolean;
4041
- // Certified halal
4042
- halal?: boolean;
4043
- // Certified kosher
4044
- kosher?: boolean;
4045
- // Certified humane (animal welfare)
4046
- humane?: boolean;
4047
- // Locally crafted product
4048
- locally_crafted?: boolean;
4049
- // Contains nuts
4050
- nuts?: boolean;
4051
- // Oracle Garden Grown certified
4052
- oracle_garden_grown?: boolean;
4053
- // Oracle OYES certified
4054
- oracle_oyes?: boolean;
4055
- // Peanut free
4056
- peanut_free?: boolean;
4057
- // Tree nut free
4058
- tree_nut_free?: boolean;
4059
- // Wheat free
4060
- wheat_free?: boolean;
4061
- // Non-GMO certified
4062
- non_gmo?: boolean;
4063
- // Milk free
4064
- milk_free?: boolean;
4065
- // Egg free
4066
- egg_free?: boolean;
4067
- // Soy free
4068
- soy_free?: boolean;
4069
- // Fair Trade certified
4070
- fair_trade?: boolean;
4071
- // Rainforest Alliance certified
4072
- rainforest_alliance?: boolean;
4073
- // Salt free
4074
- salt_free?: boolean;
4443
+ // distance in meters from the group
4444
+ distance?: number;
4445
+ // meta data
4446
+ meta?: Record<string, any>;
4447
+ style?: {
4448
+ logo?: string | null;
4449
+ main_logo?: string | null;
4450
+ alt_logo?: string | null;
4451
+ };
4452
+ // timezone
4453
+ timezone?: string;
4454
+ // site operational status
4455
+ status?: Record<string, any>;
4456
+ locations?: ConsumerLocation[];
4457
+ address?: ConsumerAddress;
4075
4458
  }
4076
4459
 
4077
4460
  // GET /consumer/v1/health-check
@@ -4107,6 +4490,24 @@ export interface GetCustomerOrdersQuery {
4107
4490
 
4108
4491
  export type GetCustomerOrdersResponse = GetCustomerOrdersResponseDTO;
4109
4492
 
4493
+ // GET /consumer/v2/customer-orders/{userId} - Get customer orders
4494
+
4495
+ export interface GetCustomerOrdersV2Path {
4496
+ // a valid CDL user id
4497
+ userId: string;
4498
+ }
4499
+
4500
+ export interface GetCustomerOrdersV2Query {
4501
+ // Filter orders by their requested date. Only return orders that have a date greater than or equal to the date. Default is the current time in milliseconds. Please ensure to use a millisecond timestamp, not just an epoch timestamp
4502
+ start?: number;
4503
+ // Filter orders by their requested date. Only return orders that have a date less than or equal to the date. Default is 24 hours from the current time in milliseconds. Please ensure to use a millisecond timestamp, not just an epoch timestamp
4504
+ end?: number;
4505
+ // When true, only orders eligible for reorder are returned. When false, only orders that are not eligible for reorder are returned. If omitted, no filter is applied.
4506
+ reorderEligible?: boolean;
4507
+ }
4508
+
4509
+ export type GetCustomerOrdersV2Response = GetCustomerOrdersV2ResponseDTO;
4510
+
4110
4511
  // POST /consumer/order - Create a new order
4111
4512
 
4112
4513
  export type PostConsumerOrderBody = PostOrderBodyDto;
@@ -4319,6 +4720,15 @@ export interface GetConsumerMenuPath {
4319
4720
 
4320
4721
  export type GetConsumerMenuResponse = GetMenuResponseConsumer;
4321
4722
 
4723
+ // GET /consumer/v2/menu/{id} - Get full Menu by ID (v2)
4724
+
4725
+ export interface GetConsumerMenuV2Path {
4726
+ // Menu ID as Encoded CDL ID
4727
+ id: string;
4728
+ }
4729
+
4730
+ export type GetConsumerMenuV2Response = GetMenuResponseConsumerV2;
4731
+
4322
4732
  // GET /consumer/menu/{id}/items - Provide the front end with menu items
4323
4733
 
4324
4734
  export interface GetConsumerMenuItemsPath {
@@ -4893,12 +5303,3 @@ export interface GetConsumerLocationQuery {
4893
5303
  }
4894
5304
 
4895
5305
  export type GetConsumerLocationResponse$0 = GetConsumerLocationResponse;
4896
-
4897
- // GET /consumer/v2/menu/{id} - Get full Menu by ID (v2)
4898
-
4899
- export interface GetConsumerMenuV2Path {
4900
- // Menu ID as Encoded CDL ID
4901
- id: string;
4902
- }
4903
-
4904
- export type GetConsumerMenuV2Response = GetMenuResponseConsumerV2;