@compassdigital/sdk.typescript 4.764.0 → 4.766.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/manifest.json CHANGED
@@ -175,6 +175,13 @@
175
175
  {
176
176
  "name": "delivery",
177
177
  "swagger": "../../api/platform2/delivery/swagger.json"
178
+ },
179
+ {
180
+ "name": "centric-pos",
181
+ "swagger": "../../api/platform2/edges/centric-pos/swagger.json",
182
+ "options": {
183
+ "request": false
184
+ }
178
185
  }
179
186
  ]
180
187
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@compassdigital/sdk.typescript",
3
- "version": "4.764.0",
3
+ "version": "4.766.0",
4
4
  "description": "Compass Digital Labs TypeScript SDK",
5
5
  "type": "commonjs",
6
6
  "main": "./lib/index.js",
package/src/index.ts CHANGED
@@ -1641,6 +1641,23 @@ import {
1641
1641
  GetDeliveryOrdersResponse,
1642
1642
  } from './interface/delivery';
1643
1643
 
1644
+ import {
1645
+ GetCentricPosConfigResponse,
1646
+ UnregisterQuery,
1647
+ UnregisterResponse,
1648
+ RegisterBody,
1649
+ RegisterResponse,
1650
+ GetSiteResponse$0,
1651
+ AuthBody,
1652
+ AuthResponse,
1653
+ PostCentricPosOrderBody,
1654
+ PostCentricPosOrderResponse,
1655
+ PatchCentricPosOrderReceiptEmailBody,
1656
+ PatchCentricPosOrderReceiptEmailResponse,
1657
+ GetDigitalSignageOrdersQuery,
1658
+ GetDigitalSignageOrdersResponse,
1659
+ } from './interface/centric-pos';
1660
+
1644
1661
  import { BaseServiceClient, RequestOptions, ServiceClientOptions, ResponsePromise } from './base';
1645
1662
  export * from './base';
1646
1663
 
@@ -18756,4 +18773,159 @@ export class ServiceClient extends BaseServiceClient {
18756
18773
  options,
18757
18774
  );
18758
18775
  }
