@munchi_oy/core 2.16.0 → 2.17.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.
@@ -8854,6 +8854,12 @@ export interface GiftCardHistoryEventDto {
8854
8854
  * @memberof GiftCardHistoryEventDto
8855
8855
  */
8856
8856
  'orderId': string | null;
8857
+ /**
8858
+ * The number of that till order, as its receipt and the Orders screen show it; null when there is no order, or its number could not be read
8859
+ * @type {string}
8860
+ * @memberof GiftCardHistoryEventDto
8861
+ */
8862
+ 'orderNumber'?: string | null;
8857
8863
  /**
8858
8864
  * The address of an EMAILED, EMAIL_FAILED or EMAIL_CHANGED line; null for the others
8859
8865
  * @type {string}
@@ -9130,6 +9136,12 @@ export interface GiftCardMovementDto {
9130
9136
  * @memberof GiftCardMovementDto
9131
9137
  */
9132
9138
  'orderId': string | null;
9139
+ /**
9140
+ * The number of that till order, as its receipt and the Orders screen show it; null when there is no order, or its number could not be read
9141
+ * @type {string}
9142
+ * @memberof GiftCardMovementDto
9143
+ */
9144
+ 'orderNumber'?: string | null;
9133
9145
  /**
9134
9146
  * True for a SOLD movement whose card is still NOT_YET_VALID: its POS order is not paid yet, and the report\'s sold leaves it out
9135
9147
  * @type {boolean}
@@ -10125,6 +10137,68 @@ export interface InitiateNetsTerminalPaymentResponseDto {
10125
10137
  */
10126
10138
  'connectCloudRequestId': string;
10127
10139
  }
10140
+ /**
10141
+ *
10142
+ * @export
10143
+ * @interface InitiateNexiSessionDto
10144
+ */
10145
+ export interface InitiateNexiSessionDto {
10146
+ /**
10147
+ *
10148
+ * @type {CreateManualSessionDtoDevice}
10149
+ * @memberof InitiateNexiSessionDto
10150
+ */
10151
+ 'device'?: CreateManualSessionDtoDevice | null;
10152
+ /**
10153
+ * The venue\'s orderingBusinessId. Must be the venue of the station calling.
10154
+ * @type {number}
10155
+ * @memberof InitiateNexiSessionDto
10156
+ */
10157
+ 'businessId': number;
10158
+ /**
10159
+ * The POS order this payment is for.
10160
+ * @type {string}
10161
+ * @memberof InitiateNexiSessionDto
10162
+ */
10163
+ 'orderId': string;
10164
+ /**
10165
+ * Amount to charge, in cents, without a tip: a tip the customer adds on the Nexi terminal is recorded from Nexi\'s answer. Must not exceed what the order still owes.
10166
+ * @type {number}
10167
+ * @memberof InitiateNexiSessionDto
10168
+ */
10169
+ 'amount': number;
10170
+ /**
10171
+ *
10172
+ * @type {InitiateNexiSessionDtoSplitContext}
10173
+ * @memberof InitiateNexiSessionDto
10174
+ */
10175
+ 'splitContext'?: InitiateNexiSessionDtoSplitContext;
10176
+ }
10177
+ /**
10178
+ * Split context. Omit for a full-cart payment, or send { mode, partId|seatId } for a split. Must match the order\'s checkoutModel.
10179
+ * @export
10180
+ * @interface InitiateNexiSessionDtoSplitContext
10181
+ */
10182
+ export interface InitiateNexiSessionDtoSplitContext {
10183
+ /**
10184
+ *
10185
+ * @type {CheckoutModelEnum}
10186
+ * @memberof InitiateNexiSessionDtoSplitContext
10187
+ */
10188
+ 'mode': CheckoutModelEnum;
10189
+ /**
10190
+ * Equal-split part id. Required when mode=EQUAL_SPLIT; ignored otherwise.
10191
+ * @type {string}
10192
+ * @memberof InitiateNexiSessionDtoSplitContext
10193
+ */
10194
+ 'partId'?: string;
10195
+ /**
10196
+ * Item-split seat id. Required when mode=ITEM_SPLIT; ignored otherwise.
10197
+ * @type {string}
10198
+ * @memberof InitiateNexiSessionDtoSplitContext
10199
+ */
10200
+ 'seatId'?: string;
10201
+ }
10128
10202
  /**
10129
10203
  *
10130
10204
  * @export
@@ -15297,6 +15371,61 @@ export interface NewKdsStationDto {
15297
15371
  */
