@open-tender/types 0.0.38 → 0.0.40

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.
@@ -1,4 +1,7 @@
1
- import { IpAddress } from '../global';
1
+ import { TimezonePython } from '../datetimes';
2
+ import { IpAddress, OrderType, ServiceType } from '../global';
3
+ import { ButtonColor } from '../theme';
4
+ import { LoyaltyType, NotificationChannel } from './customer';
2
5
  import { PrepStations, PrepStatus } from './kds';
3
6
  export interface Config {
4
7
  backup_printer_ip_address: IpAddress | null;
@@ -45,3 +48,726 @@ export interface SelectOption {
45
48
  select_option_id: number;
46
49
  }
47
50
  export declare type SelectOptions = Array<SelectOption>;
51
+ export interface ConfigApp {
52
+ authUrl: string;
53
+ baseUrl: string;
54
+ brandId: string;
55
+ clientId: string;
56
+ }
57
+ export interface ConfigAcceptMarketing {
58
+ default: boolean;
59
+ description: string;
60
+ title: string;
61
+ }
62
+ export interface ConfigFulfillmentField {
63
+ label: string;
64
+ name: string;
65
+ placeholder: string;
66
+ }
67
+ export interface ConfigFulfillment {
68
+ button: string;
69
+ description: string;
70
+ title: string;
71
+ fields: Array<ConfigFulfillmentField>;
72
+ }
73
+ export interface ConfigLoyaltyTermsThreshold {
74
+ description: string;
75
+ name: string;
76
+ points: number;
77
+ }
78
+ export interface ConfigLoyaltyTerms {
79
+ expiration_days: number;
80
+ name: string;
81
+ points_per_dollar: number;
82
+ thresholds: Array<ConfigLoyaltyTermsThreshold>;
83
+ }
84
+ export interface ConfigLoyalty {
85
+ description: string;
86
+ loyalty_type: LoyaltyType;
87
+ name: string;
88
+ order_type: OrderType;
89
+ terms: ConfigLoyaltyTerms;
90
+ }
91
+ export interface ConfigOrderNotifications {
92
+ default: NotificationChannel;
93
+ description: string;
94
+ title: string;
95
+ }
96
+ export interface ConfigBrand {
97
+ accepts_marketing: ConfigAcceptMarketing;
98
+ applePayMerchantId: string;
99
+ appleTouchIcon: string;
100
+ brandId: number;
101
+ catering_id: number;
102
+ description: string;
103
+ email: string;
104
+ favicon: string;
105
+ fulfillment: ConfigFulfillment;
106
+ gatewayId: string;
107
+ googlePayMerchantId: string;
108
+ gtmContainerId: string;
109
+ has_allergens: boolean;
110
+ has_app: boolean;
111
+ has_deals: boolean;
112
+ has_donations: boolean;
113
+ has_favorites: boolean;
114
+ has_gift_cards: boolean;
115
+ has_house_accounts: boolean;
116
+ has_levelup: boolean;
117
+ has_loyalty: boolean;
118
+ has_pos: boolean;
119
+ has_rewards: boolean;
120
+ has_sms: boolean;
121
+ has_thanx: boolean;
122
+ logo: string;
123
+ logoLight: string;
124
+ loyalty: ConfigLoyalty;
125
+ olo_id: number;
126
+ openGraphImage: string | null;
127
+ order_notifications: ConfigOrderNotifications;
128
+ origin: string;
129
+ timezone: TimezonePython;
130
+ title: string;
131
+ url: string;
132
+ }
133
+ export interface ConfigContentField {
134
+ title: string;
135
+ subtitle: string;
136
+ empty?: string;
137
+ }
138
+ export declare type HomeOrderTypes = 'CATERING' | 'DELIVERY' | 'DONATIONS' | 'GIFT_CARDS' | 'GROUP' | 'MERCH' | 'OUTPOST' | 'PICKUP' | 'WALKIN';
139
+ export declare type RevenueCenterStatus = 'CLOSED' | 'CLOSED_TEMPORARILY' | 'COMING_SOON';
140
+ export interface ConfigContent {
141
+ about: {
142
+ background: string;
143
+ content: string;
144
+ mobile: string;
145
+ subtitle: string;
146
+ title: string;
147
+ };
148
+ accessibility: {
149
+ background: string;
150
+ content: Array<string>;
151
+ subtitle: string;
152
+ title: string;
153
+ };
154
+ account: {
155
+ addresses: ConfigContentField;
156
+ allergens: ConfigContentField;
157
+ background: string;
158
+ content: string;
159
+ creditCards: ConfigContentField;
160
+ deals: ConfigContentField;
161
+ displayLogo: boolean;
162
+ displayLogoApp: boolean;
163
+ displayLogoMobile: boolean;
164
+ displayed: Array<string>;
165
+ displayedMobile: Array<string>;
166
+ favorites: ConfigContentField;
167
+ giftCards: ConfigContentField;
168
+ greeting: string;
169
+ groupOrders: ConfigContentField;
170
+ houseAccounts: ConfigContentField;
171
+ levelup: ConfigContentField;
172
+ loyalty: {
173
+ signUp: string;
174
+ title: string;
175
+ subtitle: string;
176
+ skip: string;
177
+ };
178
+ mobile: string;
179
+ profile: ConfigContentField;
180
+ punctuation: string;
181
+ recentItems: ConfigContentField;
182
+ recentOrders: ConfigContentField;
183
+ rewards: ConfigContentField;
184
+ showFirstName: boolean;
185
+ showHero: boolean;
186
+ subtitle: string;
187
+ thanx: ConfigContentField;
188
+ title: string;
189
+ };
190
+ accountSettings: ConfigContentField;
191
+ addresses: ConfigContentField;
192
+ allergens: ConfigContentField;
193
+ catering: {
194
+ background: string;
195
+ content: string;
196
+ mobile: string;
197
+ subtitle: string;
198
+ title: string;
199
+ policy: {
200
+ content: Array<string>;
201
+ subtitle: string;
202
+ title: string;
203
+ };
204
+ };
205
+ cateringSite: {
206
+ background: string;
207
+ content: string;
208
+ mobile: string;
209
+ subtitle: string;
210
+ title: string;
211
+ };
212
+ checkout: {
213
+ account: ConfigContentField;
214
+ address: ConfigContentField;
215
+ background: string;
216
+ checkTitle: string;
217
+ details: ConfigContentField;
218
+ discounts: ConfigContentField;
219
+ giftCards: ConfigContentField;
220
+ guest: ConfigContentField;
221
+ promoCodes: ConfigContentField;
222
+ signUp: ConfigContentField;
223
+ subtitle: string;
224
+ surcharges: ConfigContentField;
225
+ tenders: ConfigContentField;
226
+ title: string;
227
+ };
228
+ checkoutFlow: {
229
+ sections: {
230
+ email: ConfigContentField;
231
+ magicLink: {
232
+ changeEmail: string;
233
+ resend: string;
234
+ subtitle: string;
235
+ title: string;
236
+ };
237
+ name: ConfigContentField;
238
+ signIn: ConfigContentField;
239
+ signUp: ConfigContentField & {
240
+ showGuest: boolean;
241
+ };
242
+ };
243
+ };
244
+ communicationPreferences: ConfigContentField;
245
+ confirmation: ConfigContentField & {
246
+ background: string;
247
+ error: string;
248
+ };
249
+ creditCards: ConfigContentField;
250
+ deals: ConfigContentField;
251
+ donations: ConfigContentField & {
252
+ background: string;
253
+ };
254
+ error: ConfigContentField & {
255
+ background: string;
256
+ };
257
+ favorites: ConfigContentField;
258
+ fulfillment: {
259
+ background: string;
260
+ };
261
+ giftCards: ConfigContentField & {
262
+ background: string;
263
+ };
264
+ giftCardsAccount: ConfigContentField;
265
+ groupOrders: ConfigContentField & {
266
+ background: string;
267
+ };
268
+ guest: ConfigContentField & {
269
+ background: string;
270
+ content: string;
271
+ displayLogo: boolean;
272
+ displayLogoApp: boolean;
273
+ displayLogoMobile: boolean;
274
+ displayed: Array<string>;
275
+ displayedMobile: Array<string>;
276
+ mobile: string;
277
+ showGuest: boolean;
278
+ subtitle: string;
279
+ title: string;
280
+ };
281
+ home: ConfigContentField & {
282
+ background: string;
283
+ content: string;
284
+ mobile: string;
285
+ orderTypes: {
286
+ [keys in HomeOrderTypes]: ConfigContentField;
287
+ };
288
+ showHero: boolean;
289
+ };
290
+ houseAccounts: ConfigContentField;
291
+ menu: {
292
+ background: string;
293
+ cartErrors: ConfigContentField;
294
+ displayed: Array<string>;
295
+ displayedMobile: Array<string>;
296
+ loadingMessage: string;
297
+ mobile: string;
298
+ soldOutMessage: string;
299
+ };
300
+ menuSite: ConfigContentField & {
301
+ background: string;
302
+ content: string;
303
+ mobile: string;
304
+ };
305
+ notFound: ConfigContentField & {
306
+ back: string;
307
+ background: string;
308
+ };
309
+ orderType: ConfigContentField & {
310
+ background: string;
311
+ content: string;
312
+ mobile: string;
313
+ orderTypes: {
314
+ [keys in HomeOrderTypes]: ConfigContentField;
315
+ };
316
+ showDescriptions: boolean;
317
+ showDescriptionsMobile: boolean;
318
+ showHero: boolean;
319
+ };
320
+ orders: ConfigContentField;
321
+ profile: ConfigContentField;
322
+ refunds: ConfigContentField & {
323
+ background: string;
324
+ content: Array<string>;
325
+ };
326
+ resetPassword: ConfigContentField & {
327
+ back: string;
328
+ background: string;
329
+ };
330
+ revenueCenters: ConfigContentField & {
331
+ background: string;
332
+ mobile: string;
333
+ statusMessages: {
334
+ [keys in RevenueCenterStatus]: ConfigContentField;
335
+ };
336
+ };
337
+ rewards: ConfigContentField & {
338
+ loyalty: ConfigContentField;
339
+ rewards: ConfigContentField;
340
+ };
341
+ signUp: ConfigContentField & {
342
+ back: string;
343
+ background: string;
344
+ };
345
+ upsells: {
346
+ cart: ConfigContentField & {
347
+ decline: string;
348
+ show: boolean;
349
+ };
350
+ checkout: ConfigContentField & {
351
+ decline: string;
352
+ proceed: string;
353
+ show: boolean;
354
+ };
355
+ item: ConfigContentField & {
356
+ decline: string;
357
+ show: boolean;
358
+ };
359
+ };
360
+ }
361
+ export interface ConfigSettingsCheckout {
362
+ address_company: string | null;
363
+ address_contact: string | null;
364
+ address_phone: string | null;
365
+ address_unit: string | null;
366
+ customer_company: string | null;
367
+ details_count: string | null;
368
+ details_eatingUtensils: string | null;
369
+ details_notes: string | null;
370
+ details_servingUtensils: string | null;
371
+ promo_code_limit: number;
372
+ }
373
+ export interface ConfigDisplaySetting {
374
+ allergens: boolean;
375
+ builderImages: boolean;
376
+ builderType: string;
377
+ calories: boolean;
378
+ categoryType: string;
379
+ categoryTypeMobile: string;
380
+ groupsTypeApp: string;
381
+ hasCustomize: boolean;
382
+ itemsTwoPerRowMobile: boolean;
383
+ madeFor: boolean;
384
+ menuHero: boolean;
385
+ menuHeroChild: boolean;
386
+ menuHeroChildMobile: boolean;
387
+ menuHeroMobile: boolean;
388
+ menuImages: boolean;
389
+ menuItemDescription: string;
390
+ menuItemDescriptionMobile: string;
391
+ menuType: string;
392
+ menuTypeApp: string;
393
+ menuTypeMobile: string;
394
+ modifierDescription: boolean;
395
+ modifierGroupDescription: boolean;
396
+ modifierImage: boolean;
397
+ modifiersType: string;
398
+ notes: boolean;
399
+ quickAdd: boolean;
400
+ quickAddMobile: boolean;
401
+ skipToCustomize: boolean;
402
+ skipToCustomizeMobile: boolean;
403
+ storePhone: boolean;
404
+ tags: boolean;
405
+ }
406
+ export interface LocationAnchor {
407
+ x: number;
408
+ y: number;
409
+ }
410
+ export interface ConfigIconSize {
411
+ height: number;
412
+ width: number;
413
+ }
414
+ export interface ConfigIcon {
415
+ anchor: LocationAnchor | null;
416
+ size: ConfigIconSize;
417
+ url: string;
418
+ }
419
+ export interface ConfigSettings {
420
+ accountSections: Array<string>;
421
+ autoSelect: {
422
+ [keys in OrderType]?: {
423
+ [keys in ServiceType]?: boolean;
424
+ };
425
+ };
426
+ checkout: {
427
+ orderTypes: {
428
+ [keys in OrderType]?: ConfigSettingsCheckout;
429
+ };
430
+ };
431
+ displaySettings: {
432
+ [keys in OrderType]?: ConfigDisplaySetting;
433
+ };
434
+ googleMaps: {
435
+ apiKey: string;
436
+ apiKeyApp: string;
437
+ defaultCenter: {
438
+ lat: number;
439
+ lng: number;
440
+ };
441
+ icons: {
442
+ location: ConfigIcon;
443
+ locationSelected: ConfigIcon;
444
+ user: ConfigIcon;
445
+ };
446
+ styles: {
447
+ backgroundColor: string;
448
+ featureColor: string;
449
+ labelColor: string;
450
+ roadColor: string;
451
+ waterColor: string;
452
+ };
453
+ zoom: number;
454
+ };
455
+ locationName: {
456
+ [keys in ServiceType]?: Array<string>;
457
+ };
458
+ maxDistance: number;
459
+ orderTypes: Array<HomeOrderTypes>;
460
+ recaptcha: {
461
+ addCard: boolean;
462
+ donations: boolean;
463
+ giftCards: boolean;
464
+ };
465
+ }
466
+ interface ConfigButtonSize {
467
+ borderRadius: string;
468
+ borderWidth: string;
469
+ borderWidthApp: string;
470
+ fontSize: string;
471
+ letterSpacing: string;
472
+ padding: string;
473
+ showButtonApp: boolean;
474
+ showSubtitle: boolean;
475
+ showSubtitleMobile: boolean;
476
+ subtitleFontMobile: string;
477
+ subtitleFontSize: string;
478
+ subtitleFontSizeMobile: string;
479
+ subtitleFontWeight: string;
480
+ subtitleMarginTop: string;
481
+ subtitleMarginTopMobile: string;
482
+ titleFontMobile: string;
483
+ titleFontSize: string;
484
+ titleFontSizeMobile: string;
485
+ titleFontWeight: string;
486
+ titleMarginLeft: string;
487
+ titleMarginLeftMobile: string;
488
+ }
489
+ export interface ConfigCardColors {
490
+ bgColor: string;
491
+ borderColor: string;
492
+ borderRadius: string;
493
+ borderWidth: string;
494
+ borderWidthApp: string;
495
+ boxShadow: string;
496
+ caloriesColor: string;
497
+ overrideFontColors: boolean;
498
+ priceColor: string;
499
+ priceSize: string;
500
+ priceSizeMobile: string;
501
+ textColor: string;
502
+ titleColor: string;
503
+ titleSize: string;
504
+ titleSizeMobile: string;
505
+ }
506
+ export interface ConfigCountColors {
507
+ bgColor: string;
508
+ borderColor: string;
509
+ borderWidth: string;
510
+ borderWidthApp: string;
511
+ color: string;
512
+ family: string;
513
+ fontMobile: string;
514
+ fontSize: string;
515
+ fontSizeMobile: string;
516
+ fontSmoothing: string;
517
+ paddingBottom: string;
518
+ paddingTop: string;
519
+ weight: string;
520
+ }
521
+ export declare type ConfigFontSizes = 'big' | 'giga' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'main' | 'mega' | 'small' | 'tera' | 'xBig' | 'xSmall' | 'xxBig' | 'xxSmall';
522
+ export interface ConfigFont {
523
+ color: string;
524
+ family: string;
525
+ fontMobile: string;
526
+ fontSmoothing: string;
527
+ letterSpacing: string;
528
+ lineHeight: number;
529
+ lineHeights: {
530
+ [keys in ConfigFontSizes]: string;
531
+ };
532
+ textTransform: string;
533
+ url: string;
534
+ weight: string;
535
+ }
536
+ export interface ConfigItem {
537
+ imageHeight: string;
538
+ imageMaxHeight: string;
539
+ imageMinHeight: string;
540
+ imagePadding: string;
541
+ maxWidth: string;
542
+ padding: string;
543
+ }
544
+ export interface ConfigLink {
545
+ color: string;
546
+ hover: string;
547
+ }
548
+ export interface ConfigTheme {
549
+ alert: {
550
+ bgColor: string;
551
+ color: string;
552
+ };
553
+ bgColors: {
554
+ alert: string;
555
+ allergens: string;
556
+ dark: string;
557
+ error: string;
558
+ highlight: string;
559
+ light: string;
560
+ primary: string;
561
+ secondary: string;
562
+ success: string;
563
+ tertiary: string;
564
+ toast: string;
565
+ };
566
+ boldWeight: string;
567
+ border: {
568
+ color: string;
569
+ radius: string;
570
+ radiusSmall: string;
571
+ width: string;
572
+ widthApp: string;
573
+ };
574
+ boxShadow: {
575
+ appBig: string;
576
+ appSmall: string;
577
+ inset: string;
578
+ outer: string;
579
+ };
580
+ breakpoints: {
581
+ laptop: string;
582
+ mobile: string;
583
+ narrow: string;
584
+ tablet: string;
585
+ };
586
+ buttons: {
587
+ colors: {
588
+ cart: ButtonColor;
589
+ cartHover: ButtonColor;
590
+ header: ButtonColor;
591
+ headerHover: ButtonColor;
592
+ large: ButtonColor & {
593
+ iconColor: string;
594
+ subtitleColor: string;
595
+ };
596
+ largeHover: ButtonColor & {
597
+ iconColor: string;
598
+ subtitleColor: string;
599
+ };
600
+ light: ButtonColor;
601
+ lightHover: ButtonColor;
602
+ primary: ButtonColor;
603
+ primaryHover: ButtonColor;
604
+ secondary: ButtonColor;
605
+ secondaryHover: ButtonColor;
606
+ };
607
+ sizes: {
608
+ big: Partial<ConfigButtonSize>;
609
+ default: Partial<ConfigButtonSize>;
610
+ header: Partial<ConfigButtonSize>;
611
+ large: Partial<ConfigButtonSize>;
612
+ small: Partial<ConfigButtonSize>;
613
+ };
614
+ };
615
+ cards: {
616
+ default: Partial<ConfigCardColors>;
617
+ form: Partial<ConfigCardColors>;
618
+ menuItem: Partial<ConfigCardColors>;
619
+ modifier: Partial<ConfigCardColors>;
620
+ };
621
+ colors: {
622
+ alert: string;
623
+ allergens: string;
624
+ dark: string;
625
+ error: string;
626
+ light: string;
627
+ primary: string;
628
+ secondary: string;
629
+ success: string;
630
+ tags: string;
631
+ tertiary: string;
632
+ title: string;
633
+ toast: string;
634
+ };
635
+ counts: {
636
+ alerts: Partial<ConfigCountColors>;
637
+ quantity: Partial<ConfigCountColors>;
638
+ };
639
+ error: {
640
+ bgColor: string;
641
+ color: string;
642
+ };
643
+ favorite: {
644
+ iconSize: string;
645
+ size: string;
646
+ };
647
+ fonts: {
648
+ body: ConfigFont;
649
+ headings: ConfigFont;
650
+ headline: ConfigFont;
651
+ lineHeights: {
652
+ [keys in ConfigFontSizes]: string;
653
+ };
654
+ preface: ConfigFont;
655
+ sizes: {
656
+ [keys in ConfigFontSizes]: string;
657
+ };
658
+ };
659
+ header: {
660
+ primary: string;
661
+ stuck: string;
662
+ };
663
+ icons: {
664
+ strokeWidth: number;
665
+ };
666
+ inputs: {
667
+ bgColor: string;
668
+ bgColorFocus: string;
669
+ borderColor: string;
670
+ borderColorFocus: string;
671
+ borderStyle: string;
672
+ borderWidth: string;
673
+ borderWidthApp: string;
674
+ bottomBorderOnly: boolean;
675
+ boxShadow: string;
676
+ color: string;
677
+ colorFocus: string;
678
+ family: string;
679
+ fontMobile: string;
680
+ fontSize: string;
681
+ fontSizeMobile: string;
682
+ fontSmoothing: string;
683
+ iconLeft: string;
684
+ iconPadding: string;
685
+ label: {
686
+ fontSize: string;
687
+ left: string;
688
+ lineHeight: string;
689
+ offset: string;
690
+ padding: string;
691
+ top: string;
692
+ };
693
+ letterSpacing: string;
694
+ lineHeight: string;
695
+ padding: string;
696
+ paddingBottom: string;
697
+ paddingBottomActive: string;
698
+ paddingHorizontal: string;
699
+ paddingTop: string;
700
+ paddingTopActive: string;
701
+ paddingVertical: string;
702
+ placeholderColor: string;
703
+ radius: string;
704
+ selectPaddingBottom: string;
705
+ selectSize: string;
706
+ selectSizeMobile: string;
707
+ showIcon: boolean;
708
+ showLabel: boolean;
709
+ showOutline: boolean;
710
+ textTransform: string;
711
+ weight: string;
712
+ };
713
+ item: {
714
+ desktop: ConfigItem;
715
+ imageMaxHeight: string;
716
+ imageMinHeight: string;
717
+ imagePadding: string;
718
+ maxWidth: string;
719
+ mobile: ConfigItem;
720
+ padding: string;
721
+ };
722
+ layout: {
723
+ containerMaxWidth: string;
724
+ headerHeightApp: string;
725
+ headerHeightSite: string;
726
+ headerHeightSiteMobile: string;
727
+ margin: string;
728
+ marginMobile: string;
729
+ maxWidth: string;
730
+ navHeight: string;
731
+ navHeightApp: string;
732
+ navHeightMobile: string;
733
+ padding: string;
734
+ paddingMobile: string;
735
+ };
736
+ lineHeight: string;
737
+ links: {
738
+ customize: ConfigLink;
739
+ dark: ConfigLink;
740
+ light: ConfigLink;
741
+ primary: ConfigLink;
742
+ textDecoration: string;
743
+ transition: string;
744
+ };
745
+ overlay: {
746
+ alert: string;
747
+ dark: string;
748
+ light: string;
749
+ primary: string;
750
+ secondary: string;
751
+ tertiary: string;
752
+ };
753
+ success: {
754
+ bgColor: string;
755
+ color: string;
756
+ };
757
+ toast: {
758
+ bgColor: string;
759
+ color: string;
760
+ };
761
+ welcome: {
762
+ marginBottom: string;
763
+ marginTop: string;
764
+ subtitleLineHeight: string;
765
+ subtitleMarginTop: string;
766
+ subtitleSize: string;
767
+ textAlign: string;
768
+ titleLineHeight: string;
769
+ titleMarginLeft: string;
770
+ titleSize: string;
771
+ };
772
+ }
773
+ export {};