18776
+
18777
+ /**
18778
+ * GET /centric-pos/v1/config/{stationId} - Get Centric POS config
18779
+ *
18780
+ * @param stationId - Station identifier
18781
+ * @param options - additional request options
18782
+ */
18783
+ get_centric_pos_config(
18784
+ stationId: string,
18785
+ options?: RequestOptions,
18786
+ ): ResponsePromise<GetCentricPosConfigResponse> {
18787
+ return this.request(
18788
+ 'centric-pos',
18789
+ '/centric-pos/v1/config/{stationId}',
18790
+ 'GET',
18791
+ `/centric-pos/v1/config/${stationId}`,
18792
+ null,
18793
+ options,
18794
+ );
18795
+ }
18796
+
18797
+ /**
18798
+ * DELETE /centric-pos/v1/unregister - Unregister a POS device by serial number
18799
+ *
18800
+ * @param options - additional request options
18801
+ */
18802
+ unregister(
18803
+ options: {
18804
+ query: UnregisterQuery;
18805
+ } & RequestOptions,
18806
+ ): ResponsePromise<UnregisterResponse> {
18807
+ return this.request(
18808
+ 'centric-pos',
18809
+ '/centric-pos/v1/unregister',
18810
+ 'DELETE',
18811
+ `/centric-pos/v1/unregister`,
18812
+ null,
18813
+ options,
18814
+ );
18815
+ }
18816
+
18817
+ /**
18818
+ * POST /centric-pos/v1/register - Register a POS device by serial number
18819
+ *
18820
+ * @param body - Serial number of the device to register
18821
+ * @param options - additional request options
18822
+ */
18823
+ register(body: RegisterBody, options?: RequestOptions): ResponsePromise<RegisterResponse> {
18824
+ return this.request(
18825
+ 'centric-pos',
18826
+ '/centric-pos/v1/register',
18827
+ 'POST',
18828
+ `/centric-pos/v1/register`,
18829
+ body,
18830
+ options,
18831
+ );
18832
+ }
18833
+
18834
+ /**
18835
+ * GET /centric-pos/v1/site/{siteId} - Get stations with Centric POS integration and FreedomPay configured for a site
18836
+ *
18837
+ * @param siteId - Site (location group) identifier
18838
+ * @param options - additional request options
18839
+ */
18840
+ get_site(siteId: string, options?: RequestOptions): ResponsePromise<GetSiteResponse$0> {
18841
+ return this.request(
18842
+ 'centric-pos',
18843
+ '/centric-pos/v1/site/{siteId}',
18844
+ 'GET',
18845
+ `/centric-pos/v1/site/${siteId}`,
18846
+ null,
18847
+ options,
18848
+ );
18849
+ }
18850
+
18851
+ /**
18852
+ * POST /centric-pos/v1/auth - Authenticate with serial number and long-term token to get short-term token
18853
+ *
18854
+ * @param body - Serial number and long-term token for authentication
18855
+ * @param options - additional request options
18856
+ */
18857
+ auth(body: AuthBody, options?: RequestOptions): ResponsePromise<AuthResponse> {
18858
+ return this.request(
18859
+ 'centric-pos',
18860
+ '/centric-pos/v1/auth',
18861
+ 'POST',
18862
+ `/centric-pos/v1/auth`,
18863
+ body,
18864
+ options,
18865
+ );
18866
+ }
18867
+
18868
+ /**
18869
+ * POST /centric-pos/v1/order - Create a POS order
18870
+ *
18871
+ * @param body - Order data to create
18872
+ * @param options - additional request options
18873
+ */
18874
+ post_centric_pos_order(
18875
+ body: PostCentricPosOrderBody,
18876
+ options?: RequestOptions,
18877
+ ): ResponsePromise<PostCentricPosOrderResponse> {
18878
+ return this.request(
18879
+ 'centric-pos',
18880
+ '/centric-pos/v1/order',
18881
+ 'POST',
18882
+ `/centric-pos/v1/order`,
18883
+ body,
18884
+ options,
18885
+ );
18886
+ }
18887
+
18888
+ /**
18889
+ * PATCH /centric-pos/v1/order/{order_id}/receipt-email - Update order receipt email
18890
+ *
18891
+ * @param order_id - The order ID
18892
+ * @param body - Receipt email address
18893
+ * @param options - additional request options
18894
+ */
18895
+ patch_centric_pos_order_receipt_email(
18896
+ order_id: string,
18897
+ body: PatchCentricPosOrderReceiptEmailBody,
18898
+ options?: RequestOptions,
18899
+ ): ResponsePromise<PatchCentricPosOrderReceiptEmailResponse> {
18900
+ return this.request(
18901
+ 'centric-pos',
18902
+ '/centric-pos/v1/order/{order_id}/receipt-email',
18903
+ 'PATCH',
18904
+ `/centric-pos/v1/order/${order_id}/receipt-email`,
18905
+ body,
18906
+ options,
18907
+ );
18908
+ }
18909
+
18910
+ /**
18911
+ * GET /centric-pos/innovation/v1/digital-signage/orders/{stationId} - Get in-progress and ready orders for a station
18912
+ *
18913
+ * @param stationId - Station identifier
18914
+ * @param options - additional request options
18915
+ */
18916
+ get_digital_signage_orders(
18917
+ stationId: string,
18918
+ options?: {
18919
+ query?: GetDigitalSignageOrdersQuery;
18920
+ } & RequestOptions,
18921
+ ): ResponsePromise<GetDigitalSignageOrdersResponse> {
18922
+ return this.request(
18923
+ 'centric-pos',
18924
+ '/centric-pos/innovation/v1/digital-signage/orders/{stationId}',
18925
+ 'GET',
18926
+ `/centric-pos/innovation/v1/digital-signage/orders/${stationId}`,
18927
+ null,
18928
+ options,
18929
+ );
18930
+ }
18759
18931
  }