15298
15372
  'categoryIds': Array<string>;
15299
15373
  }
15374
+ /**
15375
+ *
15376
+ * @export
15377
+ * @enum {string}
15378
+ */
15379
+ export declare const NexiPauseReason: {
15380
+ readonly NexiUnheard: "nexi unheard";
15381
+ readonly NexiPaused: "nexi paused";
15382
+ readonly ConfirmNotTaken: "confirm not taken";
15383
+ readonly OrderNotWritten: "order not written";
15384
+ };
15385
+ export type NexiPauseReason = typeof NexiPauseReason[keyof typeof NexiPauseReason];
15386
+ /**
15387
+ *
15388
+ * @export
15389
+ * @interface NexiWaitRoundDto
15390
+ */
15391
+ export interface NexiWaitRoundDto {
15392
+ /**
15393
+ * The session\'s id, which Nexi knows as the sale\'s external_id.
15394
+ * @type {string}
15395
+ * @memberof NexiWaitRoundDto
15396
+ */
15397
+ 'sessionId': string;
15398
+ /**
15399
+ * This round\'s number, from 1. It names the Cloud Task, so one round is never queued twice.
15400
+ * @type {number}
15401
+ * @memberof NexiWaitRoundDto
15402
+ */
15403
+ 'round': number;
15404
+ /**
15405
+ * How many rounds in a row before this one were booked after a pause. The pause before the next round doubles with it, up to a minute.
15406
+ * @type {number}
15407
+ * @memberof NexiWaitRoundDto
15408
+ */
15409
+ 'pausedRounds': number;
15410
+ /**
15411
+ *
15412
+ * @type {NexiPauseReason}
15413
+ * @memberof NexiWaitRoundDto
15414
+ */
15415
+ 'pausedFor'?: NexiPauseReason;
15416
+ /**
15417
+ * When the pauses for `pausedFor` began, as an ISO 8601 time; absent when this round was booked at once.
15418
+ * @type {string}
15419
+ * @memberof NexiWaitRoundDto
15420
+ */
15421
+ 'pausedSince'?: string;
15422
+ /**
15423
+ * True once a person was alerted that the pauses for `pausedFor` outlasted their window; the server then keeps asking a minute apart and does not alert again. Absent before.
15424
+ * @type {boolean}
15425
+ * @memberof NexiWaitRoundDto
15426
+ */
15427
+ 'personTold'?: boolean;
15428
+ }
15300
15429
  /**
15301
15430
  *
15302
15431
  * @export
@@ -53088,6 +53217,15 @@ export declare const PaymentSessionApiAxiosParamCreator: (configuration?: Config
53088
53217
  * @throws {RequiredError}
53089
53218
  */
