@compassdigital/sdk.typescript 4.94.0 → 4.94.2

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.
@@ -32,6 +32,23 @@ export interface ShoppingCartResponse {
32
32
  app?: string;
33
33
  discount?: Record<string, any>;
34
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
+ };
35
52
  };
36
53
  //@deprecated
37
54
  loyalty?: {
@@ -44,15 +61,7 @@ export interface ShoppingCartResponse {
44
61
  // Points to be earned for this shopping cart total
45
62
  order_loyalty_points?: boolean;
46
63
  };
47
- discount?: {
48
- code?: string;
49
- provider?: 'fp' | 'voucherify';
50
- amount_off?: MonetaryValue;
51
- percent_off?: MonetaryValue;
52
- amount?: MonetaryValue;
53
- discount?: Record<string, any>;
54
- provider_data?: FPValidationData;
55
- };
64
+ discount?: ShoppingCartResponse['promo'];
56
65
  payment_method?: {
57
66
  // Mealplan payment details
58
67
  mealplan?: {
@@ -123,10 +132,16 @@ export interface ShoppingCartResponse {
123
132
  email_tax_exempt?: boolean;
124
133
  // Indicates to clients that a tax recalculation is required
125
134
  tax_calculation_required?: boolean;
135
+ // Indicates that the shopping cart is a system 365 shopping cart
136
+ system365?: boolean;
126
137
  };
127
138
  meta?: {
128
139
  // Raw request from any vendor integrated with CDL
129
140
  vendor?: Record<string, any>;
141
+ drain_order_type?: {
142
+ taxable?: boolean;
143
+ tax_exempt?: boolean;
144
+ };
130
145
  [index: string]: any;
131
146
  };
132
147
  }
@@ -138,6 +153,10 @@ export interface ItemResponse {
138
153
  // index based on cdl id or stringified timestamp
139
154
  _index?: string;
140
155
  quantity: Quantity;
156
+ quantity_by_weight?: {
157
+ unit?: string;
158
+ value?: number;
159
+ };
141
160
  unit?: number;
142
161
  price?: Price;
143
162
  // Final item price after LTO/Bundle/BOGO etc is applied on the item.
@@ -145,6 +164,7 @@ export interface ItemResponse {
145
164
  active?: boolean;
146
165
  amount?: MonetaryValue;
147
166
  };
167
+ weighed_price?: Price;
148
168
  // Subtotal of the item including all options
149
169
  _subtotal?: {
150
170
  amount?: MonetaryValue;
@@ -164,9 +184,16 @@ export interface ItemResponse {
164
184
  brand?: string;
165
185
  brand_label?: Label;
166
186
  taxes?: string[];
187
+ tax?: {
188
+ tax_tag_code?: string;
189
+ tax_rate?: number;
190
+ tax_amount?: number;
191
+ };
167
192
  menu_tax_tags?: string[];
168
193
  orderable?: boolean;
169
194
  volante_id?: string;
195
+ barcodes?: string[];
196
+ plu?: string;
170
197
  [index: string]: any;
171
198
  };
172
199
  options?: {
@@ -175,6 +202,8 @@ export interface ItemResponse {
175
202
  meta?: {
176
203
  taxes?: string[];
177
204
  original_label?: Label;
205
+ order_type?: 'selection' | 'option' | 'quantity';
206
+ surchage_limit_value?: number;
178
207
  };
179
208
  items?: {
180
209
  // option/modifier
@@ -188,6 +217,11 @@ export interface ItemResponse {
188
217
  sort_number?: number;
189
218
  original_label?: Label;
190
219
  taxes?: string[];
220
+ sizing?: {
221
+ name?: string;
222
+ price?: MonetaryValue;
223
+ posid?: string;
224
+ }[];
191
225
  };
192
226
  amount_off_exclusions?: AmountOffExclusion[];
193
227
  is?: {
@@ -196,6 +230,8 @@ export interface ItemResponse {
196
230
  }[];
197
231
  is?: {
198
232
  disabled?: boolean;
233
+ incremental?: boolean;
234
+ surchage_limit?: boolean;
199
235
  };
200
236
  }[];
201
237
  // Details about discount like BOGO, LTO, Bundle etc.
@@ -206,8 +242,15 @@ export interface ItemResponse {
206
242
  added_on?: string;
207
243
  meal_value?: IntegerValue;
208
244
  category?: Label;
245
+ menu_label?: Label;
209
246
  tax_rate?: MonetaryValue;
210
247
  label?: Label;
248
+ reporting?: {
249
+ category?: {
250
+ primary?: string;
251
+ secondary?: string;
252
+ };
253
+ };
211
254
  }
212
255
 
213
256
  export type MonetaryValue = number;
@@ -257,12 +300,62 @@ export interface Taxes {
257
300
  combined_tax_rate?: MonetaryValue;
258
301
  gst?: MonetaryValue;
259
302
  pst?: MonetaryValue;
303
+ provider?: string;
260
304
  [index: string]: any;
261
305
  };
306
+ provider?: string;
307
+ quote_payload?: {
308
+ // a unique identifier representing the transaction
309
+ id: string;
310
+ // the app to associate the transaction with
311
+ appName: string;
312
+ // the order fulfillment type
313
+ transactionType: 'pickup' | 'delivery';
314
+ // numeric value of service fee
315
+ serviceFee?: number;
316
+ // numeric value of delivery fee
317
+ deliveryFee?: number;
318
+ // location data of the transaction
319
+ locationData: {
320
+ // unique location identifier
321
+ id: string;
322
+ // country of transaction
323
+ country: string;
324
+ // state or province of transaction
325
+ stateOrProvince: string;
326
+ // city of transaction
327
+ city: string;
328
+ // postal code of transaction
329
+ postalCode: string;
330
+ // street address of transaction
331
+ streetAddress: string;
332
+ };
333
+ // items to calculate tax on
334
+ items: {
335
+ // unique item identifier
336
+ id: string;
337
+ // indicates a tax rule for an item
338
+ taxTagCode: string;
339
+ // amount of an item
340
+ quantity: number;
341
+ // decimal price of an item
342
+ price: number;
343
+ // amount of tax charged on an item after funds are captured
344
+ taxedAmount?: number;
345
+ }[];
346
+ // iso timstamp of transaction date
347
+ transactionDate?: string;
348
+ // an array of items to refund
349
+ refunds?: {
350
+ // unique identifier of the refunded item
351
+ refundItemId: string;
352
+ // quantity amount of the item to be refunded
353
+ refundItemQuantity: number;
354
+ }[];
355
+ };
262
356
  }
263
357
 
264
358
  export interface LocationGroup {
265
- // group
266
359
  id?: string;
267
360
  name?: string;
268
361
  label?: {
@@ -274,13 +367,16 @@ export interface LocationGroup {
274
367
  locations?: Location[];
275
368
  address?: Address;
276
369
  meta?: Record<string, any>;
277
- style?: Record<string, any>;
370
+ style?: {
371
+ logo?: string | null;
372
+ main_logo?: string | null;
373
+ alt_logo?: string | null;
374
+ };
278
375
  timezone?: string;
279
376
  [index: string]: any;
280
377
  }
281
378
 
282
379
  export interface Location {
283
- // location
284
380
  id?: string;
285
381
  operation_id?: number;
286
382
  name?: string;
@@ -296,11 +392,11 @@ export interface Location {
296
392
  brands?: Brand[];
297
393
  meta?: Record<string, any>;
298
394
  phone?: string;
299
- // group
395
+ // The CDL is representing the group of this location
300
396
  location_group?: string;
301
- // multigroup
397
+ // The CDL id representing the multigroup of this location
302
398
  location_multigroup?: string;
303
- // sector
399
+ // The CDL id representing the sector of this location
304
400
  sector?: string;
305
401
  date?: {
306
402
  deleted?: string;
@@ -318,6 +414,7 @@ export interface Location {
318
414
  };
319
415
  logo?: string;
320
416
  is?: {
417
+ enabled?: boolean;
321
418
  pickup_supported?: boolean;
322
419
  delivery_supported?: boolean;
323
420
  };
@@ -345,7 +442,7 @@ export interface Location {
345
442
  export interface Brand {
346
443
  // brand
347
444
  id?: string;
348
- // sector
445
+ // The CDL id representing the sector this brand belongs to
349
446
  sector?: string;
350
447
  name?: string;
351
448
  label?: {
@@ -366,8 +463,12 @@ export interface Brand {
366
463
  };
367
464
  hours?: Hours[];
368
465
  deliveryHours?: DeliveryHours[];
369
- style?: Record<string, any>;
370
- // pos
466
+ style?: {
467
+ logo?: string | null;
468
+ main_logo?: string | null;
469
+ alt_logo?: string | null;
470
+ };
471
+ // The CDL id representing the PoS for this brand
371
472
  pos?: string;
372
473
  terminals?: Record<string, any>[];
373
474
  device_mapping?: Record<
@@ -398,6 +499,7 @@ export interface Brand {
398
499
  is?: {
399
500
  pickup_supported?: boolean;
400
501
  delivery_supported?: boolean;
502
+ frictionless_supported?: boolean;
401
503
  plu_enabled?: boolean;
402
504
  promo_exemptions_enabled?: boolean;
403
505
  local_images_enabled?: boolean;
@@ -408,21 +510,21 @@ export interface Brand {
408
510
  scan_and_go_supported?: boolean;
409
511
  calories_edit_enabled?: boolean;
410
512
  // admin panel toggle
411
- special_instructions?: boolean;
513
+ special_instructions_enabled?: boolean;
412
514
  dining_hall?: boolean;
413
515
  [index: string]: any;
414
516
  };
415
- // brand
517
+ // The CDL id representing the brand
416
518
  brand?: string;
417
- // location
519
+ // The CDL id representing the location of this brand
418
520
  location?: string;
419
521
  // location group
420
522
  group?: string;
421
- // payment
523
+ // The CDL id representing the payment provider of this brand
422
524
  payment_provider?: string;
423
525
  //@deprecated
424
526
  location_description?: string;
425
- // company
527
+ // The CDL id representing the company of this brand
426
528
  company?: string;
427
529
  config?: {
428
530
  private?: Record<string, any>;
@@ -462,7 +564,12 @@ export interface Brand {
462
564
  software_integrations?: {
463
565
  system365?: string;
464
566
  jwo?: string;
465
- time2eat?: string;
567
+ time2eat?: {
568
+ enabled?: boolean;
569
+ };
570
+ nextep?: {
571
+ mobile_app?: boolean;
572
+ };
466
573
  };
467
574
  [index: string]: any;
468
575
  };
@@ -505,7 +612,6 @@ export interface Address {
505
612
  }
506
613
 
507
614
  export interface MenuHours {
508
- // menu
509
615
  id?: string;
510
616
  label?: {
511
617
  en?: string;
@@ -516,10 +622,10 @@ export interface MenuHours {
516
622
  is_frictionless?: boolean;
517
623
  // Identifies a brand or menu state, i.e open, closed or accepting preorders
518
624
  state?: 'open' | 'closed' | 'preorder';
625
+ is_disabled?: boolean;
519
626
  }
520
627
 
521
628
  export interface Hours {
522
- // hours
523
629
  id?: string;
524
630
  date?: {
525
631
  deleted?: string;
@@ -534,7 +640,6 @@ export interface Hours {
534
640
  }
535
641
 
536
642
  export interface DeliveryHours {
537
- // hours
538
643
  id?: string;
539
644
  day?: {
540
645
  start?: number;
@@ -593,6 +698,16 @@ export interface Menu {
593
698
  last_modified_user?: string;
594
699
  centricos?: boolean;
595
700
  version?: number;
701
+ // V3 Brand metadata if menu came from Centric
702
+ brand?: {
703
+ id?: string;
704
+ name?: string;
705
+ };
706
+ // V3 Local Menu Group metadata if menu came from Centric
707
+ local_menu_group?: {
708
+ id?: string;
709
+ name?: string;
710
+ };
596
711
  [index: string]: any;
597
712
  };
598
713
  }
@@ -618,6 +733,8 @@ export interface Group {
618
733
  price?: {
619
734
  amount?: number;
620
735
  currency?: string;
736
+ total_price?: number;
737
+ discount?: number;
621
738
  };
622
739
  // Meal exchange value of the item
623
740
  meal_value?: number;
@@ -730,7 +847,6 @@ export interface Group {
730
847
  sort_number?: number;
731
848
  // menu sort order
732
849
  menu_sort_number?: number;
733
- plu?: string;
734
850
  sizing?: {
735
851
  name?: string;
736
852
  posid?: string;
@@ -739,6 +855,28 @@ export interface Group {
739
855
  tax?: {
740
856
  tax_tag_code?: string;
741
857
  };
858
+ recipe?: {
859
+ // menuworks mrn
860
+ mrn?: string;
861
+ // menuworks unit id
862
+ unit_id?: string;
863
+ // menuworks portion quantity
864
+ portion_quantity?: number;
865
+ // menuworks portion unit name
866
+ portion_unit_name?: string;
867
+ // menuworks grams
868
+ grams?: number;
869
+ // menuworks cost (per serving)
870
+ cost?: number;
871
+ // menuworks ingredients
872
+ ingredients?: string[];
873
+ // menuworks smart tags
874
+ smart_tags?: string[];
875
+ // menuworks allergen tags
876
+ allergen_tags?: string[];
877
+ };
878
+ // unique id of the entity
879
+ unique_id?: number;
742
880
  [index: string]: any;
743
881
  };
744
882
  is?: {
@@ -747,6 +885,7 @@ export interface Group {
747
885
  out_of_stock?: boolean;
748
886
  };
749
887
  amount_off_exclusions?: AmountOffExclusionTypes[];
888
+ line_route?: string;
750
889
  }[];
751
890
  min?: number;
752
891
  max?: number;
@@ -755,10 +894,15 @@ export interface Group {
755
894
  hidden?: boolean;
756
895
  out_of_stock?: boolean;
757
896
  incremental?: boolean;
897
+ surcharge_limit?: boolean;
758
898
  };
759
899
  meta?: {
760
900
  // chit sort order
761
901
  sort_number?: number;
902
+ // Type of mod group
903
+ order_type?: 'selection' | 'option' | 'quantity';
904
+ // # of modifiers before surcharge apply
905
+ surcharge_limit_value?: number;
762
906
  // menu sort order
763
907
  menu_sort_number?: number;
764
908
  [index: string]: any;
@@ -773,13 +917,6 @@ export interface Group {
773
917
  type_id?: number;
774
918
  type?: string;
775
919
  };
776
- featured?: {
777
- sort_number?: number;
778
- dates?: {
779
- start?: string;
780
- end?: string;
781
- };
782
- };
783
920
  // chit sort order
784
921
  sort_number?: number;
785
922
  // menu sort order
@@ -788,7 +925,32 @@ export interface Group {
788
925
  barcodes?: string[];
789
926
  tax?: {
790
927
  tax_tag_code?: string;
928
+ tax_jwo_code?: string;
929
+ tax_rate?: number;
930
+ tax_amount?: number;
931
+ };
932
+ recipe?: {
933
+ // menuworks mrn
934
+ mrn?: string;
935
+ // menuworks unit id
936
+ unit_id?: string;
937
+ // menuworks portion quantity
938
+ portion_quantity?: number;
939
+ // menuworks portion unit name
940
+ portion_unit_name?: string;
941
+ // menuworks grams
942
+ grams?: number;
943
+ // menuworks cost (per serving)
944
+ cost?: number;
945
+ // menuworks ingredients
946
+ ingredients?: string[];
947
+ // menuworks smart tags
948
+ smart_tags?: string[];
949
+ // menuworks allergen tags
950
+ allergen_tags?: string[];
791
951
  };
952
+ // unique id of the entity
953
+ unique_id?: number;
792
954
  };
793
955
  category?: {
794
956
  en?: string;
@@ -29,7 +29,6 @@ export interface ApplicationPostBody {
29
29
  }
30
30
 
31
31
  export interface ApplicationPatchBody {
32
- // application
33
32
  id?: string;
34
33
  name?: string;
35
34
  description?: string;
@@ -50,7 +49,6 @@ export interface ApplicationPatchBody {
50
49
  }
51
50
 
52
51
  export interface Application {
53
- // application
54
52
  id?: string;
55
53
  date_created?: string;
56
54
  date_modified?: string;
@@ -67,7 +65,6 @@ export interface Application {
67
65
  last_name?: string;
68
66
  phone_number?: string;
69
67
  };
70
- // vendor
71
68
  vendor_id?: string;
72
69
  [index: string]: any;
73
70
  };
@@ -80,7 +77,6 @@ export interface Applications {
80
77
  }
81
78
 
82
79
  export interface Vendor {
83
- // vendor
84
80
  id?: string;
85
81
  name?: string;
86
82
  description?: string;
@@ -136,7 +132,6 @@ export interface Vendors {
136
132
  }
137
133
 
138
134
  export interface Key {
139
- // key
140
135
  id: string;
141
136
  date_created?: string;
142
137
  date_modified?: string;
@@ -154,7 +149,6 @@ export interface Key {
154
149
  }
155
150
 
156
151
  export interface KeyPostBody {
157
- // vendor
158
152
  vendor_id: string;
159
153
  // Date the key becomes expired
160
154
  date_expires: string;