platform-types 1.10.862 → 1.10.864

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.
@@ -26,9 +26,32 @@ const storefrontDesignRegistry_ts_1 = require("./storefrontDesignRegistry.js");
26
26
  * parameters.
27
27
  */
28
28
  exports.STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
29
+ 'ACCOUNT_CREDIT_AVAILABLE',
30
+ 'ACCOUNT_CREDIT_NONE',
31
+ 'ADDRESSES_ADD',
32
+ 'ADDRESSES_CUSTOMER_UNAVAILABLE',
33
+ 'ADDRESSES_DEFAULT_BADGE',
34
+ 'ADDRESSES_DEFAULT_SET',
35
+ 'ADDRESSES_DELETE',
36
+ 'ADDRESSES_DELETED',
37
+ 'ADDRESSES_DELETE_CONFIRM_BODY',
38
+ 'ADDRESSES_DELETE_CONFIRM_TITLE',
39
+ 'ADDRESSES_DELETE_DEFAULT_REASON',
40
+ 'ADDRESSES_DIALOG_ADD_TITLE',
41
+ 'ADDRESSES_DIALOG_EDIT_TITLE',
42
+ 'ADDRESSES_EDIT',
43
+ 'ADDRESSES_EMPTY',
44
+ 'ADDRESSES_ERROR',
29
45
  'ADDRESSES_IS_DEFAULT',
46
+ 'ADDRESSES_LABEL_HELPER',
47
+ 'ADDRESSES_LABEL_LABEL',
30
48
  'ADDRESSES_LIMIT_REACHED',
49
+ 'ADDRESSES_LOAD_ERROR',
50
+ 'ADDRESSES_MAKE_DEFAULT',
31
51
  'ADDRESSES_NOT_FOUND',
52
+ 'ADDRESSES_SAVE',
53
+ 'ADDRESSES_SAVED',
54
+ 'ADDRESSES_TITLE',
32
55
  'ADDRESSES_WRITE_CONTENDED',
33
56
  'ALERT_INCLUDED_VAT',
34
57
  'APPOINTMENTS_BOOKED_DESC',
@@ -387,6 +410,10 @@ exports.STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
387
410
  'CHECKOUT_ACCESS_PENDING',
388
411
  'CHECKOUT_ACCESS_REJECTED',
389
412
  'CHECKOUT_ACCOUNT_DISABLED',
413
+ 'CHECKOUT_ADDRESS_MANAGE',
414
+ 'CHECKOUT_ADDRESS_NEW',
415
+ 'CHECKOUT_ADDRESS_PICKER_LABEL',
416
+ 'CHECKOUT_ADDRESS_SAVE',
390
417
  'CHECKOUT_BACK_BUTTON',
391
418
  'CHECKOUT_CART_CHANGED',
392
419
  'CHECKOUT_CART_GONE',
@@ -438,8 +465,6 @@ exports.STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
438
465
  'CHECKOUT_DELIVERY_PHONE_LABEL',
439
466
  'CHECKOUT_DELIVERY_POSTAL_CODE_LABEL',
440
467
  'CHECKOUT_DELIVERY_PROVINCE_LABEL',
441
- 'CHECKOUT_DELIVERY_SAVE_DEFAULT',
442
- 'CHECKOUT_DELIVERY_USE_CUSTOM',
443
468
  'CHECKOUT_DELIVERY_VALIDATION_ADDRESS_MIN',
444
469
  'CHECKOUT_DELIVERY_VALIDATION_CITY_MIN',
445
470
  'CHECKOUT_DELIVERY_VALIDATION_PHONE',
@@ -718,6 +743,7 @@ exports.STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
718
743
  'GLOBALS_PROFILE',
719
744
  'GLOBALS_REGISTER',
720
745
  'GLOBALS_SALE',
746
+ 'GLOBALS_SERVICES',
721
747
  'GLOBALS_SESSIONS',
722
748
  'GUEST_ORDER_PAYMENT_EMAIL_HINT',
723
749
  'GUEST_ORDER_PAYMENT_RETURN_FAILURE',
@@ -899,9 +925,11 @@ exports.STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
899
925
  'LOGIN_HISTORY_TRUNCATED',
900
926
  'LOGIN_HISTORY_WHEN',
901
927
  'MAINTENANCE_ACCOUNT_ERASURE_DISABLED',
928
+ 'MAINTENANCE_ADDRESSES_DISABLED',
902
929
  'MAINTENANCE_ADD_TO_CART_DISABLED',
903
930
  'MAINTENANCE_APPOINTMENTS_DISABLED',
904
931
  'MAINTENANCE_ATTACH_GUEST_ORDERS_DISABLED',
932
+ 'MAINTENANCE_BALANCE_PAYMENT_DISABLED',
905
933
  'MAINTENANCE_BANNER_STORE',
906
934
  'MAINTENANCE_CANCEL_ORDER_DISABLED',
907
935
  'MAINTENANCE_CART_WRITE_DISABLED',
@@ -921,6 +949,9 @@ exports.STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
921
949
  'MAINTENANCE_PROFILE_SAVE_DISABLED',
922
950
  'MAINTENANCE_QUOTE_REQUEST_DISABLED',
923
951
  'MAINTENANCE_REDIRECT_TO_BASKET',
952
+ 'MAINTENANCE_SERVICE_CODE_DISABLED',
953
+ 'MAINTENANCE_SERVICE_DECISION_DISABLED',
954
+ 'MAINTENANCE_SERVICE_RECOVER_DISABLED',
924
955
  'MAINTENANCE_SUPPORT_HINT_EMAIL',
925
956
  'MAINTENANCE_SURVEY_DISABLED',
926
957
  'MAINTENANCE_WHATSAPP_OPT_IN_DISABLED',
@@ -1147,9 +1178,42 @@ exports.STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
1147
1178
  'PAGE_TITLE_PRODUCT',
1148
1179
  'PAGE_TITLE_PROFILE',
1149
1180
  'PAGE_TITLE_SALE',
1181
+ 'PAGE_TITLE_SERVICES',
1150
1182
  'PAGE_TITLE_SESSIONS',
1183
+ 'PAYMENTS_BALANCE_ATTEMPT_CHARGED_BACK',
1184
+ 'PAYMENTS_BALANCE_ATTEMPT_CREATED',
1185
+ 'PAYMENTS_BALANCE_ATTEMPT_ERROR',
1186
+ 'PAYMENTS_BALANCE_ATTEMPT_EXPIRED',
1187
+ 'PAYMENTS_BALANCE_ATTEMPT_LOADING',
1188
+ 'PAYMENTS_BALANCE_ATTEMPT_NOT_FOUND',
1189
+ 'PAYMENTS_BALANCE_ATTEMPT_PENDING',
1190
+ 'PAYMENTS_BALANCE_ATTEMPT_REFUNDED',
1191
+ 'PAYMENTS_BALANCE_ATTEMPT_REJECTED',
1192
+ 'PAYMENTS_BALANCE_ATTEMPT_RESOLUTION',
1151
1193
  'PAYMENTS_BALANCE_LABEL',
