@compassdigital/sdk.typescript 4.319.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.
@@ -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
  }