@cimplify/sdk 0.19.0 → 0.20.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/dist/advanced.d.mts +2 -2
- package/dist/advanced.d.ts +2 -2
- package/dist/advanced.js +21 -21
- package/dist/advanced.mjs +2 -2
- package/dist/{chunk-RYQ5IPWX.js → chunk-2BSYTQAY.js} +18 -28
- package/dist/{chunk-AFEE43MQ.mjs → chunk-676BJ3EU.mjs} +43 -8
- package/dist/{chunk-7ACYNCNM.mjs → chunk-7KH2XJIW.mjs} +55 -12
- package/dist/{chunk-B2RTVYJR.js → chunk-AVVLN353.js} +76 -40
- package/dist/{chunk-FTL2SXCG.mjs → chunk-HG7GG3TT.mjs} +18 -28
- package/dist/{chunk-6SRY4DPY.js → chunk-KSN3RJFL.js} +74 -30
- package/dist/{client-FNZzXO_v.d.ts → client-D4E9aJy7.d.mts} +139 -7
- package/dist/{client-B3payjUV.d.mts → client-VyO6Bqz2.d.ts} +139 -7
- package/dist/index.d.mts +38 -5
- package/dist/index.d.ts +38 -5
- package/dist/index.js +101 -97
- package/dist/index.mjs +3 -3
- package/dist/{payment-CO2tRThu.d.mts → payment-CKqMU4xT.d.mts} +1051 -943
- package/dist/{payment-CO2tRThu.d.ts → payment-CKqMU4xT.d.ts} +1051 -943
- package/dist/{price-Bp6JlVzW.d.ts → price-BqV_DjjQ.d.mts} +1 -1
- package/dist/{price-Dg7MJEsL.d.mts → price-e4beObLZ.d.ts} +1 -1
- package/dist/react.d.mts +463 -11
- package/dist/react.d.ts +463 -11
- package/dist/react.js +1630 -113
- package/dist/react.mjs +1566 -65
- package/dist/styles.css +1 -1
- package/dist/utils.d.mts +2 -2
- package/dist/utils.d.ts +2 -2
- package/dist/utils.js +28 -28
- package/dist/utils.mjs +1 -1
- package/package.json +2 -2
- package/registry/availability-badge.json +1 -1
- package/registry/booking-page.json +1 -1
- package/registry/bundle-selector.json +1 -1
- package/registry/cart-summary.json +1 -1
- package/registry/composite-selector.json +1 -1
- package/registry/order-summary.json +1 -1
- package/registry/product-customizer.json +1 -1
- package/registry/search-input.json +1 -1
- package/registry/service-card.json +1 -1
- package/registry/variant-selector.json +1 -1
|
@@ -84,1128 +84,1236 @@ declare function enrichError(error: CimplifyError, options?: {
|
|
|
84
84
|
}): CimplifyError;
|
|
85
85
|
declare function isRetryableError(error: unknown): boolean;
|
|
86
86
|
|
|
87
|
-
type
|
|
88
|
-
type
|
|
89
|
-
type
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
slug: string;
|
|
119
|
-
attribute_type: AttributeType;
|
|
120
|
-
group_name?: string;
|
|
121
|
-
unit?: string;
|
|
122
|
-
value: string | number | boolean | string[] | null;
|
|
123
|
-
is_filterable: boolean;
|
|
124
|
-
}
|
|
125
|
-
type PropertySource = "attribute" | "variant";
|
|
126
|
-
interface ProductProperty {
|
|
127
|
-
name: string;
|
|
128
|
-
slug: string;
|
|
129
|
-
source: PropertySource;
|
|
130
|
-
value_type: string;
|
|
131
|
-
values: (string | number | boolean | null)[];
|
|
132
|
-
group_name?: string;
|
|
133
|
-
unit?: string;
|
|
134
|
-
is_filterable: boolean;
|
|
135
|
-
}
|
|
136
|
-
interface PropertyFacet {
|
|
137
|
-
name: string;
|
|
138
|
-
slug: string;
|
|
139
|
-
source: string;
|
|
140
|
-
values: FacetValue[];
|
|
141
|
-
}
|
|
142
|
-
interface FacetValue {
|
|
143
|
-
value: string;
|
|
144
|
-
count: number;
|
|
145
|
-
}
|
|
146
|
-
interface TaxonomyAttributeTemplate {
|
|
147
|
-
id: string;
|
|
148
|
-
taxonomy_id: string;
|
|
149
|
-
name: string;
|
|
150
|
-
slug: string;
|
|
151
|
-
attribute_type: "boolean" | "single_select";
|
|
152
|
-
options?: string[];
|
|
153
|
-
is_required: boolean;
|
|
154
|
-
display_order: number;
|
|
155
|
-
gpc_attribute_code?: number;
|
|
156
|
-
created_at: string;
|
|
157
|
-
}
|
|
158
|
-
interface KnowledgeArticle {
|
|
159
|
-
id: string;
|
|
160
|
-
title: string;
|
|
161
|
-
slug: string;
|
|
162
|
-
content: string;
|
|
163
|
-
category?: string;
|
|
164
|
-
tags: string[];
|
|
165
|
-
created_at: string;
|
|
166
|
-
updated_at: string;
|
|
167
|
-
}
|
|
168
|
-
interface Product {
|
|
169
|
-
id: string;
|
|
170
|
-
business_id: string;
|
|
171
|
-
category_id?: string;
|
|
172
|
-
name: string;
|
|
173
|
-
slug: string;
|
|
174
|
-
description?: string;
|
|
175
|
-
image_url?: string;
|
|
176
|
-
default_price: Money;
|
|
177
|
-
type: ProductType;
|
|
178
|
-
render_hint?: ProductRenderHint;
|
|
179
|
-
display_mode?: DisplayMode;
|
|
180
|
-
inventory_type: InventoryType;
|
|
181
|
-
variant_strategy: VariantStrategy;
|
|
182
|
-
inventory_status?: {
|
|
183
|
-
in_stock: boolean;
|
|
184
|
-
stock_level?: number;
|
|
185
|
-
low_stock: boolean;
|
|
87
|
+
type CartStatus = "active" | "converting" | "converted" | "expired" | "abandoned";
|
|
88
|
+
type CartChannel = "qr" | "taker" | "staff" | "web" | "dashboard" | "tap" | "chat";
|
|
89
|
+
type PriceSource = "default_item" | "custom" | {
|
|
90
|
+
location_specific: string;
|
|
91
|
+
} | {
|
|
92
|
+
variant: string;
|
|
93
|
+
} | {
|
|
94
|
+
composite: string;
|
|
95
|
+
} | {
|
|
96
|
+
bundle: string;
|
|
97
|
+
};
|
|
98
|
+
type AdjustmentType = "time_based" | {
|
|
99
|
+
location_based: string;
|
|
100
|
+
} | {
|
|
101
|
+
variant_based: string;
|
|
102
|
+
} | {
|
|
103
|
+
customer_segment: string;
|
|
104
|
+
} | {
|
|
105
|
+
customer_loyalty: string;
|
|
106
|
+
} | {
|
|
107
|
+
channel_markup: string;
|
|
108
|
+
} | {
|
|
109
|
+
discount: string;
|
|
110
|
+
} | {
|
|
111
|
+
bundle: string;
|
|
112
|
+
} | {
|
|
113
|
+
manual: string;
|
|
114
|
+
} | {
|
|
115
|
+
time_limited_promotion: {
|
|
116
|
+
promotion_id: string;
|
|
117
|
+
valid_until: string;
|
|
186
118
|
};
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
allergies?: string[];
|
|
195
|
-
recipe?: Record<string, unknown>;
|
|
196
|
-
sku?: string;
|
|
197
|
-
barcode?: string;
|
|
198
|
-
ean?: string;
|
|
199
|
-
upc?: string;
|
|
200
|
-
is_trackable?: boolean;
|
|
201
|
-
is_tracked?: boolean;
|
|
202
|
-
is_tracked_in_store?: boolean;
|
|
203
|
-
is_tracked_in_warehouse?: boolean;
|
|
204
|
-
inventory_threshold?: number;
|
|
205
|
-
external_id?: string;
|
|
206
|
-
external_source?: string;
|
|
207
|
-
download_url?: string;
|
|
208
|
-
digital_type?: DigitalProductType;
|
|
209
|
-
max_downloads?: number;
|
|
210
|
-
license_key_required?: boolean;
|
|
211
|
-
file_size_mb?: number;
|
|
212
|
-
file_hash?: string;
|
|
213
|
-
file_type?: string;
|
|
214
|
-
version?: string;
|
|
215
|
-
download_expires_days?: number;
|
|
216
|
-
license_key_format?: string;
|
|
217
|
-
max_activations?: number;
|
|
218
|
-
validity_days?: number;
|
|
219
|
-
event_id?: string;
|
|
220
|
-
event_date?: string;
|
|
221
|
-
venue?: string;
|
|
222
|
-
ticket_type?: string;
|
|
223
|
-
seat_info?: Record<string, unknown>;
|
|
224
|
-
access_type?: string;
|
|
225
|
-
access_level?: string;
|
|
226
|
-
access_duration_days?: number;
|
|
227
|
-
code_type?: string;
|
|
228
|
-
code_value?: Money;
|
|
229
|
-
code_currency?: CurrencyCode;
|
|
230
|
-
duration_minutes?: number;
|
|
231
|
-
preparation_time_minutes?: number;
|
|
232
|
-
staff_required_count?: number;
|
|
233
|
-
buffer_before_minutes?: number;
|
|
234
|
-
buffer_after_minutes?: number;
|
|
235
|
-
general_service_capacity?: number;
|
|
236
|
-
deposit_type?: DepositType;
|
|
237
|
-
deposit_amount?: Money;
|
|
238
|
-
cancellation_window_minutes?: number;
|
|
239
|
-
no_show_fee?: Money;
|
|
240
|
-
requires_specific_staff?: boolean;
|
|
241
|
-
requires_specific_resource?: boolean;
|
|
242
|
-
hs_code?: string;
|
|
243
|
-
mid_code?: string;
|
|
244
|
-
material?: string;
|
|
245
|
-
allow_backorder?: boolean;
|
|
246
|
-
item_condition?: string;
|
|
247
|
-
vendor?: string;
|
|
248
|
-
length_mm?: number;
|
|
249
|
-
width_mm?: number;
|
|
250
|
-
height_mm?: number;
|
|
251
|
-
channels?: SalesChannel[];
|
|
252
|
-
meta_title?: string;
|
|
253
|
-
meta_description?: string;
|
|
254
|
-
is_discountable?: boolean;
|
|
255
|
-
taxonomy_id?: string;
|
|
256
|
-
bundle_price?: Money;
|
|
257
|
-
discount_value?: Money;
|
|
258
|
-
pricing_type?: BundlePriceType;
|
|
259
|
-
components?: BundleComponentView[];
|
|
260
|
-
composite_id?: string;
|
|
261
|
-
groups?: CompositeGroupView[];
|
|
262
|
-
custom_attributes?: CustomAttributeValue[];
|
|
263
|
-
properties?: ProductProperty[];
|
|
264
|
-
}
|
|
265
|
-
interface ProductWithDetails extends Product {
|
|
266
|
-
category?: Category;
|
|
267
|
-
variants?: ProductVariant[];
|
|
268
|
-
add_ons?: AddOnWithOptions[];
|
|
269
|
-
variant_axes?: VariantAxisWithValues[];
|
|
270
|
-
location_prices?: LocationProductPrice[];
|
|
271
|
-
location_availability?: ProductAvailability[];
|
|
272
|
-
time_profiles?: ProductTimeProfile[];
|
|
273
|
-
}
|
|
274
|
-
interface ProductVariant {
|
|
275
|
-
id: string;
|
|
276
|
-
name?: string;
|
|
277
|
-
business_id: string;
|
|
278
|
-
product_id: string;
|
|
279
|
-
component_multiplier: Money;
|
|
280
|
-
price_adjustment: Money;
|
|
281
|
-
is_default: boolean;
|
|
282
|
-
created_at: string;
|
|
283
|
-
updated_at: string;
|
|
284
|
-
is_active?: boolean;
|
|
285
|
-
is_archived?: boolean;
|
|
286
|
-
is_deleted?: boolean;
|
|
287
|
-
inventory_threshold?: number;
|
|
288
|
-
images?: string[];
|
|
289
|
-
external_id?: string;
|
|
290
|
-
external_source?: string;
|
|
291
|
-
ean?: string;
|
|
292
|
-
upc?: string;
|
|
293
|
-
is_trackable?: boolean;
|
|
294
|
-
is_tracked?: boolean;
|
|
295
|
-
is_tracked_in_store?: boolean;
|
|
296
|
-
is_tracked_in_warehouse?: boolean;
|
|
297
|
-
sku?: string;
|
|
298
|
-
barcode?: string;
|
|
299
|
-
download_url?: string;
|
|
300
|
-
metadata?: Record<string, unknown>;
|
|
301
|
-
duration_minutes?: number;
|
|
302
|
-
max_downloads?: number;
|
|
303
|
-
license_key?: string;
|
|
304
|
-
display_attributes?: VariantDisplayAttribute[];
|
|
305
|
-
}
|
|
306
|
-
interface VariantDisplayAttribute {
|
|
307
|
-
axis_id: string;
|
|
308
|
-
axis_name: string;
|
|
309
|
-
value_id: string;
|
|
310
|
-
value_name: string;
|
|
119
|
+
};
|
|
120
|
+
interface PriceAdjustment {
|
|
121
|
+
adjustment_type: AdjustmentType;
|
|
122
|
+
amount: Money;
|
|
123
|
+
percentage?: Money;
|
|
124
|
+
reason: string;
|
|
125
|
+
applied_at: string;
|
|
311
126
|
}
|
|
312
|
-
interface
|
|
313
|
-
id: string;
|
|
314
|
-
business_id: string;
|
|
315
|
-
product_id: string;
|
|
127
|
+
interface TaxPathComponent {
|
|
316
128
|
name: string;
|
|
317
|
-
|
|
318
|
-
affects_recipe: boolean;
|
|
319
|
-
created_at: string;
|
|
320
|
-
updated_at: string;
|
|
321
|
-
metadata?: Record<string, unknown>;
|
|
322
|
-
}
|
|
323
|
-
interface VariantAxisWithValues extends VariantAxis {
|
|
324
|
-
values: VariantAxisValue[];
|
|
129
|
+
rate: Money;
|
|
325
130
|
}
|
|
326
|
-
interface
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
display_order: number;
|
|
332
|
-
created_at: string;
|
|
333
|
-
updated_at: string;
|
|
334
|
-
metadata?: Record<string, unknown>;
|
|
131
|
+
interface PricePathTaxInfo {
|
|
132
|
+
tax_rate: Money;
|
|
133
|
+
tax_amount: Money;
|
|
134
|
+
is_inclusive: boolean;
|
|
135
|
+
components: TaxPathComponent[];
|
|
335
136
|
}
|
|
336
|
-
interface
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
created_at: string;
|
|
341
|
-
updated_at: string;
|
|
342
|
-
metadata?: Record<string, unknown>;
|
|
137
|
+
interface PriceDecisionPath {
|
|
138
|
+
base_price_source: PriceSource;
|
|
139
|
+
adjustments: PriceAdjustment[];
|
|
140
|
+
context?: Record<string, unknown>;
|
|
343
141
|
}
|
|
344
|
-
interface
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
142
|
+
interface ChosenPrice {
|
|
143
|
+
base_price: Money;
|
|
144
|
+
final_price: Money;
|
|
145
|
+
markup_percentage: Money;
|
|
146
|
+
markup_amount: Money;
|
|
147
|
+
markup_discount_percentage: Money;
|
|
148
|
+
markup_discount_amount: Money;
|
|
149
|
+
currency?: CurrencyCode;
|
|
150
|
+
custom_fields?: Record<string, unknown>;
|
|
151
|
+
decision_path?: PriceDecisionPath;
|
|
152
|
+
tax_info?: PricePathTaxInfo;
|
|
153
|
+
pre_tax_price?: Money;
|
|
354
154
|
}
|
|
355
|
-
|
|
356
|
-
|
|
155
|
+
type BenefitType = "percentage" | "fixed" | "points" | "free_item" | "buy_x_get_y_free";
|
|
156
|
+
interface AppliedDiscount {
|
|
157
|
+
discount_id: string;
|
|
158
|
+
discount_code?: string;
|
|
159
|
+
discount_type: BenefitType;
|
|
160
|
+
discount_value: Money;
|
|
161
|
+
discount_amount: Money;
|
|
162
|
+
applied_at: string;
|
|
163
|
+
targeted_item_ids?: string[];
|
|
357
164
|
}
|
|
358
|
-
interface
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
name: string;
|
|
362
|
-
is_multiple_allowed: boolean;
|
|
363
|
-
is_required: boolean;
|
|
364
|
-
is_mutually_exclusive: boolean;
|
|
365
|
-
min_selections?: number;
|
|
366
|
-
max_selections?: number;
|
|
367
|
-
created_at: string;
|
|
368
|
-
updated_at: string;
|
|
369
|
-
metadata?: Record<string, unknown>;
|
|
165
|
+
interface DiscountBreakdown {
|
|
166
|
+
item_discounts: Record<string, AppliedDiscount[]>;
|
|
167
|
+
order_discounts: AppliedDiscount[];
|
|
370
168
|
}
|
|
371
|
-
interface
|
|
372
|
-
|
|
169
|
+
interface DiscountDetails {
|
|
170
|
+
discounts: AppliedDiscount[];
|
|
171
|
+
total_discount_amount: Money;
|
|
172
|
+
breakdown: DiscountBreakdown;
|
|
373
173
|
}
|
|
374
|
-
interface
|
|
375
|
-
|
|
174
|
+
interface SelectedAddOnOption {
|
|
175
|
+
option_id: string;
|
|
376
176
|
add_on_id: string;
|
|
377
|
-
business_id: string;
|
|
378
177
|
name: string;
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
description?: string;
|
|
178
|
+
price: Money;
|
|
179
|
+
quantity: number;
|
|
382
180
|
is_required: boolean;
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
updated_at: string;
|
|
386
|
-
metadata?: Record<string, unknown>;
|
|
181
|
+
selected_at: string;
|
|
182
|
+
price_info?: ChosenPrice;
|
|
387
183
|
}
|
|
388
|
-
interface
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
business_id: string;
|
|
393
|
-
price: Money;
|
|
394
|
-
created_at: string;
|
|
395
|
-
updated_at: string;
|
|
396
|
-
metadata?: Record<string, unknown>;
|
|
184
|
+
interface AddOnDetails {
|
|
185
|
+
selected_options: SelectedAddOnOption[];
|
|
186
|
+
total_add_on_price: Money;
|
|
187
|
+
add_ons: CartAddOn[];
|
|
397
188
|
}
|
|
398
|
-
interface
|
|
399
|
-
id: string;
|
|
400
|
-
business_id: string;
|
|
401
|
-
product_id: string;
|
|
189
|
+
interface CartAddOn {
|
|
402
190
|
add_on_id: string;
|
|
403
|
-
created_at: string;
|
|
404
|
-
updated_at: string;
|
|
405
|
-
metadata?: Record<string, unknown>;
|
|
406
|
-
}
|
|
407
|
-
interface Category {
|
|
408
|
-
id: string;
|
|
409
|
-
business_id: string;
|
|
410
191
|
name: string;
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
updated_at: string;
|
|
416
|
-
metadata?: Record<string, unknown>;
|
|
192
|
+
min_selections: number;
|
|
193
|
+
max_selections: number;
|
|
194
|
+
selected_options: string[];
|
|
195
|
+
is_required: boolean;
|
|
417
196
|
}
|
|
418
|
-
interface
|
|
419
|
-
|
|
197
|
+
interface VariantDetails {
|
|
198
|
+
variant_id: string;
|
|
199
|
+
sku?: string;
|
|
200
|
+
properties: Record<string, string>;
|
|
420
201
|
}
|
|
421
|
-
interface
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
tags?: string[];
|
|
428
|
-
image_url?: string;
|
|
429
|
-
channels?: SalesChannel[];
|
|
430
|
-
product_count?: number;
|
|
431
|
-
created_at: string;
|
|
432
|
-
updated_at: string;
|
|
433
|
-
metadata?: Record<string, unknown>;
|
|
202
|
+
interface BundleSelectionInput {
|
|
203
|
+
component_id: string;
|
|
204
|
+
variant_id?: string;
|
|
205
|
+
quantity: number;
|
|
206
|
+
scheduled_start?: string;
|
|
207
|
+
scheduled_end?: string;
|
|
434
208
|
}
|
|
435
|
-
interface
|
|
436
|
-
|
|
209
|
+
interface ComponentSchedulingData {
|
|
210
|
+
scheduled_start?: string;
|
|
211
|
+
scheduled_end?: string;
|
|
212
|
+
service_status: string;
|
|
213
|
+
confirmation_code?: string;
|
|
214
|
+
appointment_id?: string;
|
|
437
215
|
}
|
|
438
|
-
interface
|
|
439
|
-
|
|
440
|
-
collection_id: string;
|
|
216
|
+
interface BundleStoredSelection {
|
|
217
|
+
component_id: string;
|
|
441
218
|
product_id: string;
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
219
|
+
product_name: string;
|
|
220
|
+
variant_id?: string;
|
|
221
|
+
variant_name?: string;
|
|
222
|
+
quantity: number;
|
|
223
|
+
unit_price: Money;
|
|
224
|
+
product_type?: ProductType;
|
|
225
|
+
scheduling?: ComponentSchedulingData;
|
|
446
226
|
}
|
|
447
|
-
|
|
448
|
-
|
|
227
|
+
interface BundleSelectionData {
|
|
228
|
+
bundle_id: string;
|
|
229
|
+
selections: BundleStoredSelection[];
|
|
230
|
+
}
|
|
231
|
+
interface CompositeStoredSelection {
|
|
232
|
+
component_id: string;
|
|
233
|
+
component_name: string;
|
|
234
|
+
quantity: number;
|
|
235
|
+
group_id: string;
|
|
236
|
+
source_type: "product" | "stock" | "add_on" | "standalone";
|
|
237
|
+
source_product_id?: string;
|
|
238
|
+
source_stock_id?: string;
|
|
239
|
+
unit_price: Money;
|
|
240
|
+
product_type?: ProductType;
|
|
241
|
+
scheduling?: ComponentSchedulingData;
|
|
242
|
+
}
|
|
243
|
+
interface CompositePriceBreakdown {
|
|
244
|
+
base_price: Money;
|
|
245
|
+
components_total: Money;
|
|
246
|
+
tier_applied?: string;
|
|
247
|
+
final_price: Money;
|
|
248
|
+
}
|
|
249
|
+
interface CompositeSelectionData {
|
|
250
|
+
composite_id: string;
|
|
251
|
+
selections: CompositeStoredSelection[];
|
|
252
|
+
breakdown: CompositePriceBreakdown;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
type LineConfiguration = {
|
|
256
|
+
type: "simple";
|
|
257
|
+
variant?: VariantDetails;
|
|
258
|
+
add_ons?: AddOnDetails;
|
|
259
|
+
} | {
|
|
260
|
+
type: "service";
|
|
261
|
+
variant?: VariantDetails;
|
|
262
|
+
add_ons?: AddOnDetails;
|
|
263
|
+
scheduled_start?: string;
|
|
264
|
+
scheduled_end?: string;
|
|
265
|
+
confirmation_code?: string;
|
|
266
|
+
service_status?: string;
|
|
267
|
+
primary_staff_id?: string;
|
|
268
|
+
scheduling_metadata?: Record<string, unknown>;
|
|
269
|
+
} | {
|
|
270
|
+
type: "bundle";
|
|
271
|
+
variant?: VariantDetails;
|
|
272
|
+
input: BundleSelectionInput[];
|
|
273
|
+
resolved?: BundleSelectionData;
|
|
274
|
+
add_ons?: AddOnDetails;
|
|
275
|
+
} | {
|
|
276
|
+
type: "composite";
|
|
277
|
+
variant?: VariantDetails;
|
|
278
|
+
input: ComponentSelectionInput[];
|
|
279
|
+
resolved?: CompositeSelectionData;
|
|
280
|
+
add_ons?: AddOnDetails;
|
|
281
|
+
} | {
|
|
282
|
+
type: "digital";
|
|
283
|
+
variant?: VariantDetails;
|
|
284
|
+
add_ons?: AddOnDetails;
|
|
285
|
+
digital_type?: string;
|
|
286
|
+
fulfillment_id?: string;
|
|
287
|
+
};
|
|
288
|
+
interface Cart {
|
|
449
289
|
id: string;
|
|
450
290
|
business_id: string;
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
description?: string;
|
|
455
|
-
image_url?: string;
|
|
456
|
-
pricing_type: BundlePriceType;
|
|
457
|
-
bundle_price?: Money;
|
|
458
|
-
discount_value?: Money;
|
|
459
|
-
product_count?: number;
|
|
291
|
+
customer_id?: string;
|
|
292
|
+
session_id?: string;
|
|
293
|
+
location_id?: string;
|
|
460
294
|
created_at: string;
|
|
461
295
|
updated_at: string;
|
|
296
|
+
expires_at: string;
|
|
297
|
+
subtotal: Money;
|
|
298
|
+
tax_amount: Money;
|
|
299
|
+
service_charge: Money;
|
|
300
|
+
total_discounts: Money;
|
|
301
|
+
total_price: Money;
|
|
302
|
+
delivery_fee: Money;
|
|
303
|
+
total_items: number;
|
|
304
|
+
tax_rate?: Money;
|
|
305
|
+
service_charge_rate?: Money;
|
|
306
|
+
price_info: ChosenPrice;
|
|
307
|
+
applied_discount_ids: string[];
|
|
308
|
+
applied_discount_codes: string[];
|
|
309
|
+
discount_details?: DiscountDetails;
|
|
310
|
+
currency: CurrencyCode;
|
|
311
|
+
customer_name?: string;
|
|
312
|
+
customer_email?: string;
|
|
313
|
+
customer_phone?: string;
|
|
314
|
+
customer_address?: string;
|
|
315
|
+
source: string;
|
|
316
|
+
status: CartStatus;
|
|
317
|
+
channel: string;
|
|
318
|
+
order_id?: string;
|
|
462
319
|
metadata?: Record<string, unknown>;
|
|
320
|
+
items: CartItem[];
|
|
463
321
|
}
|
|
464
|
-
interface
|
|
465
|
-
product_count: number;
|
|
466
|
-
}
|
|
467
|
-
interface BundleProduct {
|
|
322
|
+
interface CartItem {
|
|
468
323
|
id: string;
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
variant_id?: string;
|
|
472
|
-
allow_variant_choice: boolean;
|
|
324
|
+
cart_id: string;
|
|
325
|
+
item_id: string;
|
|
473
326
|
quantity: number;
|
|
327
|
+
line_key: string;
|
|
328
|
+
configuration: LineConfiguration;
|
|
329
|
+
price: Money;
|
|
330
|
+
add_ons_price: Money;
|
|
331
|
+
price_info: ChosenPrice;
|
|
332
|
+
applied_discount_ids: string[];
|
|
333
|
+
item_discount_amount: Money;
|
|
334
|
+
discount_details?: DiscountDetails;
|
|
474
335
|
created_at: string;
|
|
475
336
|
updated_at: string;
|
|
476
337
|
metadata?: Record<string, unknown>;
|
|
477
338
|
}
|
|
478
|
-
interface
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
variant_axis_values: VariantAxisValue[];
|
|
490
|
-
product_variant_values: ProductVariantValue[];
|
|
339
|
+
interface CartTotals {
|
|
340
|
+
subtotal: Money;
|
|
341
|
+
tax_amount: Money;
|
|
342
|
+
service_charge: Money;
|
|
343
|
+
total_discounts: Money;
|
|
344
|
+
total_price: Money;
|
|
345
|
+
tax_rate?: Money;
|
|
346
|
+
service_charge_rate?: Money;
|
|
347
|
+
applied_discount_ids: string[];
|
|
348
|
+
applied_discount_codes: string[];
|
|
349
|
+
discount_details?: DiscountDetails;
|
|
491
350
|
}
|
|
492
|
-
interface
|
|
351
|
+
interface DisplayCart {
|
|
493
352
|
id: string;
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
353
|
+
business_id: string;
|
|
354
|
+
customer_id?: string;
|
|
355
|
+
session_id?: string;
|
|
356
|
+
location_id?: string;
|
|
357
|
+
subtotal: Money;
|
|
358
|
+
tax_amount: Money;
|
|
359
|
+
service_charge: Money;
|
|
360
|
+
total_discounts: Money;
|
|
361
|
+
total_price: Money;
|
|
362
|
+
delivery_fee: Money;
|
|
363
|
+
total_items: number;
|
|
364
|
+
tax_rate?: Money;
|
|
365
|
+
service_charge_rate?: Money;
|
|
366
|
+
currency: CurrencyCode;
|
|
367
|
+
channel: string;
|
|
368
|
+
status: string;
|
|
369
|
+
business_name: string;
|
|
370
|
+
business_logo?: string;
|
|
371
|
+
location_name?: string;
|
|
372
|
+
customer_name?: string;
|
|
373
|
+
customer_email?: string;
|
|
374
|
+
customer_phone?: string;
|
|
375
|
+
customer_address?: string;
|
|
376
|
+
items: DisplayCartItem[];
|
|
377
|
+
applied_discount_codes: string[];
|
|
378
|
+
discount_details?: DiscountDetails;
|
|
497
379
|
}
|
|
498
|
-
interface
|
|
380
|
+
interface DisplayCartItem {
|
|
499
381
|
id: string;
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
product_description?: string;
|
|
503
|
-
product_image_url?: string;
|
|
504
|
-
effective_price: Money;
|
|
382
|
+
cart_id: string;
|
|
383
|
+
item_id: string;
|
|
505
384
|
quantity: number;
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
385
|
+
name: string;
|
|
386
|
+
description?: string;
|
|
387
|
+
image_url?: string;
|
|
388
|
+
category_name?: string;
|
|
389
|
+
is_available: boolean;
|
|
390
|
+
preparation_time?: number;
|
|
391
|
+
unit_price: Money;
|
|
392
|
+
total_price: Money;
|
|
393
|
+
add_ons_price: Money;
|
|
394
|
+
price_info: ChosenPrice;
|
|
395
|
+
item_discount_amount: Money;
|
|
396
|
+
discount_details?: DiscountDetails;
|
|
397
|
+
add_ons: DisplayAddOn[];
|
|
398
|
+
special_instructions?: string;
|
|
510
399
|
}
|
|
511
|
-
interface
|
|
400
|
+
interface DisplayAddOn {
|
|
512
401
|
id: string;
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
402
|
+
name: string;
|
|
403
|
+
min_selections: number;
|
|
404
|
+
max_selections: number;
|
|
405
|
+
is_required: boolean;
|
|
406
|
+
selected_options: DisplayAddOnOption[];
|
|
516
407
|
}
|
|
517
|
-
interface
|
|
408
|
+
interface DisplayAddOnOption {
|
|
518
409
|
id: string;
|
|
519
410
|
name: string;
|
|
520
|
-
|
|
411
|
+
price: Money;
|
|
412
|
+
quantity: number;
|
|
413
|
+
image_url?: string;
|
|
414
|
+
description?: string;
|
|
521
415
|
}
|
|
522
|
-
interface
|
|
523
|
-
|
|
524
|
-
|
|
416
|
+
interface UICartBusiness {
|
|
417
|
+
name: string;
|
|
418
|
+
logo_url?: string;
|
|
419
|
+
contact_email?: string;
|
|
420
|
+
contact_phone?: string;
|
|
525
421
|
}
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
interface Composite {
|
|
530
|
-
id: string;
|
|
531
|
-
business_id: string;
|
|
532
|
-
product_id: string;
|
|
533
|
-
base_price: Money;
|
|
534
|
-
pricing_mode: CompositePricingMode;
|
|
535
|
-
min_order_quantity?: number;
|
|
536
|
-
max_order_quantity?: number;
|
|
537
|
-
created_at: string;
|
|
538
|
-
updated_at: string;
|
|
539
|
-
metadata?: Record<string, unknown>;
|
|
422
|
+
interface UICartLocation {
|
|
423
|
+
id?: string;
|
|
424
|
+
name?: string;
|
|
540
425
|
}
|
|
541
|
-
interface
|
|
542
|
-
|
|
543
|
-
|
|
426
|
+
interface UICartCustomer {
|
|
427
|
+
id?: string;
|
|
428
|
+
name?: string;
|
|
429
|
+
email?: string;
|
|
430
|
+
phone?: string;
|
|
431
|
+
address?: string;
|
|
544
432
|
}
|
|
545
|
-
interface
|
|
433
|
+
interface UICartPricing {
|
|
434
|
+
subtotal: Money;
|
|
435
|
+
tax_amount: Money;
|
|
436
|
+
service_charge: Money;
|
|
437
|
+
total_discounts: Money;
|
|
438
|
+
total_price: Money;
|
|
439
|
+
tax_rate?: Money;
|
|
440
|
+
service_charge_rate?: Money;
|
|
441
|
+
currency: CurrencyCode;
|
|
442
|
+
}
|
|
443
|
+
interface AddOnOptionDetails {
|
|
546
444
|
id: string;
|
|
547
|
-
composite_id: string;
|
|
548
445
|
name: string;
|
|
446
|
+
price?: Money;
|
|
447
|
+
is_required: boolean;
|
|
549
448
|
description?: string;
|
|
550
|
-
|
|
551
|
-
min_selections: number;
|
|
552
|
-
max_selections?: number;
|
|
553
|
-
allow_quantity: boolean;
|
|
554
|
-
max_quantity_per_component?: number;
|
|
555
|
-
pricing_behavior: GroupPricingBehavior;
|
|
556
|
-
pricing_behavior_config?: Record<string, unknown>;
|
|
557
|
-
icon?: string;
|
|
558
|
-
color?: string;
|
|
559
|
-
created_at: string;
|
|
560
|
-
updated_at: string;
|
|
561
|
-
}
|
|
562
|
-
interface ComponentGroupWithComponents extends ComponentGroup {
|
|
563
|
-
components: CompositeComponent[];
|
|
449
|
+
image_url?: string;
|
|
564
450
|
}
|
|
565
|
-
interface
|
|
451
|
+
interface AddOnGroupDetails {
|
|
566
452
|
id: string;
|
|
567
453
|
name: string;
|
|
568
|
-
|
|
454
|
+
is_multiple_allowed: boolean;
|
|
569
455
|
min_selections: number;
|
|
570
456
|
max_selections: number;
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
display_order: number;
|
|
574
|
-
components: CompositeComponentView[];
|
|
457
|
+
required: boolean;
|
|
458
|
+
options: AddOnOptionDetails[];
|
|
575
459
|
}
|
|
576
|
-
interface
|
|
460
|
+
interface VariantDetailsDTO {
|
|
577
461
|
id: string;
|
|
578
|
-
|
|
579
|
-
display_description?: string;
|
|
580
|
-
display_image_url?: string;
|
|
462
|
+
name: string;
|
|
581
463
|
price: Money;
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
is_popular: boolean;
|
|
585
|
-
is_premium: boolean;
|
|
586
|
-
is_available: boolean;
|
|
587
|
-
is_archived: boolean;
|
|
464
|
+
price_adjustment: Money;
|
|
465
|
+
is_default: boolean;
|
|
588
466
|
}
|
|
589
|
-
interface
|
|
467
|
+
interface CartItemDetails {
|
|
590
468
|
id: string;
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
variant_id?: string;
|
|
594
|
-
stock_id?: string;
|
|
595
|
-
add_on_id?: string;
|
|
596
|
-
add_on_option_id?: string;
|
|
597
|
-
display_name?: string;
|
|
598
|
-
display_description?: string;
|
|
599
|
-
display_image_url?: string;
|
|
600
|
-
price: Money;
|
|
601
|
-
price_per_additional?: Money;
|
|
602
|
-
quantity_per_selection?: Money;
|
|
603
|
-
waste_percentage?: Money;
|
|
604
|
-
calories?: number;
|
|
605
|
-
allergens?: string[];
|
|
606
|
-
display_order: number;
|
|
607
|
-
is_popular: boolean;
|
|
608
|
-
is_premium: boolean;
|
|
609
|
-
is_available: boolean;
|
|
610
|
-
is_archived: boolean;
|
|
611
|
-
created_at: string;
|
|
612
|
-
updated_at: string;
|
|
613
|
-
}
|
|
614
|
-
interface ComponentSelectionInput {
|
|
615
|
-
component_id: string;
|
|
469
|
+
cart_id: string;
|
|
470
|
+
item_id: string;
|
|
616
471
|
quantity: number;
|
|
472
|
+
line_key: string;
|
|
473
|
+
line_type: "simple" | "service" | "bundle" | "composite" | "digital";
|
|
474
|
+
name: string;
|
|
475
|
+
description?: string;
|
|
476
|
+
image_url?: string;
|
|
477
|
+
category_id?: string;
|
|
478
|
+
category_name?: string;
|
|
479
|
+
is_available: boolean;
|
|
617
480
|
variant_id?: string;
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
481
|
+
variant_details?: VariantDetails;
|
|
482
|
+
variant_name?: string;
|
|
483
|
+
variant_info?: VariantDetailsDTO;
|
|
621
484
|
base_price: Money;
|
|
622
|
-
|
|
623
|
-
tier_applied?: string;
|
|
624
|
-
final_price: Money;
|
|
625
|
-
breakdown: ComponentPriceBreakdown[];
|
|
626
|
-
}
|
|
627
|
-
interface ComponentPriceBreakdown {
|
|
628
|
-
component_id: string;
|
|
629
|
-
component_name: string;
|
|
630
|
-
quantity: number;
|
|
631
|
-
unit_price: Money;
|
|
485
|
+
add_ons_price: Money;
|
|
632
486
|
total_price: Money;
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
487
|
+
item_discount_amount: Money;
|
|
488
|
+
price_info: ChosenPrice;
|
|
489
|
+
add_on_option_ids: string[];
|
|
490
|
+
add_on_ids: string[];
|
|
491
|
+
add_on_details: AddOnDetails;
|
|
492
|
+
add_on_options: AddOnOptionDetails[];
|
|
493
|
+
add_ons: AddOnGroupDetails[];
|
|
494
|
+
special_instructions?: string;
|
|
495
|
+
scheduled_start?: string;
|
|
496
|
+
scheduled_end?: string;
|
|
497
|
+
confirmation_code?: string;
|
|
498
|
+
service_status?: string;
|
|
499
|
+
staff_id?: string;
|
|
500
|
+
scheduling_metadata?: Record<string, unknown>;
|
|
501
|
+
bundle_selections?: BundleSelectionInput[];
|
|
502
|
+
bundle_resolved?: BundleSelectionData;
|
|
503
|
+
composite_selections?: ComponentSelectionInput[];
|
|
504
|
+
composite_resolved?: CompositeSelectionData;
|
|
505
|
+
applied_discount_ids: string[];
|
|
506
|
+
discount_details?: DiscountDetails;
|
|
646
507
|
created_at: string;
|
|
647
508
|
updated_at: string;
|
|
648
509
|
metadata?: Record<string, unknown>;
|
|
649
510
|
}
|
|
650
|
-
|
|
651
|
-
interface ProductAvailability {
|
|
511
|
+
interface UICart {
|
|
652
512
|
id: string;
|
|
653
513
|
business_id: string;
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
is_in_stock: boolean;
|
|
514
|
+
session_id?: string;
|
|
515
|
+
customer_id?: string;
|
|
516
|
+
location_id?: string;
|
|
658
517
|
created_at: string;
|
|
659
518
|
updated_at: string;
|
|
519
|
+
expires_at: string;
|
|
520
|
+
status: string;
|
|
521
|
+
source: string;
|
|
522
|
+
channel: string;
|
|
523
|
+
business_details?: UICartBusiness;
|
|
524
|
+
location_details?: UICartLocation;
|
|
525
|
+
customer_info: UICartCustomer;
|
|
526
|
+
items: CartItemDetails[];
|
|
527
|
+
pricing: UICartPricing;
|
|
660
528
|
metadata?: Record<string, unknown>;
|
|
661
529
|
}
|
|
662
|
-
interface
|
|
530
|
+
interface UICartResponse {
|
|
531
|
+
cart: UICart;
|
|
532
|
+
cart_count: number;
|
|
533
|
+
message?: string | null;
|
|
534
|
+
}
|
|
535
|
+
interface AddToCartInput {
|
|
536
|
+
item_id: string;
|
|
537
|
+
quantity?: number;
|
|
538
|
+
variant_id?: string;
|
|
539
|
+
quote_id?: string;
|
|
540
|
+
add_on_options?: string[];
|
|
541
|
+
special_instructions?: string;
|
|
542
|
+
bundle_selections?: BundleSelectionInput[];
|
|
543
|
+
composite_selections?: ComponentSelectionInput[];
|
|
544
|
+
scheduled_start?: string;
|
|
545
|
+
scheduled_end?: string;
|
|
546
|
+
staff_id?: string;
|
|
547
|
+
}
|
|
548
|
+
interface UpdateCartItemInput {
|
|
549
|
+
quantity?: number;
|
|
550
|
+
variant_id?: string;
|
|
551
|
+
add_on_options?: string[];
|
|
552
|
+
notes?: string;
|
|
553
|
+
bundle_selections?: BundleSelectionInput[];
|
|
554
|
+
composite_selections?: ComponentSelectionInput[];
|
|
555
|
+
scheduled_start?: string;
|
|
556
|
+
scheduled_end?: string;
|
|
557
|
+
staff_id?: string;
|
|
558
|
+
}
|
|
559
|
+
interface CartSummary {
|
|
560
|
+
item_count: number;
|
|
561
|
+
total_items: number;
|
|
562
|
+
subtotal: Money;
|
|
563
|
+
discount_amount: Money;
|
|
564
|
+
tax_amount: Money;
|
|
565
|
+
total: Money;
|
|
566
|
+
currency: CurrencyCode;
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
type BillingFrequency = "weekly" | "monthly" | "quarterly" | "annually";
|
|
570
|
+
type BillingPlanType = "subscription" | "installment";
|
|
571
|
+
type BillingMarkupType = "fixed" | "percentage";
|
|
572
|
+
interface ProductBillingPlan {
|
|
663
573
|
id: string;
|
|
664
|
-
business_id: string;
|
|
665
574
|
product_id: string;
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
575
|
+
business_id: string;
|
|
576
|
+
frequency: BillingFrequency;
|
|
577
|
+
fulfillment_frequency?: BillingFrequency | null;
|
|
578
|
+
plan_type: BillingPlanType;
|
|
579
|
+
installment_periods?: number | null;
|
|
580
|
+
trial_days: number;
|
|
581
|
+
setup_fee: number;
|
|
582
|
+
markup_type?: BillingMarkupType | null;
|
|
583
|
+
markup_amount?: number | null;
|
|
584
|
+
customer_group_id?: string | null;
|
|
585
|
+
min_quantity?: number | null;
|
|
586
|
+
min_order_value?: number | null;
|
|
587
|
+
max_cycles?: number | null;
|
|
588
|
+
is_active: boolean;
|
|
669
589
|
created_at: string;
|
|
670
590
|
updated_at: string;
|
|
671
591
|
metadata?: Record<string, unknown>;
|
|
672
592
|
}
|
|
673
|
-
interface
|
|
593
|
+
interface EligiblePlansQuery {
|
|
594
|
+
customer_id?: string;
|
|
595
|
+
quantity?: number;
|
|
596
|
+
order_value?: number;
|
|
597
|
+
}
|
|
598
|
+
interface FormattedPlanOption {
|
|
599
|
+
plan: ProductBillingPlan;
|
|
600
|
+
label: string;
|
|
601
|
+
pricePerPeriod: number;
|
|
602
|
+
totalPrice?: number;
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
type ProductType = "product" | "service" | "digital" | "bundle" | "composite";
|
|
606
|
+
type ProductRenderHint = "food" | "physical" | "general";
|
|
607
|
+
type DisplayMode = "card" | "page";
|
|
608
|
+
type InventoryType = "one_to_one" | "composition" | "none";
|
|
609
|
+
type VariantStrategy = "fetch_all" | "use_axes";
|
|
610
|
+
type DigitalProductType = "download" | "license" | "event_ticket" | "access_pass" | "gift_code";
|
|
611
|
+
type DepositType = "none" | "fixed" | "percentage";
|
|
612
|
+
type DurationUnit = "minutes" | "hours" | "days" | "nights" | "weeks" | "months" | "years";
|
|
613
|
+
type SalesChannel = "pos" | "online" | "marketplace" | "partners";
|
|
614
|
+
type AttributeType = "text" | "textarea" | "number" | "currency" | "boolean" | "single_select" | "multi_select" | "radio" | "date" | "url" | "color" | "image" | "file" | "product_reference" | "category_reference" | "collection_reference" | "variant_reference" | "list_text" | "list_number" | "list_date" | "dimension" | "weight" | "volume";
|
|
615
|
+
type AttributeAppliesTo = "product" | "variant" | "both" | "category" | "collection" | "all";
|
|
616
|
+
type AttributeVisibility = "admin_only" | "storefront_read" | "public";
|
|
617
|
+
type MeasurementValue = {
|
|
618
|
+
value: number;
|
|
619
|
+
unit: string;
|
|
620
|
+
};
|
|
621
|
+
interface AttributeValidationRules {
|
|
622
|
+
min_length?: number;
|
|
623
|
+
max_length?: number;
|
|
624
|
+
regex?: string;
|
|
625
|
+
min?: number | string;
|
|
626
|
+
max?: number | string;
|
|
627
|
+
max_precision?: number;
|
|
628
|
+
min_selections?: number;
|
|
629
|
+
max_selections?: number;
|
|
630
|
+
}
|
|
631
|
+
interface CustomAttributeDefinition {
|
|
674
632
|
id: string;
|
|
675
|
-
|
|
633
|
+
business_id: string;
|
|
634
|
+
namespace: string;
|
|
676
635
|
name: string;
|
|
636
|
+
slug: string;
|
|
677
637
|
description?: string;
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
638
|
+
attribute_type: AttributeType;
|
|
639
|
+
options?: string[];
|
|
640
|
+
unit?: string;
|
|
641
|
+
validation?: AttributeValidationRules | null;
|
|
642
|
+
is_required: boolean;
|
|
643
|
+
is_filterable: boolean;
|
|
644
|
+
visibility: AttributeVisibility;
|
|
645
|
+
display_order: number;
|
|
646
|
+
group_name?: string;
|
|
647
|
+
applies_to: AttributeAppliesTo;
|
|
681
648
|
created_at: string;
|
|
682
649
|
updated_at: string;
|
|
683
650
|
}
|
|
684
|
-
interface
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
651
|
+
interface CustomAttributeValue {
|
|
652
|
+
definition_id: string;
|
|
653
|
+
namespace: string;
|
|
654
|
+
name: string;
|
|
655
|
+
slug: string;
|
|
656
|
+
attribute_type: AttributeType;
|
|
657
|
+
group_name?: string;
|
|
658
|
+
unit?: string;
|
|
659
|
+
value: string | number | boolean | string[] | MeasurementValue | null;
|
|
660
|
+
is_filterable: boolean;
|
|
661
|
+
visibility: AttributeVisibility;
|
|
690
662
|
}
|
|
691
|
-
type
|
|
692
|
-
interface
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
starts_at: string;
|
|
702
|
-
ends_at: string;
|
|
703
|
-
product_ids: string[];
|
|
704
|
-
category_ids: string[];
|
|
705
|
-
collection_ids: string[];
|
|
663
|
+
type PropertySource = "attribute" | "variant";
|
|
664
|
+
interface ProductProperty {
|
|
665
|
+
name: string;
|
|
666
|
+
slug: string;
|
|
667
|
+
source: PropertySource;
|
|
668
|
+
value_type: string;
|
|
669
|
+
values: (string | number | boolean | null)[];
|
|
670
|
+
group_name?: string;
|
|
671
|
+
unit?: string;
|
|
672
|
+
is_filterable: boolean;
|
|
706
673
|
}
|
|
707
|
-
interface
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
value: Money;
|
|
713
|
-
label: string;
|
|
674
|
+
interface PropertyFacet {
|
|
675
|
+
name: string;
|
|
676
|
+
slug: string;
|
|
677
|
+
source: string;
|
|
678
|
+
values: FacetValue[];
|
|
714
679
|
}
|
|
715
|
-
interface
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
deal?: Deal;
|
|
719
|
-
ineligibility_reason?: string;
|
|
680
|
+
interface FacetValue {
|
|
681
|
+
value: string;
|
|
682
|
+
count: number;
|
|
720
683
|
}
|
|
721
|
-
interface
|
|
684
|
+
interface TaxonomyAttributeTemplate {
|
|
722
685
|
id: string;
|
|
686
|
+
taxonomy_id: string;
|
|
723
687
|
name: string;
|
|
724
688
|
slug: string;
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
usage_count: number;
|
|
689
|
+
attribute_type: "boolean" | "single_select";
|
|
690
|
+
options?: string[];
|
|
691
|
+
is_required: boolean;
|
|
692
|
+
display_order: number;
|
|
693
|
+
gpc_attribute_code?: number;
|
|
731
694
|
created_at: string;
|
|
732
|
-
updated_at: string;
|
|
733
695
|
}
|
|
734
|
-
interface
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
696
|
+
interface KnowledgeArticle {
|
|
697
|
+
id: string;
|
|
698
|
+
title: string;
|
|
699
|
+
slug: string;
|
|
700
|
+
content: string;
|
|
701
|
+
category?: string;
|
|
702
|
+
tags: string[];
|
|
703
|
+
created_at: string;
|
|
704
|
+
updated_at: string;
|
|
739
705
|
}
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
} | {
|
|
759
|
-
customer_loyalty: string;
|
|
760
|
-
} | {
|
|
761
|
-
channel_markup: string;
|
|
762
|
-
} | {
|
|
763
|
-
discount: string;
|
|
764
|
-
} | {
|
|
765
|
-
bundle: string;
|
|
766
|
-
} | {
|
|
767
|
-
manual: string;
|
|
768
|
-
} | {
|
|
769
|
-
time_limited_promotion: {
|
|
770
|
-
promotion_id: string;
|
|
771
|
-
valid_until: string;
|
|
706
|
+
interface Product {
|
|
707
|
+
id: string;
|
|
708
|
+
business_id: string;
|
|
709
|
+
category_id?: string;
|
|
710
|
+
name: string;
|
|
711
|
+
slug: string;
|
|
712
|
+
description?: string;
|
|
713
|
+
image_url?: string;
|
|
714
|
+
default_price: Money;
|
|
715
|
+
type: ProductType;
|
|
716
|
+
render_hint?: ProductRenderHint;
|
|
717
|
+
display_mode?: DisplayMode;
|
|
718
|
+
inventory_type: InventoryType;
|
|
719
|
+
variant_strategy: VariantStrategy;
|
|
720
|
+
inventory_status?: {
|
|
721
|
+
in_stock: boolean;
|
|
722
|
+
stock_level?: number;
|
|
723
|
+
low_stock: boolean;
|
|
772
724
|
};
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
725
|
+
is_active: boolean;
|
|
726
|
+
created_at: string;
|
|
727
|
+
updated_at: string;
|
|
728
|
+
metadata?: Record<string, unknown>;
|
|
729
|
+
tags?: string[];
|
|
730
|
+
images?: string[];
|
|
731
|
+
calories?: number;
|
|
732
|
+
allergies?: string[];
|
|
733
|
+
recipe?: Record<string, unknown>;
|
|
734
|
+
sku?: string;
|
|
735
|
+
barcode?: string;
|
|
736
|
+
ean?: string;
|
|
737
|
+
upc?: string;
|
|
738
|
+
is_trackable?: boolean;
|
|
739
|
+
is_tracked?: boolean;
|
|
740
|
+
is_tracked_in_store?: boolean;
|
|
741
|
+
is_tracked_in_warehouse?: boolean;
|
|
742
|
+
inventory_threshold?: number;
|
|
743
|
+
external_id?: string;
|
|
744
|
+
external_source?: string;
|
|
745
|
+
download_url?: string;
|
|
746
|
+
digital_type?: DigitalProductType;
|
|
747
|
+
max_downloads?: number;
|
|
748
|
+
license_key_required?: boolean;
|
|
749
|
+
file_size_mb?: number;
|
|
750
|
+
file_hash?: string;
|
|
751
|
+
file_type?: string;
|
|
752
|
+
version?: string;
|
|
753
|
+
download_expires_days?: number;
|
|
754
|
+
license_key_format?: string;
|
|
755
|
+
max_activations?: number;
|
|
756
|
+
validity_days?: number;
|
|
757
|
+
event_id?: string;
|
|
758
|
+
event_date?: string;
|
|
759
|
+
venue?: string;
|
|
760
|
+
ticket_type?: string;
|
|
761
|
+
seat_info?: Record<string, unknown>;
|
|
762
|
+
access_type?: string;
|
|
763
|
+
access_level?: string;
|
|
764
|
+
access_duration_days?: number;
|
|
765
|
+
code_type?: string;
|
|
766
|
+
code_value?: Money;
|
|
767
|
+
code_currency?: CurrencyCode;
|
|
768
|
+
duration_minutes?: number;
|
|
769
|
+
duration_unit?: DurationUnit;
|
|
770
|
+
preparation_time_minutes?: number;
|
|
771
|
+
staff_required_count?: number;
|
|
772
|
+
buffer_before_minutes?: number;
|
|
773
|
+
buffer_after_minutes?: number;
|
|
774
|
+
general_service_capacity?: number;
|
|
775
|
+
deposit_type?: DepositType;
|
|
776
|
+
deposit_amount?: Money;
|
|
777
|
+
cancellation_window_minutes?: number;
|
|
778
|
+
no_show_fee?: Money;
|
|
779
|
+
requires_specific_staff?: boolean;
|
|
780
|
+
requires_specific_resource?: boolean;
|
|
781
|
+
hs_code?: string;
|
|
782
|
+
mid_code?: string;
|
|
783
|
+
material?: string;
|
|
784
|
+
allow_backorder?: boolean;
|
|
785
|
+
item_condition?: string;
|
|
786
|
+
vendor?: string;
|
|
787
|
+
length_mm?: number;
|
|
788
|
+
width_mm?: number;
|
|
789
|
+
height_mm?: number;
|
|
790
|
+
channels?: SalesChannel[];
|
|
791
|
+
meta_title?: string;
|
|
792
|
+
meta_description?: string;
|
|
793
|
+
is_discountable?: boolean;
|
|
794
|
+
taxonomy_id?: string;
|
|
795
|
+
bundle_price?: Money;
|
|
796
|
+
discount_value?: Money;
|
|
797
|
+
pricing_type?: BundlePriceType;
|
|
798
|
+
components?: BundleComponentView[];
|
|
799
|
+
composite_id?: string;
|
|
800
|
+
groups?: CompositeGroupView[];
|
|
801
|
+
custom_attributes?: CustomAttributeValue[];
|
|
802
|
+
properties?: ProductProperty[];
|
|
803
|
+
billing_plans?: ProductBillingPlan[];
|
|
804
|
+
upsells?: RelatedProductView[];
|
|
805
|
+
cross_sells?: RelatedProductView[];
|
|
780
806
|
}
|
|
781
|
-
interface
|
|
807
|
+
interface RelatedProductView {
|
|
808
|
+
product_id: string;
|
|
782
809
|
name: string;
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
tax_amount: Money;
|
|
788
|
-
is_inclusive: boolean;
|
|
789
|
-
components: TaxPathComponent[];
|
|
790
|
-
}
|
|
791
|
-
interface PriceDecisionPath {
|
|
792
|
-
base_price_source: PriceSource;
|
|
793
|
-
adjustments: PriceAdjustment[];
|
|
794
|
-
context?: Record<string, unknown>;
|
|
810
|
+
slug: string;
|
|
811
|
+
image_url?: string;
|
|
812
|
+
price: Money;
|
|
813
|
+
source: string;
|
|
795
814
|
}
|
|
796
|
-
interface
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
custom_fields?: Record<string, unknown>;
|
|
805
|
-
decision_path?: PriceDecisionPath;
|
|
806
|
-
tax_info?: PricePathTaxInfo;
|
|
807
|
-
pre_tax_price?: Money;
|
|
815
|
+
interface ProductWithDetails extends Product {
|
|
816
|
+
category?: Category;
|
|
817
|
+
variants?: VariantView[];
|
|
818
|
+
add_ons?: AddOnWithOptions[];
|
|
819
|
+
variant_axes?: VariantAxisWithValues[];
|
|
820
|
+
location_prices?: LocationProductPrice[];
|
|
821
|
+
location_availability?: ProductAvailability[];
|
|
822
|
+
time_profiles?: ProductTimeProfile[];
|
|
808
823
|
}
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
824
|
+
interface VariantView {
|
|
825
|
+
id: string;
|
|
826
|
+
name: string;
|
|
827
|
+
is_default: boolean;
|
|
828
|
+
price_adjustment: Money;
|
|
829
|
+
location_prices?: Record<string, ChosenPrice>;
|
|
830
|
+
axis_selections?: Record<string, string>;
|
|
831
|
+
display_attributes?: VariantDisplayAttribute[];
|
|
832
|
+
images?: string[];
|
|
833
|
+
duration_minutes?: number;
|
|
834
|
+
duration_unit?: DurationUnit;
|
|
835
|
+
skill_level_required?: string;
|
|
836
|
+
staff_count_override?: number;
|
|
837
|
+
capacity_override?: number;
|
|
818
838
|
}
|
|
819
|
-
interface
|
|
820
|
-
|
|
821
|
-
|
|
839
|
+
interface ProductVariant {
|
|
840
|
+
id: string;
|
|
841
|
+
name?: string;
|
|
842
|
+
business_id: string;
|
|
843
|
+
product_id: string;
|
|
844
|
+
component_multiplier: Money;
|
|
845
|
+
price_adjustment: Money;
|
|
846
|
+
is_default: boolean;
|
|
847
|
+
created_at: string;
|
|
848
|
+
updated_at: string;
|
|
849
|
+
is_active?: boolean;
|
|
850
|
+
is_archived?: boolean;
|
|
851
|
+
is_deleted?: boolean;
|
|
852
|
+
inventory_threshold?: number;
|
|
853
|
+
images?: string[];
|
|
854
|
+
external_id?: string;
|
|
855
|
+
external_source?: string;
|
|
856
|
+
ean?: string;
|
|
857
|
+
upc?: string;
|
|
858
|
+
is_trackable?: boolean;
|
|
859
|
+
is_tracked?: boolean;
|
|
860
|
+
is_tracked_in_store?: boolean;
|
|
861
|
+
is_tracked_in_warehouse?: boolean;
|
|
862
|
+
sku?: string;
|
|
863
|
+
barcode?: string;
|
|
864
|
+
download_url?: string;
|
|
865
|
+
metadata?: Record<string, unknown>;
|
|
866
|
+
duration_minutes?: number;
|
|
867
|
+
duration_unit?: DurationUnit;
|
|
868
|
+
max_downloads?: number;
|
|
869
|
+
license_key?: string;
|
|
870
|
+
display_attributes?: VariantDisplayAttribute[];
|
|
822
871
|
}
|
|
823
|
-
interface
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
872
|
+
interface VariantDisplayAttribute {
|
|
873
|
+
axis_id: string;
|
|
874
|
+
axis_name: string;
|
|
875
|
+
value_id: string;
|
|
876
|
+
value_name: string;
|
|
827
877
|
}
|
|
828
|
-
interface
|
|
829
|
-
|
|
830
|
-
|
|
878
|
+
interface VariantAxis {
|
|
879
|
+
id: string;
|
|
880
|
+
business_id: string;
|
|
881
|
+
product_id: string;
|
|
831
882
|
name: string;
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
883
|
+
display_order: number;
|
|
884
|
+
affects_recipe: boolean;
|
|
885
|
+
created_at: string;
|
|
886
|
+
updated_at: string;
|
|
887
|
+
metadata?: Record<string, unknown>;
|
|
837
888
|
}
|
|
838
|
-
interface
|
|
839
|
-
|
|
840
|
-
total_add_on_price: Money;
|
|
841
|
-
add_ons: CartAddOn[];
|
|
889
|
+
interface VariantAxisWithValues extends VariantAxis {
|
|
890
|
+
values: VariantAxisValue[];
|
|
842
891
|
}
|
|
843
|
-
interface
|
|
844
|
-
|
|
892
|
+
interface VariantAxisValue {
|
|
893
|
+
id: string;
|
|
894
|
+
business_id: string;
|
|
895
|
+
axis_id: string;
|
|
845
896
|
name: string;
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
897
|
+
display_order: number;
|
|
898
|
+
color_hex?: string;
|
|
899
|
+
image_url?: string;
|
|
900
|
+
created_at: string;
|
|
901
|
+
updated_at: string;
|
|
902
|
+
metadata?: Record<string, unknown>;
|
|
850
903
|
}
|
|
851
|
-
interface
|
|
904
|
+
interface ProductVariantValue {
|
|
852
905
|
variant_id: string;
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
variant_id?: string;
|
|
859
|
-
quantity: number;
|
|
860
|
-
}
|
|
861
|
-
interface BundleStoredSelection {
|
|
862
|
-
component_id: string;
|
|
863
|
-
product_id: string;
|
|
864
|
-
product_name: string;
|
|
865
|
-
variant_id?: string;
|
|
866
|
-
variant_name?: string;
|
|
867
|
-
quantity: number;
|
|
868
|
-
unit_price: Money;
|
|
906
|
+
axis_value_id: string;
|
|
907
|
+
business_id: string;
|
|
908
|
+
created_at: string;
|
|
909
|
+
updated_at: string;
|
|
910
|
+
metadata?: Record<string, unknown>;
|
|
869
911
|
}
|
|
870
|
-
interface
|
|
871
|
-
|
|
872
|
-
|
|
912
|
+
interface VariantLocationAvailability {
|
|
913
|
+
id: string;
|
|
914
|
+
variant_id: string;
|
|
915
|
+
location_id: string;
|
|
916
|
+
business_id: string;
|
|
917
|
+
is_available: boolean;
|
|
918
|
+
is_in_stock: boolean;
|
|
919
|
+
created_at: string;
|
|
920
|
+
updated_at: string;
|
|
921
|
+
metadata?: Record<string, unknown>;
|
|
873
922
|
}
|
|
874
|
-
interface
|
|
875
|
-
|
|
876
|
-
component_name: string;
|
|
877
|
-
quantity: number;
|
|
878
|
-
group_id: string;
|
|
879
|
-
source_type: "product" | "stock" | "add_on" | "standalone";
|
|
880
|
-
source_product_id?: string;
|
|
881
|
-
source_stock_id?: string;
|
|
882
|
-
unit_price: Money;
|
|
923
|
+
interface VariantAxisSelection {
|
|
924
|
+
[axisName: string]: string;
|
|
883
925
|
}
|
|
884
|
-
interface
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
926
|
+
interface AddOn {
|
|
927
|
+
id: string;
|
|
928
|
+
business_id: string;
|
|
929
|
+
name: string;
|
|
930
|
+
is_multiple_allowed: boolean;
|
|
931
|
+
is_required: boolean;
|
|
932
|
+
is_mutually_exclusive: boolean;
|
|
933
|
+
min_selections?: number;
|
|
934
|
+
max_selections?: number;
|
|
935
|
+
created_at: string;
|
|
936
|
+
updated_at: string;
|
|
937
|
+
metadata?: Record<string, unknown>;
|
|
889
938
|
}
|
|
890
|
-
interface
|
|
891
|
-
|
|
892
|
-
selections: CompositeStoredSelection[];
|
|
893
|
-
breakdown: CompositePriceBreakdown;
|
|
939
|
+
interface AddOnWithOptions extends AddOn {
|
|
940
|
+
options: AddOnOption[];
|
|
894
941
|
}
|
|
895
|
-
|
|
896
|
-
type LineConfiguration = {
|
|
897
|
-
type: "simple";
|
|
898
|
-
variant?: VariantDetails;
|
|
899
|
-
add_ons?: AddOnDetails;
|
|
900
|
-
} | {
|
|
901
|
-
type: "service";
|
|
902
|
-
variant?: VariantDetails;
|
|
903
|
-
add_ons?: AddOnDetails;
|
|
904
|
-
scheduled_start?: string;
|
|
905
|
-
scheduled_end?: string;
|
|
906
|
-
confirmation_code?: string;
|
|
907
|
-
service_status?: string;
|
|
908
|
-
primary_staff_id?: string;
|
|
909
|
-
scheduling_metadata?: Record<string, unknown>;
|
|
910
|
-
} | {
|
|
911
|
-
type: "bundle";
|
|
912
|
-
variant?: VariantDetails;
|
|
913
|
-
input: BundleSelectionInput[];
|
|
914
|
-
resolved?: BundleSelectionData;
|
|
915
|
-
add_ons?: AddOnDetails;
|
|
916
|
-
} | {
|
|
917
|
-
type: "composite";
|
|
918
|
-
variant?: VariantDetails;
|
|
919
|
-
input: ComponentSelectionInput[];
|
|
920
|
-
resolved?: CompositeSelectionData;
|
|
921
|
-
add_ons?: AddOnDetails;
|
|
922
|
-
} | {
|
|
923
|
-
type: "digital";
|
|
924
|
-
variant?: VariantDetails;
|
|
925
|
-
add_ons?: AddOnDetails;
|
|
926
|
-
digital_type?: string;
|
|
927
|
-
fulfillment_id?: string;
|
|
928
|
-
};
|
|
929
|
-
interface Cart {
|
|
942
|
+
interface AddOnOption {
|
|
930
943
|
id: string;
|
|
944
|
+
add_on_id: string;
|
|
931
945
|
business_id: string;
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
946
|
+
name: string;
|
|
947
|
+
option_sku?: string;
|
|
948
|
+
default_price?: Money;
|
|
949
|
+
description?: string;
|
|
950
|
+
is_required: boolean;
|
|
951
|
+
is_mutually_exclusive: boolean;
|
|
935
952
|
created_at: string;
|
|
936
953
|
updated_at: string;
|
|
937
|
-
expires_at: string;
|
|
938
|
-
subtotal: Money;
|
|
939
|
-
tax_amount: Money;
|
|
940
|
-
service_charge: Money;
|
|
941
|
-
total_discounts: Money;
|
|
942
|
-
total_price: Money;
|
|
943
|
-
total_items: number;
|
|
944
|
-
tax_rate?: Money;
|
|
945
|
-
service_charge_rate?: Money;
|
|
946
|
-
price_info: ChosenPrice;
|
|
947
|
-
applied_discount_ids: string[];
|
|
948
|
-
applied_discount_codes: string[];
|
|
949
|
-
discount_details?: DiscountDetails;
|
|
950
|
-
currency: CurrencyCode;
|
|
951
|
-
customer_name?: string;
|
|
952
|
-
customer_email?: string;
|
|
953
|
-
customer_phone?: string;
|
|
954
|
-
customer_address?: string;
|
|
955
|
-
source: string;
|
|
956
|
-
status: CartStatus;
|
|
957
|
-
channel: string;
|
|
958
|
-
order_id?: string;
|
|
959
954
|
metadata?: Record<string, unknown>;
|
|
960
|
-
items: CartItem[];
|
|
961
955
|
}
|
|
962
|
-
interface
|
|
956
|
+
interface AddOnOptionPrice {
|
|
963
957
|
id: string;
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
line_key: string;
|
|
968
|
-
configuration: LineConfiguration;
|
|
958
|
+
add_on_option_id: string;
|
|
959
|
+
location_id: string;
|
|
960
|
+
business_id: string;
|
|
969
961
|
price: Money;
|
|
970
|
-
add_ons_price: Money;
|
|
971
|
-
price_info: ChosenPrice;
|
|
972
|
-
applied_discount_ids: string[];
|
|
973
|
-
item_discount_amount: Money;
|
|
974
|
-
discount_details?: DiscountDetails;
|
|
975
962
|
created_at: string;
|
|
976
963
|
updated_at: string;
|
|
977
964
|
metadata?: Record<string, unknown>;
|
|
978
965
|
}
|
|
979
|
-
interface
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
applied_discount_ids: string[];
|
|
988
|
-
applied_discount_codes: string[];
|
|
989
|
-
discount_details?: DiscountDetails;
|
|
966
|
+
interface ProductAddOn {
|
|
967
|
+
id: string;
|
|
968
|
+
business_id: string;
|
|
969
|
+
product_id: string;
|
|
970
|
+
add_on_id: string;
|
|
971
|
+
created_at: string;
|
|
972
|
+
updated_at: string;
|
|
973
|
+
metadata?: Record<string, unknown>;
|
|
990
974
|
}
|
|
991
|
-
interface
|
|
975
|
+
interface Category {
|
|
992
976
|
id: string;
|
|
993
977
|
business_id: string;
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
total_price: Money;
|
|
1002
|
-
total_items: number;
|
|
1003
|
-
tax_rate?: Money;
|
|
1004
|
-
service_charge_rate?: Money;
|
|
1005
|
-
currency: CurrencyCode;
|
|
1006
|
-
channel: string;
|
|
1007
|
-
status: string;
|
|
1008
|
-
business_name: string;
|
|
1009
|
-
business_logo?: string;
|
|
1010
|
-
location_name?: string;
|
|
1011
|
-
customer_name?: string;
|
|
1012
|
-
customer_email?: string;
|
|
1013
|
-
customer_phone?: string;
|
|
1014
|
-
customer_address?: string;
|
|
1015
|
-
items: DisplayCartItem[];
|
|
1016
|
-
applied_discount_codes: string[];
|
|
1017
|
-
discount_details?: DiscountDetails;
|
|
978
|
+
name: string;
|
|
979
|
+
slug: string;
|
|
980
|
+
description?: string;
|
|
981
|
+
product_count?: number;
|
|
982
|
+
created_at: string;
|
|
983
|
+
updated_at: string;
|
|
984
|
+
metadata?: Record<string, unknown>;
|
|
1018
985
|
}
|
|
1019
|
-
interface
|
|
986
|
+
interface CategorySummary extends Category {
|
|
987
|
+
product_count: number;
|
|
988
|
+
}
|
|
989
|
+
interface Collection {
|
|
1020
990
|
id: string;
|
|
1021
|
-
|
|
1022
|
-
item_id: string;
|
|
1023
|
-
quantity: number;
|
|
991
|
+
business_id: string;
|
|
1024
992
|
name: string;
|
|
993
|
+
slug: string;
|
|
1025
994
|
description?: string;
|
|
995
|
+
tags?: string[];
|
|
1026
996
|
image_url?: string;
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
add_ons_price: Money;
|
|
1033
|
-
price_info: ChosenPrice;
|
|
1034
|
-
item_discount_amount: Money;
|
|
1035
|
-
discount_details?: DiscountDetails;
|
|
1036
|
-
add_ons: DisplayAddOn[];
|
|
1037
|
-
special_instructions?: string;
|
|
997
|
+
channels?: SalesChannel[];
|
|
998
|
+
product_count?: number;
|
|
999
|
+
created_at: string;
|
|
1000
|
+
updated_at: string;
|
|
1001
|
+
metadata?: Record<string, unknown>;
|
|
1038
1002
|
}
|
|
1039
|
-
interface
|
|
1003
|
+
interface CollectionSummary extends Collection {
|
|
1004
|
+
product_count: number;
|
|
1005
|
+
}
|
|
1006
|
+
interface CollectionProduct {
|
|
1040
1007
|
id: string;
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1008
|
+
collection_id: string;
|
|
1009
|
+
product_id: string;
|
|
1010
|
+
display_order?: number;
|
|
1011
|
+
created_at: string;
|
|
1012
|
+
updated_at: string;
|
|
1013
|
+
metadata?: Record<string, unknown>;
|
|
1046
1014
|
}
|
|
1047
|
-
|
|
1015
|
+
type BundlePriceType = "fixed" | "percentage_discount" | "fixed_discount";
|
|
1016
|
+
interface Bundle {
|
|
1048
1017
|
id: string;
|
|
1018
|
+
business_id: string;
|
|
1019
|
+
product_id: string;
|
|
1049
1020
|
name: string;
|
|
1050
|
-
|
|
1051
|
-
quantity: number;
|
|
1052
|
-
image_url?: string;
|
|
1021
|
+
slug: string;
|
|
1053
1022
|
description?: string;
|
|
1023
|
+
image_url?: string;
|
|
1024
|
+
pricing_type: BundlePriceType;
|
|
1025
|
+
bundle_price?: Money;
|
|
1026
|
+
discount_value?: Money;
|
|
1027
|
+
product_count?: number;
|
|
1028
|
+
created_at: string;
|
|
1029
|
+
updated_at: string;
|
|
1030
|
+
metadata?: Record<string, unknown>;
|
|
1054
1031
|
}
|
|
1055
|
-
interface
|
|
1056
|
-
|
|
1057
|
-
logo_url?: string;
|
|
1058
|
-
contact_email?: string;
|
|
1059
|
-
contact_phone?: string;
|
|
1032
|
+
interface BundleSummary extends Bundle {
|
|
1033
|
+
product_count: number;
|
|
1060
1034
|
}
|
|
1061
|
-
interface
|
|
1062
|
-
id
|
|
1063
|
-
|
|
1035
|
+
interface BundleProduct {
|
|
1036
|
+
id: string;
|
|
1037
|
+
bundle_id: string;
|
|
1038
|
+
product_id: string;
|
|
1039
|
+
variant_id?: string;
|
|
1040
|
+
allow_variant_choice: boolean;
|
|
1041
|
+
quantity: number;
|
|
1042
|
+
created_at: string;
|
|
1043
|
+
updated_at: string;
|
|
1044
|
+
metadata?: Record<string, unknown>;
|
|
1064
1045
|
}
|
|
1065
|
-
interface
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
address?: string;
|
|
1046
|
+
interface BundleWithDetails extends Bundle {
|
|
1047
|
+
product: Product;
|
|
1048
|
+
components: BundleComponentData[];
|
|
1049
|
+
schedules?: ProductTimeProfile[];
|
|
1050
|
+
availability?: Record<string, ProductAvailability>;
|
|
1071
1051
|
}
|
|
1072
|
-
interface
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
service_charge_rate?: Money;
|
|
1080
|
-
currency: CurrencyCode;
|
|
1052
|
+
interface BundleComponentData {
|
|
1053
|
+
component: BundleProduct;
|
|
1054
|
+
product: Product;
|
|
1055
|
+
variants: ProductVariant[];
|
|
1056
|
+
variant_axes: VariantAxis[];
|
|
1057
|
+
variant_axis_values: VariantAxisValue[];
|
|
1058
|
+
product_variant_values: ProductVariantValue[];
|
|
1081
1059
|
}
|
|
1082
|
-
interface
|
|
1060
|
+
interface BundleComponentInfo {
|
|
1061
|
+
id: string;
|
|
1062
|
+
product_id: string;
|
|
1063
|
+
variant_id?: string;
|
|
1064
|
+
quantity: number;
|
|
1065
|
+
}
|
|
1066
|
+
interface BundleComponentView {
|
|
1067
|
+
id: string;
|
|
1068
|
+
product_id: string;
|
|
1069
|
+
product_name: string;
|
|
1070
|
+
product_description?: string;
|
|
1071
|
+
product_image_url?: string;
|
|
1072
|
+
product_type?: ProductType;
|
|
1073
|
+
effective_price: Money;
|
|
1074
|
+
quantity: number;
|
|
1075
|
+
variant_id?: string;
|
|
1076
|
+
allow_variant_choice: boolean;
|
|
1077
|
+
available_variants: BundleComponentVariantView[];
|
|
1078
|
+
variant_axes?: VariantAxisView[];
|
|
1079
|
+
duration_minutes?: number;
|
|
1080
|
+
duration_unit?: DurationUnit;
|
|
1081
|
+
}
|
|
1082
|
+
interface BundleComponentVariantView {
|
|
1083
|
+
id: string;
|
|
1084
|
+
is_default: boolean;
|
|
1085
|
+
display_name: string;
|
|
1086
|
+
price_adjustment: Money;
|
|
1087
|
+
}
|
|
1088
|
+
interface VariantAxisView {
|
|
1083
1089
|
id: string;
|
|
1084
1090
|
name: string;
|
|
1085
|
-
|
|
1086
|
-
|
|
1091
|
+
values: VariantAxisValueView[];
|
|
1092
|
+
}
|
|
1093
|
+
interface VariantAxisValueView {
|
|
1094
|
+
id: string;
|
|
1095
|
+
value: string;
|
|
1096
|
+
}
|
|
1097
|
+
type CompositePricingMode = "additive" | "highest_per_group" | "highest_overall" | "tiered";
|
|
1098
|
+
type GroupPricingBehavior = "additive" | "first_n_free" | "flat_fee" | "highest_only";
|
|
1099
|
+
type ComponentSourceType = "product" | "stock" | "add_on" | "standalone";
|
|
1100
|
+
interface Composite {
|
|
1101
|
+
id: string;
|
|
1102
|
+
business_id: string;
|
|
1103
|
+
product_id: string;
|
|
1104
|
+
base_price: Money;
|
|
1105
|
+
pricing_mode: CompositePricingMode;
|
|
1106
|
+
min_order_quantity?: number;
|
|
1107
|
+
max_order_quantity?: number;
|
|
1108
|
+
created_at: string;
|
|
1109
|
+
updated_at: string;
|
|
1110
|
+
metadata?: Record<string, unknown>;
|
|
1111
|
+
}
|
|
1112
|
+
interface CompositeWithDetails extends Composite {
|
|
1113
|
+
product: Product;
|
|
1114
|
+
groups: ComponentGroupWithComponents[];
|
|
1115
|
+
}
|
|
1116
|
+
interface ComponentGroup {
|
|
1117
|
+
id: string;
|
|
1118
|
+
composite_id: string;
|
|
1119
|
+
name: string;
|
|
1087
1120
|
description?: string;
|
|
1088
|
-
|
|
1121
|
+
display_order: number;
|
|
1122
|
+
min_selections: number;
|
|
1123
|
+
max_selections?: number;
|
|
1124
|
+
allow_quantity: boolean;
|
|
1125
|
+
max_quantity_per_component?: number;
|
|
1126
|
+
pricing_behavior: GroupPricingBehavior;
|
|
1127
|
+
pricing_behavior_config?: Record<string, unknown>;
|
|
1128
|
+
icon?: string;
|
|
1129
|
+
color?: string;
|
|
1130
|
+
created_at: string;
|
|
1131
|
+
updated_at: string;
|
|
1089
1132
|
}
|
|
1090
|
-
interface
|
|
1133
|
+
interface ComponentGroupWithComponents extends ComponentGroup {
|
|
1134
|
+
components: CompositeComponent[];
|
|
1135
|
+
}
|
|
1136
|
+
interface CompositeGroupView {
|
|
1091
1137
|
id: string;
|
|
1092
1138
|
name: string;
|
|
1093
|
-
|
|
1139
|
+
description?: string;
|
|
1094
1140
|
min_selections: number;
|
|
1095
1141
|
max_selections: number;
|
|
1096
|
-
|
|
1097
|
-
|
|
1142
|
+
allow_quantity: boolean;
|
|
1143
|
+
max_quantity_per_component?: number;
|
|
1144
|
+
display_order: number;
|
|
1145
|
+
components: CompositeComponentView[];
|
|
1098
1146
|
}
|
|
1099
|
-
interface
|
|
1147
|
+
interface CompositeComponentView {
|
|
1100
1148
|
id: string;
|
|
1101
|
-
|
|
1149
|
+
display_name?: string;
|
|
1150
|
+
display_description?: string;
|
|
1151
|
+
display_image_url?: string;
|
|
1102
1152
|
price: Money;
|
|
1103
|
-
|
|
1104
|
-
|
|
1153
|
+
calories?: number;
|
|
1154
|
+
display_order: number;
|
|
1155
|
+
is_popular: boolean;
|
|
1156
|
+
is_premium: boolean;
|
|
1157
|
+
is_available: boolean;
|
|
1158
|
+
is_archived: boolean;
|
|
1159
|
+
product_type?: ProductType;
|
|
1160
|
+
source_type?: ComponentSourceType;
|
|
1105
1161
|
}
|
|
1106
|
-
interface
|
|
1162
|
+
interface CompositeComponent {
|
|
1107
1163
|
id: string;
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1164
|
+
group_id: string;
|
|
1165
|
+
product_id?: string;
|
|
1166
|
+
variant_id?: string;
|
|
1167
|
+
stock_id?: string;
|
|
1168
|
+
add_on_id?: string;
|
|
1169
|
+
add_on_option_id?: string;
|
|
1170
|
+
display_name?: string;
|
|
1171
|
+
display_description?: string;
|
|
1172
|
+
display_image_url?: string;
|
|
1173
|
+
price: Money;
|
|
1174
|
+
price_per_additional?: Money;
|
|
1175
|
+
quantity_per_selection?: Money;
|
|
1176
|
+
waste_percentage?: Money;
|
|
1177
|
+
calories?: number;
|
|
1178
|
+
allergens?: string[];
|
|
1179
|
+
display_order: number;
|
|
1180
|
+
is_popular: boolean;
|
|
1181
|
+
is_premium: boolean;
|
|
1118
1182
|
is_available: boolean;
|
|
1183
|
+
is_archived: boolean;
|
|
1184
|
+
created_at: string;
|
|
1185
|
+
updated_at: string;
|
|
1186
|
+
}
|
|
1187
|
+
interface ComponentSelectionInput {
|
|
1188
|
+
component_id: string;
|
|
1189
|
+
quantity: number;
|
|
1119
1190
|
variant_id?: string;
|
|
1120
|
-
|
|
1121
|
-
variant_name?: string;
|
|
1122
|
-
variant_info?: VariantDetailsDTO;
|
|
1123
|
-
base_price: Money;
|
|
1124
|
-
add_ons_price: Money;
|
|
1125
|
-
total_price: Money;
|
|
1126
|
-
item_discount_amount: Money;
|
|
1127
|
-
price_info: ChosenPrice;
|
|
1128
|
-
add_on_option_ids: string[];
|
|
1129
|
-
add_on_ids: string[];
|
|
1130
|
-
add_on_details: AddOnDetails;
|
|
1131
|
-
add_on_options: AddOnOptionDetails[];
|
|
1132
|
-
add_ons: AddOnGroupDetails[];
|
|
1133
|
-
special_instructions?: string;
|
|
1191
|
+
add_on_option_id?: string;
|
|
1134
1192
|
scheduled_start?: string;
|
|
1135
1193
|
scheduled_end?: string;
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1194
|
+
}
|
|
1195
|
+
interface CompositePriceResult {
|
|
1196
|
+
base_price: Money;
|
|
1197
|
+
components_total: Money;
|
|
1198
|
+
tier_applied?: string;
|
|
1199
|
+
final_price: Money;
|
|
1200
|
+
breakdown: ComponentPriceBreakdown[];
|
|
1201
|
+
}
|
|
1202
|
+
interface ComponentPriceBreakdown {
|
|
1203
|
+
component_id: string;
|
|
1204
|
+
component_name: string;
|
|
1205
|
+
quantity: number;
|
|
1206
|
+
unit_price: Money;
|
|
1207
|
+
total_price: Money;
|
|
1208
|
+
group_id: string;
|
|
1209
|
+
source_type: ComponentSourceType;
|
|
1210
|
+
source_product_id?: string;
|
|
1211
|
+
source_stock_id?: string;
|
|
1212
|
+
}
|
|
1213
|
+
type PriceEntryType = "base" | "location" | "time" | "channel";
|
|
1214
|
+
interface Price {
|
|
1215
|
+
id: string;
|
|
1216
|
+
product_id: string;
|
|
1217
|
+
location_id: string;
|
|
1218
|
+
business_id: string;
|
|
1219
|
+
price: Money;
|
|
1220
|
+
entry_type: PriceEntryType;
|
|
1146
1221
|
created_at: string;
|
|
1147
1222
|
updated_at: string;
|
|
1148
1223
|
metadata?: Record<string, unknown>;
|
|
1149
1224
|
}
|
|
1150
|
-
|
|
1225
|
+
type LocationProductPrice = Price;
|
|
1226
|
+
interface ProductAvailability {
|
|
1151
1227
|
id: string;
|
|
1152
1228
|
business_id: string;
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1229
|
+
location_id: string;
|
|
1230
|
+
product_id: string;
|
|
1231
|
+
is_available: boolean;
|
|
1232
|
+
is_in_stock: boolean;
|
|
1156
1233
|
created_at: string;
|
|
1157
1234
|
updated_at: string;
|
|
1158
|
-
expires_at: string;
|
|
1159
|
-
status: string;
|
|
1160
|
-
source: string;
|
|
1161
|
-
channel: string;
|
|
1162
|
-
business_details?: UICartBusiness;
|
|
1163
|
-
location_details?: UICartLocation;
|
|
1164
|
-
customer_info: UICartCustomer;
|
|
1165
|
-
items: CartItemDetails[];
|
|
1166
|
-
pricing: UICartPricing;
|
|
1167
1235
|
metadata?: Record<string, unknown>;
|
|
1168
1236
|
}
|
|
1169
|
-
interface
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1237
|
+
interface ProductTimeProfile {
|
|
1238
|
+
id: string;
|
|
1239
|
+
business_id: string;
|
|
1240
|
+
product_id: string;
|
|
1241
|
+
day_of_week: number;
|
|
1242
|
+
start_time: string;
|
|
1243
|
+
end_time: string;
|
|
1244
|
+
created_at: string;
|
|
1245
|
+
updated_at: string;
|
|
1246
|
+
metadata?: Record<string, unknown>;
|
|
1173
1247
|
}
|
|
1174
|
-
interface
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
scheduled_end?: string;
|
|
1185
|
-
staff_id?: string;
|
|
1248
|
+
interface ProductTaxonomy {
|
|
1249
|
+
id: string;
|
|
1250
|
+
code: string;
|
|
1251
|
+
name: string;
|
|
1252
|
+
description?: string;
|
|
1253
|
+
parent_id?: string;
|
|
1254
|
+
level: number;
|
|
1255
|
+
is_active: boolean;
|
|
1256
|
+
created_at: string;
|
|
1257
|
+
updated_at: string;
|
|
1186
1258
|
}
|
|
1187
|
-
interface
|
|
1188
|
-
|
|
1189
|
-
variant_id?: string;
|
|
1190
|
-
add_on_options?: string[];
|
|
1191
|
-
notes?: string;
|
|
1192
|
-
bundle_selections?: BundleSelectionInput[];
|
|
1193
|
-
composite_selections?: ComponentSelectionInput[];
|
|
1194
|
-
scheduled_start?: string;
|
|
1195
|
-
scheduled_end?: string;
|
|
1196
|
-
staff_id?: string;
|
|
1259
|
+
interface TaxonomyWithChildren extends ProductTaxonomy {
|
|
1260
|
+
children: ProductTaxonomy[];
|
|
1197
1261
|
}
|
|
1198
|
-
interface
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1262
|
+
interface ProductAvailabilityNow {
|
|
1263
|
+
is_available: boolean;
|
|
1264
|
+
schedules_today: ProductTimeProfile[];
|
|
1265
|
+
}
|
|
1266
|
+
type DealBenefitType = "percentage" | "fixed" | "free_item" | "buy_x_get_y_free" | "points";
|
|
1267
|
+
interface Deal {
|
|
1268
|
+
id: string;
|
|
1269
|
+
description: string;
|
|
1270
|
+
benefit_type: DealBenefitType;
|
|
1271
|
+
value: Money;
|
|
1272
|
+
min_order_value?: Money;
|
|
1273
|
+
buy_quantity?: number;
|
|
1274
|
+
get_quantity?: number;
|
|
1275
|
+
stackable: boolean;
|
|
1276
|
+
starts_at: string;
|
|
1277
|
+
ends_at: string;
|
|
1278
|
+
product_ids: string[];
|
|
1279
|
+
category_ids: string[];
|
|
1280
|
+
collection_ids: string[];
|
|
1281
|
+
}
|
|
1282
|
+
interface ProductDealInfo {
|
|
1283
|
+
product_id: string;
|
|
1284
|
+
deal_id: string;
|
|
1285
|
+
deal_name: string;
|
|
1286
|
+
benefit_type: DealBenefitType;
|
|
1287
|
+
value: Money;
|
|
1288
|
+
label: string;
|
|
1289
|
+
}
|
|
1290
|
+
interface DiscountValidation {
|
|
1291
|
+
is_eligible: boolean;
|
|
1292
|
+
discount_amount?: Money;
|
|
1293
|
+
deal?: Deal;
|
|
1294
|
+
ineligibility_reason?: string;
|
|
1295
|
+
}
|
|
1296
|
+
interface Tag {
|
|
1297
|
+
id: string;
|
|
1298
|
+
name: string;
|
|
1299
|
+
slug: string;
|
|
1300
|
+
color?: string;
|
|
1301
|
+
icon?: string;
|
|
1302
|
+
description?: string;
|
|
1303
|
+
tag_group?: string;
|
|
1304
|
+
sort_order: number;
|
|
1305
|
+
usage_count: number;
|
|
1306
|
+
created_at: string;
|
|
1307
|
+
updated_at: string;
|
|
1308
|
+
}
|
|
1309
|
+
interface TagsResponse {
|
|
1310
|
+
items: Tag[];
|
|
1311
|
+
total: number;
|
|
1312
|
+
limit: number;
|
|
1313
|
+
offset: number;
|
|
1206
1314
|
}
|
|
1207
1315
|
|
|
1208
|
-
type PaymentStatus = "initialized" | "pending" | "processing" | "authorized" | "captured" | "failed" | "cancelled" | "refunded" | "unknown" | "voided" | "requires_action" | "abandoned" | "reversed" | "disputed" | "refund_pending"
|
|
1316
|
+
type PaymentStatus = "initialized" | "pending" | "processing" | "authorized" | "captured" | "failed" | "cancelled" | "refunded" | "unknown" | "voided" | "requires_action" | "abandoned" | "reversed" | "disputed" | "refund_pending";
|
|
1209
1317
|
type PaymentProvider = "stripe" | "paystack" | "cellulant" | "mtnmomo" | "offline" | "mtn" | "vodafone" | "airtel" | "cash" | "manual";
|
|
1210
1318
|
type PaymentMethodType = "card" | "bank_transfer" | "cash" | {
|
|
1211
1319
|
mobile_money: {
|
|
@@ -1315,4 +1423,4 @@ interface SubmitAuthorizationInput {
|
|
|
1315
1423
|
value: string;
|
|
1316
1424
|
}
|
|
1317
1425
|
|
|
1318
|
-
export { type
|
|
1426
|
+
export { type VariantAxisSelection as $, type ApiError as A, type PropertySource as B, type ChosenPrice as C, type DisplayMode as D, ErrorCode as E, type ProductProperty as F, type PropertyFacet as G, type FacetValue as H, type InventoryType as I, type Product as J, type KnowledgeArticle as K, type ProductWithDetails as L, type Money as M, type VariantView as N, type ProductVariant as O, type PaginationParams as P, type VariantDisplayAttribute as Q, type RelatedProductView as R, type SalesChannel as S, type TaxonomyAttributeTemplate as T, type VariantAxis as U, type VariantStrategy as V, type VariantAxisWithValues as W, type VariantAxisValue as X, type ProductVariantValue as Y, ZERO as Z, type VariantLocationAvailability as _, type CurrencyCode as a, type VariantDetails as a$, type AddOn as a0, type AddOnWithOptions as a1, type AddOnOption as a2, type AddOnOptionPrice as a3, type ProductAddOn as a4, type Category as a5, type CategorySummary as a6, type Collection as a7, type CollectionSummary as a8, type CollectionProduct as a9, type LocationProductPrice as aA, type ProductAvailability as aB, type ProductTimeProfile as aC, type ProductTaxonomy as aD, type TaxonomyWithChildren as aE, type ProductAvailabilityNow as aF, type DealBenefitType as aG, type Deal as aH, type ProductDealInfo as aI, type DiscountValidation as aJ, type Tag as aK, type TagsResponse as aL, type CartStatus as aM, type CartChannel as aN, type PriceSource as aO, type AdjustmentType as aP, type PriceAdjustment as aQ, type TaxPathComponent as aR, type PricePathTaxInfo as aS, type PriceDecisionPath as aT, type BenefitType as aU, type AppliedDiscount as aV, type DiscountBreakdown as aW, type DiscountDetails as aX, type SelectedAddOnOption as aY, type AddOnDetails as aZ, type CartAddOn as a_, type BundlePriceType as aa, type Bundle as ab, type BundleSummary as ac, type BundleProduct as ad, type BundleWithDetails as ae, type BundleComponentData as af, type BundleComponentInfo as ag, type BundleComponentView as ah, type BundleComponentVariantView as ai, type VariantAxisView as aj, type VariantAxisValueView as ak, type CompositePricingMode as al, type GroupPricingBehavior as am, type ComponentSourceType as an, type Composite as ao, type CompositeWithDetails as ap, type ComponentGroup as aq, type ComponentGroupWithComponents as ar, type CompositeGroupView as as, type CompositeComponentView as at, type CompositeComponent as au, type ComponentSelectionInput as av, type CompositePriceResult as aw, type ComponentPriceBreakdown as ax, type PriceEntryType as ay, type Price as az, moneyFromNumber as b, type BundleSelectionInput as b0, type ComponentSchedulingData as b1, type BundleStoredSelection as b2, type BundleSelectionData as b3, type CompositeStoredSelection as b4, type CompositePriceBreakdown as b5, type CompositeSelectionData as b6, type LineConfiguration as b7, type Cart as b8, type CartItem as b9, type InitializePaymentResult as bA, type PaymentResponse as bB, type PaymentStatusResponse as bC, type PaymentErrorDetails as bD, type SubmitAuthorizationInput as bE, type BillingFrequency as bF, type BillingPlanType as bG, type BillingMarkupType as bH, type ProductBillingPlan as bI, type EligiblePlansQuery as bJ, type FormattedPlanOption as bK, type CartTotals as ba, type DisplayCart as bb, type DisplayCartItem as bc, type DisplayAddOn as bd, type DisplayAddOnOption as be, type UICartBusiness as bf, type UICartLocation as bg, type UICartCustomer as bh, type UICartPricing as bi, type AddOnOptionDetails as bj, type AddOnGroupDetails as bk, type VariantDetailsDTO as bl, type CartItemDetails as bm, type UICart as bn, type UICartResponse as bo, type AddToCartInput as bp, type UpdateCartItemInput as bq, type CartSummary as br, type PaymentStatus as bs, type PaymentProvider as bt, type PaymentMethodType as bu, type AddressAuthorizationData as bv, type AuthorizationType as bw, type PaymentProcessingState as bx, type PaymentMethod as by, type Payment as bz, currencyCode as c, type Pagination as d, type ErrorCodeType as e, type ErrorHint as f, ERROR_HINTS as g, CimplifyError as h, isSupportedCurrency as i, isCimplifyError as j, getErrorHint as k, enrichError as l, money as m, isRetryableError as n, type ProductType as o, type ProductRenderHint as p, type DigitalProductType as q, type DepositType as r, type DurationUnit as s, type AttributeType as t, type AttributeAppliesTo as u, type AttributeVisibility as v, type MeasurementValue as w, type AttributeValidationRules as x, type CustomAttributeDefinition as y, type CustomAttributeValue as z };
|