1152
1194
  'PAYMENTS_BALANCE_LOADING',
1195
+ 'PAYMENTS_BALANCE_PAY_ACTION',
1196
+ 'PAYMENTS_BALANCE_PAY_CURRENCY_UNSUPPORTED',
1197
+ 'PAYMENTS_BALANCE_PAY_DISABLED',
1198
+ 'PAYMENTS_BALANCE_PAY_EMPTY',
1199
+ 'PAYMENTS_BALANCE_PAY_HINT',
1200
+ 'PAYMENTS_BALANCE_PAY_LIMIT_REASON',
1201
+ 'PAYMENTS_BALANCE_PAY_LOAD_ERROR',
1202
+ 'PAYMENTS_BALANCE_PAY_NOTHING_OWED',
1203
+ 'PAYMENTS_BALANCE_PAY_NOT_PREFIX',
1204
+ 'PAYMENTS_BALANCE_PAY_OFFLINE_REASON',
1205
+ 'PAYMENTS_BALANCE_PAY_ONLY_ORDER',
1206
+ 'PAYMENTS_BALANCE_PAY_ORDER_LATER_REASON',
1207
+ 'PAYMENTS_BALANCE_PAY_ORDER_ONLY_REASON',
1208
+ 'PAYMENTS_BALANCE_PAY_ORDER_REFUSED',
1209
+ 'PAYMENTS_BALANCE_PAY_PROVIDER_UNAVAILABLE',
1210
+ 'PAYMENTS_BALANCE_PAY_REDIRECTING',
1211
+ 'PAYMENTS_BALANCE_PAY_SELECTION_TOTAL',
1212
+ 'PAYMENTS_BALANCE_PAY_SERVER_TOTAL_NOTE',
1213
+ 'PAYMENTS_BALANCE_PAY_STALE',
1214
+ 'PAYMENTS_BALANCE_PAY_START_ERROR',
1215
+ 'PAYMENTS_BALANCE_PAY_TITLE',
1216
+ 'PAYMENTS_BALANCE_PAY_UNAVAILABLE',
1153
1217
  'PAYMENTS_COLUMN_BALANCE',
1154
1218
  'PAYMENTS_COLUMN_CURRENCY',
1155
1219
  'PAYMENTS_COLUMN_DATE',
@@ -1342,16 +1406,8 @@ exports.STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
1342
1406
  'PROFILE_ACCOUNTS_SUBTITLE',
1343
1407
  'PROFILE_ACCOUNTS_UNLINKED_SUCCESS',
1344
1408
  'PROFILE_ACCOUNTS_UNLINK_ERROR',
1345
- 'PROFILE_DELIVERY_ERROR',
1346
- 'PROFILE_DELIVERY_SUCCESS',
1347
- 'PROFILE_DELIVERY_TITLE',
1348
1409
  'PROFILE_DELIVERY_VALIDATION_ADDRESS_REQUIRED',
1349
- 'PROFILE_DELIVERY_VALIDATION_CITY_REQUIRED',
1350
1410
  'PROFILE_DELIVERY_VALIDATION_FULLNAME_MIN',
1351
- 'PROFILE_DELIVERY_VALIDATION_FULLNAME_REQUIRED',
1352
- 'PROFILE_DELIVERY_VALIDATION_PHONE_REQUIRED',
1353
- 'PROFILE_DELIVERY_VALIDATION_POSTAL_CODE_REQUIRED',
1354
- 'PROFILE_DELIVERY_VALIDATION_PROVINCE_REQUIRED',
1355
1411
  'PROFILE_DETAILS_ADDRESS_LABEL',
1356
1412
  'PROFILE_DETAILS_CHANGE_IMAGE_TOOLTIP',
1357
1413
  'PROFILE_DETAILS_CHIP_CLIENT',
@@ -1391,11 +1447,14 @@ exports.STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
1391
1447
  'PROFILE_PHONE_ERR_EMAIL_NOT_VERIFIED',
1392
1448
  'PROFILE_PHONE_ERR_EXPIRED',
1393
1449
  'PROFILE_PHONE_ERR_GENERIC',
1450
+ 'PROFILE_PHONE_ERR_IP_QUOTA',
1394
1451
  'PROFILE_PHONE_ERR_LOCKED',
1395
1452
  'PROFILE_PHONE_ERR_NOT_SENT',
1396
1453
  'PROFILE_PHONE_ERR_PHONE_CHANGED',
1397
1454
  'PROFILE_PHONE_ERR_PHONE_INVALID',
1398
1455
  'PROFILE_PHONE_ERR_QUOTA',
1456
+ 'PROFILE_PHONE_ERR_UNAVAILABLE',
1457
+ 'PROFILE_PHONE_ERR_VALIDATION_UNAVAILABLE',
1399
1458
  'PROFILE_PHONE_RESEND',
1400
1459
  'PROFILE_PHONE_RESEND_IN',
1401
1460
  'PROFILE_PHONE_SENT',
@@ -1464,6 +1523,122 @@ exports.STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
1464
1523
  'SALE_TITLE',
1465
1524
  'SCROLL_TO_TOP_ARIA',
1466
1525
  'SEARCH_MIN_CHARS',