53090
53219
  initiateNetsSession: (initiateNetsSessionDto: InitiateNetsSessionDto, xIdempotencyKey?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
53220
+ /**
53221
+ * Saves the session first, its sessionId being the sale\'s external_id at Nexi, then asks Nexi to start the sale and answer at once. The customer then taps on the terminal; Cloud Tasks ask Nexi until the sale ends. When Nexi answers paid, in this order: Nexi\'s answer is kept on the session (the status unchanged), Nexi is confirmed (which takes the money), the session is stored SUCCESS, the payment is written on the order (reconciliation, which announces the settled order on the venue\'s channel), and only then SUCCESS is announced on the session\'s channel. So nothing tells the till \'paid\' before the money is taken. If the order cannot take the payment, it is asked again for up to 5 minutes, then the charge goes to the till as its own order and a person is alerted. Follow the session on the Ably channel nexi.<channel>.requests.<sessionId> (event payment:status-changed) or with GET /payment-session/:clientToken, which shows SUCCESS from the moment Nexi took the money. A tip or surcharge typed on the terminal is recorded from Nexi\'s answer. A Nexi sale is refused by :clientToken/cancel; Nexi\'s own cancel comes with a later route. Idempotent by the X-Idempotency-Key header within the venue: a repeat answers the session it started without asking Nexi again. A signed-in ticket only: the service key is not accepted (R27).
53222
+ * @summary Start a card payment on the station\'s Nexi terminal
53223
+ * @param {InitiateNexiSessionDto} initiateNexiSessionDto
53224
+ * @param {string} [xIdempotencyKey] A UUID the app makes for this payment. A repeated key answers the session it started, without charging again.
53225
+ * @param {*} [options] Override http request option.
53226
+ * @throws {RequiredError}
53227
+ */
53228
+ initiateNexiSession: (initiateNexiSessionDto: InitiateNexiSessionDto, xIdempotencyKey?: string, options?: AxiosRequestConfig) => Promise<RequestArgs>;
53091
53229
  /**
53092
53230
  * Builds the Viva app-to-app launch params (same as the legacy viva/a2a/create-payment) and persists a PaymentSession keyed by the Viva clientTransactionId, so the webhook + reconciliation own the order mutation. Returns the launch params plus a clientToken to poll the session.
53093
53231
  * @summary Initiate a Viva app-to-app payment session
@@ -53268,6 +53406,14 @@ export declare const PaymentSessionApiAxiosParamCreator: (configuration?: Config
53268
53406
  * @throws {RequiredError}
53269
53407
  */
53270
53408
  voidManualPayment: (voidManualSessionDto: VoidManualSessionDto, options?: AxiosRequestConfig) => Promise<RequestArgs>;
53409
+ /**
53410
+ * Called by a Cloud Task with the scheduler key, never by an app. Repeats a waiting sale\'s purchase at Nexi, which holds the question up to 25 seconds and answers the moment the customer finishes. Still at the terminal: the next round is booked at once; paused at Nexi: after a pause. Paid: Nexi\'s answer is kept, Nexi is confirmed, the sale is stored SUCCESS, written on the order, then announced. Not paid: the failure is confirmed at Nexi with its code, then recorded FAILED in the till\'s words and announced. A sale already stored paid is put on the order from what the session keeps: Nexi is not asked and no login is read. Nexi busy or unreachable: the next round follows Nexi\'s Retry-After up to a minute, or a pause that doubles up to a minute, each with jitter. After 5 minutes of pauses for one reason: an order write that keeps failing hands the charge to the till as its own order and alerts a person; a confirm Nexi keeps refusing (Nexi: confirm until the server takes it) and a Nexi that cannot be heard alert a person once and are asked on every minute, never given up. Answers 500 when the next round could not be booked, so Cloud Tasks runs this round again.
53411
+ * @summary Internal: ask Nexi about a sale once more (Cloud Task callback)
53412
+ * @param {NexiWaitRoundDto} nexiWaitRoundDto
53413
+ * @param {*} [options] Override http request option.
53414
+ * @throws {RequiredError}
53415
+ */
53416
+ waitForNexiSession: (nexiWaitRoundDto: NexiWaitRoundDto, options?: AxiosRequestConfig) => Promise<RequestArgs>;
53271
53417
  };
53272
53418
  /**
53273
53419
  * PaymentSessionApi - functional programming interface
@@ -53338,6 +53484,15 @@ export declare const PaymentSessionApiFp: (configuration?: Configuration) => {
53338
53484
  * @throws {RequiredError}
53339
53485
  */
