sinfactura-types 1.10.656 → 1.10.657
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/cart.d.ts +5 -1
- package/dist/cjs/serviceOrder.js +26 -0
- package/dist/order.d.ts +4 -1
- package/dist/serviceOrder.d.ts +15 -1
- package/dist/serviceOrder.js +26 -0
- package/package.json +1 -1
package/dist/cart.d.ts
CHANGED
|
@@ -724,7 +724,11 @@ declare global {
|
|
|
724
724
|
* cart, already rewritten without the promotion, in `data.basket`. "Every
|
|
725
725
|
* checkout" is three surfaces: the storefront checkout, the till's
|
|
726
726
|
* `POST /orders` converting a stored ticket, and a service-order delivery
|
|
727
|
-
* that folds the customer's basket in.
|
|
727
|
+
* that folds the customer's basket in. All three return the rewritten cart
|
|
728
|
+
* in `data.basket`; the storefront's is the customer-audience projection
|
|
729
|
+
* (`cost` stripped), the till's and the delivery's keep `cost` like the
|
|
730
|
+
* operator `GET /baskets`. The storefront's `CART_PRICES_CHANGED` carries
|
|
731
|
+
* the full cart in `data.basket` the same way. When that rewrite loses a race to
|
|
728
732
|
* another cart write the surfaces part: the till and the delivery still
|
|
729
733
|
* answer `CART_PROMOTION_UNAVAILABLE`, only without `data.basket`, while the
|
|
730
734
|
* storefront answers the cart writer's own code (`BASKET_VERSION_CONFLICT`
|
package/dist/cjs/serviceOrder.js
CHANGED
|
@@ -192,6 +192,11 @@ exports.MAX_SERVICE_PICTURES = 20;
|
|
|
192
192
|
* handover found goods in the customer's cart. Ask the operator whether they
|
|
193
193
|
* are charged in this delivery and resend with the decision; nothing was
|
|
194
194
|
* written.
|
|
195
|
+
* - `SERVICE_DELIVERY_BASKET_CURRENCY_MISMATCH` · 409 — the basket folded in
|
|
196
|
+
* (`includeBasket: true`, a billable line) is priced in another currency than
|
|
197
|
+
* the ticket (`data.basketCurrency`, `data.serviceCurrency`). Nothing was
|
|
198
|
+
* written and no order number was minted; bill the cart separately or resend
|
|
199
|
+
* with `includeBasket: false`.
|
|
195
200
|
* - `SERVICE_RENOTIFY_*` — `mode: 'renotify'`. `_TOO_SOON` (429) carries
|
|
196
201
|
* `lastNotifiedAt` and `retryAfterMs`; `_IMPERSONATED` (403) means a support
|
|
197
202
|
* session cannot message the customer — the store must resend it itself;
|
|
@@ -242,6 +247,15 @@ exports.MAX_SERVICE_PICTURES = 20;
|
|
|
242
247
|
* minted and the status does not move, but the CART is written: the promotion
|
|
243
248
|
* is taken off the row and `data.basket` is the whole cart as it now stands,
|
|
244
249
|
* absent when that write lost a race. Retry to bill the undiscounted basket.
|
|
250
|
+
* - The same folded basket's COUPON refuses `COUPON_*` · 400 — `_NOT_FOUND`,
|
|
251
|
+
* `_NOT_ACTIVE`, `_EXPIRED`, `_EXHAUSTED`, `_EXHAUSTED_AT_CHECKOUT`,
|
|
252
|
+
* `_MIN_SUBTOTAL`, `_REQUIRES_CUSTOMER`, `_BUDGET_EXHAUSTED`,
|
|
253
|
+
* `_CURRENCY_MISMATCH` (the till's checkout vocabulary, `CouponRefusal`), only
|
|
254
|
+
* when the basket bills a line. Judged at the REDEMPTION instant, the
|
|
255
|
+
* handover's last refusal: after the order number is minted, so a refusal
|
|
256
|
+
* burns one, but no order row is written, the ticket stays `ready` and the
|
|
257
|
+
* cart keeps its coupon. Remove the coupon from the cart (or decline the
|
|
258
|
+
* basket) and retry.
|
|
245
259
|
* - `VALIDATION_FAILED` · 400 — the body or query failed its schema.
|
|
246
260
|
*
|
|
247
261
|
* ⚠️ `ROLE_FORBIDDEN` here is the router's own role check (a print agent, or a
|
|
@@ -316,6 +330,7 @@ exports.SERVICE_ORDER_ERROR_CODES = [
|
|
|
316
330
|
'CATEGORY_DISABLE_IN_PROGRESS',
|
|
317
331
|
'SERVICE_BILLING_PRODUCT_IN_BASKET',
|
|
318
332
|
'SERVICE_DELIVERY_BASKET_DECISION_REQUIRED',
|
|
333
|
+
'SERVICE_DELIVERY_BASKET_CURRENCY_MISMATCH',
|
|
319
334
|
'PRODUCT_NOT_AVAILABLE',
|
|
320
335
|
// The per-sale cap on the basket's sale lines (`ProductSaleLimitRefusal`).
|
|
321
336
|
'PRODUCT_SALE_LIMIT_EXCEEDED',
|
|
@@ -363,4 +378,15 @@ exports.SERVICE_ORDER_ERROR_CODES = [
|
|
|
363
378
|
// Delivery folding in a basket whose promotion ended, was paused or deleted;
|
|
364
379
|
// the specific `PromotionRefusal` rides `data.reason`.
|
|
365
380
|
'CART_PROMOTION_UNAVAILABLE',
|
|
381
|
+
// The same folded basket's coupon, redeemed after the ORD mint
|
|
382
|
+
// (`redeemCartCoupon`). Not `COUPON_RATE_LIMITED`: that is apply-time only.
|
|
383
|
+
'COUPON_NOT_FOUND',
|
|
384
|
+
'COUPON_NOT_ACTIVE',
|
|
385
|
+
'COUPON_EXPIRED',
|
|
386
|
+
'COUPON_EXHAUSTED',
|
|
387
|
+
'COUPON_EXHAUSTED_AT_CHECKOUT',
|
|
388
|
+
'COUPON_MIN_SUBTOTAL',
|
|
389
|
+
'COUPON_REQUIRES_CUSTOMER',
|
|
390
|
+
'COUPON_BUDGET_EXHAUSTED',
|
|
391
|
+
'COUPON_CURRENCY_MISMATCH',
|
|
366
392
|
];
|
package/dist/order.d.ts
CHANGED
|
@@ -18,7 +18,10 @@ declare global {
|
|
|
18
18
|
value: number;
|
|
19
19
|
/**
|
|
20
20
|
* The MONEY this coupon took off this order, in the order's currency,
|
|
21
|
-
* after every clamp
|
|
21
|
+
* after every clamp: `maxDiscountAmount`, the cart's gross, and a
|
|
22
|
+
* promotion on the same cart — the promotion takes precedence and this
|
|
23
|
+
* share absorbs the overflow (`couponShareOf`). A coupon that would take
|
|
24
|
+
* nothing after that clamp is not redeemed and not recorded at all.
|
|
22
25
|
*/
|
|
23
26
|
amount: number;
|
|
24
27
|
/** ms epoch the redemption was consumed — checkout, never apply. */
|
package/dist/serviceOrder.d.ts
CHANGED
|
@@ -1306,6 +1306,11 @@ export declare const MAX_SERVICE_PICTURES = 20;
|
|
|
1306
1306
|
* handover found goods in the customer's cart. Ask the operator whether they
|
|
1307
1307
|
* are charged in this delivery and resend with the decision; nothing was
|
|
1308
1308
|
* written.
|
|
1309
|
+
* - `SERVICE_DELIVERY_BASKET_CURRENCY_MISMATCH` · 409 — the basket folded in
|
|
1310
|
+
* (`includeBasket: true`, a billable line) is priced in another currency than
|
|
1311
|
+
* the ticket (`data.basketCurrency`, `data.serviceCurrency`). Nothing was
|
|
1312
|
+
* written and no order number was minted; bill the cart separately or resend
|
|
1313
|
+
* with `includeBasket: false`.
|
|
1309
1314
|
* - `SERVICE_RENOTIFY_*` — `mode: 'renotify'`. `_TOO_SOON` (429) carries
|
|
1310
1315
|
* `lastNotifiedAt` and `retryAfterMs`; `_IMPERSONATED` (403) means a support
|
|
1311
1316
|
* session cannot message the customer — the store must resend it itself;
|
|
@@ -1356,6 +1361,15 @@ export declare const MAX_SERVICE_PICTURES = 20;
|
|
|
1356
1361
|
* minted and the status does not move, but the CART is written: the promotion
|
|
1357
1362
|
* is taken off the row and `data.basket` is the whole cart as it now stands,
|
|
1358
1363
|
* absent when that write lost a race. Retry to bill the undiscounted basket.
|
|
1364
|
+
* - The same folded basket's COUPON refuses `COUPON_*` · 400 — `_NOT_FOUND`,
|
|
1365
|
+
* `_NOT_ACTIVE`, `_EXPIRED`, `_EXHAUSTED`, `_EXHAUSTED_AT_CHECKOUT`,
|
|
1366
|
+
* `_MIN_SUBTOTAL`, `_REQUIRES_CUSTOMER`, `_BUDGET_EXHAUSTED`,
|
|
1367
|
+
* `_CURRENCY_MISMATCH` (the till's checkout vocabulary, `CouponRefusal`), only
|
|
1368
|
+
* when the basket bills a line. Judged at the REDEMPTION instant, the
|
|
1369
|
+
* handover's last refusal: after the order number is minted, so a refusal
|
|
1370
|
+
* burns one, but no order row is written, the ticket stays `ready` and the
|
|
1371
|
+
* cart keeps its coupon. Remove the coupon from the cart (or decline the
|
|
1372
|
+
* basket) and retry.
|
|
1359
1373
|
* - `VALIDATION_FAILED` · 400 — the body or query failed its schema.
|
|
1360
1374
|
*
|
|
1361
1375
|
* ⚠️ `ROLE_FORBIDDEN` here is the router's own role check (a print agent, or a
|
|
@@ -1363,6 +1377,6 @@ export declare const MAX_SERVICE_PICTURES = 20;
|
|
|
1363
1377
|
* check `GATING_ERROR_CODES` in addition. The deposit's opt-in idempotency
|
|
1364
1378
|
* refusals are included here.
|
|
1365
1379
|
*/
|
|
1366
|
-
export declare const SERVICE_ORDER_ERROR_CODES: readonly ["UNIT_QUANTITY_NOT_WHOLE", "UNIT_REVISION_STALE", "ROLE_FORBIDDEN", "PARENT_FILTER_CONFLICT", "VALIDATION_FAILED", "INVALID_CURSOR", "INVALID_FROM_DATE", "INVALID_TO_DATE", "INVALID_DATE_RANGE", "REWORK_INDEX_UNAVAILABLE", "STORE_NOT_FOUND", "SERVICE_ORDER_NOT_FOUND", "CUSTOMER_NOT_FOUND", "PARENT_SERVICE_ORDER_NOT_FOUND", "SERVICE_TEMPLATE_NOT_FOUND", "SERVICE_TYPE_REQUIRED", "INVALID_IMAGE_REFERENCE", "MISSING_STORE_CONTEXT", "WARRANTY_BELOW_LEGAL_MINIMUM", "TECHNICIAN_NOT_FOUND", "TECHNICIAN_NOT_ELIGIBLE", "CUSTODY_ILLEGAL_TRANSITION", "SERVICE_ORDER_BILLABLE_FROZEN", "SERVICE_ORDER_EDIT_CHANGED", "SERVICE_ORDER_DISABLED_STATE_UNCHANGED", "APPOINTMENT_NOT_FOUND", "APPOINTMENT_NOT_LINKABLE", "APPOINTMENT_NOT_OPEN", "APPOINTMENT_CUSTOMER_MISMATCH", "APPOINTMENT_VERSION_CONFLICT", "SERVICE_ORDER_TERMINAL", "SERVICE_ORDER_DISABLED", "SERVICE_ORDER_ILLEGAL_TRANSITION", "SERVICE_ORDER_STATUS_CHANGED", "SERVICE_ORDER_OUTCOME_REQUIRED", "SERVICE_ORDER_OUTCOME_NOT_ALLOWED", "SERVICE_ORDER_CUSTODY_NOT_RECEIVED", "SERVICE_ORDER_BILLABLE_NOT_AT_THIS_TRANSITION", "PAYMENT_METHODS_NOT_CONFIGURED", "PAYMENT_METHOD_NOT_FOUND", "SERVICE_ORDER_DEPOSIT_CHANGED", "INVALID_IDEMPOTENCY_KEY", "IDEMPOTENCY_KEY_REUSE", "IDEMPOTENCY_IN_PROGRESS", "IDEMPOTENCY_KEY_FAILED", "IDEMPOTENCY_LOCK_CONTENTION", "SERVICE_DEPOSIT_CURRENCY_MISMATCH", "SERVICE_DEPOSIT_INVALID", "INVALID_AMOUNT", "DEFAULT_DRAWER_UNAVAILABLE", "CURRENCY_MISMATCH", "SHIFT_NOT_OPEN", "SERVICE_BILLING_PRODUCTS_UNAVAILABLE", "CATEGORY_NOT_FOUND", "CATEGORY_DISABLED", "CATEGORY_DISABLE_IN_PROGRESS", "SERVICE_BILLING_PRODUCT_IN_BASKET", "SERVICE_DELIVERY_BASKET_DECISION_REQUIRED", "PRODUCT_NOT_AVAILABLE", "PRODUCT_SALE_LIMIT_EXCEEDED", "PRODUCT_SALE_LIMIT_INVALID", "FX_CONVERSION_UNAVAILABLE", "TRANSACT_ITEMS_LIMIT_EXCEEDED", "SERVICE_PARTS_RESTORE_EXCEEDS_CONSUMED", "SERVICE_PARTS_RESTORE_EXCEEDS_AMOUNT", "SERVICE_PARTS_STOCK_INSUFFICIENT", "SERVICE_PARTS_PRODUCT_NOT_FOUND", "SERVICE_PARTS_LEDGER_FULL", "SERVICE_PARTS_TOO_MANY", "SERVICE_ORDER_PARTS_CHANGED", "SERVICE_QUOTE_NOT_FOUND", "SERVICE_QUOTE_NOT_OFFERABLE", "SERVICE_QUOTE_HOLDS_TOO_MANY", "SERVICE_QUOTE_SUPERSEDED", "SERVICE_QUOTE_ALREADY_RESOLVED", "SERVICE_QUOTE_LAPSED", "SERVICE_QUOTE_CHANNEL_RESERVED", "SERVICE_QUOTE_CHANNEL_NOT_APPLICABLE", "SERVICE_QUOTE_REASON_NOT_APPLICABLE", "SERVICE_ORDER_QUOTE_CHANGED", "SERVICE_ORDER_NOT_READY", "SERVICE_RENOTIFY_IMPERSONATED", "SERVICE_RENOTIFY_TOO_SOON", "SERVICE_RENOTIFY_CONFLICT", "SERVICE_RENOTIFY_NOT_RECORDED", "SERVICE_RENOTIFY_LEDGER_UNREADABLE", "SERVICE_RENOTIFY_NOT_DISPATCHED", "SERVICE_TIMER_ALREADY_RUNNING", "SERVICE_TIMER_NOT_RUNNING", "SERVICE_TIMER_STOP_CONFLICT", "TECHNICIAN_NOT_CLOCKED_IN", "SERVICE_ORDER_GONE", "SERVICE_WORKLOG_NOT_FOUND", "SERVICE_WORKLOG_NOT_REVERSIBLE", "SERVICE_WORKLOG_ALREADY_REVERSED", "SERVICE_ORDER_WORKLOG_CHANGED", "CART_PROMOTION_UNAVAILABLE"];
|
|
1380
|
+
export declare const SERVICE_ORDER_ERROR_CODES: readonly ["UNIT_QUANTITY_NOT_WHOLE", "UNIT_REVISION_STALE", "ROLE_FORBIDDEN", "PARENT_FILTER_CONFLICT", "VALIDATION_FAILED", "INVALID_CURSOR", "INVALID_FROM_DATE", "INVALID_TO_DATE", "INVALID_DATE_RANGE", "REWORK_INDEX_UNAVAILABLE", "STORE_NOT_FOUND", "SERVICE_ORDER_NOT_FOUND", "CUSTOMER_NOT_FOUND", "PARENT_SERVICE_ORDER_NOT_FOUND", "SERVICE_TEMPLATE_NOT_FOUND", "SERVICE_TYPE_REQUIRED", "INVALID_IMAGE_REFERENCE", "MISSING_STORE_CONTEXT", "WARRANTY_BELOW_LEGAL_MINIMUM", "TECHNICIAN_NOT_FOUND", "TECHNICIAN_NOT_ELIGIBLE", "CUSTODY_ILLEGAL_TRANSITION", "SERVICE_ORDER_BILLABLE_FROZEN", "SERVICE_ORDER_EDIT_CHANGED", "SERVICE_ORDER_DISABLED_STATE_UNCHANGED", "APPOINTMENT_NOT_FOUND", "APPOINTMENT_NOT_LINKABLE", "APPOINTMENT_NOT_OPEN", "APPOINTMENT_CUSTOMER_MISMATCH", "APPOINTMENT_VERSION_CONFLICT", "SERVICE_ORDER_TERMINAL", "SERVICE_ORDER_DISABLED", "SERVICE_ORDER_ILLEGAL_TRANSITION", "SERVICE_ORDER_STATUS_CHANGED", "SERVICE_ORDER_OUTCOME_REQUIRED", "SERVICE_ORDER_OUTCOME_NOT_ALLOWED", "SERVICE_ORDER_CUSTODY_NOT_RECEIVED", "SERVICE_ORDER_BILLABLE_NOT_AT_THIS_TRANSITION", "PAYMENT_METHODS_NOT_CONFIGURED", "PAYMENT_METHOD_NOT_FOUND", "SERVICE_ORDER_DEPOSIT_CHANGED", "INVALID_IDEMPOTENCY_KEY", "IDEMPOTENCY_KEY_REUSE", "IDEMPOTENCY_IN_PROGRESS", "IDEMPOTENCY_KEY_FAILED", "IDEMPOTENCY_LOCK_CONTENTION", "SERVICE_DEPOSIT_CURRENCY_MISMATCH", "SERVICE_DEPOSIT_INVALID", "INVALID_AMOUNT", "DEFAULT_DRAWER_UNAVAILABLE", "CURRENCY_MISMATCH", "SHIFT_NOT_OPEN", "SERVICE_BILLING_PRODUCTS_UNAVAILABLE", "CATEGORY_NOT_FOUND", "CATEGORY_DISABLED", "CATEGORY_DISABLE_IN_PROGRESS", "SERVICE_BILLING_PRODUCT_IN_BASKET", "SERVICE_DELIVERY_BASKET_DECISION_REQUIRED", "SERVICE_DELIVERY_BASKET_CURRENCY_MISMATCH", "PRODUCT_NOT_AVAILABLE", "PRODUCT_SALE_LIMIT_EXCEEDED", "PRODUCT_SALE_LIMIT_INVALID", "FX_CONVERSION_UNAVAILABLE", "TRANSACT_ITEMS_LIMIT_EXCEEDED", "SERVICE_PARTS_RESTORE_EXCEEDS_CONSUMED", "SERVICE_PARTS_RESTORE_EXCEEDS_AMOUNT", "SERVICE_PARTS_STOCK_INSUFFICIENT", "SERVICE_PARTS_PRODUCT_NOT_FOUND", "SERVICE_PARTS_LEDGER_FULL", "SERVICE_PARTS_TOO_MANY", "SERVICE_ORDER_PARTS_CHANGED", "SERVICE_QUOTE_NOT_FOUND", "SERVICE_QUOTE_NOT_OFFERABLE", "SERVICE_QUOTE_HOLDS_TOO_MANY", "SERVICE_QUOTE_SUPERSEDED", "SERVICE_QUOTE_ALREADY_RESOLVED", "SERVICE_QUOTE_LAPSED", "SERVICE_QUOTE_CHANNEL_RESERVED", "SERVICE_QUOTE_CHANNEL_NOT_APPLICABLE", "SERVICE_QUOTE_REASON_NOT_APPLICABLE", "SERVICE_ORDER_QUOTE_CHANGED", "SERVICE_ORDER_NOT_READY", "SERVICE_RENOTIFY_IMPERSONATED", "SERVICE_RENOTIFY_TOO_SOON", "SERVICE_RENOTIFY_CONFLICT", "SERVICE_RENOTIFY_NOT_RECORDED", "SERVICE_RENOTIFY_LEDGER_UNREADABLE", "SERVICE_RENOTIFY_NOT_DISPATCHED", "SERVICE_TIMER_ALREADY_RUNNING", "SERVICE_TIMER_NOT_RUNNING", "SERVICE_TIMER_STOP_CONFLICT", "TECHNICIAN_NOT_CLOCKED_IN", "SERVICE_ORDER_GONE", "SERVICE_WORKLOG_NOT_FOUND", "SERVICE_WORKLOG_NOT_REVERSIBLE", "SERVICE_WORKLOG_ALREADY_REVERSED", "SERVICE_ORDER_WORKLOG_CHANGED", "CART_PROMOTION_UNAVAILABLE", "COUPON_NOT_FOUND", "COUPON_NOT_ACTIVE", "COUPON_EXPIRED", "COUPON_EXHAUSTED", "COUPON_EXHAUSTED_AT_CHECKOUT", "COUPON_MIN_SUBTOTAL", "COUPON_REQUIRES_CUSTOMER", "COUPON_BUDGET_EXHAUSTED", "COUPON_CURRENCY_MISMATCH"];
|
|
1367
1381
|
export type ServiceOrderErrorCode = (typeof SERVICE_ORDER_ERROR_CODES)[number];
|
|
1368
1382
|
export {};
|
package/dist/serviceOrder.js
CHANGED
|
@@ -189,6 +189,11 @@ export const MAX_SERVICE_PICTURES = 20;
|
|
|
189
189
|
* handover found goods in the customer's cart. Ask the operator whether they
|
|
190
190
|
* are charged in this delivery and resend with the decision; nothing was
|
|
191
191
|
* written.
|
|
192
|
+
* - `SERVICE_DELIVERY_BASKET_CURRENCY_MISMATCH` · 409 — the basket folded in
|
|
193
|
+
* (`includeBasket: true`, a billable line) is priced in another currency than
|
|
194
|
+
* the ticket (`data.basketCurrency`, `data.serviceCurrency`). Nothing was
|
|
195
|
+
* written and no order number was minted; bill the cart separately or resend
|
|
196
|
+
* with `includeBasket: false`.
|
|
192
197
|
* - `SERVICE_RENOTIFY_*` — `mode: 'renotify'`. `_TOO_SOON` (429) carries
|
|
193
198
|
* `lastNotifiedAt` and `retryAfterMs`; `_IMPERSONATED` (403) means a support
|
|
194
199
|
* session cannot message the customer — the store must resend it itself;
|
|
@@ -239,6 +244,15 @@ export const MAX_SERVICE_PICTURES = 20;
|
|
|
239
244
|
* minted and the status does not move, but the CART is written: the promotion
|
|
240
245
|
* is taken off the row and `data.basket` is the whole cart as it now stands,
|
|
241
246
|
* absent when that write lost a race. Retry to bill the undiscounted basket.
|
|
247
|
+
* - The same folded basket's COUPON refuses `COUPON_*` · 400 — `_NOT_FOUND`,
|
|
248
|
+
* `_NOT_ACTIVE`, `_EXPIRED`, `_EXHAUSTED`, `_EXHAUSTED_AT_CHECKOUT`,
|
|
249
|
+
* `_MIN_SUBTOTAL`, `_REQUIRES_CUSTOMER`, `_BUDGET_EXHAUSTED`,
|
|
250
|
+
* `_CURRENCY_MISMATCH` (the till's checkout vocabulary, `CouponRefusal`), only
|
|
251
|
+
* when the basket bills a line. Judged at the REDEMPTION instant, the
|
|
252
|
+
* handover's last refusal: after the order number is minted, so a refusal
|
|
253
|
+
* burns one, but no order row is written, the ticket stays `ready` and the
|
|
254
|
+
* cart keeps its coupon. Remove the coupon from the cart (or decline the
|
|
255
|
+
* basket) and retry.
|
|
242
256
|
* - `VALIDATION_FAILED` · 400 — the body or query failed its schema.
|
|
243
257
|
*
|
|
244
258
|
* ⚠️ `ROLE_FORBIDDEN` here is the router's own role check (a print agent, or a
|
|
@@ -313,6 +327,7 @@ export const SERVICE_ORDER_ERROR_CODES = [
|
|
|
313
327
|
'CATEGORY_DISABLE_IN_PROGRESS',
|
|
314
328
|
'SERVICE_BILLING_PRODUCT_IN_BASKET',
|
|
315
329
|
'SERVICE_DELIVERY_BASKET_DECISION_REQUIRED',
|
|
330
|
+
'SERVICE_DELIVERY_BASKET_CURRENCY_MISMATCH',
|
|
316
331
|
'PRODUCT_NOT_AVAILABLE',
|
|
317
332
|
// The per-sale cap on the basket's sale lines (`ProductSaleLimitRefusal`).
|
|
318
333
|
'PRODUCT_SALE_LIMIT_EXCEEDED',
|
|
@@ -360,4 +375,15 @@ export const SERVICE_ORDER_ERROR_CODES = [
|
|
|
360
375
|
// Delivery folding in a basket whose promotion ended, was paused or deleted;
|
|
361
376
|
// the specific `PromotionRefusal` rides `data.reason`.
|
|
362
377
|
'CART_PROMOTION_UNAVAILABLE',
|
|
378
|
+
// The same folded basket's coupon, redeemed after the ORD mint
|
|
379
|
+
// (`redeemCartCoupon`). Not `COUPON_RATE_LIMITED`: that is apply-time only.
|
|
380
|
+
'COUPON_NOT_FOUND',
|
|
381
|
+
'COUPON_NOT_ACTIVE',
|
|
382
|
+
'COUPON_EXPIRED',
|
|
383
|
+
'COUPON_EXHAUSTED',
|
|
384
|
+
'COUPON_EXHAUSTED_AT_CHECKOUT',
|
|
385
|
+
'COUPON_MIN_SUBTOTAL',
|
|
386
|
+
'COUPON_REQUIRES_CUSTOMER',
|
|
387
|
+
'COUPON_BUDGET_EXHAUSTED',
|
|
388
|
+
'COUPON_CURRENCY_MISMATCH',
|
|
363
389
|
];
|