1526
+ 'SERVICES_EMPTY',
1527
+ 'SERVICES_ERR_LOAD',
1528
+ 'SERVICES_PARTIAL',
1529
+ 'SERVICES_SUBTITLE',
1530
+ 'SERVICES_TITLE',
1531
+ 'SERVICE_ORDER_ACCOUNT_DISABLED',
1532
+ 'SERVICE_ORDER_ACCOUNT_TITLE',
1533
+ 'SERVICE_TRACKING_APPROVE',
1534
+ 'SERVICE_TRACKING_APPROVED_DONE',
1535
+ 'SERVICE_TRACKING_APPROVE_CONFIRM',
1536
+ 'SERVICE_TRACKING_CANCEL',
1537
+ 'SERVICE_TRACKING_CODE_CHANGE_VIA',
1538
+ 'SERVICE_TRACKING_CODE_DIALOG_TITLE',
1539
+ 'SERVICE_TRACKING_CODE_INVALID',
1540
+ 'SERVICE_TRACKING_CODE_LABEL',
1541
+ 'SERVICE_TRACKING_CODE_NEW',
1542
+ 'SERVICE_TRACKING_CODE_NO_CONTACT',
1543
+ 'SERVICE_TRACKING_CODE_RESENT',
1544
+ 'SERVICE_TRACKING_CODE_SEND',
1545
+ 'SERVICE_TRACKING_CODE_VIA_TITLE',
1546
+ 'SERVICE_TRACKING_CUSTODY_DISPOSED',
1547
+ 'SERVICE_TRACKING_CUSTODY_IN_SHOP',
1548
+ 'SERVICE_TRACKING_CUSTODY_LABEL',
1549
+ 'SERVICE_TRACKING_CUSTODY_ON_SITE',
1550
+ 'SERVICE_TRACKING_CUSTODY_PENDING_RECEIPT',
1551
+ 'SERVICE_TRACKING_CUSTODY_RETURNED',
1552
+ 'SERVICE_TRACKING_DECISION_TITLE',
1553
+ 'SERVICE_TRACKING_EQUIPMENT_ACCESSORIES',
1554
+ 'SERVICE_TRACKING_EQUIPMENT_BRAND',
1555
+ 'SERVICE_TRACKING_EQUIPMENT_CONDITION',
1556
+ 'SERVICE_TRACKING_EQUIPMENT_MODEL',
1557
+ 'SERVICE_TRACKING_EQUIPMENT_REPORTED',
1558
+ 'SERVICE_TRACKING_EQUIPMENT_SERIAL',
1559
+ 'SERVICE_TRACKING_EQUIPMENT_TITLE',
1560
+ 'SERVICE_TRACKING_EQUIPMENT_TYPE',
1561
+ 'SERVICE_TRACKING_ERROR_ALREADY_RESOLVED',
1562
+ 'SERVICE_TRACKING_ERROR_CODE_SEND',
1563
+ 'SERVICE_TRACKING_ERROR_DISABLED',
1564
+ 'SERVICE_TRACKING_ERROR_GENERIC',
1565
+ 'SERVICE_TRACKING_ERROR_HOLDS_TOO_MANY',
1566
+ 'SERVICE_TRACKING_ERROR_LAPSED',
1567
+ 'SERVICE_TRACKING_ERROR_MAINTENANCE',
1568
+ 'SERVICE_TRACKING_ERROR_ORDER_CLOSED',
1569
+ 'SERVICE_TRACKING_ERROR_ORDER_NOT_FOUND',
1570
+ 'SERVICE_TRACKING_ERROR_QUOTE_CHANGED',
1571
+ 'SERVICE_TRACKING_ERROR_QUOTE_NOT_FOUND',
1572
+ 'SERVICE_TRACKING_ERROR_VERIFICATION_FAILED',
1573
+ 'SERVICE_TRACKING_FAULT_FOUND',
1574
+ 'SERVICE_TRACKING_HOLD_CUSTOMER',
1575
+ 'SERVICE_TRACKING_HOLD_OTHER',
1576
+ 'SERVICE_TRACKING_HOLD_PARTS',
1577
+ 'SERVICE_TRACKING_HOLD_SUPPLIER',
1578
+ 'SERVICE_TRACKING_HOLD_TITLE',
1579
+ 'SERVICE_TRACKING_LOAD_ERROR',
1580
+ 'SERVICE_TRACKING_PAGE_TITLE',
1581
+ 'SERVICE_TRACKING_PART_NUEVO',
1582
+ 'SERVICE_TRACKING_PART_REACONDICIONADO',
1583
+ 'SERVICE_TRACKING_PART_USADO',
1584
+ 'SERVICE_TRACKING_PROMISED_AT',
1585
+ 'SERVICE_TRACKING_QUOTE_DECIDED_AT',
1586
+ 'SERVICE_TRACKING_QUOTE_EXPIRES_AT',
1587
+ 'SERVICE_TRACKING_QUOTE_LABOR',
1588
+ 'SERVICE_TRACKING_QUOTE_PARTS',
1589
+ 'SERVICE_TRACKING_QUOTE_PARTS_LIST',
1590
+ 'SERVICE_TRACKING_QUOTE_PDF',
1591
+ 'SERVICE_TRACKING_QUOTE_PDF_ERROR',
1592
+ 'SERVICE_TRACKING_QUOTE_QUOTED_AT',
1593
+ 'SERVICE_TRACKING_QUOTE_STATUS_APPROVED',
1594
+ 'SERVICE_TRACKING_QUOTE_STATUS_EXPIRED',
1595
+ 'SERVICE_TRACKING_QUOTE_STATUS_REJECTED',
1596
+ 'SERVICE_TRACKING_QUOTE_STATUS_SENT',
1597
+ 'SERVICE_TRACKING_QUOTE_TITLE',
1598
+ 'SERVICE_TRACKING_QUOTE_TOTAL',
1599
+ 'SERVICE_TRACKING_READY_AT',
1600
+ 'SERVICE_TRACKING_RECOVER_AGAIN',
1601
+ 'SERVICE_TRACKING_RECOVER_BODY',
1602
+ 'SERVICE_TRACKING_RECOVER_EMAIL_LABEL',
1603
+ 'SERVICE_TRACKING_RECOVER_ERROR',
1604
+ 'SERVICE_TRACKING_RECOVER_SENT',
1605
+ 'SERVICE_TRACKING_RECOVER_SUBMIT',
1606
+ 'SERVICE_TRACKING_RECOVER_TICKET_INVALID',
1607
+ 'SERVICE_TRACKING_RECOVER_TICKET_LABEL',
1608
+ 'SERVICE_TRACKING_RECOVER_TITLE',
1609
+ 'SERVICE_TRACKING_REJECT',
1610
+ 'SERVICE_TRACKING_REJECTED_DONE',
1611
+ 'SERVICE_TRACKING_REJECT_CONFIRM',
1612
+ 'SERVICE_TRACKING_REJECT_REASON_LABEL',
1613
+ 'SERVICE_TRACKING_REJECT_REASON_NOT_WORTH_IT',
1614
+ 'SERVICE_TRACKING_REJECT_REASON_OTHER',
1615
+ 'SERVICE_TRACKING_REJECT_REASON_PRICE',
1616
+ 'SERVICE_TRACKING_REJECT_REASON_REQUIRED',
1617
+ 'SERVICE_TRACKING_REJECT_REASON_TIMELINE',
1618
+ 'SERVICE_TRACKING_STATUS_ABANDONED_DISPOSED',
1619
+ 'SERVICE_TRACKING_STATUS_APPROVED',
1620
+ 'SERVICE_TRACKING_STATUS_CANCELLED',
1621
+ 'SERVICE_TRACKING_STATUS_DELIVERED',
1622
+ 'SERVICE_TRACKING_STATUS_DIAGNOSING',
1623
+ 'SERVICE_TRACKING_STATUS_IN_PROGRESS',
1624
+ 'SERVICE_TRACKING_STATUS_LABEL',
1625
+ 'SERVICE_TRACKING_STATUS_QUOTED',
1626
+ 'SERVICE_TRACKING_STATUS_READY',
1627
+ 'SERVICE_TRACKING_STATUS_RECEIVED',
1628
+ 'SERVICE_TRACKING_STATUS_RETURNED_UNREPAIRED',
1629
+ 'SERVICE_TRACKING_STORE_ADDRESS',
1630
+ 'SERVICE_TRACKING_STORE_CONTACT',
1631
+ 'SERVICE_TRACKING_STORE_EMAIL',
1632
+ 'SERVICE_TRACKING_STORE_PHONE',
1633
+ 'SERVICE_TRACKING_STORE_WHATSAPP',
1634
+ 'SERVICE_TRACKING_TIMELINE_TITLE',
1635
+ 'SERVICE_TRACKING_TITLE',
1636
+ 'SERVICE_TRACKING_TYPE_DIAGNOSIS',
1637
+ 'SERVICE_TRACKING_TYPE_INSTALLATION',
1638
+ 'SERVICE_TRACKING_TYPE_LABEL',
1639
+ 'SERVICE_TRACKING_TYPE_MAINTENANCE',
1640
+ 'SERVICE_TRACKING_TYPE_REPAIR',
1641
+ 'SERVICE_TRACKING_WARRANTY',
1467
1642
  'SESSIONS_BTN_REVOKE',