53340
53486
  initiateNetsSession(initiateNetsSessionDto: InitiateNetsSessionDto, xIdempotencyKey?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<InitiateNetsSessionResponseDto>>;
53487
+ /**
53488
+ * Saves the session first, its sessionId being the sale\'s external_id at Nexi, then asks Nexi to start the sale and answer at once. The customer then taps on the terminal; Cloud Tasks ask Nexi until the sale ends. When Nexi answers paid, in this order: Nexi\'s answer is kept on the session (the status unchanged), Nexi is confirmed (which takes the money), the session is stored SUCCESS, the payment is written on the order (reconciliation, which announces the settled order on the venue\'s channel), and only then SUCCESS is announced on the session\'s channel. So nothing tells the till \'paid\' before the money is taken. If the order cannot take the payment, it is asked again for up to 5 minutes, then the charge goes to the till as its own order and a person is alerted. Follow the session on the Ably channel nexi.<channel>.requests.<sessionId> (event payment:status-changed) or with GET /payment-session/:clientToken, which shows SUCCESS from the moment Nexi took the money. A tip or surcharge typed on the terminal is recorded from Nexi\'s answer. A Nexi sale is refused by :clientToken/cancel; Nexi\'s own cancel comes with a later route. Idempotent by the X-Idempotency-Key header within the venue: a repeat answers the session it started without asking Nexi again. A signed-in ticket only: the service key is not accepted (R27).
53489
+ * @summary Start a card payment on the station\'s Nexi terminal
53490
+ * @param {InitiateNexiSessionDto} initiateNexiSessionDto
53491
+ * @param {string} [xIdempotencyKey] A UUID the app makes for this payment. A repeated key answers the session it started, without charging again.
53492
+ * @param {*} [options] Override http request option.
53493
+ * @throws {RequiredError}
53494
+ */
53495
+ initiateNexiSession(initiateNexiSessionDto: InitiateNexiSessionDto, xIdempotencyKey?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<PaymentSessionViewDto>>;
53341
53496
  /**
53342
53497
  * Builds the Viva app-to-app launch params (same as the legacy viva/a2a/create-payment) and persists a PaymentSession keyed by the Viva clientTransactionId, so the webhook + reconciliation own the order mutation. Returns the launch params plus a clientToken to poll the session.
53343
53498
  * @summary Initiate a Viva app-to-app payment session
@@ -53518,6 +53673,14 @@ export declare const PaymentSessionApiFp: (configuration?: Configuration) => {
53518
53673
  * @throws {RequiredError}
53519
53674
  */
53520
53675
  voidManualPayment(voidManualSessionDto: VoidManualSessionDto, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<RecordManualPaymentResultDto>>;
53676
+ /**
53677
+ * Called by a Cloud Task with the scheduler key, never by an app. Repeats a waiting sale\'s purchase at Nexi, which holds the question up to 25 seconds and answers the moment the customer finishes. Still at the terminal: the next round is booked at once; paused at Nexi: after a pause. Paid: Nexi\'s answer is kept, Nexi is confirmed, the sale is stored SUCCESS, written on the order, then announced. Not paid: the failure is confirmed at Nexi with its code, then recorded FAILED in the till\'s words and announced. A sale already stored paid is put on the order from what the session keeps: Nexi is not asked and no login is read. Nexi busy or unreachable: the next round follows Nexi\'s Retry-After up to a minute, or a pause that doubles up to a minute, each with jitter. After 5 minutes of pauses for one reason: an order write that keeps failing hands the charge to the till as its own order and alerts a person; a confirm Nexi keeps refusing (Nexi: confirm until the server takes it) and a Nexi that cannot be heard alert a person once and are asked on every minute, never given up. Answers 500 when the next round could not be booked, so Cloud Tasks runs this round again.
53678
+ * @summary Internal: ask Nexi about a sale once more (Cloud Task callback)
53679
+ * @param {NexiWaitRoundDto} nexiWaitRoundDto
53680
+ * @param {*} [options] Override http request option.
53681
+ * @throws {RequiredError}
53682
+ */
53683
+ waitForNexiSession(nexiWaitRoundDto: NexiWaitRoundDto, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
53521
53684
  };
53522
53685
  /**
53523
53686
  * PaymentSessionApi - factory interface
@@ -53588,6 +53751,15 @@ export declare const PaymentSessionApiFactory: (configuration?: Configuration, b
53588
53751
  * @throws {RequiredError}
53589
53752
  */
53590
53753
  initiateNetsSession(initiateNetsSessionDto: InitiateNetsSessionDto, xIdempotencyKey?: string, options?: any): AxiosPromise<InitiateNetsSessionResponseDto>;
53754
+ /**
53755
+ * Saves the session first, its sessionId being the sale\'s external_id at Nexi, then asks Nexi to start the sale and answer at once. The customer then taps on the terminal; Cloud Tasks ask Nexi until the sale ends. When Nexi answers paid, in this order: Nexi\'s answer is kept on the session (the status unchanged), Nexi is confirmed (which takes the money), the session is stored SUCCESS, the payment is written on the order (reconciliation, which announces the settled order on the venue\'s channel), and only then SUCCESS is announced on the session\'s channel. So nothing tells the till \'paid\' before the money is taken. If the order cannot take the payment, it is asked again for up to 5 minutes, then the charge goes to the till as its own order and a person is alerted. Follow the session on the Ably channel nexi.<channel>.requests.<sessionId> (event payment:status-changed) or with GET /payment-session/:clientToken, which shows SUCCESS from the moment Nexi took the money. A tip or surcharge typed on the terminal is recorded from Nexi\'s answer. A Nexi sale is refused by :clientToken/cancel; Nexi\'s own cancel comes with a later route. Idempotent by the X-Idempotency-Key header within the venue: a repeat answers the session it started without asking Nexi again. A signed-in ticket only: the service key is not accepted (R27).
53756
+ * @summary Start a card payment on the station\'s Nexi terminal
53757
+ * @param {InitiateNexiSessionDto} initiateNexiSessionDto
53758
+ * @param {string} [xIdempotencyKey] A UUID the app makes for this payment. A repeated key answers the session it started, without charging again.
53759
+ * @param {*} [options] Override http request option.
53760
+ * @throws {RequiredError}
53761
+ */
53762
+ initiateNexiSession(initiateNexiSessionDto: InitiateNexiSessionDto, xIdempotencyKey?: string, options?: any): AxiosPromise<PaymentSessionViewDto>;
53591
53763
  /**
53592
53764
  * Builds the Viva app-to-app launch params (same as the legacy viva/a2a/create-payment) and persists a PaymentSession keyed by the Viva clientTransactionId, so the webhook + reconciliation own the order mutation. Returns the launch params plus a clientToken to poll the session.
53593
53765
  * @summary Initiate a Viva app-to-app payment session
@@ -53768,6 +53940,14 @@ export declare const PaymentSessionApiFactory: (configuration?: Configuration, b
53768
53940
  * @throws {RequiredError}
53769
53941
  */
53770
53942
  voidManualPayment(voidManualSessionDto: VoidManualSessionDto, options?: any): AxiosPromise<RecordManualPaymentResultDto>;
53943
+ /**
53944
+ * Called by a Cloud Task with the scheduler key, never by an app. Repeats a waiting sale\'s purchase at Nexi, which holds the question up to 25 seconds and answers the moment the customer finishes. Still at the terminal: the next round is booked at once; paused at Nexi: after a pause. Paid: Nexi\'s answer is kept, Nexi is confirmed, the sale is stored SUCCESS, written on the order, then announced. Not paid: the failure is confirmed at Nexi with its code, then recorded FAILED in the till\'s words and announced. A sale already stored paid is put on the order from what the session keeps: Nexi is not asked and no login is read. Nexi busy or unreachable: the next round follows Nexi\'s Retry-After up to a minute, or a pause that doubles up to a minute, each with jitter. After 5 minutes of pauses for one reason: an order write that keeps failing hands the charge to the till as its own order and alerts a person; a confirm Nexi keeps refusing (Nexi: confirm until the server takes it) and a Nexi that cannot be heard alert a person once and are asked on every minute, never given up. Answers 500 when the next round could not be booked, so Cloud Tasks runs this round again.
53945
+ * @summary Internal: ask Nexi about a sale once more (Cloud Task callback)
53946
+ * @param {NexiWaitRoundDto} nexiWaitRoundDto
53947
+ * @param {*} [options] Override http request option.
53948
+ * @throws {RequiredError}
53949
+ */
53950
+ waitForNexiSession(nexiWaitRoundDto: NexiWaitRoundDto, options?: any): AxiosPromise<void>;
53771
53951
  };
53772
53952
  /**
53773
53953
  * PaymentSessionApi - interface
@@ -53846,6 +54026,16 @@ export interface PaymentSessionApiInterface {
53846
54026
  * @memberof PaymentSessionApiInterface
53847
54027
  */
53848
54028
  initiateNetsSession(initiateNetsSessionDto: InitiateNetsSessionDto, xIdempotencyKey?: string, options?: AxiosRequestConfig): AxiosPromise<InitiateNetsSessionResponseDto>;
54029
+ /**
54030
+ * Saves the session first, its sessionId being the sale\'s external_id at Nexi, then asks Nexi to start the sale and answer at once. The customer then taps on the terminal; Cloud Tasks ask Nexi until the sale ends. When Nexi answers paid, in this order: Nexi\'s answer is kept on the session (the status unchanged), Nexi is confirmed (which takes the money), the session is stored SUCCESS, the payment is written on the order (reconciliation, which announces the settled order on the venue\'s channel), and only then SUCCESS is announced on the session\'s channel. So nothing tells the till \'paid\' before the money is taken. If the order cannot take the payment, it is asked again for up to 5 minutes, then the charge goes to the till as its own order and a person is alerted. Follow the session on the Ably channel nexi.<channel>.requests.<sessionId> (event payment:status-changed) or with GET /payment-session/:clientToken, which shows SUCCESS from the moment Nexi took the money. A tip or surcharge typed on the terminal is recorded from Nexi\'s answer. A Nexi sale is refused by :clientToken/cancel; Nexi\'s own cancel comes with a later route. Idempotent by the X-Idempotency-Key header within the venue: a repeat answers the session it started without asking Nexi again. A signed-in ticket only: the service key is not accepted (R27).
54031
+ * @summary Start a card payment on the station\'s Nexi terminal
54032
+ * @param {InitiateNexiSessionDto} initiateNexiSessionDto
54033
+ * @param {string} [xIdempotencyKey] A UUID the app makes for this payment. A repeated key answers the session it started, without charging again.
54034
+ * @param {*} [options] Override http request option.
54035
+ * @throws {RequiredError}
54036
+ * @memberof PaymentSessionApiInterface
54037
+ */
54038
+ initiateNexiSession(initiateNexiSessionDto: InitiateNexiSessionDto, xIdempotencyKey?: string, options?: AxiosRequestConfig): AxiosPromise<PaymentSessionViewDto>;
53849
54039
  /**
53850
54040
  * Builds the Viva app-to-app launch params (same as the legacy viva/a2a/create-payment) and persists a PaymentSession keyed by the Viva clientTransactionId, so the webhook + reconciliation own the order mutation. Returns the launch params plus a clientToken to poll the session.
53851
54041
  * @summary Initiate a Viva app-to-app payment session
@@ -54048,6 +54238,15 @@ export interface PaymentSessionApiInterface {
54048
54238
  * @memberof PaymentSessionApiInterface
54049
54239
  */
54050
54240
  voidManualPayment(voidManualSessionDto: VoidManualSessionDto, options?: AxiosRequestConfig): AxiosPromise<RecordManualPaymentResultDto>;
54241
+ /**
54242
+ * Called by a Cloud Task with the scheduler key, never by an app. Repeats a waiting sale\'s purchase at Nexi, which holds the question up to 25 seconds and answers the moment the customer finishes. Still at the terminal: the next round is booked at once; paused at Nexi: after a pause. Paid: Nexi\'s answer is kept, Nexi is confirmed, the sale is stored SUCCESS, written on the order, then announced. Not paid: the failure is confirmed at Nexi with its code, then recorded FAILED in the till\'s words and announced. A sale already stored paid is put on the order from what the session keeps: Nexi is not asked and no login is read. Nexi busy or unreachable: the next round follows Nexi\'s Retry-After up to a minute, or a pause that doubles up to a minute, each with jitter. After 5 minutes of pauses for one reason: an order write that keeps failing hands the charge to the till as its own order and alerts a person; a confirm Nexi keeps refusing (Nexi: confirm until the server takes it) and a Nexi that cannot be heard alert a person once and are asked on every minute, never given up. Answers 500 when the next round could not be booked, so Cloud Tasks runs this round again.
54243
+ * @summary Internal: ask Nexi about a sale once more (Cloud Task callback)
54244
+ * @param {NexiWaitRoundDto} nexiWaitRoundDto
54245
+ * @param {*} [options] Override http request option.
54246
+ * @throws {RequiredError}
54247
+ * @memberof PaymentSessionApiInterface
54248
+ */
54249
+ waitForNexiSession(nexiWaitRoundDto: NexiWaitRoundDto, options?: AxiosRequestConfig): AxiosPromise<void>;
54051
54250
  }
54052
54251
  /**
54053
54252
  * PaymentSessionApi - object-oriented interface
@@ -54127,6 +54326,16 @@ export declare class PaymentSessionApi extends BaseAPI implements PaymentSession
54127
54326
  * @memberof PaymentSessionApi
54128
54327
  */
54129
54328
  initiateNetsSession(initiateNetsSessionDto: InitiateNetsSessionDto, xIdempotencyKey?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<InitiateNetsSessionResponseDto, any, {}>>;
54329
+ /**
54330
+ * Saves the session first, its sessionId being the sale\'s external_id at Nexi, then asks Nexi to start the sale and answer at once. The customer then taps on the terminal; Cloud Tasks ask Nexi until the sale ends. When Nexi answers paid, in this order: Nexi\'s answer is kept on the session (the status unchanged), Nexi is confirmed (which takes the money), the session is stored SUCCESS, the payment is written on the order (reconciliation, which announces the settled order on the venue\'s channel), and only then SUCCESS is announced on the session\'s channel. So nothing tells the till \'paid\' before the money is taken. If the order cannot take the payment, it is asked again for up to 5 minutes, then the charge goes to the till as its own order and a person is alerted. Follow the session on the Ably channel nexi.<channel>.requests.<sessionId> (event payment:status-changed) or with GET /payment-session/:clientToken, which shows SUCCESS from the moment Nexi took the money. A tip or surcharge typed on the terminal is recorded from Nexi\'s answer. A Nexi sale is refused by :clientToken/cancel; Nexi\'s own cancel comes with a later route. Idempotent by the X-Idempotency-Key header within the venue: a repeat answers the session it started without asking Nexi again. A signed-in ticket only: the service key is not accepted (R27).
54331
+ * @summary Start a card payment on the station\'s Nexi terminal
54332
+ * @param {InitiateNexiSessionDto} initiateNexiSessionDto
54333
+ * @param {string} [xIdempotencyKey] A UUID the app makes for this payment. A repeated key answers the session it started, without charging again.
54334
+ * @param {*} [options] Override http request option.
54335
+ * @throws {RequiredError}
54336
+ * @memberof PaymentSessionApi
54337
+ */
54338
+ initiateNexiSession(initiateNexiSessionDto: InitiateNexiSessionDto, xIdempotencyKey?: string, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<PaymentSessionViewDto, any, {}>>;
54130
54339
  /**
54131
54340
  * Builds the Viva app-to-app launch params (same as the legacy viva/a2a/create-payment) and persists a PaymentSession keyed by the Viva clientTransactionId, so the webhook + reconciliation own the order mutation. Returns the launch params plus a clientToken to poll the session.
54132
54341
  * @summary Initiate a Viva app-to-app payment session
@@ -54329,6 +54538,15 @@ export declare class PaymentSessionApi extends BaseAPI implements PaymentSession
54329
54538
  * @memberof PaymentSessionApi
54330
54539
  */
54331
54540
  voidManualPayment(voidManualSessionDto: VoidManualSessionDto, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<RecordManualPaymentResultDto, any, {}>>;
54541
+ /**
54542
+ * Called by a Cloud Task with the scheduler key, never by an app. Repeats a waiting sale\'s purchase at Nexi, which holds the question up to 25 seconds and answers the moment the customer finishes. Still at the terminal: the next round is booked at once; paused at Nexi: after a pause. Paid: Nexi\'s answer is kept, Nexi is confirmed, the sale is stored SUCCESS, written on the order, then announced. Not paid: the failure is confirmed at Nexi with its code, then recorded FAILED in the till\'s words and announced. A sale already stored paid is put on the order from what the session keeps: Nexi is not asked and no login is read. Nexi busy or unreachable: the next round follows Nexi\'s Retry-After up to a minute, or a pause that doubles up to a minute, each with jitter. After 5 minutes of pauses for one reason: an order write that keeps failing hands the charge to the till as its own order and alerts a person; a confirm Nexi keeps refusing (Nexi: confirm until the server takes it) and a Nexi that cannot be heard alert a person once and are asked on every minute, never given up. Answers 500 when the next round could not be booked, so Cloud Tasks runs this round again.
54543
+ * @summary Internal: ask Nexi about a sale once more (Cloud Task callback)
54544
+ * @param {NexiWaitRoundDto} nexiWaitRoundDto
54545
+ * @param {*} [options] Override http request option.
54546
+ * @throws {RequiredError}
54547
+ * @memberof PaymentSessionApi
54548
+ */
54549
+ waitForNexiSession(nexiWaitRoundDto: NexiWaitRoundDto, options?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
54332
54550
  }
54333
54551
  /**
54334
54552
  * PrintersApi - axios parameter creator