@@ -0,0 +1,342 @@
1
+ /* eslint-disable */
2
+ // THIS FILE IS AUTOMATICALLY GENERATED, DO NOT MODIFY
3
+
4
+ import { RequestQuery, BaseRequest } from './util';
5
+
6
+ export interface CentricPOSConfigResponse {
7
+ // FreedomPay Store ID
8
+ freedomPayStoreId: string;
9
+ // FreedomPay TerminalId
10
+ freedomPayTerminalId: string;
11
+ // FreedomPay ES Token
12
+ freedomPayEsToken: string;
13
+ // FreedomPay AMA Key
14
+ freedomPayAmaKey: string;
15
+ }
16
+
17
+ export interface ErrorDisplayMessage {
18
+ // user message title
19
+ title: string;
20
+ // user message description
21
+ description: string;
22
+ }
23
+
24
+ export interface ErrorData {
25
+ // http status code
26
+ statusCode: number;
27
+ // http status text
28
+ statusText: string;
29
+ timestamp: string;
30
+ // user friendly error message
31
+ displayMessage: ErrorDisplayMessage;
32
+ }
33
+
34
+ export interface Error {
35
+ // business error code
36
+ code: number;
37
+ // business error description
38
+ message: string;
39
+ // additional error data
40
+ data: ErrorData;
41
+ }
42
+
43
+ export interface CentricPOSRegisterPostBody {
44
+ // Serial number of the device to register
45
+ serialNumber: string;
46
+ }
47
+
48
+ export interface CentricPOSRegisterResponse {
49
+ // Registration token for the device
50
+ token: string;
51
+ // Site ID associated with the device
52
+ siteId: string;
53
+ }
54
+
55
+ export interface Label {
56
+ en?: string;
57
+ fr?: string;
58
+ }
59
+
60
+ export interface TimeslotsDTO {
61
+ time?: string;
62
+ averagePrepTime?: string;
63
+ duration_minutes?: number;
64
+ customers_per_slot?: number;
65
+ menu_items_per_slot?: number;
66
+ }
67
+
68
+ export interface BrandDTO {
69
+ id?: string;
70
+ deleted_at?: string;
71
+ sector?: string;
72
+ name?: string;
73
+ label?: Label;
74
+ sequence?: number;
75
+ timezone?: string;
76
+ description?: string;
77
+ latitude?: number;
78
+ longitude?: number;
79
+ address?: Record<string, any>;
80
+ menus?: Record<string, any>[];
81
+ date?: Record<string, any>;
82
+ hours?: Record<string, any>[];
83
+ brand?: string;
84
+ location?: string;
85
+ group?: string;
86
+ location_description?: string;
87
+ timeslots?: TimeslotsDTO;
88
+ }
89
+
90
+ export interface GetSiteResponse {
91
+ // List of stations that have Centric POS configured
92
+ stations: BrandDTO[];
93
+ }
94
+
95
+ export interface CentricPOSAuthPostBody {
96
+ // Serial number of the device
97
+ serialNumber: string;
98
+ // Long-term token for authentication
99
+ longTermToken: string;
100
+ }
101
+
102
+ export interface CentricPOSAuthResponse {
103
+ // Short-term token
104
+ shortTermToken: string;
105
+ // Expiry time of the short-term token (ISO 8601 format)
106
+ shortTermTokenExpires: string;
107
+ }
108
+
109
+ export interface POSPayment {
110
+ // Payment type (e.g. Centric Hub)
111
+ type?: string;
112
+ // Transaction details (e.g. success, status, amount, requestID, reasonCode + provider keys)
113
+ transaction?: Record<string, any>;
114
+ }
115
+
116
+ export interface Payment {
117
+ // POS payment
118
+ pos?: POSPayment;
119
+ }
120
+
121
+ export interface CreatePOSOrderIs {
122
+ // Order in progress
123
+ in_progress?: boolean;
124
+ // Order ready
125
+ ready?: boolean;
126
+ }
127
+
128
+ export interface CreatePOSOrderMetaPosCashier {
129
+ // Cashier first name
130
+ firstName?: string;
131
+ // Cashier last name
132
+ lastName?: string;
133
+ // Cashier employee number
134
+ employeeNumber?: string;
135
+ }
136
+
137
+ export interface CreatePOSOrderMetaPos {
138
+ // Cashier info
139
+ cashier?: CreatePOSOrderMetaPosCashier;
140
+ }
141
+
142
+ export interface CreatePOSOrderMeta {
143
+ // Order source
144
+ source?: 'centric_hub';
145
+ // Override active flag for testing
146
+ active_override?: boolean;
147
+ // POS-specific meta
148
+ pos?: CreatePOSOrderMetaPos;
149
+ }
150
+
151
+ export interface OrderDetails {
152
+ // Display name (e.g. pickup name)
153
+ name?: string;
154
+ // Order type (e.g. pickup)
155
+ order_type?: string;
156
+ // Display ID
157
+ display_id?: string;
158
+ // Receipt email address
159
+ receiptEmail?: string;
160
+ }
161
+
162
+ export interface CreatePOSOrder {
163
+ // The location brand (station ID)
164
+ location_brand: string;
165
+ // The location
166
+ location?: string;
167
+ // The shoppingcart
168
+ shoppingcart?: string;
169
+ // Payment details
170
+ payment?: Payment;
171
+ // User ID
172
+ customer?: string;
173
+ // Order status flags
174
+ is?: CreatePOSOrderIs;
175
+ // Meta information
176
+ meta?: CreatePOSOrderMeta;
177
+ // Requested date (ISO 8601)
178
+ requested_date?: string;
179
+ // Order details
180
+ details?: OrderDetails;
181
+ }
182
+
183
+ export interface OrderIs {
184
+ // Order accepted
185
+ accepted?: boolean;
186
+ // Order in progress
187
+ in_progress?: boolean;
188
+ // Order ready
189
+ ready?: boolean;
190
+ // Out for delivery
191
+ out_for_delivery?: boolean;
192
+ // Delivered
193
+ delivered?: boolean;
194
+ // Collected
195
+ collected?: boolean;
196
+ // Cancelled
197
+ cancelled?: boolean;
198
+ }
199
+
200
+ export interface OrderDate {
201
+ // Accepted date (ISO 8601)
202
+ accepted?: string;
203
+ // Created date (ISO 8601)
204
+ created?: string;
205
+ // Modified date (ISO 8601)
206
+ modified?: string;
207
+ // Ready date (ISO 8601)
208
+ ready?: string;
209
+ // Started date (ISO 8601)
210
+ started?: string;
211
+ // Cancelled date (ISO 8601)
212
+ cancelled?: string;
213
+ }
214
+
215
+ export interface OrderMeta {
216
+ // Order source
217
+ source?: 'web' | 'mobile' | 'centric_hub';
218
+ // Active override
219
+ active_override?: boolean;
220
+ // POS meta
221
+ pos?: CreatePOSOrderMetaPos;
222
+ }
223
+
224
+ export interface Order {
225
+ // Order ID
226
+ id?: string;
227
+ // Brand/Station ID
228
+ location_brand?: string;
229
+ // Location/Site ID
230
+ location?: string;
231
+ // Shopping cart ID
232
+ shoppingcart?: string;
233
+ // Payment details
234
+ payment?: Payment;
235
+ // User ID
236
+ customer?: string;
237
+ // Order status flags
238
+ is?: OrderIs;
239
+ // Order date info
240
+ date?: OrderDate;
241
+ // Requested date
242
+ requested_date?: string;
243
+ // Order details
244
+ details?: OrderDetails;
245
+ // Order meta info
246
+ meta?: OrderMeta;
247
+ }
248
+
249
+ export interface PatchOrderReceiptEmailRequest {
250
+ // Email address for receipt
251
+ receiptEmail: string;
252
+ }
253
+
254
+ export interface DigitalSignageOrder {
255
+ // Display ID for the order
256
+ displayId: string;
257
+ // Customer's first name, or null when the DIGITAL_SIGNAGE_SHOW_NAME feature flag is not enabled for the station or no name is available
258
+ displayName: string | null;
259
+ }
260
+
261
+ export interface DigitalSignageOrdersResponse {
262
+ // Orders in progress
263
+ inProgress: DigitalSignageOrder[];
264
+ // Ready orders from the past N minutes
265
+ ready: DigitalSignageOrder[];
266
+ }
267
+
268
+ // GET /centric-pos/v1/config/{stationId} - Get Centric POS config
269
+
270
+ export interface GetCentricPosConfigPath {
271
+ // Station identifier
272
+ stationId: string;
273
+ }
274
+
275
+ export type GetCentricPosConfigResponse = CentricPOSConfigResponse;
276
+
277
+ // DELETE /centric-pos/v1/unregister - Unregister a POS device by serial number
278
+
279
+ export interface UnregisterQuery {
280
+ // Serial number of the device to unregister
281
+ serialNumber: string;
282
+ }
283
+
284
+ export type UnregisterResponse = {};
285
+
286
+ // POST /centric-pos/v1/register - Register a POS device by serial number
287
+
288
+ export type RegisterBody = CentricPOSRegisterPostBody;
289
+
290
+ export type RegisterResponse = CentricPOSRegisterResponse;
291
+
292
+ // GET /centric-pos/v1/site/{siteId} - Get stations with Centric POS integration and FreedomPay configured for a site
293
+
294
+ export interface GetSitePath {
295
+ // Site (location group) identifier
296
+ siteId: string;
297
+ }
298
+
299
+ export type GetSiteResponse$0 = GetSiteResponse;
300
+
301
+ // POST /centric-pos/v1/auth - Authenticate with serial number and long-term token to get short-term token
302
+
303
+ export type AuthBody = CentricPOSAuthPostBody;
304
+
305
+ export type AuthResponse = CentricPOSAuthResponse;
306
+
307
+ // POST /centric-pos/v1/order - Create a POS order
308
+
309
+ export type PostCentricPosOrderBody = CreatePOSOrder;
310
+
311
+ export type PostCentricPosOrderResponse = Order;
312
+
313
+ // PATCH /centric-pos/v1/order/{order_id}/receipt-email - Update order receipt email
314
+
315
+ export interface PatchCentricPosOrderReceiptEmailPath {
316
+ // The order ID
317
+ order_id: string;
318
+ }
319
+
320
+ export type PatchCentricPosOrderReceiptEmailBody = PatchOrderReceiptEmailRequest;
321
+
322
+ export type PatchCentricPosOrderReceiptEmailResponse = Order;
323
+
324
+ // GET /centric-pos/innovation/v1/digital-signage/orders/{stationId} - Get in-progress and ready orders for a station
325
+
326
+ export interface GetDigitalSignageOrdersPath {
327
+ // Station identifier
328
+ stationId: string;
329
+ }
330
+
331
+ export interface GetDigitalSignageOrdersQuery {
332
+ // Number of minutes to show ready orders for (default: 15)
333
+ showReadyOrdersForMins?: number;
334
+ // IANA timezone name for start-of-day (e.g. America/New_York). Default: America/New_York
335
+ timezone?: string;
336
+ // Order type filter (pickup/delivery/frictionless/scan_and_go). Default: pickup
337
+ orderType?: Record<string, any>[];
338
+ // List of order statuses to be treated as in progress (created/accepted/in_progress/out_for_delivery). Default: in_progress
339
+ inProgressStatus?: Record<string, any>[];
340
+ }
341
+
342
+ export type GetDigitalSignageOrdersResponse = DigitalSignageOrdersResponse;
@@ -480,6 +480,51 @@ export interface ScanAndPaySectionDto {
480
480
  canteen_location_id: string;
481
481
  }
