@fire-spark/types 0.1.2 → 0.3.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.
Files changed (2) hide show
  1. package/dist/index.d.ts +799 -106
  2. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -68,7 +68,11 @@ interface ChannelManifest {
68
68
  /** Port of `pnpm start`: 3000 for the server, 3001+ for channels. */
69
69
  port: number;
70
70
  platforms: ChannelPlatform[];
71
- /** Default locale first, then up to 2 extra locales. */
71
+ /**
72
+ * Canonical BCP 47 tags, deduped: the merchant's locale first (`es` or
73
+ * `es-EC`), then up to 2 extra locales. Apps without a catalog for a tag
74
+ * use its language one (`es-EC` → `es`), then the template default.
75
+ */
72
76
  locales: string[];
73
77
  web?: ChannelManifestWeb;
74
78
  native?: ChannelManifestNative;
@@ -705,6 +709,7 @@ type OrderFulfillment = {
705
709
  mappedStatus: string;
706
710
  milestone?: string | undefined;
707
711
  checkout_release?: boolean | undefined;
712
+ payment_scope?: "digital" | "in_person" | undefined;
708
713
  joinPolicy?: "all" | "any" | undefined;
709
714
  actions?: {
710
715
  id: string;
@@ -821,7 +826,7 @@ type OrderFulfillment = {
821
826
  channel_id: string;
822
827
  brand_id: string;
823
828
  primitive: "boolean";
824
- type: "Customer is anonymous" | "Is anonymous order" | "Order includes product with tag";
829
+ type: "Customer is anonymous" | "Is anonymous order" | "Order includes product with tag" | "Payment captured" | "Payment is mixed";
825
830
  operator: "is" | "is not";
826
831
  value: boolean;
827
832
  invalidMessage?: string | undefined;
@@ -914,6 +919,7 @@ type MerchantPayment = {
914
919
  id: string;
915
920
  payment_provider_id: string;
916
921
  payment_method_id: string;
922
+ name?: string | null | undefined;
917
923
  rules: {
918
924
  minimum_order_value: number;
919
925
  maximum_order_value: number;
@@ -969,7 +975,7 @@ type MerchantPayment = {
969
975
  channel_id: string;
970
976
  brand_id: string;
971
977
  primitive: "boolean";
972
- type: "Customer is anonymous" | "Is anonymous order" | "Order includes product with tag";
978
+ type: "Customer is anonymous" | "Is anonymous order" | "Order includes product with tag" | "Payment captured" | "Payment is mixed";
973
979
  operator: "is" | "is not";
974
980
  value: boolean;
975
981
  invalidMessage?: string | undefined;
@@ -1023,7 +1029,7 @@ type MerchantPayment = {
1023
1029
  };
1024
1030
  method: {
1025
1031
  id: string;
1026
- method: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET";
1032
+ method: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "REDEMPTION" | "WALLET";
1027
1033
  name: string;
1028
1034
  version: string;
1029
1035
  config?: {
@@ -1183,7 +1189,7 @@ type StorefrontAvailabilityInput = {
1183
1189
  channel_id?: string | undefined;
1184
1190
  brand_id?: string | undefined;
1185
1191
  payment_id?: string | undefined;
1186
- payment_method?: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET" | undefined;
1192
+ payment_method?: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "REDEMPTION" | "WALLET" | undefined;
1187
1193
  };
1188
1194
  /** Availability slice of `GET /storefront/v1/preferences`. */
1189
1195
  type StorefrontAvailability = {
@@ -1217,7 +1223,7 @@ type StorefrontPreferencesInput = {
1217
1223
  channel_id?: string | undefined;
1218
1224
  brand_id?: string | undefined;
1219
1225
  payment_id?: string | undefined;
1220
- payment_method?: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET" | undefined;
1226
+ payment_method?: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "REDEMPTION" | "WALLET" | undefined;
1221
1227
  };
1222
1228
  /** Resolved merchant preferences (`GET /storefront/v1/preferences` `data`). */
1223
1229
  type StorefrontPreferences = {
@@ -1273,6 +1279,17 @@ type StorefrontPreferences = {
1273
1279
  ios_store_url: string;
1274
1280
  android_store_url: string;
1275
1281
  };
1282
+ payments: {
1283
+ mixed: {
1284
+ max_methods: number;
1285
+ max_items_per_method: number | null;
1286
+ max_amount_per_method: number | null;
1287
+ per_method: Partial<Record<"BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET", {
1288
+ max_amount: number | null;
1289
+ max_items: number | null;
1290
+ }>>;
1291
+ } | null;
1292
+ };
1276
1293
  country?: string | undefined;
1277
1294
  locale?: string | undefined;
1278
1295
  currency?: {
@@ -1528,7 +1545,7 @@ type StorefrontRealtimeTokenInput = {
1528
1545
  channel_id?: string | undefined;
1529
1546
  brand_id?: string | undefined;
1530
1547
  payment_id?: string | undefined;
1531
- payment_method?: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET" | undefined;
1548
+ payment_method?: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "REDEMPTION" | "WALLET" | undefined;
1532
1549
  };
1533
1550
  /** Token payload (`POST /storefront/v1/realtime/token` `data`). */
1534
1551
  type StorefrontRealtimeToken = {
@@ -1782,7 +1799,12 @@ type OrderLine = {
1782
1799
  quantity: number;
1783
1800
  discount_rate?: number | undefined;
1784
1801
  discount_amount?: number | undefined;
1802
+ before_taxes?: boolean | undefined;
1785
1803
  expires_at?: string | undefined;
1804
+ payment_id?: string | undefined;
1805
+ amount?: number | undefined;
1806
+ points?: number | undefined;
1807
+ program?: string | undefined;
1786
1808
  }[];
1787
1809
  quantity: number;
1788
1810
  tax_rate: number | null;
@@ -1810,7 +1832,12 @@ type OrderRedeem = {
1810
1832
  quantity: number;
1811
1833
  discount_rate?: number | undefined;
1812
1834
  discount_amount?: number | undefined;
1835
+ before_taxes?: boolean | undefined;
1813
1836
  expires_at?: string | undefined;
1837
+ payment_id?: string | undefined;
1838
+ amount?: number | undefined;
1839
+ points?: number | undefined;
1840
+ program?: string | undefined;
1814
1841
  };
1815
1842
  /** Redeem as sent by callers (`quantity` defaults to 1). */
1816
1843
  type OrderRedeemInput = {
@@ -1818,7 +1845,12 @@ type OrderRedeemInput = {
1818
1845
  quantity?: number | undefined;
1819
1846
  discount_rate?: number | undefined;
1820
1847
  discount_amount?: number | undefined;
1848
+ before_taxes?: boolean | undefined;
1821
1849
  expires_at?: string | undefined;
1850
+ payment_id?: string | undefined;
1851
+ amount?: number | undefined;
1852
+ points?: number | undefined;
1853
+ program?: string | undefined;
1822
1854
  };
1823
1855
  /** Order or line snapshot before/after a redemption step. */
1824
1856
  type OrderRedemptionState = {
@@ -1903,7 +1935,12 @@ type Order = {
1903
1935
  quantity: number;
1904
1936
  discount_rate?: number | undefined;
1905
1937
  discount_amount?: number | undefined;
1938
+ before_taxes?: boolean | undefined;
1906
1939
  expires_at?: string | undefined;
1940
+ payment_id?: string | undefined;
1941
+ amount?: number | undefined;
1942
+ points?: number | undefined;
1943
+ program?: string | undefined;
1907
1944
  }[];
1908
1945
  quantity: number;
1909
1946
  tax_rate: number | null;
@@ -1930,7 +1967,12 @@ type Order = {
1930
1967
  quantity: number;
1931
1968
  discount_rate?: number | undefined;
1932
1969
  discount_amount?: number | undefined;
1970
+ before_taxes?: boolean | undefined;
1933
1971
  expires_at?: string | undefined;
1972
+ payment_id?: string | undefined;
1973
+ amount?: number | undefined;
1974
+ points?: number | undefined;
1975
+ program?: string | undefined;
1934
1976
  }[];
1935
1977
  redemption_steps: {
1936
1978
  reward_id: string;
@@ -2009,12 +2051,20 @@ type Order = {
2009
2051
  } | null | undefined;
2010
2052
  };
2011
2053
  payment_intents: {
2012
- id?: string | undefined;
2013
- payment_id?: string | undefined;
2014
- method: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET";
2015
- provider: "amipass" | "cashea" | "clisitef" | "credibanco" | "datafast" | "deuna" | "edenred" | "firespark" | "kushki" | "mach" | "medianet" | "mercadopago" | "niubiz" | "paymentz" | "paypal" | "payphone" | "place_to_pay" | "pluxee" | "posnet" | "redeban" | "rutpay" | "sitef_venezuela" | "stripe" | "transbank" | "yape";
2016
- collect_at: "COUNTER" | "DEVICE" | "DOOR" | "KIOSK" | "OTHER";
2017
- status: "CANCELLED" | "FAILED" | "IDLE" | "PAID" | "PENDING" | "REFUNDED";
2054
+ id: string;
2055
+ status: "ABANDONED" | "COMPLETED" | "DRAFT" | "LOCKED";
2056
+ is_mixed: boolean;
2057
+ rules_snapshot: {
2058
+ enabled: boolean;
2059
+ max_methods: number;
2060
+ max_items_per_method: number | null;
2061
+ max_amount_per_method: number | null;
2062
+ per_method: Partial<Record<"BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET", {
2063
+ max_amount: number | null;
2064
+ max_items: number | null;
2065
+ }>>;
2066
+ } | null;
2067
+ primary_tender_id: string | null;
2018
2068
  totals: {
2019
2069
  currency: string;
2020
2070
  subtotal: number;
@@ -2024,10 +2074,97 @@ type Order = {
2024
2074
  tax_total: number;
2025
2075
  total: number;
2026
2076
  };
2027
- error_message?: string | undefined;
2028
- placed_at: string;
2077
+ placed_at: string | null;
2029
2078
  resolved_at?: string | undefined;
2030
2079
  metadata: Record<string, unknown>;
2080
+ tenders: {
2081
+ id: string;
2082
+ sequence: number;
2083
+ attempt_reference: string;
2084
+ previous_attempt_references: string[];
2085
+ method: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "REDEMPTION" | "WALLET";
2086
+ provider: "amipass" | "cashea" | "clisitef" | "credibanco" | "datafast" | "deuna" | "edenred" | "firespark" | "kushki" | "mach" | "medianet" | "mercadopago" | "niubiz" | "paymentz" | "paypal" | "payphone" | "place_to_pay" | "pluxee" | "posnet" | "redeban" | "rutpay" | "sitef_venezuela" | "stripe" | "transbank" | "yape";
2087
+ payment_id?: string | undefined;
2088
+ collect_at: "COUNTER" | "DEVICE" | "DOOR" | "KIOSK" | "OTHER";
2089
+ status: "CANCELLED" | "FAILED" | "IDLE" | "PAID" | "PENDING" | "REFUNDED";
2090
+ amount: {
2091
+ currency: string;
2092
+ subtotal: number;
2093
+ discount_total: number;
2094
+ tax_total: number;
2095
+ fees: number;
2096
+ tip: number;
2097
+ delivery: number;
2098
+ redemptions_applied: number;
2099
+ total: number;
2100
+ };
2101
+ refunded_total: number;
2102
+ allocation: {
2103
+ lines: {
2104
+ line_uid: string;
2105
+ units?: number | undefined;
2106
+ }[];
2107
+ fees: string[];
2108
+ amounts: {
2109
+ line_uid: string;
2110
+ units?: number | undefined;
2111
+ subtotal: number;
2112
+ discount: number;
2113
+ tax: number;
2114
+ total: number;
2115
+ children: {
2116
+ line_uid: string;
2117
+ quantity: number;
2118
+ subtotal: number;
2119
+ discount: number;
2120
+ tax: number;
2121
+ total: number;
2122
+ }[];
2123
+ }[];
2124
+ } | null;
2125
+ details: {
2126
+ brand: string;
2127
+ last4: string;
2128
+ auth_code?: string | undefined;
2129
+ installments?: number | undefined;
2130
+ method: "CARD";
2131
+ } | {
2132
+ brand: string;
2133
+ last4: string;
2134
+ auth_code?: string | undefined;
2135
+ installments?: number | undefined;
2136
+ method: "PIN_PAD";
2137
+ terminal_id: string;
2138
+ } | {
2139
+ method: "CASH";
2140
+ tendered: number;
2141
+ change: number;
2142
+ } | {
2143
+ method: "BANK_TRANSFER";
2144
+ reference: string;
2145
+ bank?: string | undefined;
2146
+ } | {
2147
+ method: "WALLET";
2148
+ wallet: string;
2149
+ reference: string;
2150
+ } | {
2151
+ method: "FINANCING";
2152
+ provider_reference: string;
2153
+ installments: number;
2154
+ } | {
2155
+ method: "REDEMPTION";
2156
+ reward_id: string;
2157
+ program: string;
2158
+ points: number;
2159
+ points_value: number;
2160
+ loyalty_transaction_id?: string | undefined;
2161
+ } | null;
2162
+ replaces_tender_id?: string | undefined;
2163
+ error_message?: string | undefined;
2164
+ placed_at: string | null;
2165
+ resolved_at?: string | undefined;
2166
+ metadata: Record<string, unknown>;
2167
+ }[];
2031
2168
  }[];
2032
2169
  totals: {
2033
2170
  currency: string;
@@ -2074,17 +2211,25 @@ type BillingInfo = {
2074
2211
  metadata: Record<string, unknown> | null;
2075
2212
  };
2076
2213
  /** Payment method enum on order payment intents. */
2077
- type PaymentMethod = "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET";
2214
+ type PaymentMethod = "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "REDEMPTION" | "WALLET";
2078
2215
  /** Payment provider enum on order payment intents. */
2079
2216
  type PaymentProvider = "amipass" | "cashea" | "clisitef" | "credibanco" | "datafast" | "deuna" | "edenred" | "firespark" | "kushki" | "mach" | "medianet" | "mercadopago" | "niubiz" | "paymentz" | "paypal" | "payphone" | "place_to_pay" | "pluxee" | "posnet" | "redeban" | "rutpay" | "sitef_venezuela" | "stripe" | "transbank" | "yape";
2080
- /** A recorded payment intent on an order. */
2217
+ /** How an order is paid: one or more tenders (`orders.payment_intents[]`). */
2081
2218
  type PaymentIntent = {
2082
- id?: string | undefined;
2083
- payment_id?: string | undefined;
2084
- method: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET";
2085
- provider: "amipass" | "cashea" | "clisitef" | "credibanco" | "datafast" | "deuna" | "edenred" | "firespark" | "kushki" | "mach" | "medianet" | "mercadopago" | "niubiz" | "paymentz" | "paypal" | "payphone" | "place_to_pay" | "pluxee" | "posnet" | "redeban" | "rutpay" | "sitef_venezuela" | "stripe" | "transbank" | "yape";
2086
- collect_at: "COUNTER" | "DEVICE" | "DOOR" | "KIOSK" | "OTHER";
2087
- status: "CANCELLED" | "FAILED" | "IDLE" | "PAID" | "PENDING" | "REFUNDED";
2219
+ id: string;
2220
+ status: "ABANDONED" | "COMPLETED" | "DRAFT" | "LOCKED";
2221
+ is_mixed: boolean;
2222
+ rules_snapshot: {
2223
+ enabled: boolean;
2224
+ max_methods: number;
2225
+ max_items_per_method: number | null;
2226
+ max_amount_per_method: number | null;
2227
+ per_method: Partial<Record<"BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET", {
2228
+ max_amount: number | null;
2229
+ max_items: number | null;
2230
+ }>>;
2231
+ } | null;
2232
+ primary_tender_id: string | null;
2088
2233
  totals: {
2089
2234
  currency: string;
2090
2235
  subtotal: number;
@@ -2094,19 +2239,114 @@ type PaymentIntent = {
2094
2239
  tax_total: number;
2095
2240
  total: number;
2096
2241
  };
2097
- error_message?: string | undefined;
2098
- placed_at: string;
2242
+ placed_at: string | null;
2099
2243
  resolved_at?: string | undefined;
2100
2244
  metadata: Record<string, unknown>;
2245
+ tenders: {
2246
+ id: string;
2247
+ sequence: number;
2248
+ attempt_reference: string;
2249
+ previous_attempt_references: string[];
2250
+ method: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "REDEMPTION" | "WALLET";
2251
+ provider: "amipass" | "cashea" | "clisitef" | "credibanco" | "datafast" | "deuna" | "edenred" | "firespark" | "kushki" | "mach" | "medianet" | "mercadopago" | "niubiz" | "paymentz" | "paypal" | "payphone" | "place_to_pay" | "pluxee" | "posnet" | "redeban" | "rutpay" | "sitef_venezuela" | "stripe" | "transbank" | "yape";
2252
+ payment_id?: string | undefined;
2253
+ collect_at: "COUNTER" | "DEVICE" | "DOOR" | "KIOSK" | "OTHER";
2254
+ status: "CANCELLED" | "FAILED" | "IDLE" | "PAID" | "PENDING" | "REFUNDED";
2255
+ amount: {
2256
+ currency: string;
2257
+ subtotal: number;
2258
+ discount_total: number;
2259
+ tax_total: number;
2260
+ fees: number;
2261
+ tip: number;
2262
+ delivery: number;
2263
+ redemptions_applied: number;
2264
+ total: number;
2265
+ };
2266
+ refunded_total: number;
2267
+ allocation: {
2268
+ lines: {
2269
+ line_uid: string;
2270
+ units?: number | undefined;
2271
+ }[];
2272
+ fees: string[];
2273
+ amounts: {
2274
+ line_uid: string;
2275
+ units?: number | undefined;
2276
+ subtotal: number;
2277
+ discount: number;
2278
+ tax: number;
2279
+ total: number;
2280
+ children: {
2281
+ line_uid: string;
2282
+ quantity: number;
2283
+ subtotal: number;
2284
+ discount: number;
2285
+ tax: number;
2286
+ total: number;
2287
+ }[];
2288
+ }[];
2289
+ } | null;
2290
+ details: {
2291
+ brand: string;
2292
+ last4: string;
2293
+ auth_code?: string | undefined;
2294
+ installments?: number | undefined;
2295
+ method: "CARD";
2296
+ } | {
2297
+ brand: string;
2298
+ last4: string;
2299
+ auth_code?: string | undefined;
2300
+ installments?: number | undefined;
2301
+ method: "PIN_PAD";
2302
+ terminal_id: string;
2303
+ } | {
2304
+ method: "CASH";
2305
+ tendered: number;
2306
+ change: number;
2307
+ } | {
2308
+ method: "BANK_TRANSFER";
2309
+ reference: string;
2310
+ bank?: string | undefined;
2311
+ } | {
2312
+ method: "WALLET";
2313
+ wallet: string;
2314
+ reference: string;
2315
+ } | {
2316
+ method: "FINANCING";
2317
+ provider_reference: string;
2318
+ installments: number;
2319
+ } | {
2320
+ method: "REDEMPTION";
2321
+ reward_id: string;
2322
+ program: string;
2323
+ points: number;
2324
+ points_value: number;
2325
+ loyalty_transaction_id?: string | undefined;
2326
+ } | null;
2327
+ replaces_tender_id?: string | undefined;
2328
+ error_message?: string | undefined;
2329
+ placed_at: string | null;
2330
+ resolved_at?: string | undefined;
2331
+ metadata: Record<string, unknown>;
2332
+ }[];
2101
2333
  };
2102
- /** Input shape for `placeOrder` `payment.intents` (`metadata` optional). */
2334
+ /** Stored payment intent as accepted on input (defaults optional). */
2103
2335
  type PaymentIntentInput = {
2104
- id?: string | undefined;
2105
- payment_id?: string | undefined;
2106
- method: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET";
2107
- provider: "amipass" | "cashea" | "clisitef" | "credibanco" | "datafast" | "deuna" | "edenred" | "firespark" | "kushki" | "mach" | "medianet" | "mercadopago" | "niubiz" | "paymentz" | "paypal" | "payphone" | "place_to_pay" | "pluxee" | "posnet" | "redeban" | "rutpay" | "sitef_venezuela" | "stripe" | "transbank" | "yape";
2108
- collect_at: "COUNTER" | "DEVICE" | "DOOR" | "KIOSK" | "OTHER";
2109
- status: "CANCELLED" | "FAILED" | "IDLE" | "PAID" | "PENDING" | "REFUNDED";
2336
+ id: string;
2337
+ status: "ABANDONED" | "COMPLETED" | "DRAFT" | "LOCKED";
2338
+ is_mixed?: boolean | undefined;
2339
+ rules_snapshot?: {
2340
+ enabled?: boolean | undefined;
2341
+ max_methods?: number | undefined;
2342
+ max_items_per_method?: number | null | undefined;
2343
+ max_amount_per_method?: number | null | undefined;
2344
+ per_method?: Partial<Record<"BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET", {
2345
+ max_amount?: number | null | undefined;
2346
+ max_items?: number | null | undefined;
2347
+ }>> | undefined;
2348
+ } | null | undefined;
2349
+ primary_tender_id: string | null;
2110
2350
  totals: {
2111
2351
  currency: string;
2112
2352
  subtotal: number;
@@ -2116,11 +2356,431 @@ type PaymentIntentInput = {
2116
2356
  tax_total: number;
2117
2357
  total: number;
2118
2358
  };
2359
+ placed_at?: string | null | undefined;
2360
+ resolved_at?: string | undefined;
2361
+ metadata?: Record<string, unknown> | undefined;
2362
+ tenders: {
2363
+ id: string;
2364
+ sequence: number;
2365
+ attempt_reference: string;
2366
+ previous_attempt_references?: string[] | undefined;
2367
+ method: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "REDEMPTION" | "WALLET";
2368
+ provider: "amipass" | "cashea" | "clisitef" | "credibanco" | "datafast" | "deuna" | "edenred" | "firespark" | "kushki" | "mach" | "medianet" | "mercadopago" | "niubiz" | "paymentz" | "paypal" | "payphone" | "place_to_pay" | "pluxee" | "posnet" | "redeban" | "rutpay" | "sitef_venezuela" | "stripe" | "transbank" | "yape";
2369
+ payment_id?: string | undefined;
2370
+ collect_at: "COUNTER" | "DEVICE" | "DOOR" | "KIOSK" | "OTHER";
2371
+ status: "CANCELLED" | "FAILED" | "IDLE" | "PAID" | "PENDING" | "REFUNDED";
2372
+ amount: {
2373
+ currency: string;
2374
+ subtotal: number;
2375
+ discount_total: number;
2376
+ tax_total: number;
2377
+ fees?: number | undefined;
2378
+ tip?: number | undefined;
2379
+ delivery?: number | undefined;
2380
+ redemptions_applied?: number | undefined;
2381
+ total: number;
2382
+ };
2383
+ refunded_total?: number | undefined;
2384
+ allocation?: {
2385
+ lines?: {
2386
+ line_uid: string;
2387
+ units?: number | undefined;
2388
+ }[] | undefined;
2389
+ fees?: string[] | undefined;
2390
+ amounts?: {
2391
+ line_uid: string;
2392
+ units?: number | undefined;
2393
+ subtotal: number;
2394
+ discount: number;
2395
+ tax: number;
2396
+ total: number;
2397
+ children?: {
2398
+ line_uid: string;
2399
+ quantity: number;
2400
+ subtotal: number;
2401
+ discount: number;
2402
+ tax: number;
2403
+ total: number;
2404
+ }[] | undefined;
2405
+ }[] | undefined;
2406
+ } | null | undefined;
2407
+ details?: {
2408
+ brand: string;
2409
+ last4: string;
2410
+ auth_code?: string | undefined;
2411
+ installments?: number | undefined;
2412
+ method: "CARD";
2413
+ } | {
2414
+ brand: string;
2415
+ last4: string;
2416
+ auth_code?: string | undefined;
2417
+ installments?: number | undefined;
2418
+ method: "PIN_PAD";
2419
+ terminal_id: string;
2420
+ } | {
2421
+ method: "CASH";
2422
+ tendered: number;
2423
+ change: number;
2424
+ } | {
2425
+ method: "BANK_TRANSFER";
2426
+ reference: string;
2427
+ bank?: string | undefined;
2428
+ } | {
2429
+ method: "WALLET";
2430
+ wallet: string;
2431
+ reference: string;
2432
+ } | {
2433
+ method: "FINANCING";
2434
+ provider_reference: string;
2435
+ installments: number;
2436
+ } | {
2437
+ method: "REDEMPTION";
2438
+ reward_id: string;
2439
+ program: string;
2440
+ points: number;
2441
+ points_value: number;
2442
+ loyalty_transaction_id?: string | undefined;
2443
+ } | null | undefined;
2444
+ replaces_tender_id?: string | undefined;
2445
+ error_message?: string | undefined;
2446
+ placed_at?: string | null | undefined;
2447
+ resolved_at?: string | undefined;
2448
+ metadata?: Record<string, unknown> | undefined;
2449
+ }[];
2450
+ };
2451
+ /** Lifecycle of a payment intent (`DRAFT` → `LOCKED` → `COMPLETED`). */
2452
+ type PaymentIntentStatus = "ABANDONED" | "COMPLETED" | "DRAFT" | "LOCKED";
2453
+ /** Tender / order `payment_status`. */
2454
+ type PaymentStatus = "CANCELLED" | "FAILED" | "IDLE" | "PAID" | "PENDING" | "REFUNDED";
2455
+ /** Where a tender is collected. */
2456
+ type PaymentCollectAt = "COUNTER" | "DEVICE" | "DOOR" | "KIOSK" | "OTHER";
2457
+ /** `payment_scope` of a `PAYING` workflow node. */
2458
+ type PaymentScope = "digital" | "in_person";
2459
+ /** One payment method inside an intent. */
2460
+ type PaymentTender = {
2461
+ id: string;
2462
+ sequence: number;
2463
+ attempt_reference: string;
2464
+ previous_attempt_references: string[];
2465
+ method: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "REDEMPTION" | "WALLET";
2466
+ provider: "amipass" | "cashea" | "clisitef" | "credibanco" | "datafast" | "deuna" | "edenred" | "firespark" | "kushki" | "mach" | "medianet" | "mercadopago" | "niubiz" | "paymentz" | "paypal" | "payphone" | "place_to_pay" | "pluxee" | "posnet" | "redeban" | "rutpay" | "sitef_venezuela" | "stripe" | "transbank" | "yape";
2467
+ payment_id?: string | undefined;
2468
+ collect_at: "COUNTER" | "DEVICE" | "DOOR" | "KIOSK" | "OTHER";
2469
+ status: "CANCELLED" | "FAILED" | "IDLE" | "PAID" | "PENDING" | "REFUNDED";
2470
+ amount: {
2471
+ currency: string;
2472
+ subtotal: number;
2473
+ discount_total: number;
2474
+ tax_total: number;
2475
+ fees: number;
2476
+ tip: number;
2477
+ delivery: number;
2478
+ redemptions_applied: number;
2479
+ total: number;
2480
+ };
2481
+ refunded_total: number;
2482
+ allocation: {
2483
+ lines: {
2484
+ line_uid: string;
2485
+ units?: number | undefined;
2486
+ }[];
2487
+ fees: string[];
2488
+ amounts: {
2489
+ line_uid: string;
2490
+ units?: number | undefined;
2491
+ subtotal: number;
2492
+ discount: number;
2493
+ tax: number;
2494
+ total: number;
2495
+ children: {
2496
+ line_uid: string;
2497
+ quantity: number;
2498
+ subtotal: number;
2499
+ discount: number;
2500
+ tax: number;
2501
+ total: number;
2502
+ }[];
2503
+ }[];
2504
+ } | null;
2505
+ details: {
2506
+ brand: string;
2507
+ last4: string;
2508
+ auth_code?: string | undefined;
2509
+ installments?: number | undefined;
2510
+ method: "CARD";
2511
+ } | {
2512
+ brand: string;
2513
+ last4: string;
2514
+ auth_code?: string | undefined;
2515
+ installments?: number | undefined;
2516
+ method: "PIN_PAD";
2517
+ terminal_id: string;
2518
+ } | {
2519
+ method: "CASH";
2520
+ tendered: number;
2521
+ change: number;
2522
+ } | {
2523
+ method: "BANK_TRANSFER";
2524
+ reference: string;
2525
+ bank?: string | undefined;
2526
+ } | {
2527
+ method: "WALLET";
2528
+ wallet: string;
2529
+ reference: string;
2530
+ } | {
2531
+ method: "FINANCING";
2532
+ provider_reference: string;
2533
+ installments: number;
2534
+ } | {
2535
+ method: "REDEMPTION";
2536
+ reward_id: string;
2537
+ program: string;
2538
+ points: number;
2539
+ points_value: number;
2540
+ loyalty_transaction_id?: string | undefined;
2541
+ } | null;
2542
+ replaces_tender_id?: string | undefined;
2119
2543
  error_message?: string | undefined;
2120
- placed_at: string;
2544
+ placed_at: string | null;
2121
2545
  resolved_at?: string | undefined;
2546
+ metadata: Record<string, unknown>;
2547
+ };
2548
+ /** Money one tender charges. */
2549
+ type TenderAmount = {
2550
+ currency: string;
2551
+ subtotal: number;
2552
+ discount_total: number;
2553
+ tax_total: number;
2554
+ fees: number;
2555
+ tip: number;
2556
+ delivery: number;
2557
+ redemptions_applied: number;
2558
+ total: number;
2559
+ };
2560
+ /** Lines / fees a tender covers, with server-computed amounts. */
2561
+ type TenderAllocation = {
2562
+ lines: {
2563
+ line_uid: string;
2564
+ units?: number | undefined;
2565
+ }[];
2566
+ fees: string[];
2567
+ amounts: {
2568
+ line_uid: string;
2569
+ units?: number | undefined;
2570
+ subtotal: number;
2571
+ discount: number;
2572
+ tax: number;
2573
+ total: number;
2574
+ children: {
2575
+ line_uid: string;
2576
+ quantity: number;
2577
+ subtotal: number;
2578
+ discount: number;
2579
+ tax: number;
2580
+ total: number;
2581
+ }[];
2582
+ }[];
2583
+ };
2584
+ /** Allocation sent by clients (no `amounts`). */
2585
+ type TenderAllocationInput = {
2586
+ lines?: {
2587
+ line_uid: string;
2588
+ units?: number | undefined;
2589
+ }[] | undefined;
2590
+ fees?: string[] | undefined;
2591
+ };
2592
+ /** Non-sensitive tender data, discriminated by `method`. */
2593
+ type TenderDetails = {
2594
+ brand: string;
2595
+ last4: string;
2596
+ auth_code?: string | undefined;
2597
+ installments?: number | undefined;
2598
+ method: "CARD";
2599
+ } | {
2600
+ brand: string;
2601
+ last4: string;
2602
+ auth_code?: string | undefined;
2603
+ installments?: number | undefined;
2604
+ method: "PIN_PAD";
2605
+ terminal_id: string;
2606
+ } | {
2607
+ method: "CASH";
2608
+ tendered: number;
2609
+ change: number;
2610
+ } | {
2611
+ method: "BANK_TRANSFER";
2612
+ reference: string;
2613
+ bank?: string | undefined;
2614
+ } | {
2615
+ method: "WALLET";
2616
+ wallet: string;
2617
+ reference: string;
2618
+ } | {
2619
+ method: "FINANCING";
2620
+ provider_reference: string;
2621
+ installments: number;
2622
+ } | {
2623
+ method: "REDEMPTION";
2624
+ reward_id: string;
2625
+ program: string;
2626
+ points: number;
2627
+ points_value: number;
2628
+ loyalty_transaction_id?: string | undefined;
2629
+ };
2630
+ /** One tender in `PUT /storefront/v1/orders/{id}/payment-intent`. */
2631
+ type PaymentTenderInput = {
2632
+ id?: string | undefined;
2633
+ attempt_reference?: string | undefined;
2634
+ method: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "REDEMPTION" | "WALLET";
2635
+ provider: "amipass" | "cashea" | "clisitef" | "credibanco" | "datafast" | "deuna" | "edenred" | "firespark" | "kushki" | "mach" | "medianet" | "mercadopago" | "niubiz" | "paymentz" | "paypal" | "payphone" | "place_to_pay" | "pluxee" | "posnet" | "redeban" | "rutpay" | "sitef_venezuela" | "stripe" | "transbank" | "yape";
2636
+ payment_id?: string | undefined;
2637
+ collect_at: "COUNTER" | "DEVICE" | "DOOR" | "KIOSK" | "OTHER";
2638
+ allocation?: {
2639
+ lines?: {
2640
+ line_uid: string;
2641
+ units?: number | undefined;
2642
+ }[] | undefined;
2643
+ fees?: string[] | undefined;
2644
+ } | null | undefined;
2645
+ details?: {
2646
+ brand: string;
2647
+ last4: string;
2648
+ auth_code?: string | undefined;
2649
+ installments?: number | undefined;
2650
+ method: "CARD";
2651
+ } | {
2652
+ brand: string;
2653
+ last4: string;
2654
+ auth_code?: string | undefined;
2655
+ installments?: number | undefined;
2656
+ method: "PIN_PAD";
2657
+ terminal_id: string;
2658
+ } | {
2659
+ method: "CASH";
2660
+ tendered: number;
2661
+ change: number;
2662
+ } | {
2663
+ method: "BANK_TRANSFER";
2664
+ reference: string;
2665
+ bank?: string | undefined;
2666
+ } | {
2667
+ method: "WALLET";
2668
+ wallet: string;
2669
+ reference: string;
2670
+ } | {
2671
+ method: "FINANCING";
2672
+ provider_reference: string;
2673
+ installments: number;
2674
+ } | {
2675
+ method: "REDEMPTION";
2676
+ reward_id: string;
2677
+ program: string;
2678
+ points: number;
2679
+ points_value: number;
2680
+ loyalty_transaction_id?: string | undefined;
2681
+ } | null | undefined;
2682
+ };
2683
+ /** `PUT /storefront/v1/orders/{id}/payment-intent` body. */
2684
+ type PaymentIntentPutInput = {
2685
+ tenders: {
2686
+ id?: string | undefined;
2687
+ attempt_reference?: string | undefined;
2688
+ method: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "REDEMPTION" | "WALLET";
2689
+ provider: "amipass" | "cashea" | "clisitef" | "credibanco" | "datafast" | "deuna" | "edenred" | "firespark" | "kushki" | "mach" | "medianet" | "mercadopago" | "niubiz" | "paymentz" | "paypal" | "payphone" | "place_to_pay" | "pluxee" | "posnet" | "redeban" | "rutpay" | "sitef_venezuela" | "stripe" | "transbank" | "yape";
2690
+ payment_id?: string | undefined;
2691
+ collect_at: "COUNTER" | "DEVICE" | "DOOR" | "KIOSK" | "OTHER";
2692
+ allocation?: {
2693
+ lines?: {
2694
+ line_uid: string;
2695
+ units?: number | undefined;
2696
+ }[] | undefined;
2697
+ fees?: string[] | undefined;
2698
+ } | null | undefined;
2699
+ details?: {
2700
+ brand: string;
2701
+ last4: string;
2702
+ auth_code?: string | undefined;
2703
+ installments?: number | undefined;
2704
+ method: "CARD";
2705
+ } | {
2706
+ brand: string;
2707
+ last4: string;
2708
+ auth_code?: string | undefined;
2709
+ installments?: number | undefined;
2710
+ method: "PIN_PAD";
2711
+ terminal_id: string;
2712
+ } | {
2713
+ method: "CASH";
2714
+ tendered: number;
2715
+ change: number;
2716
+ } | {
2717
+ method: "BANK_TRANSFER";
2718
+ reference: string;
2719
+ bank?: string | undefined;
2720
+ } | {
2721
+ method: "WALLET";
2722
+ wallet: string;
2723
+ reference: string;
2724
+ } | {
2725
+ method: "FINANCING";
2726
+ provider_reference: string;
2727
+ installments: number;
2728
+ } | {
2729
+ method: "REDEMPTION";
2730
+ reward_id: string;
2731
+ program: string;
2732
+ points: number;
2733
+ points_value: number;
2734
+ loyalty_transaction_id?: string | undefined;
2735
+ } | null | undefined;
2736
+ }[];
2122
2737
  metadata?: Record<string, unknown> | undefined;
2123
2738
  };
2739
+ /** `POST …/tenders/{tenderId}/replace` body. */
2740
+ type TenderReplaceInput = {
2741
+ method: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "REDEMPTION" | "WALLET";
2742
+ payment_id: string;
2743
+ provider: "amipass" | "cashea" | "clisitef" | "credibanco" | "datafast" | "deuna" | "edenred" | "firespark" | "kushki" | "mach" | "medianet" | "mercadopago" | "niubiz" | "paymentz" | "paypal" | "payphone" | "place_to_pay" | "pluxee" | "posnet" | "redeban" | "rutpay" | "sitef_venezuela" | "stripe" | "transbank" | "yape";
2744
+ collect_at: "COUNTER" | "DEVICE" | "DOOR" | "KIOSK" | "OTHER";
2745
+ };
2746
+ /** `POST …/tenders/{tenderId}/void` body. */
2747
+ type TenderVoidInput = {
2748
+ idempotency_key: string;
2749
+ reason?: string | undefined;
2750
+ };
2751
+ /** `POST …/tenders/{tenderId}/refund` body. */
2752
+ type TenderRefundInput = {
2753
+ idempotency_key: string;
2754
+ amount?: number | undefined;
2755
+ items?: {
2756
+ line_uid: string;
2757
+ units?: number | undefined;
2758
+ }[] | undefined;
2759
+ reason?: string | undefined;
2760
+ };
2761
+ /** Mixed payments limits exposed in storefront preferences. */
2762
+ type MixedPaymentsLimits = {
2763
+ max_methods: number;
2764
+ max_items_per_method: number | null;
2765
+ max_amount_per_method: number | null;
2766
+ per_method: Partial<Record<"BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET", {
2767
+ max_amount: number | null;
2768
+ max_items: number | null;
2769
+ }>>;
2770
+ };
2771
+ /** Effect of a merchant `mixed_payments` rule. */
2772
+ type MixedPaymentsEffect = {
2773
+ enabled: boolean;
2774
+ max_methods: number;
2775
+ max_items_per_method: number | null;
2776
+ max_amount_per_method: number | null;
2777
+ per_method: Partial<Record<"BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET", {
2778
+ max_amount: number | null;
2779
+ max_items: number | null;
2780
+ }>>;
2781
+ };
2782
+ /** `details.code` of intent / tender API errors. */
2783
+ type PaymentErrorCode = "MIXED_PAYMENTS_DISABLED" | "PAYMENT_AMOUNT_EXCEEDED" | "PAYMENT_INTENT_LOCKED" | "PAYMENT_INTENT_STALE" | "PAYMENT_INVALID_ALLOCATION" | "PAYMENT_INVALID_COMBINATION" | "PAYMENT_INVALID_PRIMARY" | "PAYMENT_LINE_NOT_SPLITTABLE" | "PAYMENT_METHOD_UNAVAILABLE" | "PAYMENT_REDEMPTION_EXCEEDED" | "PAYMENT_REDEMPTION_MISMATCH" | "PAYMENT_TOO_MANY_ITEMS" | "PAYMENT_TOO_MANY_METHODS" | "PAYMENT_UNALLOCATED_LINES" | "REDEEM_PAYMENT_METHOD_NOT_CONFIGURED";
2124
2784
  /** `POST /storefront/v1/orders` body. */
2125
2785
  type OrderInsertInput = {
2126
2786
  id: string;
@@ -2194,7 +2854,12 @@ type OrderInsertInput = {
2194
2854
  quantity?: number | undefined;
2195
2855
  discount_rate?: number | undefined;
2196
2856
  discount_amount?: number | undefined;
2857
+ before_taxes?: boolean | undefined;
2197
2858
  expires_at?: string | undefined;
2859
+ payment_id?: string | undefined;
2860
+ amount?: number | undefined;
2861
+ points?: number | undefined;
2862
+ program?: string | undefined;
2198
2863
  }[] | undefined;
2199
2864
  quantity: number;
2200
2865
  tax_rate: number | null;
@@ -2221,7 +2886,12 @@ type OrderInsertInput = {
2221
2886
  quantity?: number | undefined;
2222
2887
  discount_rate?: number | undefined;
2223
2888
  discount_amount?: number | undefined;
2889
+ before_taxes?: boolean | undefined;
2224
2890
  expires_at?: string | undefined;
2891
+ payment_id?: string | undefined;
2892
+ amount?: number | undefined;
2893
+ points?: number | undefined;
2894
+ program?: string | undefined;
2225
2895
  }[] | undefined;
2226
2896
  redemption_steps?: {
2227
2897
  reward_id: string;
@@ -2266,28 +2936,6 @@ type OrderInsertInput = {
2266
2936
  total: number;
2267
2937
  } | undefined;
2268
2938
  metadata?: Record<string, unknown> | undefined;
2269
- payment_intents?: {
2270
- id?: string | undefined;
2271
- payment_id?: string | undefined;
2272
- method: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET";
2273
- provider: "amipass" | "cashea" | "clisitef" | "credibanco" | "datafast" | "deuna" | "edenred" | "firespark" | "kushki" | "mach" | "medianet" | "mercadopago" | "niubiz" | "paymentz" | "paypal" | "payphone" | "place_to_pay" | "pluxee" | "posnet" | "redeban" | "rutpay" | "sitef_venezuela" | "stripe" | "transbank" | "yape";
2274
- collect_at: "COUNTER" | "DEVICE" | "DOOR" | "KIOSK" | "OTHER";
2275
- status: "CANCELLED" | "FAILED" | "IDLE" | "PAID" | "PENDING" | "REFUNDED";
2276
- totals: {
2277
- currency: string;
2278
- subtotal: number;
2279
- discount_rate: number;
2280
- discount_total: number;
2281
- tax_rate: number;
2282
- tax_total: number;
2283
- total: number;
2284
- };
2285
- error_message?: string | undefined;
2286
- placed_at: string;
2287
- resolved_at?: string | undefined;
2288
- metadata?: Record<string, unknown> | undefined;
2289
- }[] | undefined;
2290
- payment_status?: "CANCELLED" | "FAILED" | "IDLE" | "PAID" | "PENDING" | "REFUNDED" | undefined;
2291
2939
  };
2292
2940
  /** `PATCH /storefront/v1/orders/{id}` body. */
2293
2941
  type OrderUpdateInput = {
@@ -2360,7 +3008,12 @@ type OrderUpdateInput = {
2360
3008
  quantity?: number | undefined;
2361
3009
  discount_rate?: number | undefined;
2362
3010
  discount_amount?: number | undefined;
3011
+ before_taxes?: boolean | undefined;
2363
3012
  expires_at?: string | undefined;
3013
+ payment_id?: string | undefined;
3014
+ amount?: number | undefined;
3015
+ points?: number | undefined;
3016
+ program?: string | undefined;
2364
3017
  }[] | undefined;
2365
3018
  quantity: number;
2366
3019
  tax_rate: number | null;
@@ -2387,7 +3040,12 @@ type OrderUpdateInput = {
2387
3040
  quantity?: number | undefined;
2388
3041
  discount_rate?: number | undefined;
2389
3042
  discount_amount?: number | undefined;
3043
+ before_taxes?: boolean | undefined;
2390
3044
  expires_at?: string | undefined;
3045
+ payment_id?: string | undefined;
3046
+ amount?: number | undefined;
3047
+ points?: number | undefined;
3048
+ program?: string | undefined;
2391
3049
  }[] | undefined;
2392
3050
  redemption_steps?: {
2393
3051
  reward_id: string;
@@ -2432,28 +3090,6 @@ type OrderUpdateInput = {
2432
3090
  total: number;
2433
3091
  } | undefined;
2434
3092
  metadata?: Record<string, unknown> | undefined;
2435
- payment_intents?: {
2436
- id?: string | undefined;
2437
- payment_id?: string | undefined;
2438
- method: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET";
2439
- provider: "amipass" | "cashea" | "clisitef" | "credibanco" | "datafast" | "deuna" | "edenred" | "firespark" | "kushki" | "mach" | "medianet" | "mercadopago" | "niubiz" | "paymentz" | "paypal" | "payphone" | "place_to_pay" | "pluxee" | "posnet" | "redeban" | "rutpay" | "sitef_venezuela" | "stripe" | "transbank" | "yape";
2440
- collect_at: "COUNTER" | "DEVICE" | "DOOR" | "KIOSK" | "OTHER";
2441
- status: "CANCELLED" | "FAILED" | "IDLE" | "PAID" | "PENDING" | "REFUNDED";
2442
- totals: {
2443
- currency: string;
2444
- subtotal: number;
2445
- discount_rate: number;
2446
- discount_total: number;
2447
- tax_rate: number;
2448
- tax_total: number;
2449
- total: number;
2450
- };
2451
- error_message?: string | undefined;
2452
- placed_at: string;
2453
- resolved_at?: string | undefined;
2454
- metadata?: Record<string, unknown> | undefined;
2455
- }[] | undefined;
2456
- payment_status?: "CANCELLED" | "FAILED" | "IDLE" | "PAID" | "PENDING" | "REFUNDED" | undefined;
2457
3093
  };
2458
3094
  /** `GET /storefront/v1/orders` query. */
2459
3095
  type OrderListInput = {
@@ -2494,7 +3130,12 @@ type OrderValidateInput = {
2494
3130
  quantity?: number | undefined;
2495
3131
  discount_rate?: number | undefined;
2496
3132
  discount_amount?: number | undefined;
3133
+ before_taxes?: boolean | undefined;
2497
3134
  expires_at?: string | undefined;
3135
+ payment_id?: string | undefined;
3136
+ amount?: number | undefined;
3137
+ points?: number | undefined;
3138
+ program?: string | undefined;
2498
3139
  }[] | undefined;
2499
3140
  quantity: number;
2500
3141
  tax_rate: number | null;
@@ -2521,7 +3162,12 @@ type OrderValidateInput = {
2521
3162
  quantity?: number | undefined;
2522
3163
  discount_rate?: number | undefined;
2523
3164
  discount_amount?: number | undefined;
3165
+ before_taxes?: boolean | undefined;
2524
3166
  expires_at?: string | undefined;
3167
+ payment_id?: string | undefined;
3168
+ amount?: number | undefined;
3169
+ points?: number | undefined;
3170
+ program?: string | undefined;
2525
3171
  }[] | undefined;
2526
3172
  redemption_steps?: {
2527
3173
  reward_id: string;
@@ -2566,7 +3212,7 @@ type OrderValidateInput = {
2566
3212
  total: number;
2567
3213
  };
2568
3214
  payment_id?: string | undefined;
2569
- payment_method?: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET" | undefined;
3215
+ payment_method?: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "REDEMPTION" | "WALLET" | undefined;
2570
3216
  };
2571
3217
  /** `POST /storefront/v1/orders/validate` success `data`. */
2572
3218
  type OrderValidateOutput = {
@@ -2578,30 +3224,50 @@ type OrderReorderInput = {
2578
3224
  };
2579
3225
  /** `POST /storefront/v1/orders/{id}/payments` body. */
2580
3226
  type OrderRecordPaymentInput = {
2581
- intent: {
2582
- id?: string | undefined;
2583
- payment_id?: string | undefined;
2584
- method: "BANK_TRANSFER" | "CARD" | "CASH" | "FINANCING" | "PIN_PAD" | "WALLET";
2585
- provider: "amipass" | "cashea" | "clisitef" | "credibanco" | "datafast" | "deuna" | "edenred" | "firespark" | "kushki" | "mach" | "medianet" | "mercadopago" | "niubiz" | "paymentz" | "paypal" | "payphone" | "place_to_pay" | "pluxee" | "posnet" | "redeban" | "rutpay" | "sitef_venezuela" | "stripe" | "transbank" | "yape";
2586
- collect_at: "COUNTER" | "DEVICE" | "DOOR" | "KIOSK" | "OTHER";
2587
- status: "CANCELLED" | "FAILED" | "IDLE" | "PAID" | "PENDING" | "REFUNDED";
2588
- totals: {
2589
- currency: string;
2590
- subtotal: number;
2591
- discount_rate: number;
2592
- discount_total: number;
2593
- tax_rate: number;
2594
- tax_total: number;
2595
- total: number;
2596
- };
2597
- error_message?: string | undefined;
2598
- placed_at: string;
2599
- resolved_at?: string | undefined;
2600
- metadata: {
2601
- [x: string]: unknown;
2602
- attempt_reference: string;
2603
- };
2604
- };
3227
+ tender_id: string;
3228
+ attempt_reference: string;
3229
+ status: "CANCELLED" | "FAILED" | "IDLE" | "PAID" | "PENDING" | "REFUNDED";
3230
+ details?: {
3231
+ brand: string;
3232
+ last4: string;
3233
+ auth_code?: string | undefined;
3234
+ installments?: number | undefined;
3235
+ method: "CARD";
3236
+ } | {
3237
+ brand: string;
3238
+ last4: string;
3239
+ auth_code?: string | undefined;
3240
+ installments?: number | undefined;
3241
+ method: "PIN_PAD";
3242
+ terminal_id: string;
3243
+ } | {
3244
+ method: "CASH";
3245
+ tendered: number;
3246
+ change: number;
3247
+ } | {
3248
+ method: "BANK_TRANSFER";
3249
+ reference: string;
3250
+ bank?: string | undefined;
3251
+ } | {
3252
+ method: "WALLET";
3253
+ wallet: string;
3254
+ reference: string;
3255
+ } | {
3256
+ method: "FINANCING";
3257
+ provider_reference: string;
3258
+ installments: number;
3259
+ } | {
3260
+ method: "REDEMPTION";
3261
+ reward_id: string;
3262
+ program: string;
3263
+ points: number;
3264
+ points_value: number;
3265
+ loyalty_transaction_id?: string | undefined;
3266
+ } | null | undefined;
3267
+ approved_amount?: number | undefined;
3268
+ provider_reference?: string | undefined;
3269
+ error_message?: string | undefined;
3270
+ metadata?: Record<string, unknown> | undefined;
2605
3271
  };
2606
3272
  //#endregion
2607
3273
  //#region .flat/src/pos.d.ts
@@ -2743,7 +3409,12 @@ type PosOrderInput = {
2743
3409
  quantity?: number | undefined;
2744
3410
  discount_rate?: number | undefined;
2745
3411
  discount_amount?: number | undefined;
3412
+ before_taxes?: boolean | undefined;
2746
3413
  expires_at?: string | undefined;
3414
+ payment_id?: string | undefined;
3415
+ amount?: number | undefined;
3416
+ points?: number | undefined;
3417
+ program?: string | undefined;
2747
3418
  }[] | undefined;
2748
3419
  quantity: number;
2749
3420
  tax_rate: number | null;
@@ -2779,6 +3450,19 @@ type PosOrderInput = {
2779
3450
  tendered?: number | undefined;
2780
3451
  change?: number | undefined;
2781
3452
  };
3453
+ tenders?: {
3454
+ payment_id: string;
3455
+ method?: string | undefined;
3456
+ collect_at?: "COUNTER" | undefined;
3457
+ allocation: {
3458
+ lines?: {
3459
+ line_uid: string;
3460
+ units?: number | undefined;
3461
+ }[] | undefined;
3462
+ fees?: string[] | undefined;
3463
+ };
3464
+ attempt_reference?: string | undefined;
3465
+ }[] | undefined;
2782
3466
  occurred_at?: string | undefined;
2783
3467
  notes?: string | undefined;
2784
3468
  };
@@ -2812,6 +3496,7 @@ type PosKioskSettleInput = {
2812
3496
  authorizer_pin?: string | undefined;
2813
3497
  client_id?: string | undefined;
2814
3498
  order_id: string;
3499
+ tender_id?: string | undefined;
2815
3500
  };
2816
3501
  /** `POST /storefront/v1/pos/kiosk-orders/settle` `data`. */
2817
3502
  interface PosKioskSettleResult {
@@ -2872,7 +3557,7 @@ type Condition = {
2872
3557
  channel_id: string;
2873
3558
  brand_id: string;
2874
3559
  primitive: "boolean";
2875
- type: "Customer is anonymous" | "Is anonymous order" | "Order includes product with tag";
3560
+ type: "Customer is anonymous" | "Is anonymous order" | "Order includes product with tag" | "Payment captured" | "Payment is mixed";
2876
3561
  operator: "is" | "is not";
2877
3562
  value: boolean;
2878
3563
  invalidMessage?: string | undefined;
@@ -2968,7 +3653,7 @@ type AndConditions = ({
2968
3653
  channel_id: string;
2969
3654
  brand_id: string;
2970
3655
  primitive: "boolean";
2971
- type: "Customer is anonymous" | "Is anonymous order" | "Order includes product with tag";
3656
+ type: "Customer is anonymous" | "Is anonymous order" | "Order includes product with tag" | "Payment captured" | "Payment is mixed";
2972
3657
  operator: "is" | "is not";
2973
3658
  value: boolean;
2974
3659
  invalidMessage?: string | undefined;
@@ -3064,7 +3749,7 @@ type OrConditions = ({
3064
3749
  channel_id: string;
3065
3750
  brand_id: string;
3066
3751
  primitive: "boolean";
3067
- type: "Customer is anonymous" | "Is anonymous order" | "Order includes product with tag";
3752
+ type: "Customer is anonymous" | "Is anonymous order" | "Order includes product with tag" | "Payment captured" | "Payment is mixed";
3068
3753
  operator: "is" | "is not";
3069
3754
  value: boolean;
3070
3755
  invalidMessage?: string | undefined;
@@ -3151,9 +3836,17 @@ interface RulesEngineParams {
3151
3836
  };
3152
3837
  payment?: {
3153
3838
  id?: string;
3839
+ /** Single-tender facts; `collect_ats` / `methods` win when present. */
3154
3840
  collect_at?: string;
3155
3841
  method?: string;
3156
3842
  status?: string;
3843
+ /** Every live real tender (positive operators = some, negative = none). */
3844
+ collect_ats?: string[];
3845
+ methods?: string[];
3846
+ /** 2+ live real tenders (REDEMPTION excluded). */
3847
+ is_mixed?: boolean;
3848
+ /** Some live tender (real or REDEMPTION) is `PAID`. */
3849
+ captured?: boolean;
3157
3850
  };
3158
3851
  monitoring?: RulesEngineMonitoring;
3159
3852
  referenceDate?: string;
@@ -3185,4 +3878,4 @@ interface CheckoutResolved {
3185
3878
  billingFields: Record<string, CheckoutMode>;
3186
3879
  }
3187
3880
  //#endregion
3188
- export type { AddressInfo, AndConditions, BillingInfo, BillingProfile, BundledItem, Category, CategoryAvailability, CategoryItem, ChannelManifest, ChannelManifestNative, ChannelManifestWeb, ChannelPlatform, ChannelTemplate, CheckoutMode, CheckoutResolved, CmsBlock, CmsBlockItem, Condition, Customer, CustomerGender, CustomerIdentifyInput, CustomerRegisterInput, CustomerUpdateInput, DayOfWeek, DeliveryAddress, Fulfillment, FulfillmentListInput, GroupDisplayType, KioskAdminGesture, KioskAppState, KioskCommandPayload, KioskCommandType, KioskConfigChangedPayload, KioskDeviceConfig, KioskDeviceConfigDevice, KioskDeviceConfigPayment, KioskDeviceConfigScope, KioskDeviceConfigSettings, KioskDeviceOverrides, KioskHealthBatchInput, KioskHealthBatchResult, KioskHealthSample, KioskHeartbeatHealth, KioskHeartbeatInput, KioskHeartbeatResult, KioskOrderPager, KioskPagerSide, KioskPagersOverrides, KioskPagersSettings, KioskRealtimeToken, MatchResult, MatchableRule, Menu, MenuLookup, MerchantPayment, Metadata, ModifierControlType, ModifierGroup, MultiLanguageText, OrConditions, Order, OrderChangedCallback, OrderChangedCallbackError, OrderChangedCheckoutState, OrderChangedError, OrderChangedPayload, OrderChangedRunStatus, OrderFulfillment, OrderInsertInput, OrderLine, OrderListInput, OrderRecordPaymentInput, OrderRedeem, OrderRedeemInput, OrderRedemptionState, OrderRedemptionStep, OrderReorderInput, OrderTotals, OrderUpdateInput, OrderValidateInput, OrderValidateOutput, Payment, PaymentIntent, PaymentIntentInput, PaymentMethod, PaymentProvider, PlaceOrderResult, PosActorKind, PosCashBreakdownItem, PosCatalog, PosDenominationKind, PosDeviceConfigDevice, PosDeviceConfigScope, PosDeviceOverrides, PosErrorCode, PosHealthBatchInput, PosHealthBatchResult, PosHealthSample, PosHeartbeatHealth, PosHeartbeatInput, PosHeartbeatResult, PosKioskOrder, PosKioskSettleInput, PosKioskSettleResult, PosOrderInput, PosOrderResult, PosStaff, PricingModifier, PricingVariant, Product, ProductAvailability, ProductPricing, ProductRecommendationLink, Recommendation, RecurringDateCronExpression, RecurringDateCronRepeat, RecurringDateCronResult, RecurringDateCronValues, RuleInterpretation, RulesEngineMonitoring, RulesEngineOrder, RulesEngineOrderLine, RulesEngineParams, RulesEngineRuntime, Schedule, ScheduleDay, SchedulePeriod, SdkLogContext, SdkLogEntry, SdkLogErrorInfo, SdkLogIngestResult, SdkLogLevel, SdkLogOptions, Store, StoreAvailabilityFilters, StoreGetInput, StoreListInput, StoreNearbyInput, StorefrontAvailability, StorefrontAvailabilityChangedPayload, StorefrontAvailabilityInput, StorefrontAvailabilityRule, StorefrontCmsChangedPayload, StorefrontMenu, StorefrontMenuChangedPayload, StorefrontMenuScope, StorefrontMenuStreamOptions, StorefrontPaymentsListInput, StorefrontPreferences, StorefrontPreferencesInput, StorefrontRealtimeToken, StorefrontRealtimeTokenInput, StorefrontWorkspaceChangedPayload, StringMatchCaseOptions, Variant, VariantGroup };
3881
+ export type { AddressInfo, AndConditions, BillingInfo, BillingProfile, BundledItem, Category, CategoryAvailability, CategoryItem, ChannelManifest, ChannelManifestNative, ChannelManifestWeb, ChannelPlatform, ChannelTemplate, CheckoutMode, CheckoutResolved, CmsBlock, CmsBlockItem, Condition, Customer, CustomerGender, CustomerIdentifyInput, CustomerRegisterInput, CustomerUpdateInput, DayOfWeek, DeliveryAddress, Fulfillment, FulfillmentListInput, GroupDisplayType, KioskAdminGesture, KioskAppState, KioskCommandPayload, KioskCommandType, KioskConfigChangedPayload, KioskDeviceConfig, KioskDeviceConfigDevice, KioskDeviceConfigPayment, KioskDeviceConfigScope, KioskDeviceConfigSettings, KioskDeviceOverrides, KioskHealthBatchInput, KioskHealthBatchResult, KioskHealthSample, KioskHeartbeatHealth, KioskHeartbeatInput, KioskHeartbeatResult, KioskOrderPager, KioskPagerSide, KioskPagersOverrides, KioskPagersSettings, KioskRealtimeToken, MatchResult, MatchableRule, Menu, MenuLookup, MerchantPayment, Metadata, MixedPaymentsEffect, MixedPaymentsLimits, ModifierControlType, ModifierGroup, MultiLanguageText, OrConditions, Order, OrderChangedCallback, OrderChangedCallbackError, OrderChangedCheckoutState, OrderChangedError, OrderChangedPayload, OrderChangedRunStatus, OrderFulfillment, OrderInsertInput, OrderLine, OrderListInput, OrderRecordPaymentInput, OrderRedeem, OrderRedeemInput, OrderRedemptionState, OrderRedemptionStep, OrderReorderInput, OrderTotals, OrderUpdateInput, OrderValidateInput, OrderValidateOutput, Payment, PaymentCollectAt, PaymentErrorCode, PaymentIntent, PaymentIntentInput, PaymentIntentPutInput, PaymentIntentStatus, PaymentMethod, PaymentProvider, PaymentScope, PaymentStatus, PaymentTender, PaymentTenderInput, PlaceOrderResult, PosActorKind, PosCashBreakdownItem, PosCatalog, PosDenominationKind, PosDeviceConfigDevice, PosDeviceConfigScope, PosDeviceOverrides, PosErrorCode, PosHealthBatchInput, PosHealthBatchResult, PosHealthSample, PosHeartbeatHealth, PosHeartbeatInput, PosHeartbeatResult, PosKioskOrder, PosKioskSettleInput, PosKioskSettleResult, PosOrderInput, PosOrderResult, PosStaff, PricingModifier, PricingVariant, Product, ProductAvailability, ProductPricing, ProductRecommendationLink, Recommendation, RecurringDateCronExpression, RecurringDateCronRepeat, RecurringDateCronResult, RecurringDateCronValues, RuleInterpretation, RulesEngineMonitoring, RulesEngineOrder, RulesEngineOrderLine, RulesEngineParams, RulesEngineRuntime, Schedule, ScheduleDay, SchedulePeriod, SdkLogContext, SdkLogEntry, SdkLogErrorInfo, SdkLogIngestResult, SdkLogLevel, SdkLogOptions, Store, StoreAvailabilityFilters, StoreGetInput, StoreListInput, StoreNearbyInput, StorefrontAvailability, StorefrontAvailabilityChangedPayload, StorefrontAvailabilityInput, StorefrontAvailabilityRule, StorefrontCmsChangedPayload, StorefrontMenu, StorefrontMenuChangedPayload, StorefrontMenuScope, StorefrontMenuStreamOptions, StorefrontPaymentsListInput, StorefrontPreferences, StorefrontPreferencesInput, StorefrontRealtimeToken, StorefrontRealtimeTokenInput, StorefrontWorkspaceChangedPayload, StringMatchCaseOptions, TenderAllocation, TenderAllocationInput, TenderAmount, TenderDetails, TenderRefundInput, TenderReplaceInput, TenderVoidInput, Variant, VariantGroup };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fire-spark/types",
3
- "version": "0.1.2",
3
+ "version": "0.3.0",
4
4
  "description": "Fire Spark public TypeScript types",
5
5
  "type": "module",
6
6
  "sideEffects": false,