1468
1643
  'SESSIONS_BTN_REVOKE_OTHERS',
1469
1644
  'SESSIONS_CONFIRM_REVOKE',
@@ -30,7 +30,7 @@
30
30
  * enabled:false until they do.
31
31
  */
32
32
  Object.defineProperty(exports, "__esModule", { value: true });
33
- exports.FEATURE_KEYS = exports.isPaidPlanTier = exports.PLAN_PRICE_SYNC_ERROR_CODES = exports.PLAN_CATALOGUE_ERROR_CODES = exports.PLAN_CATALOGUE_TEMPLATE_FIELDS = exports.PAID_PLAN_TIERS = exports.PLAN_TIERS = void 0;
33
+ exports.FEATURE_KEYS = exports.isPaidPlanTier = exports.BILLING_RETURN_URL_ERROR_CODES = exports.PLAN_PRICE_SYNC_ERROR_CODES = exports.PLAN_CATALOGUE_ERROR_CODES = exports.PLAN_CATALOGUE_TEMPLATE_FIELDS = exports.PAID_PLAN_TIERS = exports.PLAN_TIERS = void 0;
34
34
  /*
35
35
  * Runtime tuples for the unions above.
36
36
  *
@@ -83,6 +83,10 @@ exports.PLAN_CATALOGUE_ERROR_CODES = exhaustiveTuple()([
83
83
  exports.PLAN_PRICE_SYNC_ERROR_CODES = exhaustiveTuple()([
84
84
  'PLAN_STRIPE_PRICE_STALE',
85
85
  ]);
86
+ /** Every `error` code the hosted-provider routes add for a return URL off the stage's app origin. */
87
+ exports.BILLING_RETURN_URL_ERROR_CODES = exhaustiveTuple()([
88
+ 'RETURN_URL_NOT_ALLOWED',
89
+ ]);
86
90
  /** Whether `value` names a paid tier — narrows an untyped read (a stored row, a global) to `PaidPlanTier`. */
87
91
  const isPaidPlanTier = (value) => typeof value === 'string' && exports.PAID_PLAN_TIERS.includes(value);
88
92
  exports.isPaidPlanTier = isPaidPlanTier;