482
482
 
483
+ export interface FinancialSectionDto {
484
+ // Sales tax percentage. Send null to remove it; omit to leave it as is.
485
+ tax_rate_percent?: number | null;
486
+ // Service fee in dollars. Send null to remove it; omit to leave it as is.
487
+ service_fee?: number | null;
488
+ // JDE reporting category for the station
489
+ jde_category?: string;
490
+ }
491
+
492
+ export interface MenuDisclaimerDto {
493
+ // English disclaimer text
494
+ en?: string;
495
+ // French disclaimer text
496
+ fr?: string;
497
+ }
498
+
499
+ export interface OtherSectionDto {
500
+ // Address order notification emails go to. Send null to remove it; omit to leave it as is.
501
+ order_notification_email?: string | null;
502
+ // Menu calorie disclaimer, replaced as a whole. Send null to remove it; omit to leave it as is.
503
+ menu_disclaimer?: MenuDisclaimerDto;
504
+ // Whether guests can add special instructions to an order. Ignored for Just Walk Out stations.
505
+ special_instructions_enabled?: boolean;
506
+ // Whether the station is a dining hall. Ignored for Just Walk Out stations.
507
+ dining_hall_enabled?: boolean;
508
+ }
509
+
510
+ export interface ExcludedTenderDto {
511
+ // Tender number from the site mealplan setup
512
+ tender_number: string;
513
+ // Mealplan tender type the number belongs to
514
+ type: 'declining_balance' | 'meal_equivalent' | 'meal_exchange';
515
+ }
516
+
517
+ export interface PaymentExclusionsSectionDto {
518
+ // Whether credit cards are excluded
519
+ credit_card?: boolean;
520
+ // Digital wallets to exclude
521
+ digital_wallets?: ('apple_pay' | 'google_wallet')[];
522
+ // Cashless tender ids to exclude
523
+ cashless?: string[];
524
+ // Mealplan tenders to exclude
525
+ excluded_tenders?: ExcludedTenderDto[];
526
+ }
527
+
483
528
  export interface JustWalkOutSectionDto {
484
529
  // Whether the store is live. Drives frictionless_supported and pickup_supported.
485
530
  enabled: boolean;
@@ -498,6 +543,12 @@ export interface PutStationIntegrationRequest {
498
543
  drop_off?: DropOffSectionDto;
499
544
  // Scan & Pay setup
500
545
  scan_and_pay?: ScanAndPaySectionDto;
546
+ // Tax, service fee and reporting
547
+ financial?: FinancialSectionDto;
548
+ // Notification email, menu disclaimer and dining flags
549
+ other?: OtherSectionDto;
550
+ // Payment methods to exclude, replaced as a whole
551
+ payment_exclusions?: PaymentExclusionsSectionDto;
501
552
  // Just Walk Out setup
502
553
  just_walk_out?: JustWalkOutSectionDto;
503
554
  }
@@ -2096,6 +2096,13 @@ export interface ReorderMenuItemDTO {
2096
2096
  [index: string]: any;
2097
2097
  }
2098
2098
 
2099
+ export interface BulkGeneratedBarcodeDTO {
2100
+ item_id: string;
2101
+ barcode: string;
2102
+ generated: boolean;
2103
+ [index: string]: any;
2104
+ }
2105
+
2099
2106
  export interface DraftModifierGroupEntityDTO {
2100
2107
  parent?: DraftModifierGroupDTO;
2101
2108
  children?: DraftModifierGroupDTO[];
@@ -8743,7 +8750,10 @@ export interface PostMenuV4BrandGenerateBarcodesBody {
8743
8750
  }
8744
8751
 
8745
8752
  export interface PostMenuV4BrandGenerateBarcodesResponse {
8746
- generated?: number;
8753
+ generated: number;
8754
+ items: BulkGeneratedBarcodeDTO[];
8755
+ not_found: string[];
8756
+ [index: string]: any;
8747
8757
  }
8748
8758
 
8749
8759
  export interface PostMenuV4BrandGenerateBarcodesRequest