@compassdigital/sdk.typescript 4.320.0 → 4.321.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.
- package/lib/interface/partner.d.ts +0 -912
- package/lib/interface/partner.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/interface/partner.ts +0 -1074
package/src/interface/partner.ts
CHANGED
|
@@ -9,1080 +9,6 @@ export interface Error {
|
|
|
9
9
|
data?: Record<string, any>;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
export interface ShoppingCartResponse {
|
|
13
|
-
// shoppingcart
|
|
14
|
-
id?: string;
|
|
15
|
-
// location
|
|
16
|
-
location?: string;
|
|
17
|
-
// menu
|
|
18
|
-
menu?: string;
|
|
19
|
-
// brand
|
|
20
|
-
brand?: string;
|
|
21
|
-
date?: Record<string, any>;
|
|
22
|
-
items?: ItemResponse[];
|
|
23
|
-
sub_total?: {
|
|
24
|
-
amount?: MonetaryValue;
|
|
25
|
-
};
|
|
26
|
-
promo?: {
|
|
27
|
-
code?: string;
|
|
28
|
-
provider?: 'fp' | 'voucherify';
|
|
29
|
-
amount_off?: MonetaryValue;
|
|
30
|
-
percent_off?: MonetaryValue;
|
|
31
|
-
amount?: MonetaryValue;
|
|
32
|
-
app?: string;
|
|
33
|
-
discount?: Record<string, any>;
|
|
34
|
-
provider_data?: FPValidationData;
|
|
35
|
-
order?: {
|
|
36
|
-
items_applied_discount_amount?: number;
|
|
37
|
-
amount?: number;
|
|
38
|
-
items_discount_amount?: number;
|
|
39
|
-
total_amount?: number;
|
|
40
|
-
total_applied_discount_amount?: number;
|
|
41
|
-
total_discount_amount?: number;
|
|
42
|
-
items?: {
|
|
43
|
-
applied_discount_amount?: number;
|
|
44
|
-
amount?: number;
|
|
45
|
-
discount_amount?: number;
|
|
46
|
-
price?: number;
|
|
47
|
-
quantity?: number;
|
|
48
|
-
source_id?: string;
|
|
49
|
-
subtotal_amount?: number;
|
|
50
|
-
}[];
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
// @deprecated
|
|
54
|
-
loyalty?: {
|
|
55
|
-
coupon?: {
|
|
56
|
-
code?: string;
|
|
57
|
-
amount_off?: MonetaryValue;
|
|
58
|
-
amount?: MonetaryValue;
|
|
59
|
-
name?: string;
|
|
60
|
-
};
|
|
61
|
-
// Points to be earned for this shopping cart total
|
|
62
|
-
order_loyalty_points?: boolean;
|
|
63
|
-
};
|
|
64
|
-
discount?: ShoppingCartResponse['promo'];
|
|
65
|
-
discounts?: {
|
|
66
|
-
id: string;
|
|
67
|
-
// unix epoch timestamp of discount creation in UTC
|
|
68
|
-
createdAt: string;
|
|
69
|
-
// unix epoch timestamp of discount update in UTC
|
|
70
|
-
updatedAt: string;
|
|
71
|
-
// id of the user who created the discount
|
|
72
|
-
createdBy: string;
|
|
73
|
-
// id of the user who updated the discount most recently
|
|
74
|
-
updatedBy: string;
|
|
75
|
-
name: string;
|
|
76
|
-
is?: {
|
|
77
|
-
badgepayPromo?: boolean;
|
|
78
|
-
mealplanPromo?: boolean;
|
|
79
|
-
decliningBalancePromo?: boolean;
|
|
80
|
-
voucherPromo?: boolean;
|
|
81
|
-
};
|
|
82
|
-
status?: {
|
|
83
|
-
live?: boolean;
|
|
84
|
-
publishedTo3rdParty?: boolean;
|
|
85
|
-
readyToPublish?: boolean;
|
|
86
|
-
};
|
|
87
|
-
meta?: {
|
|
88
|
-
provider: {
|
|
89
|
-
// Voucherify metadata
|
|
90
|
-
voucherify?: {
|
|
91
|
-
id?: string;
|
|
92
|
-
code?: string;
|
|
93
|
-
discount?: {
|
|
94
|
-
type: string;
|
|
95
|
-
amountOff?: number;
|
|
96
|
-
percentOff?: number;
|
|
97
|
-
};
|
|
98
|
-
};
|
|
99
|
-
};
|
|
100
|
-
};
|
|
101
|
-
}[];
|
|
102
|
-
payment_method?: {
|
|
103
|
-
// Mealplan payment details
|
|
104
|
-
mealplan?: {
|
|
105
|
-
id?: string;
|
|
106
|
-
tender?: string;
|
|
107
|
-
total?: MonetaryValue;
|
|
108
|
-
type?: PaymentType;
|
|
109
|
-
};
|
|
110
|
-
// Credit Cart payment details
|
|
111
|
-
credit_card?: {
|
|
112
|
-
card_type?: string;
|
|
113
|
-
last4?: string;
|
|
114
|
-
total?: MonetaryValue;
|
|
115
|
-
type?: PaymentType;
|
|
116
|
-
};
|
|
117
|
-
// Digital Wallet Pay payment details
|
|
118
|
-
digital_wallet_pay?: {
|
|
119
|
-
wallet_type?: string;
|
|
120
|
-
total?: MonetaryValue;
|
|
121
|
-
type?: PaymentType;
|
|
122
|
-
};
|
|
123
|
-
// Meal Swipes payment details
|
|
124
|
-
meal_swipes?: {
|
|
125
|
-
id?: string;
|
|
126
|
-
tender?: string;
|
|
127
|
-
tender_type?: string;
|
|
128
|
-
tender_name?: string;
|
|
129
|
-
swipes?: MonetaryValue;
|
|
130
|
-
rate?: MonetaryValue;
|
|
131
|
-
total?: MonetaryValue;
|
|
132
|
-
type?: PaymentType;
|
|
133
|
-
};
|
|
134
|
-
// Meal Exchange payment details
|
|
135
|
-
meal_exchange?: {
|
|
136
|
-
id?: string;
|
|
137
|
-
tender?: string;
|
|
138
|
-
type?: PaymentType;
|
|
139
|
-
};
|
|
140
|
-
badge_pay?: CashlessTender;
|
|
141
|
-
stipend?: CashlessTender;
|
|
142
|
-
voucher?: CashlessTender;
|
|
143
|
-
coupon_voucher?: CashlessTender;
|
|
144
|
-
};
|
|
145
|
-
taxes?: Taxes;
|
|
146
|
-
total?: {
|
|
147
|
-
amount?: MonetaryValue;
|
|
148
|
-
meals?: MonetaryValue;
|
|
149
|
-
};
|
|
150
|
-
exemptions?: {
|
|
151
|
-
tax?: boolean;
|
|
152
|
-
};
|
|
153
|
-
order?: {
|
|
154
|
-
// order
|
|
155
|
-
id?: string;
|
|
156
|
-
};
|
|
157
|
-
service_fee?: {
|
|
158
|
-
amount?: MonetaryValue;
|
|
159
|
-
};
|
|
160
|
-
delivery_fee?: {
|
|
161
|
-
amount?: MonetaryValue;
|
|
162
|
-
};
|
|
163
|
-
is?: {
|
|
164
|
-
// Shoppingcart Type: delivery, pickup
|
|
165
|
-
type?: 'delivery' | 'pickup' | 'scan_and_go' | 'frictionless';
|
|
166
|
-
// If an order should be paid with meal exchange. If true, this will calculate meals total.
|
|
167
|
-
mx_cart?: boolean;
|
|
168
|
-
// If a user's email or email domain is a match in a sites list of tax exempt emails or domains
|
|
169
|
-
email_tax_exempt?: boolean;
|
|
170
|
-
// Indicates to clients that a tax recalculation is required
|
|
171
|
-
tax_calculation_required?: boolean;
|
|
172
|
-
// Indicates that the shopping cart is a system 365 shopping cart
|
|
173
|
-
system365?: boolean;
|
|
174
|
-
};
|
|
175
|
-
meta?: {
|
|
176
|
-
// Raw request from any vendor integrated with CDL
|
|
177
|
-
vendor?: Record<string, any>;
|
|
178
|
-
drain_order_type?: {
|
|
179
|
-
taxable?: boolean;
|
|
180
|
-
tax_exempt?: boolean;
|
|
181
|
-
};
|
|
182
|
-
[index: string]: any;
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
export interface ItemResponse {
|
|
187
|
-
// can be cdl item id or stringified timestamp
|
|
188
|
-
id: string;
|
|
189
|
-
description?: Label;
|
|
190
|
-
// index based on cdl id or stringified timestamp
|
|
191
|
-
_index?: string;
|
|
192
|
-
quantity: Quantity;
|
|
193
|
-
quantity_by_weight?: {
|
|
194
|
-
unit?: string;
|
|
195
|
-
value?: number;
|
|
196
|
-
};
|
|
197
|
-
unit?: number;
|
|
198
|
-
price?: Price;
|
|
199
|
-
// Final item price after LTO/Bundle/BOGO etc is applied on the item.
|
|
200
|
-
sale_price?: {
|
|
201
|
-
active?: boolean;
|
|
202
|
-
amount?: MonetaryValue;
|
|
203
|
-
};
|
|
204
|
-
weighed_price?: Price;
|
|
205
|
-
// Subtotal of the item including all options
|
|
206
|
-
_subtotal?: {
|
|
207
|
-
amount?: MonetaryValue;
|
|
208
|
-
};
|
|
209
|
-
// Promo applied to this item
|
|
210
|
-
_promo?: {
|
|
211
|
-
amount?: MonetaryValue;
|
|
212
|
-
};
|
|
213
|
-
// discount applied to this item
|
|
214
|
-
_discount?: {
|
|
215
|
-
amount?: MonetaryValue;
|
|
216
|
-
};
|
|
217
|
-
meta?: {
|
|
218
|
-
// menu id
|
|
219
|
-
menu?: string;
|
|
220
|
-
// brand id
|
|
221
|
-
brand?: string;
|
|
222
|
-
brand_label?: Label;
|
|
223
|
-
taxes?: string[];
|
|
224
|
-
tax?: {
|
|
225
|
-
tax_tag_code?: string;
|
|
226
|
-
tax_rate?: number;
|
|
227
|
-
tax_amount?: number;
|
|
228
|
-
};
|
|
229
|
-
menu_tax_tags?: string[];
|
|
230
|
-
orderable?: boolean;
|
|
231
|
-
volante_id?: string;
|
|
232
|
-
barcodes?: string[];
|
|
233
|
-
plu?: string;
|
|
234
|
-
[index: string]: any;
|
|
235
|
-
};
|
|
236
|
-
options?: {
|
|
237
|
-
id?: string;
|
|
238
|
-
label?: Label;
|
|
239
|
-
meta?: {
|
|
240
|
-
taxes?: string[];
|
|
241
|
-
original_label?: Label;
|
|
242
|
-
order_type?: 'selection' | 'option' | 'quantity';
|
|
243
|
-
surchage_limit_value?: number;
|
|
244
|
-
};
|
|
245
|
-
items?: {
|
|
246
|
-
// option/modifier
|
|
247
|
-
id?: string;
|
|
248
|
-
price?: Price;
|
|
249
|
-
quantity?: Quantity;
|
|
250
|
-
label?: Label;
|
|
251
|
-
// index
|
|
252
|
-
_index?: string;
|
|
253
|
-
meta?: {
|
|
254
|
-
sort_number?: number;
|
|
255
|
-
original_label?: Label;
|
|
256
|
-
taxes?: string[];
|
|
257
|
-
sizing?: {
|
|
258
|
-
name?: string;
|
|
259
|
-
price?: MonetaryValue;
|
|
260
|
-
posid?: string;
|
|
261
|
-
}[];
|
|
262
|
-
};
|
|
263
|
-
amount_off_exclusions?: AmountOffExclusion[];
|
|
264
|
-
is?: {
|
|
265
|
-
disabled?: boolean;
|
|
266
|
-
};
|
|
267
|
-
}[];
|
|
268
|
-
is?: {
|
|
269
|
-
disabled?: boolean;
|
|
270
|
-
incremental?: boolean;
|
|
271
|
-
surchage_limit?: boolean;
|
|
272
|
-
};
|
|
273
|
-
}[];
|
|
274
|
-
// Details about discount like BOGO, LTO, Bundle etc.
|
|
275
|
-
item_discount?: Record<string, any>;
|
|
276
|
-
// user specified instructions for the item
|
|
277
|
-
special_instructions?: string;
|
|
278
|
-
amount_off_exclusions?: AmountOffExclusion[];
|
|
279
|
-
added_on?: string;
|
|
280
|
-
meal_value?: IntegerValue;
|
|
281
|
-
category?: Label;
|
|
282
|
-
menu_label?: Label;
|
|
283
|
-
tax_rate?: MonetaryValue;
|
|
284
|
-
label?: Label;
|
|
285
|
-
reporting?: {
|
|
286
|
-
category?: {
|
|
287
|
-
primary?: string;
|
|
288
|
-
secondary?: string;
|
|
289
|
-
};
|
|
290
|
-
};
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
export type MonetaryValue = number;
|
|
294
|
-
|
|
295
|
-
export type PaymentType = string;
|
|
296
|
-
|
|
297
|
-
export interface FPValidationData {
|
|
298
|
-
discountIncentives?: {
|
|
299
|
-
id?: string;
|
|
300
|
-
program?: {
|
|
301
|
-
code?: string;
|
|
302
|
-
};
|
|
303
|
-
[index: string]: any;
|
|
304
|
-
}[];
|
|
305
|
-
[index: string]: any;
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
export type AmountOffExclusion = 'discount' | 'promo';
|
|
309
|
-
|
|
310
|
-
export interface Label {
|
|
311
|
-
en?: string;
|
|
312
|
-
fr?: string;
|
|
313
|
-
}
|
|
314
|
-
|
|
315
|
-
export type IntegerValue = number;
|
|
316
|
-
|
|
317
|
-
export interface Price {
|
|
318
|
-
amount?: MonetaryValue;
|
|
319
|
-
}
|
|
320
|
-
|
|
321
|
-
export type Quantity = number;
|
|
322
|
-
|
|
323
|
-
export interface CashlessTender {
|
|
324
|
-
id?: string;
|
|
325
|
-
total?: MonetaryValue;
|
|
326
|
-
tender?: string;
|
|
327
|
-
name?: string;
|
|
328
|
-
type?: PaymentType;
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
export interface Taxes {
|
|
332
|
-
amount?: MonetaryValue;
|
|
333
|
-
rate?: MonetaryValue;
|
|
334
|
-
breakdown?: {
|
|
335
|
-
taxable_amount?: MonetaryValue;
|
|
336
|
-
tax_collectable?: MonetaryValue;
|
|
337
|
-
combined_tax_rate?: MonetaryValue;
|
|
338
|
-
gst?: MonetaryValue;
|
|
339
|
-
pst?: MonetaryValue;
|
|
340
|
-
provider?: string;
|
|
341
|
-
[index: string]: any;
|
|
342
|
-
};
|
|
343
|
-
provider?: string;
|
|
344
|
-
quote_payload?: {
|
|
345
|
-
// a unique identifier representing the transaction
|
|
346
|
-
id: string;
|
|
347
|
-
// the app to associate the transaction with
|
|
348
|
-
appName: string;
|
|
349
|
-
// the order fulfillment type
|
|
350
|
-
transactionType: 'pickup' | 'delivery';
|
|
351
|
-
// numeric value of service fee
|
|
352
|
-
serviceFee?: number;
|
|
353
|
-
// numeric value of delivery fee
|
|
354
|
-
deliveryFee?: number;
|
|
355
|
-
// location data of the transaction
|
|
356
|
-
locationData: {
|
|
357
|
-
// unique location identifier
|
|
358
|
-
id: string;
|
|
359
|
-
// country of transaction
|
|
360
|
-
country: string;
|
|
361
|
-
// state or province of transaction
|
|
362
|
-
stateOrProvince: string;
|
|
363
|
-
// city of transaction
|
|
364
|
-
city: string;
|
|
365
|
-
// postal code of transaction
|
|
366
|
-
postalCode: string;
|
|
367
|
-
// street address of transaction
|
|
368
|
-
streetAddress: string;
|
|
369
|
-
};
|
|
370
|
-
// items to calculate tax on
|
|
371
|
-
items: {
|
|
372
|
-
// unique item identifier
|
|
373
|
-
id: string;
|
|
374
|
-
// indicates a tax rule for an item
|
|
375
|
-
taxTagCode: string;
|
|
376
|
-
// amount of an item
|
|
377
|
-
quantity: number;
|
|
378
|
-
// decimal price of an item
|
|
379
|
-
price: number;
|
|
380
|
-
// amount of tax charged on an item after funds are captured
|
|
381
|
-
taxedAmount?: number;
|
|
382
|
-
}[];
|
|
383
|
-
// iso timstamp of transaction date
|
|
384
|
-
transactionDate?: string;
|
|
385
|
-
// an array of items to refund
|
|
386
|
-
refunds?: {
|
|
387
|
-
// unique identifier of the refunded item
|
|
388
|
-
refundItemId: string;
|
|
389
|
-
// quantity amount of the item to be refunded
|
|
390
|
-
refundItemQuantity: number;
|
|
391
|
-
}[];
|
|
392
|
-
};
|
|
393
|
-
}
|
|
394
|
-
|
|
395
|
-
export interface LocationGroup {
|
|
396
|
-
id?: string;
|
|
397
|
-
name?: string;
|
|
398
|
-
label?: {
|
|
399
|
-
en?: string;
|
|
400
|
-
fr?: string;
|
|
401
|
-
};
|
|
402
|
-
// Distance in meters from the group
|
|
403
|
-
distance?: number;
|
|
404
|
-
locations?: Location[];
|
|
405
|
-
address?: Address;
|
|
406
|
-
meta?: Record<string, any>;
|
|
407
|
-
style?: {
|
|
408
|
-
logo?: string | null;
|
|
409
|
-
main_logo?: string | null;
|
|
410
|
-
alt_logo?: string | null;
|
|
411
|
-
};
|
|
412
|
-
timezone?: string;
|
|
413
|
-
device_mapping?: Record<
|
|
414
|
-
string,
|
|
415
|
-
{
|
|
416
|
-
device_type?: string;
|
|
417
|
-
site_device_id?: string;
|
|
418
|
-
name?: string;
|
|
419
|
-
}[]
|
|
420
|
-
>;
|
|
421
|
-
[index: string]: any;
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
export interface Location {
|
|
425
|
-
id?: string;
|
|
426
|
-
operation_id?: number;
|
|
427
|
-
name?: string;
|
|
428
|
-
label?: {
|
|
429
|
-
en?: string;
|
|
430
|
-
fr?: string;
|
|
431
|
-
};
|
|
432
|
-
search?: string[];
|
|
433
|
-
app?: string;
|
|
434
|
-
address?: Address;
|
|
435
|
-
latitude?: number;
|
|
436
|
-
longitude?: number;
|
|
437
|
-
brands?: Brand[];
|
|
438
|
-
meta?: Record<string, any>;
|
|
439
|
-
phone?: string;
|
|
440
|
-
// The CDL is representing the group of this location
|
|
441
|
-
location_group?: string;
|
|
442
|
-
// The CDL id representing the multigroup of this location
|
|
443
|
-
location_multigroup?: string;
|
|
444
|
-
// The CDL id representing the sector of this location
|
|
445
|
-
sector?: string;
|
|
446
|
-
date?: {
|
|
447
|
-
deleted?: string;
|
|
448
|
-
created?: string;
|
|
449
|
-
modified?: string;
|
|
450
|
-
};
|
|
451
|
-
market_place?: {
|
|
452
|
-
label?: {
|
|
453
|
-
en?: string;
|
|
454
|
-
fr?: string;
|
|
455
|
-
};
|
|
456
|
-
location_description?: {
|
|
457
|
-
en?: string;
|
|
458
|
-
fr?: string;
|
|
459
|
-
};
|
|
460
|
-
logo?: string;
|
|
461
|
-
is?: {
|
|
462
|
-
enabled?: boolean;
|
|
463
|
-
pickup_supported?: boolean;
|
|
464
|
-
delivery_supported?: boolean;
|
|
465
|
-
};
|
|
466
|
-
delivery_details?: {
|
|
467
|
-
show_single_timeslot?: boolean;
|
|
468
|
-
show_instructions?: boolean;
|
|
469
|
-
runner_app_enabled?: boolean;
|
|
470
|
-
};
|
|
471
|
-
delivery_destinations?: string[];
|
|
472
|
-
pickup_instruction?: {
|
|
473
|
-
en?: string;
|
|
474
|
-
fr?: string;
|
|
475
|
-
};
|
|
476
|
-
hours?: Hours[];
|
|
477
|
-
deliveryHours?: DeliveryHours[];
|
|
478
|
-
service_fee?: {
|
|
479
|
-
type?: string;
|
|
480
|
-
value?: number;
|
|
481
|
-
};
|
|
482
|
-
[index: string]: any;
|
|
483
|
-
};
|
|
484
|
-
[index: string]: any;
|
|
485
|
-
}
|
|
486
|
-
|
|
487
|
-
export interface Brand {
|
|
488
|
-
// brand
|
|
489
|
-
id?: string;
|
|
490
|
-
// The CDL id representing the sector this brand belongs to
|
|
491
|
-
sector?: string;
|
|
492
|
-
name?: string;
|
|
493
|
-
label?: {
|
|
494
|
-
en?: string;
|
|
495
|
-
fr?: string;
|
|
496
|
-
};
|
|
497
|
-
timezone?: string;
|
|
498
|
-
description?: string;
|
|
499
|
-
// @deprecated
|
|
500
|
-
latitude?: number;
|
|
501
|
-
// @deprecated
|
|
502
|
-
longitude?: number;
|
|
503
|
-
address?: Address;
|
|
504
|
-
menus?: MenuHours[];
|
|
505
|
-
date?: {
|
|
506
|
-
deleted?: string;
|
|
507
|
-
created?: string;
|
|
508
|
-
};
|
|
509
|
-
hours?: Hours[];
|
|
510
|
-
deliveryHours?: DeliveryHours[];
|
|
511
|
-
style?: {
|
|
512
|
-
logo?: string | null;
|
|
513
|
-
main_logo?: string | null;
|
|
514
|
-
alt_logo?: string | null;
|
|
515
|
-
};
|
|
516
|
-
// The CDL id representing the PoS for this brand
|
|
517
|
-
pos?: string;
|
|
518
|
-
terminals?: Record<string, any>[];
|
|
519
|
-
device_mapping?: Record<
|
|
520
|
-
string,
|
|
521
|
-
{
|
|
522
|
-
device_type: string;
|
|
523
|
-
site_device_id: string;
|
|
524
|
-
business_units?: string[];
|
|
525
|
-
}[]
|
|
526
|
-
>;
|
|
527
|
-
timeslots?: {
|
|
528
|
-
time?: string;
|
|
529
|
-
averagePrepTime?: string;
|
|
530
|
-
duration_minutes?: number;
|
|
531
|
-
customers_per_slot?: number;
|
|
532
|
-
menu_items_per_slot?: number;
|
|
533
|
-
delivery_time?: string;
|
|
534
|
-
delivery_customers_per_slot?: number;
|
|
535
|
-
delivery_menu_items_per_slot?: number;
|
|
536
|
-
delivery_prep_time?: string;
|
|
537
|
-
delivery_is_user_defined?: boolean;
|
|
538
|
-
delivery_user_defined?: {
|
|
539
|
-
start_time: string;
|
|
540
|
-
end_time: string;
|
|
541
|
-
delivery_destinations?: string[];
|
|
542
|
-
}[];
|
|
543
|
-
};
|
|
544
|
-
is?: {
|
|
545
|
-
pickup_supported?: boolean;
|
|
546
|
-
delivery_supported?: boolean;
|
|
547
|
-
frictionless_supported?: boolean;
|
|
548
|
-
plu_enabled?: boolean;
|
|
549
|
-
promo_exemptions_enabled?: boolean;
|
|
550
|
-
local_images_enabled?: boolean;
|
|
551
|
-
hidden?: boolean;
|
|
552
|
-
show_in_kiosk?: boolean;
|
|
553
|
-
show_in_pos?: boolean;
|
|
554
|
-
item_desc_edit_enabled?: boolean;
|
|
555
|
-
scan_and_go_supported?: boolean;
|
|
556
|
-
calories_edit_enabled?: boolean;
|
|
557
|
-
// admin panel toggle
|
|
558
|
-
special_instructions_enabled?: boolean;
|
|
559
|
-
dining_hall?: boolean;
|
|
560
|
-
[index: string]: any;
|
|
561
|
-
};
|
|
562
|
-
// The CDL id representing the brand
|
|
563
|
-
brand?: string;
|
|
564
|
-
// The CDL id representing the location of this brand
|
|
565
|
-
location?: string;
|
|
566
|
-
// location group
|
|
567
|
-
group?: string;
|
|
568
|
-
// The CDL id representing the payment provider of this brand
|
|
569
|
-
payment_provider?: string;
|
|
570
|
-
// @deprecated
|
|
571
|
-
location_description?: string;
|
|
572
|
-
// The CDL id representing the company of this brand
|
|
573
|
-
company?: string;
|
|
574
|
-
config?: {
|
|
575
|
-
private?: Record<string, any>;
|
|
576
|
-
public?: Record<string, any>;
|
|
577
|
-
};
|
|
578
|
-
tax_rate?: number;
|
|
579
|
-
meta?: {
|
|
580
|
-
scout?: {
|
|
581
|
-
user_id?: string;
|
|
582
|
-
name?: {
|
|
583
|
-
first?: string;
|
|
584
|
-
last?: string;
|
|
585
|
-
};
|
|
586
|
-
};
|
|
587
|
-
partner?: {
|
|
588
|
-
user_id?: string;
|
|
589
|
-
name?: {
|
|
590
|
-
first?: string;
|
|
591
|
-
last?: string;
|
|
592
|
-
};
|
|
593
|
-
};
|
|
594
|
-
contact?: {
|
|
595
|
-
name?: string;
|
|
596
|
-
role?: string;
|
|
597
|
-
email?: string;
|
|
598
|
-
phone?: string;
|
|
599
|
-
};
|
|
600
|
-
market_id?: string;
|
|
601
|
-
partner_type?: string;
|
|
602
|
-
business_number?: number;
|
|
603
|
-
website?: string;
|
|
604
|
-
cuisine_types?: string[];
|
|
605
|
-
status?: 'await_partner' | 'await_scout' | 'completed';
|
|
606
|
-
active?: boolean;
|
|
607
|
-
max_showcase_items?: number;
|
|
608
|
-
jde_category?: string;
|
|
609
|
-
software_integrations?: {
|
|
610
|
-
system365?: string;
|
|
611
|
-
jwo?: string;
|
|
612
|
-
time2eat?: {
|
|
613
|
-
enabled?: boolean;
|
|
614
|
-
use_timeslots?: boolean;
|
|
615
|
-
ignore_station_hours?: boolean;
|
|
616
|
-
};
|
|
617
|
-
nextep?: {
|
|
618
|
-
mobile_app?: boolean;
|
|
619
|
-
web?: boolean;
|
|
620
|
-
};
|
|
621
|
-
mashgin?: {
|
|
622
|
-
enabled?: boolean;
|
|
623
|
-
};
|
|
624
|
-
};
|
|
625
|
-
type_of_kds?: {
|
|
626
|
-
cdl?: boolean;
|
|
627
|
-
nextep?: boolean;
|
|
628
|
-
volante?: boolean;
|
|
629
|
-
agilysys?: boolean;
|
|
630
|
-
[index: string]: any;
|
|
631
|
-
};
|
|
632
|
-
[index: string]: any;
|
|
633
|
-
};
|
|
634
|
-
descriptions?: {
|
|
635
|
-
location?: {
|
|
636
|
-
en?: string;
|
|
637
|
-
fr?: string;
|
|
638
|
-
};
|
|
639
|
-
};
|
|
640
|
-
estimated_wait_time?: {
|
|
641
|
-
delivery?: WaitTime;
|
|
642
|
-
pickup?: WaitTime;
|
|
643
|
-
};
|
|
644
|
-
state?: {
|
|
645
|
-
pickup?: MenuHours['state'];
|
|
646
|
-
delivery?: MenuHours['state'];
|
|
647
|
-
};
|
|
648
|
-
[index: string]: any;
|
|
649
|
-
}
|
|
650
|
-
|
|
651
|
-
export interface Address {
|
|
652
|
-
// Suite number of the address, if applicable
|
|
653
|
-
suite?: string;
|
|
654
|
-
// First line of the address, should include street number
|
|
655
|
-
address?: string;
|
|
656
|
-
// City of the address
|
|
657
|
-
city?: string;
|
|
658
|
-
// State of the address, also province in Canada
|
|
659
|
-
state?: string;
|
|
660
|
-
// Country of the address
|
|
661
|
-
country?: string;
|
|
662
|
-
// Zip code or postal code of the address
|
|
663
|
-
zip?: string;
|
|
664
|
-
coordinates?: {
|
|
665
|
-
// latitude of the the address
|
|
666
|
-
latitude?: number;
|
|
667
|
-
// longitude of the the address
|
|
668
|
-
longitude?: number;
|
|
669
|
-
};
|
|
670
|
-
}
|
|
671
|
-
|
|
672
|
-
export interface MenuHours {
|
|
673
|
-
id?: string;
|
|
674
|
-
label?: {
|
|
675
|
-
en?: string;
|
|
676
|
-
};
|
|
677
|
-
hours?: Hours[];
|
|
678
|
-
is_pickup?: boolean;
|
|
679
|
-
is_delivery?: boolean;
|
|
680
|
-
is_frictionless?: boolean;
|
|
681
|
-
// Identifies a brand or menu state, i.e open, closed or accepting preorders
|
|
682
|
-
state?: 'open' | 'closed' | 'preorder';
|
|
683
|
-
is_disabled?: boolean;
|
|
684
|
-
}
|
|
685
|
-
|
|
686
|
-
export interface Hours {
|
|
687
|
-
id?: string;
|
|
688
|
-
date?: {
|
|
689
|
-
deleted?: string;
|
|
690
|
-
start?: string;
|
|
691
|
-
end?: string;
|
|
692
|
-
};
|
|
693
|
-
day?: {
|
|
694
|
-
start?: number;
|
|
695
|
-
end?: number;
|
|
696
|
-
};
|
|
697
|
-
hours?: string;
|
|
698
|
-
}
|
|
699
|
-
|
|
700
|
-
export interface DeliveryHours {
|
|
701
|
-
id?: string;
|
|
702
|
-
day?: {
|
|
703
|
-
start?: number;
|
|
704
|
-
end?: number;
|
|
705
|
-
};
|
|
706
|
-
hours?: string;
|
|
707
|
-
}
|
|
708
|
-
|
|
709
|
-
export interface WaitTime {
|
|
710
|
-
// maxium wait time to the next time slot in minutes
|
|
711
|
-
max: number;
|
|
712
|
-
// minimum wait time to the next time slot in minutes
|
|
713
|
-
min: number;
|
|
714
|
-
// the epoch timestamp of the next available ready time for a station
|
|
715
|
-
ready_time: number;
|
|
716
|
-
}
|
|
717
|
-
|
|
718
|
-
export interface Menu {
|
|
719
|
-
id?: string;
|
|
720
|
-
date?: {
|
|
721
|
-
created?: string;
|
|
722
|
-
modified?: string;
|
|
723
|
-
published?: string;
|
|
724
|
-
};
|
|
725
|
-
label?: {
|
|
726
|
-
en?: string;
|
|
727
|
-
};
|
|
728
|
-
groups?: Group[];
|
|
729
|
-
parent_id?: string;
|
|
730
|
-
location_brand?: string;
|
|
731
|
-
company?: string;
|
|
732
|
-
sector?: string;
|
|
733
|
-
is?: {
|
|
734
|
-
disabled?: boolean;
|
|
735
|
-
hidden?: boolean;
|
|
736
|
-
linked?: boolean;
|
|
737
|
-
promo_exemptions_enabled?: boolean;
|
|
738
|
-
plu_enabled?: boolean;
|
|
739
|
-
item_images_enabled?: boolean;
|
|
740
|
-
item_showcase_enabled?: boolean;
|
|
741
|
-
item_desc_edit_enabled?: boolean;
|
|
742
|
-
calories_edit_enabled?: boolean;
|
|
743
|
-
item_label_edit_enabled?: boolean;
|
|
744
|
-
frictionless?: boolean;
|
|
745
|
-
category_images_enabled?: boolean;
|
|
746
|
-
};
|
|
747
|
-
meta?: {
|
|
748
|
-
// User ID
|
|
749
|
-
locked_by_user?: string;
|
|
750
|
-
// User ID
|
|
751
|
-
last_modified_user?: string;
|
|
752
|
-
centricos?: boolean;
|
|
753
|
-
version?: number;
|
|
754
|
-
// V3 Brand metadata if menu came from Centric
|
|
755
|
-
brand?: {
|
|
756
|
-
id?: string;
|
|
757
|
-
name?: string;
|
|
758
|
-
};
|
|
759
|
-
// V3 Local Menu Group metadata if menu came from Centric
|
|
760
|
-
local_menu_group?: {
|
|
761
|
-
id?: string;
|
|
762
|
-
name?: string;
|
|
763
|
-
};
|
|
764
|
-
[index: string]: any;
|
|
765
|
-
};
|
|
766
|
-
}
|
|
767
|
-
|
|
768
|
-
export interface Group {
|
|
769
|
-
id?: string;
|
|
770
|
-
name?: string;
|
|
771
|
-
label?: {
|
|
772
|
-
en?: string;
|
|
773
|
-
fr?: string;
|
|
774
|
-
};
|
|
775
|
-
items?: {
|
|
776
|
-
id?: string;
|
|
777
|
-
label?: {
|
|
778
|
-
en?: string;
|
|
779
|
-
};
|
|
780
|
-
name?: string;
|
|
781
|
-
description?: {
|
|
782
|
-
en?: string;
|
|
783
|
-
};
|
|
784
|
-
price?: {
|
|
785
|
-
amount?: number;
|
|
786
|
-
currency?: string;
|
|
787
|
-
total_price?: number;
|
|
788
|
-
discount?: number;
|
|
789
|
-
};
|
|
790
|
-
// Meal exchange value of the item
|
|
791
|
-
meal_value?: number;
|
|
792
|
-
sale_price?: {
|
|
793
|
-
amount?: number;
|
|
794
|
-
currency?: string;
|
|
795
|
-
};
|
|
796
|
-
// The number of units that belong to this item. For example, a dozen doughnuts should have a unit value of 12
|
|
797
|
-
unit?: number;
|
|
798
|
-
ingredients?: Record<string, any>[];
|
|
799
|
-
amount_off_exclusions?: AmountOffExclusionTypes[];
|
|
800
|
-
nutrition?: {
|
|
801
|
-
// @deprecated
|
|
802
|
-
kcal?: number;
|
|
803
|
-
calories?: Nutrition;
|
|
804
|
-
serving_size?: Nutrition;
|
|
805
|
-
total_fat?: Nutrition;
|
|
806
|
-
saturated_fat?: Nutrition;
|
|
807
|
-
trans_fat?: Nutrition;
|
|
808
|
-
cholesterol?: Nutrition;
|
|
809
|
-
sodium?: Nutrition;
|
|
810
|
-
total_carbohydrate?: Nutrition;
|
|
811
|
-
dietary_fiber?: Nutrition;
|
|
812
|
-
sugars?: Nutrition;
|
|
813
|
-
protein?: Nutrition;
|
|
814
|
-
well_being?: Nutrition;
|
|
815
|
-
[index: string]: any;
|
|
816
|
-
};
|
|
817
|
-
certified?: {
|
|
818
|
-
vegan?: boolean;
|
|
819
|
-
vegetarian?: boolean;
|
|
820
|
-
seafood_watch?: boolean;
|
|
821
|
-
wellbeing?: boolean;
|
|
822
|
-
farm_to_fork?: boolean;
|
|
823
|
-
in_balance?: boolean;
|
|
824
|
-
organic?: boolean;
|
|
825
|
-
no_gluten_ingredients?: boolean;
|
|
826
|
-
halal?: boolean;
|
|
827
|
-
kosher?: boolean;
|
|
828
|
-
humane?: boolean;
|
|
829
|
-
locally_crafted?: boolean;
|
|
830
|
-
nuts?: boolean;
|
|
831
|
-
oracle_garden_grown?: boolean;
|
|
832
|
-
oracle_oyes?: boolean;
|
|
833
|
-
peanut_free?: boolean;
|
|
834
|
-
tree_nut_free?: boolean;
|
|
835
|
-
wheat_free?: boolean;
|
|
836
|
-
non_gmo?: boolean;
|
|
837
|
-
milk_free?: boolean;
|
|
838
|
-
egg_free?: boolean;
|
|
839
|
-
soy_free?: boolean;
|
|
840
|
-
fair_trade?: boolean;
|
|
841
|
-
rainforest_alliance?: boolean;
|
|
842
|
-
salt_free?: boolean;
|
|
843
|
-
};
|
|
844
|
-
options?: {
|
|
845
|
-
id?: string;
|
|
846
|
-
label?: {
|
|
847
|
-
en?: string;
|
|
848
|
-
};
|
|
849
|
-
unique_name?: string;
|
|
850
|
-
name?: string;
|
|
851
|
-
items?: {
|
|
852
|
-
id?: string;
|
|
853
|
-
label?: {
|
|
854
|
-
en?: string;
|
|
855
|
-
};
|
|
856
|
-
name?: string;
|
|
857
|
-
description?: {
|
|
858
|
-
en?: string;
|
|
859
|
-
};
|
|
860
|
-
price?: {
|
|
861
|
-
amount?: number;
|
|
862
|
-
currency?: string;
|
|
863
|
-
};
|
|
864
|
-
reporting?: {
|
|
865
|
-
category?: {
|
|
866
|
-
primary?: string;
|
|
867
|
-
secondary?: string;
|
|
868
|
-
};
|
|
869
|
-
};
|
|
870
|
-
weight?: {
|
|
871
|
-
unit?: string;
|
|
872
|
-
amount?: number;
|
|
873
|
-
};
|
|
874
|
-
image?: {
|
|
875
|
-
src?: string;
|
|
876
|
-
sizes?: {
|
|
877
|
-
original?: string;
|
|
878
|
-
thumbnail_80_80?: string;
|
|
879
|
-
};
|
|
880
|
-
};
|
|
881
|
-
sku?: number;
|
|
882
|
-
nutrition?: {
|
|
883
|
-
// @deprecated
|
|
884
|
-
kcal?: number;
|
|
885
|
-
calories?: Nutrition;
|
|
886
|
-
};
|
|
887
|
-
certified?: {
|
|
888
|
-
vegan?: boolean;
|
|
889
|
-
};
|
|
890
|
-
modifier_sets?: {
|
|
891
|
-
category?: string;
|
|
892
|
-
list?: string[];
|
|
893
|
-
}[];
|
|
894
|
-
meta?: {
|
|
895
|
-
// chit sort order
|
|
896
|
-
sort_number?: number;
|
|
897
|
-
// menu sort order
|
|
898
|
-
menu_sort_number?: number;
|
|
899
|
-
sizing?: {
|
|
900
|
-
name?: string;
|
|
901
|
-
posid?: string;
|
|
902
|
-
price?: number;
|
|
903
|
-
}[];
|
|
904
|
-
tax?: {
|
|
905
|
-
tax_tag_code?: string;
|
|
906
|
-
};
|
|
907
|
-
recipe?: {
|
|
908
|
-
// menuworks mrn
|
|
909
|
-
mrn?: string;
|
|
910
|
-
// menuworks unit id
|
|
911
|
-
unit_id?: string;
|
|
912
|
-
// menuworks portion quantity
|
|
913
|
-
portion_quantity?: number;
|
|
914
|
-
// menuworks portion unit name
|
|
915
|
-
portion_unit_name?: string;
|
|
916
|
-
// menuworks grams
|
|
917
|
-
grams?: number;
|
|
918
|
-
// menuworks cost (per serving)
|
|
919
|
-
cost?: number;
|
|
920
|
-
// menuworks ingredients
|
|
921
|
-
ingredients?: string[];
|
|
922
|
-
// menuworks smart tags
|
|
923
|
-
smart_tags?: string[];
|
|
924
|
-
// menuworks allergen tags
|
|
925
|
-
allergen_tags?: string[];
|
|
926
|
-
};
|
|
927
|
-
// unique id of the entity
|
|
928
|
-
unique_id?: number;
|
|
929
|
-
[index: string]: any;
|
|
930
|
-
};
|
|
931
|
-
is?: {
|
|
932
|
-
disabled?: boolean;
|
|
933
|
-
hidden?: boolean;
|
|
934
|
-
out_of_stock?: boolean;
|
|
935
|
-
};
|
|
936
|
-
amount_off_exclusions?: AmountOffExclusionTypes[];
|
|
937
|
-
line_route?: string;
|
|
938
|
-
}[];
|
|
939
|
-
min?: number;
|
|
940
|
-
max?: number;
|
|
941
|
-
is?: {
|
|
942
|
-
disabled?: boolean;
|
|
943
|
-
hidden?: boolean;
|
|
944
|
-
out_of_stock?: boolean;
|
|
945
|
-
incremental?: boolean;
|
|
946
|
-
surcharge_limit?: boolean;
|
|
947
|
-
};
|
|
948
|
-
meta?: {
|
|
949
|
-
// chit sort order
|
|
950
|
-
sort_number?: number;
|
|
951
|
-
// Type of mod group
|
|
952
|
-
order_type?: 'selection' | 'option' | 'quantity';
|
|
953
|
-
// # of modifiers before surcharge apply
|
|
954
|
-
surcharge_limit_value?: number;
|
|
955
|
-
// menu sort order
|
|
956
|
-
menu_sort_number?: number;
|
|
957
|
-
[index: string]: any;
|
|
958
|
-
};
|
|
959
|
-
limit?: number;
|
|
960
|
-
[index: string]: any;
|
|
961
|
-
}[];
|
|
962
|
-
required?: boolean;
|
|
963
|
-
special?: boolean;
|
|
964
|
-
meta?: {
|
|
965
|
-
superplate?: {
|
|
966
|
-
type_id?: number;
|
|
967
|
-
type?: string;
|
|
968
|
-
};
|
|
969
|
-
// chit sort order
|
|
970
|
-
sort_number?: number;
|
|
971
|
-
// menu sort order
|
|
972
|
-
menu_sort_number?: number;
|
|
973
|
-
// barcodes of the item
|
|
974
|
-
barcodes?: string[];
|
|
975
|
-
tax?: {
|
|
976
|
-
tax_tag_code?: string;
|
|
977
|
-
tax_jwo_code?: string;
|
|
978
|
-
tax_rate?: number;
|
|
979
|
-
tax_amount?: number;
|
|
980
|
-
};
|
|
981
|
-
recipe?: {
|
|
982
|
-
// menuworks mrn
|
|
983
|
-
mrn?: string;
|
|
984
|
-
// menuworks unit id
|
|
985
|
-
unit_id?: string;
|
|
986
|
-
// menuworks portion quantity
|
|
987
|
-
portion_quantity?: number;
|
|
988
|
-
// menuworks portion unit name
|
|
989
|
-
portion_unit_name?: string;
|
|
990
|
-
// menuworks grams
|
|
991
|
-
grams?: number;
|
|
992
|
-
// menuworks cost (per serving)
|
|
993
|
-
cost?: number;
|
|
994
|
-
// menuworks ingredients
|
|
995
|
-
ingredients?: string[];
|
|
996
|
-
// menuworks smart tags
|
|
997
|
-
smart_tags?: string[];
|
|
998
|
-
// menuworks allergen tags
|
|
999
|
-
allergen_tags?: string[];
|
|
1000
|
-
};
|
|
1001
|
-
// unique id of the entity
|
|
1002
|
-
unique_id?: number;
|
|
1003
|
-
};
|
|
1004
|
-
category?: {
|
|
1005
|
-
en?: string;
|
|
1006
|
-
};
|
|
1007
|
-
location?: string;
|
|
1008
|
-
sku?: number;
|
|
1009
|
-
item_number?: number;
|
|
1010
|
-
image?: {
|
|
1011
|
-
src?: string;
|
|
1012
|
-
sizes?: {
|
|
1013
|
-
original?: string;
|
|
1014
|
-
thumbnail_80_80?: string;
|
|
1015
|
-
};
|
|
1016
|
-
};
|
|
1017
|
-
weight?: {
|
|
1018
|
-
unit?: string;
|
|
1019
|
-
amount?: number;
|
|
1020
|
-
};
|
|
1021
|
-
line_route?: string;
|
|
1022
|
-
reporting?: {
|
|
1023
|
-
category?: {
|
|
1024
|
-
primary?: string;
|
|
1025
|
-
secondary?: string;
|
|
1026
|
-
};
|
|
1027
|
-
};
|
|
1028
|
-
// @deprecated
|
|
1029
|
-
is_deleted?: boolean;
|
|
1030
|
-
is?: {
|
|
1031
|
-
disabled?: boolean;
|
|
1032
|
-
hidden?: boolean;
|
|
1033
|
-
meq_eligible?: boolean;
|
|
1034
|
-
out_of_stock?: boolean;
|
|
1035
|
-
deleted?: boolean;
|
|
1036
|
-
featured?: boolean;
|
|
1037
|
-
};
|
|
1038
|
-
}[];
|
|
1039
|
-
// @deprecated
|
|
1040
|
-
is_disabled?: boolean;
|
|
1041
|
-
is?: {
|
|
1042
|
-
disabled?: boolean;
|
|
1043
|
-
hidden?: boolean;
|
|
1044
|
-
item_images_enabled?: boolean;
|
|
1045
|
-
};
|
|
1046
|
-
meta?: {
|
|
1047
|
-
// chit sort order
|
|
1048
|
-
sort_number?: number;
|
|
1049
|
-
// menu sort order
|
|
1050
|
-
menu_sort_number?: number;
|
|
1051
|
-
[index: string]: any;
|
|
1052
|
-
};
|
|
1053
|
-
image?: {
|
|
1054
|
-
src?: string;
|
|
1055
|
-
sizes?: {
|
|
1056
|
-
original?: string;
|
|
1057
|
-
thumbnail_80_80?: string;
|
|
1058
|
-
};
|
|
1059
|
-
};
|
|
1060
|
-
}
|
|
1061
|
-
|
|
1062
|
-
export interface Nutrition {
|
|
1063
|
-
amount?: number;
|
|
1064
|
-
unit?: string;
|
|
1065
|
-
}
|
|
1066
|
-
|
|
1067
|
-
export type AmountOffExclusionTypes = 'loyalty' | 'discount' | 'promo';
|
|
1068
|
-
|
|
1069
|
-
export interface CognitionStore {
|
|
1070
|
-
// UUID for external store
|
|
1071
|
-
uuid?: string;
|
|
1072
|
-
// Store name
|
|
1073
|
-
name?: string;
|
|
1074
|
-
// Full address
|
|
1075
|
-
address?: string;
|
|
1076
|
-
city?: string;
|
|
1077
|
-
state?: string;
|
|
1078
|
-
// Abbreviated address
|
|
1079
|
-
street_address?: string;
|
|
1080
|
-
// ISO code for currency
|
|
1081
|
-
currency_code?: string;
|
|
1082
|
-
latitude?: number;
|
|
1083
|
-
longitude?: number;
|
|
1084
|
-
}
|
|
1085
|
-
|
|
1086
12
|
export interface Success {
|
|
1087
13
|
success?: boolean;
|
|
1088
14
|
}
|