@@ -79,7 +79,8 @@ declare global {
79
79
  * What one channel actually did.
80
80
  *
81
81
  * ⚠️ `queued` is POST-GATE — the number of messages that reached a queue,
82
- * after the per-user opt-in and after the store's SMS entitlement. It is
82
+ * after the per-user opt-in. There is no store gate: a platform message
83
+ * (`costClass: 'platform'`) never reads the store's SMS switch. It is
83
84
  * never the recipient count, because an operator reading a raw tenant count
84
85
  * would read a broadcast as more complete than it was. `skipped` is the
85
86
  * difference, and `reasons` says why, so the gap is diagnosable without a
package/dist/order.d.ts CHANGED
@@ -990,6 +990,20 @@ declare global {
990
990
  * separate fact that would be destroyed by folding it into that tag.
991
991
  */
992
992
  presupuestoId?: string;
993
+ /**
994
+ * The MercadoPago charge this order bills — present ONLY on a platform
995
+ * store (`STO001`) order minted by platform self-billing, in the same
996
+ * write as the row; nothing else writes it and `POST /orders` strips it.
997
+ * Ids only: the charge's kind, the paying tenant's store id and the
998
+ * provider payment id. It is how that consumer tells its own order from
999
+ * another one holding the same id (an ORDER counter that lags): an order
1000
+ * without THIS marker is never invoiced for the charge.
1001
+ */
1002
+ platformCharge?: {
1003
+ kind: 'subscription' | 'pack';
1004
+ tenantStoreId: string;
1005
+ providerPaymentId: string;
1006
+ };
993
1007
  /**
994
1008
  * The `ServiceOrder` the ticket in `serviceOrderId` was a rework OF, copied
995
1009
  * forward verbatim at mint. Absent unless that ticket is itself a rework.
@@ -23,9 +23,32 @@ import { STOREFRONT_DESIGN_LITERAL_MAX_CODE_POINTS } from "./storefrontDesignReg
23
23
  * parameters.
24
24
  */
25
25
  export const STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
26
+ 'ACCOUNT_CREDIT_AVAILABLE',
27
+ 'ACCOUNT_CREDIT_NONE',
28
+ 'ADDRESSES_ADD',
29
+ 'ADDRESSES_CUSTOMER_UNAVAILABLE',
30
+ 'ADDRESSES_DEFAULT_BADGE',
31
+ 'ADDRESSES_DEFAULT_SET',
32
+ 'ADDRESSES_DELETE',
33
+ 'ADDRESSES_DELETED',
34
+ 'ADDRESSES_DELETE_CONFIRM_BODY',
35
+ 'ADDRESSES_DELETE_CONFIRM_TITLE',
36
+ 'ADDRESSES_DELETE_DEFAULT_REASON',
37
+ 'ADDRESSES_DIALOG_ADD_TITLE',
38
+ 'ADDRESSES_DIALOG_EDIT_TITLE',
39
+ 'ADDRESSES_EDIT',
40
+ 'ADDRESSES_EMPTY',
41
+ 'ADDRESSES_ERROR',
26
42
  'ADDRESSES_IS_DEFAULT',
43
+ 'ADDRESSES_LABEL_HELPER',
44
+ 'ADDRESSES_LABEL_LABEL',
27
45
  'ADDRESSES_LIMIT_REACHED',
46
+ 'ADDRESSES_LOAD_ERROR',
47
+ 'ADDRESSES_MAKE_DEFAULT',
28
48
  'ADDRESSES_NOT_FOUND',
49
+ 'ADDRESSES_SAVE',
50
+ 'ADDRESSES_SAVED',
51
+ 'ADDRESSES_TITLE',
29
52
  'ADDRESSES_WRITE_CONTENDED',
30
53
  'ALERT_INCLUDED_VAT',
31
54
  'APPOINTMENTS_BOOKED_DESC',
@@ -384,6 +407,10 @@ export const STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
384
407
  'CHECKOUT_ACCESS_PENDING',
385
408
  'CHECKOUT_ACCESS_REJECTED',
386
409
  'CHECKOUT_ACCOUNT_DISABLED',
410
+ 'CHECKOUT_ADDRESS_MANAGE',
411
+ 'CHECKOUT_ADDRESS_NEW',
412
+ 'CHECKOUT_ADDRESS_PICKER_LABEL',
413
+ 'CHECKOUT_ADDRESS_SAVE',
387
414
  'CHECKOUT_BACK_BUTTON',
388
415
  'CHECKOUT_CART_CHANGED',
389
416
  'CHECKOUT_CART_GONE',
@@ -435,8 +462,6 @@ export const STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
435
462
  'CHECKOUT_DELIVERY_PHONE_LABEL',
436
463
  'CHECKOUT_DELIVERY_POSTAL_CODE_LABEL',
437
464
  'CHECKOUT_DELIVERY_PROVINCE_LABEL',
438
- 'CHECKOUT_DELIVERY_SAVE_DEFAULT',
439
- 'CHECKOUT_DELIVERY_USE_CUSTOM',
440
465
  'CHECKOUT_DELIVERY_VALIDATION_ADDRESS_MIN',
441
466
  'CHECKOUT_DELIVERY_VALIDATION_CITY_MIN',
442
467
  'CHECKOUT_DELIVERY_VALIDATION_PHONE',
@@ -715,6 +740,7 @@ export const STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
715
740
  'GLOBALS_PROFILE',
716
741
  'GLOBALS_REGISTER',
717
742
  'GLOBALS_SALE',
743
+ 'GLOBALS_SERVICES',
718
744
  'GLOBALS_SESSIONS',
719
745
  'GUEST_ORDER_PAYMENT_EMAIL_HINT',
720
746
  'GUEST_ORDER_PAYMENT_RETURN_FAILURE',
@@ -896,9 +922,11 @@ export const STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
896
922
  'LOGIN_HISTORY_TRUNCATED',
897
923
  'LOGIN_HISTORY_WHEN',
898
924
  'MAINTENANCE_ACCOUNT_ERASURE_DISABLED',
925
+ 'MAINTENANCE_ADDRESSES_DISABLED',
899
926
  'MAINTENANCE_ADD_TO_CART_DISABLED',
900
927
  'MAINTENANCE_APPOINTMENTS_DISABLED',
901
928
  'MAINTENANCE_ATTACH_GUEST_ORDERS_DISABLED',
929
+ 'MAINTENANCE_BALANCE_PAYMENT_DISABLED',
902
930
  'MAINTENANCE_BANNER_STORE',
903
931
  'MAINTENANCE_CANCEL_ORDER_DISABLED',
904
932
  'MAINTENANCE_CART_WRITE_DISABLED',
@@ -918,6 +946,9 @@ export const STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
918
946
  'MAINTENANCE_PROFILE_SAVE_DISABLED',
919
947
  'MAINTENANCE_QUOTE_REQUEST_DISABLED',
920
948
  'MAINTENANCE_REDIRECT_TO_BASKET',
949
+ 'MAINTENANCE_SERVICE_CODE_DISABLED',
950
+ 'MAINTENANCE_SERVICE_DECISION_DISABLED',
951
+ 'MAINTENANCE_SERVICE_RECOVER_DISABLED',
921
952
  'MAINTENANCE_SUPPORT_HINT_EMAIL',
922
953
  'MAINTENANCE_SURVEY_DISABLED',
923
954
  'MAINTENANCE_WHATSAPP_OPT_IN_DISABLED',
@@ -1144,9 +1175,42 @@ export const STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
1144
1175
  'PAGE_TITLE_PRODUCT',
1145
1176
  'PAGE_TITLE_PROFILE',
1146
1177
  'PAGE_TITLE_SALE',
1178
+ 'PAGE_TITLE_SERVICES',
1147
1179
  'PAGE_TITLE_SESSIONS',
1180
+ 'PAYMENTS_BALANCE_ATTEMPT_CHARGED_BACK',
1181
+ 'PAYMENTS_BALANCE_ATTEMPT_CREATED',
1182
+ 'PAYMENTS_BALANCE_ATTEMPT_ERROR',
1183
+ 'PAYMENTS_BALANCE_ATTEMPT_EXPIRED',
1184
+ 'PAYMENTS_BALANCE_ATTEMPT_LOADING',
1185
+ 'PAYMENTS_BALANCE_ATTEMPT_NOT_FOUND',
1186
+ 'PAYMENTS_BALANCE_ATTEMPT_PENDING',
1187
+ 'PAYMENTS_BALANCE_ATTEMPT_REFUNDED',
1188
+ 'PAYMENTS_BALANCE_ATTEMPT_REJECTED',
1189
+ 'PAYMENTS_BALANCE_ATTEMPT_RESOLUTION',
1148
1190
  'PAYMENTS_BALANCE_LABEL',
1149
1191
  'PAYMENTS_BALANCE_LOADING',
1192
+ 'PAYMENTS_BALANCE_PAY_ACTION',
1193
+ 'PAYMENTS_BALANCE_PAY_CURRENCY_UNSUPPORTED',
1194
+ 'PAYMENTS_BALANCE_PAY_DISABLED',
1195
+ 'PAYMENTS_BALANCE_PAY_EMPTY',
1196
+ 'PAYMENTS_BALANCE_PAY_HINT',
1197
+ 'PAYMENTS_BALANCE_PAY_LIMIT_REASON',
1198
+ 'PAYMENTS_BALANCE_PAY_LOAD_ERROR',
1199
+ 'PAYMENTS_BALANCE_PAY_NOTHING_OWED',
1200
+ 'PAYMENTS_BALANCE_PAY_NOT_PREFIX',
1201
+ 'PAYMENTS_BALANCE_PAY_OFFLINE_REASON',
1202
+ 'PAYMENTS_BALANCE_PAY_ONLY_ORDER',
1203
+ 'PAYMENTS_BALANCE_PAY_ORDER_LATER_REASON',
1204
+ 'PAYMENTS_BALANCE_PAY_ORDER_ONLY_REASON',
1205
+ 'PAYMENTS_BALANCE_PAY_ORDER_REFUSED',
1206
+ 'PAYMENTS_BALANCE_PAY_PROVIDER_UNAVAILABLE',
1207
+ 'PAYMENTS_BALANCE_PAY_REDIRECTING',
1208
+ 'PAYMENTS_BALANCE_PAY_SELECTION_TOTAL',
1209
+ 'PAYMENTS_BALANCE_PAY_SERVER_TOTAL_NOTE',
1210
+ 'PAYMENTS_BALANCE_PAY_STALE',
1211
+ 'PAYMENTS_BALANCE_PAY_START_ERROR',
1212
+ 'PAYMENTS_BALANCE_PAY_TITLE',
1213
+ 'PAYMENTS_BALANCE_PAY_UNAVAILABLE',
1150
1214
  'PAYMENTS_COLUMN_BALANCE',
1151
1215
  'PAYMENTS_COLUMN_CURRENCY',
1152
1216
  'PAYMENTS_COLUMN_DATE',
@@ -1339,16 +1403,8 @@ export const STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
1339
1403
  'PROFILE_ACCOUNTS_SUBTITLE',
1340
1404
  'PROFILE_ACCOUNTS_UNLINKED_SUCCESS',
1341
1405
  'PROFILE_ACCOUNTS_UNLINK_ERROR',
1342
- 'PROFILE_DELIVERY_ERROR',
1343
- 'PROFILE_DELIVERY_SUCCESS',
1344
- 'PROFILE_DELIVERY_TITLE',
1345
1406
  'PROFILE_DELIVERY_VALIDATION_ADDRESS_REQUIRED',
1346
- 'PROFILE_DELIVERY_VALIDATION_CITY_REQUIRED',
1347
1407
  'PROFILE_DELIVERY_VALIDATION_FULLNAME_MIN',
1348
- 'PROFILE_DELIVERY_VALIDATION_FULLNAME_REQUIRED',
1349
- 'PROFILE_DELIVERY_VALIDATION_PHONE_REQUIRED',
1350
- 'PROFILE_DELIVERY_VALIDATION_POSTAL_CODE_REQUIRED',
1351
- 'PROFILE_DELIVERY_VALIDATION_PROVINCE_REQUIRED',
1352
1408
  'PROFILE_DETAILS_ADDRESS_LABEL',
1353
1409
  'PROFILE_DETAILS_CHANGE_IMAGE_TOOLTIP',
1354
1410
  'PROFILE_DETAILS_CHIP_CLIENT',
@@ -1388,11 +1444,14 @@ export const STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
1388
1444
  'PROFILE_PHONE_ERR_EMAIL_NOT_VERIFIED',
1389
1445
  'PROFILE_PHONE_ERR_EXPIRED',
1390
1446
  'PROFILE_PHONE_ERR_GENERIC',
1447
+ 'PROFILE_PHONE_ERR_IP_QUOTA',
1391
1448
  'PROFILE_PHONE_ERR_LOCKED',
1392
1449
  'PROFILE_PHONE_ERR_NOT_SENT',
1393
1450
  'PROFILE_PHONE_ERR_PHONE_CHANGED',
1394
1451
  'PROFILE_PHONE_ERR_PHONE_INVALID',
1395
1452
  'PROFILE_PHONE_ERR_QUOTA',
1453
+ 'PROFILE_PHONE_ERR_UNAVAILABLE',
1454
+ 'PROFILE_PHONE_ERR_VALIDATION_UNAVAILABLE',
1396
1455
  'PROFILE_PHONE_RESEND',
1397
1456
  'PROFILE_PHONE_RESEND_IN',
1398
1457
  'PROFILE_PHONE_SENT',
@@ -1461,6 +1520,122 @@ export const STOREFRONT_WEB_LITERAL_KEYS = Object.freeze([
1461
1520
  'SALE_TITLE',
1462
1521
  'SCROLL_TO_TOP_ARIA',
1463
1522
  'SEARCH_MIN_CHARS',
1523
+ 'SERVICES_EMPTY',
1524
+ 'SERVICES_ERR_LOAD',
1525
+ 'SERVICES_PARTIAL',
1526
+ 'SERVICES_SUBTITLE',
1527
+ 'SERVICES_TITLE',
1528
+ 'SERVICE_ORDER_ACCOUNT_DISABLED',
1529
+ 'SERVICE_ORDER_ACCOUNT_TITLE',
1530
+ 'SERVICE_TRACKING_APPROVE',
1531
+ 'SERVICE_TRACKING_APPROVED_DONE',
1532
+ 'SERVICE_TRACKING_APPROVE_CONFIRM',
1533
+ 'SERVICE_TRACKING_CANCEL',
1534
+ 'SERVICE_TRACKING_CODE_CHANGE_VIA',
1535
+ 'SERVICE_TRACKING_CODE_DIALOG_TITLE',
1536
+ 'SERVICE_TRACKING_CODE_INVALID',
1537
+ 'SERVICE_TRACKING_CODE_LABEL',
1538
+ 'SERVICE_TRACKING_CODE_NEW',
1539
+ 'SERVICE_TRACKING_CODE_NO_CONTACT',
1540
+ 'SERVICE_TRACKING_CODE_RESENT',
1541
+ 'SERVICE_TRACKING_CODE_SEND',
1542
+ 'SERVICE_TRACKING_CODE_VIA_TITLE',
1543
+ 'SERVICE_TRACKING_CUSTODY_DISPOSED',
1544
+ 'SERVICE_TRACKING_CUSTODY_IN_SHOP',
1545
+ 'SERVICE_TRACKING_CUSTODY_LABEL',
1546
+ 'SERVICE_TRACKING_CUSTODY_ON_SITE',
1547
+ 'SERVICE_TRACKING_CUSTODY_PENDING_RECEIPT',
1548
+ 'SERVICE_TRACKING_CUSTODY_RETURNED',
1549
+ 'SERVICE_TRACKING_DECISION_TITLE',
1550
+ 'SERVICE_TRACKING_EQUIPMENT_ACCESSORIES',
1551
+ 'SERVICE_TRACKING_EQUIPMENT_BRAND',
1552
+ 'SERVICE_TRACKING_EQUIPMENT_CONDITION',
1553
+ 'SERVICE_TRACKING_EQUIPMENT_MODEL',
1554
+ 'SERVICE_TRACKING_EQUIPMENT_REPORTED',
1555
+ 'SERVICE_TRACKING_EQUIPMENT_SERIAL',
1556
+ 'SERVICE_TRACKING_EQUIPMENT_TITLE',
1557
+ 'SERVICE_TRACKING_EQUIPMENT_TYPE',
1558
+ 'SERVICE_TRACKING_ERROR_ALREADY_RESOLVED',
1559
+ 'SERVICE_TRACKING_ERROR_CODE_SEND',
1560
+ 'SERVICE_TRACKING_ERROR_DISABLED',
1561
+ 'SERVICE_TRACKING_ERROR_GENERIC',
1562
+ 'SERVICE_TRACKING_ERROR_HOLDS_TOO_MANY',
1563
+ 'SERVICE_TRACKING_ERROR_LAPSED',
1564
+ 'SERVICE_TRACKING_ERROR_MAINTENANCE',
1565
+ 'SERVICE_TRACKING_ERROR_ORDER_CLOSED',
1566
+ 'SERVICE_TRACKING_ERROR_ORDER_NOT_FOUND',
1567
+ 'SERVICE_TRACKING_ERROR_QUOTE_CHANGED',
1568
+ 'SERVICE_TRACKING_ERROR_QUOTE_NOT_FOUND',
1569
+ 'SERVICE_TRACKING_ERROR_VERIFICATION_FAILED',
1570
+ 'SERVICE_TRACKING_FAULT_FOUND',
1571
+ 'SERVICE_TRACKING_HOLD_CUSTOMER',
1572
+ 'SERVICE_TRACKING_HOLD_OTHER',
1573
+ 'SERVICE_TRACKING_HOLD_PARTS',
1574
+ 'SERVICE_TRACKING_HOLD_SUPPLIER',
1575
+ 'SERVICE_TRACKING_HOLD_TITLE',
1576
+ 'SERVICE_TRACKING_LOAD_ERROR',
1577
+ 'SERVICE_TRACKING_PAGE_TITLE',
1578
+ 'SERVICE_TRACKING_PART_NUEVO',
1579
+ 'SERVICE_TRACKING_PART_REACONDICIONADO',
1580
+ 'SERVICE_TRACKING_PART_USADO',
1581
+ 'SERVICE_TRACKING_PROMISED_AT',
1582
+ 'SERVICE_TRACKING_QUOTE_DECIDED_AT',
1583
+ 'SERVICE_TRACKING_QUOTE_EXPIRES_AT',
1584
+ 'SERVICE_TRACKING_QUOTE_LABOR',
1585
+ 'SERVICE_TRACKING_QUOTE_PARTS',
1586
+ 'SERVICE_TRACKING_QUOTE_PARTS_LIST',
1587
+ 'SERVICE_TRACKING_QUOTE_PDF',
1588
+ 'SERVICE_TRACKING_QUOTE_PDF_ERROR',
1589
+ 'SERVICE_TRACKING_QUOTE_QUOTED_AT',
1590
+ 'SERVICE_TRACKING_QUOTE_STATUS_APPROVED',
1591
+ 'SERVICE_TRACKING_QUOTE_STATUS_EXPIRED',
1592
+ 'SERVICE_TRACKING_QUOTE_STATUS_REJECTED',
1593
+ 'SERVICE_TRACKING_QUOTE_STATUS_SENT',
1594
+ 'SERVICE_TRACKING_QUOTE_TITLE',
1595
+ 'SERVICE_TRACKING_QUOTE_TOTAL',
1596
+ 'SERVICE_TRACKING_READY_AT',
1597
+ 'SERVICE_TRACKING_RECOVER_AGAIN',
1598
+ 'SERVICE_TRACKING_RECOVER_BODY',
1599
+ 'SERVICE_TRACKING_RECOVER_EMAIL_LABEL',
1600
+ 'SERVICE_TRACKING_RECOVER_ERROR',
1601
+ 'SERVICE_TRACKING_RECOVER_SENT',
1602
+ 'SERVICE_TRACKING_RECOVER_SUBMIT',
1603
+ 'SERVICE_TRACKING_RECOVER_TICKET_INVALID',
1604
+ 'SERVICE_TRACKING_RECOVER_TICKET_LABEL',
1605
+ 'SERVICE_TRACKING_RECOVER_TITLE',
1606
+ 'SERVICE_TRACKING_REJECT',
1607
+ 'SERVICE_TRACKING_REJECTED_DONE',
1608
+ 'SERVICE_TRACKING_REJECT_CONFIRM',
1609
+ 'SERVICE_TRACKING_REJECT_REASON_LABEL',
1610
+ 'SERVICE_TRACKING_REJECT_REASON_NOT_WORTH_IT',
1611
+ 'SERVICE_TRACKING_REJECT_REASON_OTHER',
1612
+ 'SERVICE_TRACKING_REJECT_REASON_PRICE',
1613
+ 'SERVICE_TRACKING_REJECT_REASON_REQUIRED',
1614
+ 'SERVICE_TRACKING_REJECT_REASON_TIMELINE',
1615
+ 'SERVICE_TRACKING_STATUS_ABANDONED_DISPOSED',
1616
+ 'SERVICE_TRACKING_STATUS_APPROVED',
1617
+ 'SERVICE_TRACKING_STATUS_CANCELLED',
1618
+ 'SERVICE_TRACKING_STATUS_DELIVERED',
1619
+ 'SERVICE_TRACKING_STATUS_DIAGNOSING',
1620
+ 'SERVICE_TRACKING_STATUS_IN_PROGRESS',
1621
+ 'SERVICE_TRACKING_STATUS_LABEL',
1622
+ 'SERVICE_TRACKING_STATUS_QUOTED',
1623
+ 'SERVICE_TRACKING_STATUS_READY',
1624
+ 'SERVICE_TRACKING_STATUS_RECEIVED',
1625
+ 'SERVICE_TRACKING_STATUS_RETURNED_UNREPAIRED',
1626
+ 'SERVICE_TRACKING_STORE_ADDRESS',
1627
+ 'SERVICE_TRACKING_STORE_CONTACT',
1628
+ 'SERVICE_TRACKING_STORE_EMAIL',
1629
+ 'SERVICE_TRACKING_STORE_PHONE',
1630
+ 'SERVICE_TRACKING_STORE_WHATSAPP',
1631
+ 'SERVICE_TRACKING_TIMELINE_TITLE',
1632
+ 'SERVICE_TRACKING_TITLE',
1633
+ 'SERVICE_TRACKING_TYPE_DIAGNOSIS',
1634
+ 'SERVICE_TRACKING_TYPE_INSTALLATION',
1635
+ 'SERVICE_TRACKING_TYPE_LABEL',
1636
+ 'SERVICE_TRACKING_TYPE_MAINTENANCE',
1637
+ 'SERVICE_TRACKING_TYPE_REPAIR',
1638
+ 'SERVICE_TRACKING_WARRANTY',
1464
1639
  'SESSIONS_BTN_REVOKE',
1465
1640
  'SESSIONS_BTN_REVOKE_OTHERS',
1466
1641
  'SESSIONS_CONFIRM_REVOKE',
@@ -731,8 +731,11 @@ declare global {
731
731
  * is owed and not yet authorised — an ARCA rejection or a retry stays
732
732
  * `pending`, never a third state; `issued` once ARCA authorised it. `number`
733
733
  * is `PPPP-NNNNNNNN` (point of sale and comprobante number, zero-padded);
734
- * `issuedAt` is Unix ms. Nothing writes one yet, so every reader still
735
- * answers `null`.
734
+ * `issuedAt` is Unix ms. A factura is written by the platform's
735
+ * self-billing for a MercadoPago charge approved on or after its go-live;
736
+ * a credit note — one full Nota de Crédito against that factura — for a
737
+ * refund or chargeback of a charge whose factura was issued (a partial
738
+ * refund owes none).
736
739
  */
737
740
  type PlatformFiscalDoc = null | {
738
741
  status: 'pending';
@@ -752,7 +755,13 @@ declare global {
752
755
  * `expiresAt` (Unix ms, about 5 minutes). Fetch it on click, never cache it.
753
756
  * `404 PLATFORM_FISCAL_DOC_NOT_FOUND` when the payment or its document does
754
757
  * not exist; `409 PLATFORM_FISCAL_DOC_PENDING` while it is still pending.
755
- * The route itself ships with platform self-billing's PDF slice.
758
+ *
759
+ * `{paymentId}` is the MercadoPago payment id — `InvoiceSummary.providerPaymentId`
760
+ * for a subscription row, `StoreMessagePackPurchase.paymentId` for a pack —
761
+ * never `InvoiceSummary.id`. The route looks it up only under the token's
762
+ * store: its subscription payment row under `mercadopago#{paymentId}`, then
763
+ * its pack payment row under the same key; a foreign or unknown id is the
764
+ * same `404`.
756
765
  */
757
766
  interface PlatformFiscalDocPdf {
758
767
  url: string;
@@ -1255,6 +1264,22 @@ declare global {
1255
1264
  * `billingCycle` like `PLAN_NOT_PURCHASABLE`.
1256
1265
  */
1257
1266
  'PLAN_STRIPE_PRICE_STALE';
1267
+ /**
1268
+ * The `error` code the four hosted-provider routes add —
1269
+ * `POST /subscription/checkout`, `POST /subscription/message-packs/checkout`
1270
+ * (`successUrl`, `cancelUrl`), `POST /subscription/portal` and
1271
+ * `POST /subscription/update-payment-method` (`returnUrl`).
1272
+ */
1273
+ type BillingReturnUrlErrorCode =
1274
+ /**
1275
+ * 400 · a return URL is not on this stage's app origin: anything but an
1276
+ * https URL on the stage's app host of a platform domain (and, on dev
1277
+ * only, the app's local dev server), or one carrying userinfo. Carries
1278
+ * `field`, the body key refused. Answered before the plan, pack or
1279
+ * subscription read and before any provider call, so nothing was created
1280
+ * (the pack route reads its messaging switch first).
1281
+ */
1282
+ 'RETURN_URL_NOT_ALLOWED';
1258
1283
  }
1259
1284
  export type BillingProviderName = SubscriptionProvider;
1260
1285
  export type InvoiceSummary = globalThis.InvoiceSummary;
@@ -1272,6 +1297,8 @@ export declare const PLAN_CATALOGUE_TEMPLATE_FIELDS: readonly ["name", "descript
1272
1297
  export declare const PLAN_CATALOGUE_ERROR_CODES: readonly ["PLAN_CATALOGUE_REVISION_CONFLICT", "PLAN_CATALOGUE_BUSY", "PLAN_CATALOGUE_NO_CHANGES", "PLAN_CATALOGUE_PUBLICATION_NOT_FOUND", "PLAN_CATALOGUE_REQUEST_EXPIRED", "PLAN_CATALOGUE_INVALID_CURSOR", "PLAN_CATALOGUE_DRAFT_STALE", "IDEMPOTENCY_CONFLICT"];
1273
1298
  /** Every `error` code `POST /subscription/checkout` adds for a price the provider has not caught up with. */
1274
1299
  export declare const PLAN_PRICE_SYNC_ERROR_CODES: readonly ["PLAN_STRIPE_PRICE_STALE"];
1300
+ /** Every `error` code the hosted-provider routes add for a return URL off the stage's app origin. */
1301
+ export declare const BILLING_RETURN_URL_ERROR_CODES: readonly ["RETURN_URL_NOT_ALLOWED"];
1275
1302
  /** Whether `value` names a paid tier — narrows an untyped read (a stored row, a global) to `PaidPlanTier`. */
1276
1303
  export declare const isPaidPlanTier: (value: unknown) => value is PaidPlanTier;
1277
1304
  /**
@@ -80,6 +80,10 @@ export const PLAN_CATALOGUE_ERROR_CODES = exhaustiveTuple()([
80
80
  export const PLAN_PRICE_SYNC_ERROR_CODES = exhaustiveTuple()([
81
81
  'PLAN_STRIPE_PRICE_STALE',
82
82
  ]);
83
+ /** Every `error` code the hosted-provider routes add for a return URL off the stage's app origin. */
84
+ export const BILLING_RETURN_URL_ERROR_CODES = exhaustiveTuple()([
85
+ 'RETURN_URL_NOT_ALLOWED',
86
+ ]);
83
87
  /** Whether `value` names a paid tier — narrows an untyped read (a stored row, a global) to `PaidPlanTier`. */
84
88
  export const isPaidPlanTier = (value) => typeof value === 'string' && PAID_PLAN_TIERS.includes(value);
85
89
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "platform-types",
3
- "version": "1.10.862",
3
+ "version": "1.10.864",
4
4
  "description": "Shared wire and entity contracts for the platform.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",