@munchi_oy/core 2.7.0 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/generated/api.ts CHANGED
@@ -216,6 +216,31 @@ export interface AddEmployeeRoleDto {
216
216
  */
217
217
  'permissionKeys': Array<PosPermission>;
218
218
  }
219
+ /**
220
+ *
221
+ * @export
222
+ * @interface AddShiftDto
223
+ */
224
+ export interface AddShiftDto {
225
+ /**
226
+ * The staff member the shift is of, by employee id; they must work at the venue
227
+ * @type {string}
228
+ * @memberof AddShiftDto
229
+ */
230
+ 'employeeId': string;
231
+ /**
232
+ * When the staff member clocked in, an ISO 8601 instant
233
+ * @type {string}
234
+ * @memberof AddShiftDto
235
+ */
236
+ 'clockInTime': string;
237
+ /**
238
+ * When the staff member clocked out, an ISO 8601 instant at or after the clock-in. Absent or null: the shift is still open
239
+ * @type {string}
240
+ * @memberof AddShiftDto
241
+ */
242
+ 'clockOutTime'?: string | null;
243
+ }
219
244
  /**
220
245
  *
221
246
  * @export
@@ -2846,6 +2871,25 @@ export interface ChangeResQOfferDto {
2846
2871
  */
2847
2872
  'fetchEnd'?: string;
2848
2873
  }
2874
+ /**
2875
+ *
2876
+ * @export
2877
+ * @interface ChangeShiftDto
2878
+ */
2879
+ export interface ChangeShiftDto {
2880
+ /**
2881
+ * The new clock-in, an ISO 8601 instant; null is refused. Absent: unchanged
2882
+ * @type {string}
2883
+ * @memberof ChangeShiftDto
2884
+ */
2885
+ 'clockInTime'?: string;
2886
+ /**
2887
+ * The new clock-out, an ISO 8601 instant at or after the clock-in (a forgotten clock-out set). Absent: unchanged
2888
+ * @type {string}
2889
+ * @memberof ChangeShiftDto
2890
+ */
2891
+ 'clockOutTime'?: string;
2892
+ }
2849
2893
  /**
2850
2894
  *
2851
2895
  * @export
@@ -25140,7 +25184,8 @@ export const ReadyMadeReport = {
25140
25184
  Payments: 'payments',
25141
25185
  ProductSales: 'productSales',
25142
25186
  CashSessions: 'cashSessions',
25143
- Staff: 'staff'
25187
+ Staff: 'staff',
25188
+ Hours: 'hours'
25144
25189
  } as const;
25145
25190
 
25146
25191
  export type ReadyMadeReport = typeof ReadyMadeReport[keyof typeof ReadyMadeReport];
@@ -26286,6 +26331,81 @@ export interface RejectOrderDto {
26286
26331
  }
26287
26332
 
26288
26333
 
26334
+ /**
26335
+ *
26336
+ * @export
26337
+ * @interface ReleaseLicenceHoldsDto
26338
+ */
26339
+ export interface ReleaseLicenceHoldsDto {
26340
+ /**
26341
+ * true (the default): answers the holds a release would turn back on and changes nothing; false turns them on
26342
+ * @type {boolean}
26343
+ * @memberof ReleaseLicenceHoldsDto
26344
+ */
26345
+ 'dryRun'?: boolean;
26346
+ /**
26347
+ * How many venues\' holds one call releases, by venue id; call again until holdsLeft is 0. Absent: 50
26348
+ * @type {number}
26349
+ * @memberof ReleaseLicenceHoldsDto
26350
+ */
26351
+ 'batchSize'?: number;
26352
+ /**
26353
+ * Start after this venue id: the nextAfterVenueId of the previous call, to page through a dry run. Absent: from the first venue
26354
+ * @type {number}
26355
+ * @memberof ReleaseLicenceHoldsDto
26356
+ */
26357
+ 'afterVenueId'?: number;
26358
+ }
26359
+ /**
26360
+ *
26361
+ * @export
26362
+ * @interface ReleasedLicenceHoldDto
26363
+ */
26364
+ export interface ReleasedLicenceHoldDto {
26365
+ /**
26366
+ * The venue (orderingBusinessId)
26367
+ * @type {number}
26368
+ * @memberof ReleasedLicenceHoldDto
26369
+ */
26370
+ 'venueId': number;
26371
+ /**
26372
+ * The provider rows turned back on (or that would be, on a dry run): the rows the licence turned off that are still there and still off
26373
+ * @type {Array<string>}
26374
+ * @memberof ReleasedLicenceHoldDto
26375
+ */
26376
+ 'rowIds': Array<string>;
26377
+ }
26378
+ /**
26379
+ *
26380
+ * @export
26381
+ * @interface ReleasedLicenceHoldsDto
26382
+ */
26383
+ export interface ReleasedLicenceHoldsDto {
26384
+ /**
26385
+ * Whether this was a dry run, which changed nothing
26386
+ * @type {boolean}
26387
+ * @memberof ReleasedLicenceHoldsDto
26388
+ */
26389
+ 'dryRun': boolean;
26390
+ /**
26391
+ * The venues of this batch and their rows
26392
+ * @type {Array<ReleasedLicenceHoldDto>}
26393
+ * @memberof ReleasedLicenceHoldsDto
26394
+ */
26395
+ 'venues': Array<ReleasedLicenceHoldDto>;
26396
+ /**
26397
+ * How many venues after this batch still have a hold keeping a row off: call again until 0
26398
+ * @type {number}
26399
+ * @memberof ReleasedLicenceHoldsDto
26400
+ */
26401
+ 'holdsLeft': number;
26402
+ /**
26403
+ * The afterVenueId of the next call, or null when no hold is left after this batch. A dry run changes nothing, so it pages with this
26404
+ * @type {number}
26405
+ * @memberof ReleasedLicenceHoldsDto
26406
+ */
26407
+ 'nextAfterVenueId': number | null;
26408
+ }
26289
26409
  /**
26290
26410
  *
26291
26411
  * @export
@@ -30555,6 +30675,20 @@ export interface ShiftEmployeeDto {
30555
30675
  }
30556
30676
 
30557
30677
 
30678
+ /**
30679
+ *
30680
+ * @export
30681
+ * @enum {string}
30682
+ */
30683
+
30684
+ export const ShiftStatus = {
30685
+ Open: 'open',
30686
+ Closed: 'closed'
30687
+ } as const;
30688
+
30689
+ export type ShiftStatus = typeof ShiftStatus[keyof typeof ShiftStatus];
30690
+
30691
+
30558
30692
  /**
30559
30693
  *
30560
30694
  * @export
@@ -30909,6 +31043,189 @@ export interface StaffActivityLogDto {
30909
31043
  }
30910
31044
 
30911
31045
 
31046
+ /**
31047
+ *
31048
+ * @export
31049
+ * @interface StaffHoursDayDto
31050
+ */
31051
+ export interface StaffHoursDayDto {
31052
+ /**
31053
+ * The day the shift began, YYYY-MM-DD, in the venue\'s time zone
31054
+ * @type {string}
31055
+ * @memberof StaffHoursDayDto
31056
+ */
31057
+ 'day': string;
31058
+ /**
31059
+ * The day\'s worked minutes, all its shifts added up
31060
+ * @type {number}
31061
+ * @memberof StaffHoursDayDto
31062
+ */
31063
+ 'minutes': number;
31064
+ /**
31065
+ * The day\'s shifts, oldest first
31066
+ * @type {Array<StaffHoursShiftDto>}
31067
+ * @memberof StaffHoursDayDto
31068
+ */
31069
+ 'shifts': Array<StaffHoursShiftDto>;
31070
+ }
31071
+ /**
31072
+ *
31073
+ * @export
31074
+ * @interface StaffHoursPersonDto
31075
+ */
31076
+ export interface StaffHoursPersonDto {
31077
+ /**
31078
+ * The staff member\'s id
31079
+ * @type {string}
31080
+ * @memberof StaffHoursPersonDto
31081
+ */
31082
+ 'employeeId': string;
31083
+ /**
31084
+ * The staff member\'s name
31085
+ * @type {string}
31086
+ * @memberof StaffHoursPersonDto
31087
+ */
31088
+ 'name': string;
31089
+ /**
31090
+ * Worked minutes over the whole period
31091
+ * @type {number}
31092
+ * @memberof StaffHoursPersonDto
31093
+ */
31094
+ 'minutes': number;
31095
+ /**
31096
+ * Shifts in the period with no clock-out yet: still working, or a clock-out forgotten
31097
+ * @type {number}
31098
+ * @memberof StaffHoursPersonDto
31099
+ */
31100
+ 'openShifts': number;
31101
+ /**
31102
+ * Each day with a shift, oldest first
31103
+ * @type {Array<StaffHoursDayDto>}
31104
+ * @memberof StaffHoursPersonDto
31105
+ */
31106
+ 'days': Array<StaffHoursDayDto>;
31107
+ }
31108
+ /**
31109
+ *
31110
+ * @export
31111
+ * @interface StaffHoursResponseDto
31112
+ */
31113
+ export interface StaffHoursResponseDto {
31114
+ /**
31115
+ * The venue\'s time zone the days are counted in
31116
+ * @type {string}
31117
+ * @memberof StaffHoursResponseDto
31118
+ */
31119
+ 'timeZone': string;
31120
+ /**
31121
+ * The first day, as asked
31122
+ * @type {string}
31123
+ * @memberof StaffHoursResponseDto
31124
+ */
31125
+ 'from': string;
31126
+ /**
31127
+ * The last day, as asked
31128
+ * @type {string}
31129
+ * @memberof StaffHoursResponseDto
31130
+ */
31131
+ 'to': string;
31132
+ /**
31133
+ * Every staff member with a shift in the period, by name
31134
+ * @type {Array<StaffHoursPersonDto>}
31135
+ * @memberof StaffHoursResponseDto
31136
+ */
31137
+ 'people': Array<StaffHoursPersonDto>;
31138
+ }
31139
+ /**
31140
+ *
31141
+ * @export
31142
+ * @interface StaffHoursShiftDto
31143
+ */
31144
+ export interface StaffHoursShiftDto {
31145
+ /**
31146
+ * The shift\'s id
31147
+ * @type {string}
31148
+ * @memberof StaffHoursShiftDto
31149
+ */
31150
+ 'shiftId': string;
31151
+ /**
31152
+ * When the staff member clocked in; null for a shift recorded with only a clock-out
31153
+ * @type {string}
31154
+ * @memberof StaffHoursShiftDto
31155
+ */
31156
+ 'clockInTime': string | null;
31157
+ /**
31158
+ * When the staff member clocked out; null while the shift is still open
31159
+ * @type {string}
31160
+ * @memberof StaffHoursShiftDto
31161
+ */
31162
+ 'clockOutTime': string | null;
31163
+ /**
31164
+ * Whole minutes between clock-in and clock-out; 0 for a shift missing either time or clocked out before it clocked in, so a forgotten clock-out or a broken record adds nothing
31165
+ * @type {number}
31166
+ * @memberof StaffHoursShiftDto
31167
+ */
31168
+ 'minutes': number;
31169
+ /**
31170
+ *
31171
+ * @type {ShiftStatus}
31172
+ * @memberof StaffHoursShiftDto
31173
+ */
31174
+ 'status': ShiftStatus;
31175
+ }
31176
+
31177
+
31178
+ /**
31179
+ *
31180
+ * @export
31181
+ * @interface StaffShiftDto
31182
+ */
31183
+ export interface StaffShiftDto {
31184
+ /**
31185
+ * The shift\'s id
31186
+ * @type {string}
31187
+ * @memberof StaffShiftDto
31188
+ */
31189
+ 'shiftId': string;
31190
+ /**
31191
+ * When the staff member clocked in; null for a shift recorded with only a clock-out
31192
+ * @type {string}
31193
+ * @memberof StaffShiftDto
31194
+ */
31195
+ 'clockInTime': string | null;
31196
+ /**
31197
+ * When the staff member clocked out; null while the shift is still open
31198
+ * @type {string}
31199
+ * @memberof StaffShiftDto
31200
+ */
31201
+ 'clockOutTime': string | null;
31202
+ /**
31203
+ * Whole minutes between clock-in and clock-out; 0 for a shift missing either time or clocked out before it clocked in, so a forgotten clock-out or a broken record adds nothing
31204
+ * @type {number}
31205
+ * @memberof StaffShiftDto
31206
+ */
31207
+ 'minutes': number;
31208
+ /**
31209
+ *
31210
+ * @type {ShiftStatus}
31211
+ * @memberof StaffShiftDto
31212
+ */
31213
+ 'status': ShiftStatus;
31214
+ /**
31215
+ * The staff member\'s id
31216
+ * @type {string}
31217
+ * @memberof StaffShiftDto
31218
+ */
31219
+ 'employeeId': string;
31220
+ /**
31221
+ * The staff member\'s name
31222
+ * @type {string}
31223
+ * @memberof StaffShiftDto
31224
+ */
31225
+ 'name': string;
31226
+ }
31227
+
31228
+
30912
31229
  /**
30913
31230
  *
30914
31231
  * @export
@@ -50572,7 +50889,7 @@ export class HistoryV6Api extends BaseAPI implements HistoryV6ApiInterface {
50572
50889
  export const InvoiceCompaniesApiAxiosParamCreator = function (configuration?: Configuration) {
50573
50890
  return {
50574
50891
  /**
50575
- * Saves a company the venue invoices, for munchi-dashboard-server, on behalf of the portal. The venue is the body\'s businessId; a body field the DTO does not declare is ignored. Once saved, the venue\'s kept company list and its config are invalidated.
50892
+ * Saves a company the venue invoices, for the dashboard\'s Settings › Payments on a person\'s sign-in, and for munchi-dashboard-server and the MCP on a key. The venue is the body\'s businessId; a body field the DTO does not declare is ignored. Once saved, the venue\'s kept company list and its config are invalidated.
50576
50893
  * @summary Create a new invoice company
50577
50894
  * @param {CreateInvoiceCompanyDto} createInvoiceCompanyDto
50578
50895
  * @param {*} [options] Override http request option.
@@ -50612,7 +50929,7 @@ export const InvoiceCompaniesApiAxiosParamCreator = function (configuration?: Co
50612
50929
  };
50613
50930
  },
50614
50931
  /**
50615
- * Deletes one of the venue\'s companies, for munchi-dashboard-server, on behalf of the portal. Orders that already carry the company keep their copy of it. Once deleted, the venue\'s kept company list and its config are invalidated.
50932
+ * Deletes one of the venue\'s companies, for the same callers as POST. Orders that already carry the company keep their copy of it. Once deleted, the venue\'s kept company list and its config are invalidated.
50616
50933
  * @summary Delete an invoice company
50617
50934
  * @param {string} id The company\&#39;s id
50618
50935
  * @param {number} businessId The venue the companies belong to: its orderingBusinessId
@@ -50789,7 +51106,7 @@ export const InvoiceCompaniesApiAxiosParamCreator = function (configuration?: Co
50789
51106
  };
50790
51107
  },
50791
51108
  /**
50792
- * Changes the fields sent and keeps the others, for munchi-dashboard-server, on behalf of the portal; a body field the DTO does not declare is ignored, and an address, phone, countryCode or bic sent as null is cleared. Once changed, the venue\'s kept company list and its config are invalidated, and the company is answered as the change wrote it. A body with no field changes nothing and answers the company as it is.
51109
+ * Changes the fields sent and keeps the others, for the same callers as POST; a body field the DTO does not declare is ignored, and an address, phone, countryCode or bic sent as null is cleared. Once changed, the venue\'s kept company list and its config are invalidated, and the company is answered as the change wrote it. A body with no field changes nothing and answers the company as it is.
50793
51110
  * @summary Update an invoice company
50794
51111
  * @param {string} id The company\&#39;s id
50795
51112
  * @param {number} businessId The venue the companies belong to: its orderingBusinessId
@@ -50850,7 +51167,7 @@ export const InvoiceCompaniesApiFp = function(configuration?: Configuration) {
50850
51167
  const localVarAxiosParamCreator = InvoiceCompaniesApiAxiosParamCreator(configuration)
50851
51168
  return {
50852
51169
  /**
50853
- * Saves a company the venue invoices, for munchi-dashboard-server, on behalf of the portal. The venue is the body\'s businessId; a body field the DTO does not declare is ignored. Once saved, the venue\'s kept company list and its config are invalidated.
51170
+ * Saves a company the venue invoices, for the dashboard\'s Settings › Payments on a person\'s sign-in, and for munchi-dashboard-server and the MCP on a key. The venue is the body\'s businessId; a body field the DTO does not declare is ignored. Once saved, the venue\'s kept company list and its config are invalidated.
50854
51171
  * @summary Create a new invoice company
50855
51172
  * @param {CreateInvoiceCompanyDto} createInvoiceCompanyDto
50856
51173
  * @param {*} [options] Override http request option.
@@ -50861,7 +51178,7 @@ export const InvoiceCompaniesApiFp = function(configuration?: Configuration) {
50861
51178
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
50862
51179
  },
50863
51180
  /**
50864
- * Deletes one of the venue\'s companies, for munchi-dashboard-server, on behalf of the portal. Orders that already carry the company keep their copy of it. Once deleted, the venue\'s kept company list and its config are invalidated.
51181
+ * Deletes one of the venue\'s companies, for the same callers as POST. Orders that already carry the company keep their copy of it. Once deleted, the venue\'s kept company list and its config are invalidated.
50865
51182
  * @summary Delete an invoice company
50866
51183
  * @param {string} id The company\&#39;s id
50867
51184
  * @param {number} businessId The venue the companies belong to: its orderingBusinessId
@@ -50908,7 +51225,7 @@ export const InvoiceCompaniesApiFp = function(configuration?: Configuration) {
50908
51225
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
50909
51226
  },
50910
51227
  /**
50911
- * Changes the fields sent and keeps the others, for munchi-dashboard-server, on behalf of the portal; a body field the DTO does not declare is ignored, and an address, phone, countryCode or bic sent as null is cleared. Once changed, the venue\'s kept company list and its config are invalidated, and the company is answered as the change wrote it. A body with no field changes nothing and answers the company as it is.
51228
+ * Changes the fields sent and keeps the others, for the same callers as POST; a body field the DTO does not declare is ignored, and an address, phone, countryCode or bic sent as null is cleared. Once changed, the venue\'s kept company list and its config are invalidated, and the company is answered as the change wrote it. A body with no field changes nothing and answers the company as it is.
50912
51229
  * @summary Update an invoice company
50913
51230
  * @param {string} id The company\&#39;s id
50914
51231
  * @param {number} businessId The venue the companies belong to: its orderingBusinessId
@@ -50931,7 +51248,7 @@ export const InvoiceCompaniesApiFactory = function (configuration?: Configuratio
50931
51248
  const localVarFp = InvoiceCompaniesApiFp(configuration)
50932
51249
  return {
50933
51250
  /**
50934
- * Saves a company the venue invoices, for munchi-dashboard-server, on behalf of the portal. The venue is the body\'s businessId; a body field the DTO does not declare is ignored. Once saved, the venue\'s kept company list and its config are invalidated.
51251
+ * Saves a company the venue invoices, for the dashboard\'s Settings › Payments on a person\'s sign-in, and for munchi-dashboard-server and the MCP on a key. The venue is the body\'s businessId; a body field the DTO does not declare is ignored. Once saved, the venue\'s kept company list and its config are invalidated.
50935
51252
  * @summary Create a new invoice company
50936
51253
  * @param {CreateInvoiceCompanyDto} createInvoiceCompanyDto
50937
51254
  * @param {*} [options] Override http request option.
@@ -50941,7 +51258,7 @@ export const InvoiceCompaniesApiFactory = function (configuration?: Configuratio
50941
51258
  return localVarFp.createInvoiceCompany(createInvoiceCompanyDto, options).then((request) => request(axios, basePath));
50942
51259
  },
50943
51260
  /**
50944
- * Deletes one of the venue\'s companies, for munchi-dashboard-server, on behalf of the portal. Orders that already carry the company keep their copy of it. Once deleted, the venue\'s kept company list and its config are invalidated.
51261
+ * Deletes one of the venue\'s companies, for the same callers as POST. Orders that already carry the company keep their copy of it. Once deleted, the venue\'s kept company list and its config are invalidated.
50945
51262
  * @summary Delete an invoice company
50946
51263
  * @param {string} id The company\&#39;s id
50947
51264
  * @param {number} businessId The venue the companies belong to: its orderingBusinessId
@@ -50984,7 +51301,7 @@ export const InvoiceCompaniesApiFactory = function (configuration?: Configuratio
50984
51301
  return localVarFp.searchInvoiceCompanies(businessId, search, options).then((request) => request(axios, basePath));
50985
51302
  },
50986
51303
  /**
50987
- * Changes the fields sent and keeps the others, for munchi-dashboard-server, on behalf of the portal; a body field the DTO does not declare is ignored, and an address, phone, countryCode or bic sent as null is cleared. Once changed, the venue\'s kept company list and its config are invalidated, and the company is answered as the change wrote it. A body with no field changes nothing and answers the company as it is.
51304
+ * Changes the fields sent and keeps the others, for the same callers as POST; a body field the DTO does not declare is ignored, and an address, phone, countryCode or bic sent as null is cleared. Once changed, the venue\'s kept company list and its config are invalidated, and the company is answered as the change wrote it. A body with no field changes nothing and answers the company as it is.
50988
51305
  * @summary Update an invoice company
50989
51306
  * @param {string} id The company\&#39;s id
50990
51307
  * @param {number} businessId The venue the companies belong to: its orderingBusinessId
@@ -51005,7 +51322,7 @@ export const InvoiceCompaniesApiFactory = function (configuration?: Configuratio
51005
51322
  */
51006
51323
  export interface InvoiceCompaniesApiInterface {
51007
51324
  /**
51008
- * Saves a company the venue invoices, for munchi-dashboard-server, on behalf of the portal. The venue is the body\'s businessId; a body field the DTO does not declare is ignored. Once saved, the venue\'s kept company list and its config are invalidated.
51325
+ * Saves a company the venue invoices, for the dashboard\'s Settings › Payments on a person\'s sign-in, and for munchi-dashboard-server and the MCP on a key. The venue is the body\'s businessId; a body field the DTO does not declare is ignored. Once saved, the venue\'s kept company list and its config are invalidated.
51009
51326
  * @summary Create a new invoice company
51010
51327
  * @param {CreateInvoiceCompanyDto} createInvoiceCompanyDto
51011
51328
  * @param {*} [options] Override http request option.
@@ -51015,7 +51332,7 @@ export interface InvoiceCompaniesApiInterface {
51015
51332
  createInvoiceCompany(createInvoiceCompanyDto: CreateInvoiceCompanyDto, options?: AxiosRequestConfig): AxiosPromise<InvoiceCompanyResponseDto>;
51016
51333
 
51017
51334
  /**
51018
- * Deletes one of the venue\'s companies, for munchi-dashboard-server, on behalf of the portal. Orders that already carry the company keep their copy of it. Once deleted, the venue\'s kept company list and its config are invalidated.
51335
+ * Deletes one of the venue\'s companies, for the same callers as POST. Orders that already carry the company keep their copy of it. Once deleted, the venue\'s kept company list and its config are invalidated.
51019
51336
  * @summary Delete an invoice company
51020
51337
  * @param {string} id The company\&#39;s id
51021
51338
  * @param {number} businessId The venue the companies belong to: its orderingBusinessId
@@ -51058,7 +51375,7 @@ export interface InvoiceCompaniesApiInterface {
51058
51375
  searchInvoiceCompanies(businessId: number, search?: string, options?: AxiosRequestConfig): AxiosPromise<Array<InvoiceCompanyResponseDto>>;
51059
51376
 
51060
51377
  /**
51061
- * Changes the fields sent and keeps the others, for munchi-dashboard-server, on behalf of the portal; a body field the DTO does not declare is ignored, and an address, phone, countryCode or bic sent as null is cleared. Once changed, the venue\'s kept company list and its config are invalidated, and the company is answered as the change wrote it. A body with no field changes nothing and answers the company as it is.
51378
+ * Changes the fields sent and keeps the others, for the same callers as POST; a body field the DTO does not declare is ignored, and an address, phone, countryCode or bic sent as null is cleared. Once changed, the venue\'s kept company list and its config are invalidated, and the company is answered as the change wrote it. A body with no field changes nothing and answers the company as it is.
51062
51379
  * @summary Update an invoice company
51063
51380
  * @param {string} id The company\&#39;s id
51064
51381
  * @param {number} businessId The venue the companies belong to: its orderingBusinessId
@@ -51079,7 +51396,7 @@ export interface InvoiceCompaniesApiInterface {
51079
51396
  */
51080
51397
  export class InvoiceCompaniesApi extends BaseAPI implements InvoiceCompaniesApiInterface {
51081
51398
  /**
51082
- * Saves a company the venue invoices, for munchi-dashboard-server, on behalf of the portal. The venue is the body\'s businessId; a body field the DTO does not declare is ignored. Once saved, the venue\'s kept company list and its config are invalidated.
51399
+ * Saves a company the venue invoices, for the dashboard\'s Settings › Payments on a person\'s sign-in, and for munchi-dashboard-server and the MCP on a key. The venue is the body\'s businessId; a body field the DTO does not declare is ignored. Once saved, the venue\'s kept company list and its config are invalidated.
51083
51400
  * @summary Create a new invoice company
51084
51401
  * @param {CreateInvoiceCompanyDto} createInvoiceCompanyDto
51085
51402
  * @param {*} [options] Override http request option.
@@ -51091,7 +51408,7 @@ export class InvoiceCompaniesApi extends BaseAPI implements InvoiceCompaniesApiI
51091
51408
  }
51092
51409
 
51093
51410
  /**
51094
- * Deletes one of the venue\'s companies, for munchi-dashboard-server, on behalf of the portal. Orders that already carry the company keep their copy of it. Once deleted, the venue\'s kept company list and its config are invalidated.
51411
+ * Deletes one of the venue\'s companies, for the same callers as POST. Orders that already carry the company keep their copy of it. Once deleted, the venue\'s kept company list and its config are invalidated.
51095
51412
  * @summary Delete an invoice company
51096
51413
  * @param {string} id The company\&#39;s id
51097
51414
  * @param {number} businessId The venue the companies belong to: its orderingBusinessId
@@ -51142,7 +51459,7 @@ export class InvoiceCompaniesApi extends BaseAPI implements InvoiceCompaniesApiI
51142
51459
  }
51143
51460
 
51144
51461
  /**
51145
- * Changes the fields sent and keeps the others, for munchi-dashboard-server, on behalf of the portal; a body field the DTO does not declare is ignored, and an address, phone, countryCode or bic sent as null is cleared. Once changed, the venue\'s kept company list and its config are invalidated, and the company is answered as the change wrote it. A body with no field changes nothing and answers the company as it is.
51462
+ * Changes the fields sent and keeps the others, for the same callers as POST; a body field the DTO does not declare is ignored, and an address, phone, countryCode or bic sent as null is cleared. Once changed, the venue\'s kept company list and its config are invalidated, and the company is answered as the change wrote it. A body with no field changes nothing and answers the company as it is.
51146
51463
  * @summary Update an invoice company
51147
51464
  * @param {string} id The company\&#39;s id
51148
51465
  * @param {number} businessId The venue the companies belong to: its orderingBusinessId
@@ -54679,6 +54996,46 @@ export const OpsApiAxiosParamCreator = function (configuration?: Configuration)
54679
54996
  options: localVarRequestOptions,
54680
54997
  };
54681
54998
  },
54999
+ /**
55000
+ * Undoes what licences turned off. Per venue, by venue id: turns on the provider rows the licence turned off that are still there and still off, and empties the hold. A dry run unless dryRun is false; call again until holdsLeft is 0. The next unpaid event turns the rows off again.
55001
+ * @summary Turn back on the kiosk and online store rows licence enforcement turned off
55002
+ * @param {ReleaseLicenceHoldsDto} releaseLicenceHoldsDto
55003
+ * @param {*} [options] Override http request option.
55004
+ * @throws {RequiredError}
55005
+ */
55006
+ releaseLicenceHolds: async (releaseLicenceHoldsDto: ReleaseLicenceHoldsDto, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
55007
+ // verify required parameter 'releaseLicenceHoldsDto' is not null or undefined
55008
+ assertParamExists('releaseLicenceHolds', 'releaseLicenceHoldsDto', releaseLicenceHoldsDto)
55009
+ const localVarPath = `/api/v1/ops/licence-access/holds/release`;
55010
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
55011
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
55012
+ let baseOptions;
55013
+ if (configuration) {
55014
+ baseOptions = configuration.baseOptions;
55015
+ }
55016
+
55017
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
55018
+ const localVarHeaderParameter = {} as any;
55019
+ const localVarQueryParameter = {} as any;
55020
+
55021
+ // authentication JWT-auth required
55022
+ // http bearer authentication required
55023
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
55024
+
55025
+
55026
+
55027
+ localVarHeaderParameter['Content-Type'] = 'application/json';
55028
+
55029
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
55030
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
55031
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
55032
+ localVarRequestOptions.data = serializeDataIfNeeded(releaseLicenceHoldsDto, localVarRequestOptions, configuration)
55033
+
55034
+ return {
55035
+ url: toPathString(localVarUrlObj),
55036
+ options: localVarRequestOptions,
55037
+ };
55038
+ },
54682
55039
  /**
54683
55040
  * Venues whose name holds the text, in any case, or whose venue id it is, by name. Answers who the venue is and where, never its contacts, owners or schedule.
54684
55041
  * @summary Find venues by name or id, across every venue
@@ -54770,6 +55127,17 @@ export const OpsApiFp = function(configuration?: Configuration) {
54770
55127
  const localVarAxiosArgs = await localVarAxiosParamCreator.disconnectDeliveryPlatform(venueId, channel, options);
54771
55128
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
54772
55129
  },
55130
+ /**
55131
+ * Undoes what licences turned off. Per venue, by venue id: turns on the provider rows the licence turned off that are still there and still off, and empties the hold. A dry run unless dryRun is false; call again until holdsLeft is 0. The next unpaid event turns the rows off again.
55132
+ * @summary Turn back on the kiosk and online store rows licence enforcement turned off
55133
+ * @param {ReleaseLicenceHoldsDto} releaseLicenceHoldsDto
55134
+ * @param {*} [options] Override http request option.
55135
+ * @throws {RequiredError}
55136
+ */
55137
+ async releaseLicenceHolds(releaseLicenceHoldsDto: ReleaseLicenceHoldsDto, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ReleasedLicenceHoldsDto>> {
55138
+ const localVarAxiosArgs = await localVarAxiosParamCreator.releaseLicenceHolds(releaseLicenceHoldsDto, options);
55139
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
55140
+ },
54773
55141
  /**
54774
55142
  * Venues whose name holds the text, in any case, or whose venue id it is, by name. Answers who the venue is and where, never its contacts, owners or schedule.
54775
55143
  * @summary Find venues by name or id, across every venue
@@ -54824,6 +55192,16 @@ export const OpsApiFactory = function (configuration?: Configuration, basePath?:
54824
55192
  disconnectDeliveryPlatform(venueId: number, channel: DeliveryPlatformOpsConnect, options?: any): AxiosPromise<DisconnectedDeliveryPlatformDto> {
54825
55193
  return localVarFp.disconnectDeliveryPlatform(venueId, channel, options).then((request) => request(axios, basePath));
54826
55194
  },
55195
+ /**
55196
+ * Undoes what licences turned off. Per venue, by venue id: turns on the provider rows the licence turned off that are still there and still off, and empties the hold. A dry run unless dryRun is false; call again until holdsLeft is 0. The next unpaid event turns the rows off again.
55197
+ * @summary Turn back on the kiosk and online store rows licence enforcement turned off
55198
+ * @param {ReleaseLicenceHoldsDto} releaseLicenceHoldsDto
55199
+ * @param {*} [options] Override http request option.
55200
+ * @throws {RequiredError}
55201
+ */
55202
+ releaseLicenceHolds(releaseLicenceHoldsDto: ReleaseLicenceHoldsDto, options?: any): AxiosPromise<ReleasedLicenceHoldsDto> {
55203
+ return localVarFp.releaseLicenceHolds(releaseLicenceHoldsDto, options).then((request) => request(axios, basePath));
55204
+ },
54827
55205
  /**
54828
55206
  * Venues whose name holds the text, in any case, or whose venue id it is, by name. Answers who the venue is and where, never its contacts, owners or schedule.
54829
55207
  * @summary Find venues by name or id, across every venue
@@ -54876,6 +55254,16 @@ export interface OpsApiInterface {
54876
55254
  */
54877
55255
  disconnectDeliveryPlatform(venueId: number, channel: DeliveryPlatformOpsConnect, options?: AxiosRequestConfig): AxiosPromise<DisconnectedDeliveryPlatformDto>;
54878
55256
 
55257
+ /**
55258
+ * Undoes what licences turned off. Per venue, by venue id: turns on the provider rows the licence turned off that are still there and still off, and empties the hold. A dry run unless dryRun is false; call again until holdsLeft is 0. The next unpaid event turns the rows off again.
55259
+ * @summary Turn back on the kiosk and online store rows licence enforcement turned off
55260
+ * @param {ReleaseLicenceHoldsDto} releaseLicenceHoldsDto
55261
+ * @param {*} [options] Override http request option.
55262
+ * @throws {RequiredError}
55263
+ * @memberof OpsApiInterface
55264
+ */
55265
+ releaseLicenceHolds(releaseLicenceHoldsDto: ReleaseLicenceHoldsDto, options?: AxiosRequestConfig): AxiosPromise<ReleasedLicenceHoldsDto>;
55266
+
54879
55267
  /**
54880
55268
  * Venues whose name holds the text, in any case, or whose venue id it is, by name. Answers who the venue is and where, never its contacts, owners or schedule.
54881
55269
  * @summary Find venues by name or id, across every venue
@@ -54934,6 +55322,18 @@ export class OpsApi extends BaseAPI implements OpsApiInterface {
54934
55322
  return OpsApiFp(this.configuration).disconnectDeliveryPlatform(venueId, channel, options).then((request) => request(this.axios, this.basePath));
54935
55323
  }
54936
55324
 
55325
+ /**
55326
+ * Undoes what licences turned off. Per venue, by venue id: turns on the provider rows the licence turned off that are still there and still off, and empties the hold. A dry run unless dryRun is false; call again until holdsLeft is 0. The next unpaid event turns the rows off again.
55327
+ * @summary Turn back on the kiosk and online store rows licence enforcement turned off
55328
+ * @param {ReleaseLicenceHoldsDto} releaseLicenceHoldsDto
55329
+ * @param {*} [options] Override http request option.
55330
+ * @throws {RequiredError}
55331
+ * @memberof OpsApi
55332
+ */
55333
+ public releaseLicenceHolds(releaseLicenceHoldsDto: ReleaseLicenceHoldsDto, options?: AxiosRequestConfig) {
55334
+ return OpsApiFp(this.configuration).releaseLicenceHolds(releaseLicenceHoldsDto, options).then((request) => request(this.axios, this.basePath));
55335
+ }
55336
+
54937
55337
  /**
54938
55338
  * Venues whose name holds the text, in any case, or whose venue id it is, by name. Answers who the venue is and where, never its contacts, owners or schedule.
54939
55339
  * @summary Find venues by name or id, across every venue
@@ -66156,7 +66556,7 @@ export const ReportSchedulesApiAxiosParamCreator = function (configuration?: Con
66156
66556
  * Its schedule: cadence, time and zone, recipients and when it next sends. 404 when none is saved. Managers only.
66157
66557
  * @summary Read when a store\'s ready-made report is emailed
66158
66558
  * @param {number} businessId The store\&#39;s orderingBusinessId
66159
- * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff
66559
+ * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff, hours
66160
66560
  * @param {*} [options] Override http request option.
66161
66561
  * @throws {RequiredError}
66162
66562
  */
@@ -66341,7 +66741,7 @@ export const ReportSchedulesApiAxiosParamCreator = function (configuration?: Con
66341
66741
  * Every time it was emailed, newest first, a page at a time: the days it covered, who it went to and the files it kept.
66342
66742
  * @summary List the past runs of a store\'s ready-made report
66343
66743
  * @param {number} businessId The store\&#39;s orderingBusinessId
66344
- * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff
66744
+ * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff, hours
66345
66745
  * @param {number} [limit] At most this many runs, 1 to 100. Absent: 30
66346
66746
  * @param {string} [after] The id of the last run of the page before; the list goes on after it
66347
66747
  * @param {*} [options] Override http request option.
@@ -66442,7 +66842,7 @@ export const ReportSchedulesApiAxiosParamCreator = function (configuration?: Con
66442
66842
  };
66443
66843
  },
66444
66844
  /**
66445
- * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions and staff, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
66845
+ * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions, staff and hours, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
66446
66846
  * @summary Set when an organisation\'s saved report is emailed
66447
66847
  * @param {string} groupId The organisation\&#39;s id: its group\&#39;s accountId in the licence server
66448
66848
  * @param {string} reportId The saved report\&#39;s id
@@ -66490,10 +66890,10 @@ export const ReportSchedulesApiAxiosParamCreator = function (configuration?: Con
66490
66890
  };
66491
66891
  },
66492
66892
  /**
66493
- * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions and staff, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
66893
+ * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions, staff and hours, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
66494
66894
  * @summary Set when a store\'s ready-made report is emailed
66495
66895
  * @param {number} businessId The store\&#39;s orderingBusinessId
66496
- * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff
66896
+ * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff, hours
66497
66897
  * @param {SetReportScheduleDto} setReportScheduleDto
66498
66898
  * @param {*} [options] Override http request option.
66499
66899
  * @throws {RequiredError}
@@ -66538,7 +66938,7 @@ export const ReportSchedulesApiAxiosParamCreator = function (configuration?: Con
66538
66938
  };
66539
66939
  },
66540
66940
  /**
66541
- * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions and staff, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
66941
+ * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions, staff and hours, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
66542
66942
  * @summary Set when a store\'s saved report is emailed
66543
66943
  * @param {number} businessId The store\&#39;s orderingBusinessId
66544
66944
  * @param {string} reportId The saved report\&#39;s id
@@ -66635,7 +67035,7 @@ export const ReportSchedulesApiFp = function(configuration?: Configuration) {
66635
67035
  * Its schedule: cadence, time and zone, recipients and when it next sends. 404 when none is saved. Managers only.
66636
67036
  * @summary Read when a store\'s ready-made report is emailed
66637
67037
  * @param {number} businessId The store\&#39;s orderingBusinessId
66638
- * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff
67038
+ * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff, hours
66639
67039
  * @param {*} [options] Override http request option.
66640
67040
  * @throws {RequiredError}
66641
67041
  */
@@ -66686,7 +67086,7 @@ export const ReportSchedulesApiFp = function(configuration?: Configuration) {
66686
67086
  * Every time it was emailed, newest first, a page at a time: the days it covered, who it went to and the files it kept.
66687
67087
  * @summary List the past runs of a store\'s ready-made report
66688
67088
  * @param {number} businessId The store\&#39;s orderingBusinessId
66689
- * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff
67089
+ * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff, hours
66690
67090
  * @param {number} [limit] At most this many runs, 1 to 100. Absent: 30
66691
67091
  * @param {string} [after] The id of the last run of the page before; the list goes on after it
66692
67092
  * @param {*} [options] Override http request option.
@@ -66711,7 +67111,7 @@ export const ReportSchedulesApiFp = function(configuration?: Configuration) {
66711
67111
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
66712
67112
  },
66713
67113
  /**
66714
- * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions and staff, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67114
+ * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions, staff and hours, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
66715
67115
  * @summary Set when an organisation\'s saved report is emailed
66716
67116
  * @param {string} groupId The organisation\&#39;s id: its group\&#39;s accountId in the licence server
66717
67117
  * @param {string} reportId The saved report\&#39;s id
@@ -66724,10 +67124,10 @@ export const ReportSchedulesApiFp = function(configuration?: Configuration) {
66724
67124
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
66725
67125
  },
66726
67126
  /**
66727
- * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions and staff, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67127
+ * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions, staff and hours, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
66728
67128
  * @summary Set when a store\'s ready-made report is emailed
66729
67129
  * @param {number} businessId The store\&#39;s orderingBusinessId
66730
- * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff
67130
+ * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff, hours
66731
67131
  * @param {SetReportScheduleDto} setReportScheduleDto
66732
67132
  * @param {*} [options] Override http request option.
66733
67133
  * @throws {RequiredError}
@@ -66737,7 +67137,7 @@ export const ReportSchedulesApiFp = function(configuration?: Configuration) {
66737
67137
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
66738
67138
  },
66739
67139
  /**
66740
- * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions and staff, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67140
+ * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions, staff and hours, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
66741
67141
  * @summary Set when a store\'s saved report is emailed
66742
67142
  * @param {number} businessId The store\&#39;s orderingBusinessId
66743
67143
  * @param {string} reportId The saved report\&#39;s id
@@ -66796,7 +67196,7 @@ export const ReportSchedulesApiFactory = function (configuration?: Configuration
66796
67196
  * Its schedule: cadence, time and zone, recipients and when it next sends. 404 when none is saved. Managers only.
66797
67197
  * @summary Read when a store\'s ready-made report is emailed
66798
67198
  * @param {number} businessId The store\&#39;s orderingBusinessId
66799
- * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff
67199
+ * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff, hours
66800
67200
  * @param {*} [options] Override http request option.
66801
67201
  * @throws {RequiredError}
66802
67202
  */
@@ -66843,7 +67243,7 @@ export const ReportSchedulesApiFactory = function (configuration?: Configuration
66843
67243
  * Every time it was emailed, newest first, a page at a time: the days it covered, who it went to and the files it kept.
66844
67244
  * @summary List the past runs of a store\'s ready-made report
66845
67245
  * @param {number} businessId The store\&#39;s orderingBusinessId
66846
- * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff
67246
+ * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff, hours
66847
67247
  * @param {number} [limit] At most this many runs, 1 to 100. Absent: 30
66848
67248
  * @param {string} [after] The id of the last run of the page before; the list goes on after it
66849
67249
  * @param {*} [options] Override http request option.
@@ -66866,7 +67266,7 @@ export const ReportSchedulesApiFactory = function (configuration?: Configuration
66866
67266
  return localVarFp.listStoreSavedReportRuns(businessId, reportId, limit, after, options).then((request) => request(axios, basePath));
66867
67267
  },
66868
67268
  /**
66869
- * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions and staff, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67269
+ * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions, staff and hours, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
66870
67270
  * @summary Set when an organisation\'s saved report is emailed
66871
67271
  * @param {string} groupId The organisation\&#39;s id: its group\&#39;s accountId in the licence server
66872
67272
  * @param {string} reportId The saved report\&#39;s id
@@ -66878,10 +67278,10 @@ export const ReportSchedulesApiFactory = function (configuration?: Configuration
66878
67278
  return localVarFp.setOrganisationSavedReportSchedule(groupId, reportId, setReportScheduleDto, options).then((request) => request(axios, basePath));
66879
67279
  },
66880
67280
  /**
66881
- * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions and staff, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67281
+ * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions, staff and hours, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
66882
67282
  * @summary Set when a store\'s ready-made report is emailed
66883
67283
  * @param {number} businessId The store\&#39;s orderingBusinessId
66884
- * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff
67284
+ * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff, hours
66885
67285
  * @param {SetReportScheduleDto} setReportScheduleDto
66886
67286
  * @param {*} [options] Override http request option.
66887
67287
  * @throws {RequiredError}
@@ -66890,7 +67290,7 @@ export const ReportSchedulesApiFactory = function (configuration?: Configuration
66890
67290
  return localVarFp.setStoreReadyMadeReportSchedule(businessId, readyMadeReport, setReportScheduleDto, options).then((request) => request(axios, basePath));
66891
67291
  },
66892
67292
  /**
66893
- * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions and staff, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67293
+ * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions, staff and hours, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
66894
67294
  * @summary Set when a store\'s saved report is emailed
66895
67295
  * @param {number} businessId The store\&#39;s orderingBusinessId
66896
67296
  * @param {string} reportId The saved report\&#39;s id
@@ -66947,7 +67347,7 @@ export interface ReportSchedulesApiInterface {
66947
67347
  * Its schedule: cadence, time and zone, recipients and when it next sends. 404 when none is saved. Managers only.
66948
67348
  * @summary Read when a store\'s ready-made report is emailed
66949
67349
  * @param {number} businessId The store\&#39;s orderingBusinessId
66950
- * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff
67350
+ * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff, hours
66951
67351
  * @param {*} [options] Override http request option.
66952
67352
  * @throws {RequiredError}
66953
67353
  * @memberof ReportSchedulesApiInterface
@@ -66994,7 +67394,7 @@ export interface ReportSchedulesApiInterface {
66994
67394
  * Every time it was emailed, newest first, a page at a time: the days it covered, who it went to and the files it kept.
66995
67395
  * @summary List the past runs of a store\'s ready-made report
66996
67396
  * @param {number} businessId The store\&#39;s orderingBusinessId
66997
- * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff
67397
+ * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff, hours
66998
67398
  * @param {number} [limit] At most this many runs, 1 to 100. Absent: 30
66999
67399
  * @param {string} [after] The id of the last run of the page before; the list goes on after it
67000
67400
  * @param {*} [options] Override http request option.
@@ -67017,7 +67417,7 @@ export interface ReportSchedulesApiInterface {
67017
67417
  listStoreSavedReportRuns(businessId: number, reportId: string, limit?: number, after?: string, options?: AxiosRequestConfig): AxiosPromise<ReportRunListDto>;
67018
67418
 
67019
67419
  /**
67020
- * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions and staff, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67420
+ * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions, staff and hours, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67021
67421
  * @summary Set when an organisation\'s saved report is emailed
67022
67422
  * @param {string} groupId The organisation\&#39;s id: its group\&#39;s accountId in the licence server
67023
67423
  * @param {string} reportId The saved report\&#39;s id
@@ -67029,10 +67429,10 @@ export interface ReportSchedulesApiInterface {
67029
67429
  setOrganisationSavedReportSchedule(groupId: string, reportId: string, setReportScheduleDto: SetReportScheduleDto, options?: AxiosRequestConfig): AxiosPromise<ReportScheduleDto>;
67030
67430
 
67031
67431
  /**
67032
- * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions and staff, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67432
+ * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions, staff and hours, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67033
67433
  * @summary Set when a store\'s ready-made report is emailed
67034
67434
  * @param {number} businessId The store\&#39;s orderingBusinessId
67035
- * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff
67435
+ * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff, hours
67036
67436
  * @param {SetReportScheduleDto} setReportScheduleDto
67037
67437
  * @param {*} [options] Override http request option.
67038
67438
  * @throws {RequiredError}
@@ -67041,7 +67441,7 @@ export interface ReportSchedulesApiInterface {
67041
67441
  setStoreReadyMadeReportSchedule(businessId: number, readyMadeReport: ReadyMadeReport, setReportScheduleDto: SetReportScheduleDto, options?: AxiosRequestConfig): AxiosPromise<ReportScheduleDto>;
67042
67442
 
67043
67443
  /**
67044
- * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions and staff, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67444
+ * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions, staff and hours, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67045
67445
  * @summary Set when a store\'s saved report is emailed
67046
67446
  * @param {number} businessId The store\&#39;s orderingBusinessId
67047
67447
  * @param {string} reportId The saved report\&#39;s id
@@ -67104,7 +67504,7 @@ export class ReportSchedulesApi extends BaseAPI implements ReportSchedulesApiInt
67104
67504
  * Its schedule: cadence, time and zone, recipients and when it next sends. 404 when none is saved. Managers only.
67105
67505
  * @summary Read when a store\'s ready-made report is emailed
67106
67506
  * @param {number} businessId The store\&#39;s orderingBusinessId
67107
- * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff
67507
+ * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff, hours
67108
67508
  * @param {*} [options] Override http request option.
67109
67509
  * @throws {RequiredError}
67110
67510
  * @memberof ReportSchedulesApi
@@ -67159,7 +67559,7 @@ export class ReportSchedulesApi extends BaseAPI implements ReportSchedulesApiInt
67159
67559
  * Every time it was emailed, newest first, a page at a time: the days it covered, who it went to and the files it kept.
67160
67560
  * @summary List the past runs of a store\'s ready-made report
67161
67561
  * @param {number} businessId The store\&#39;s orderingBusinessId
67162
- * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff
67562
+ * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff, hours
67163
67563
  * @param {number} [limit] At most this many runs, 1 to 100. Absent: 30
67164
67564
  * @param {string} [after] The id of the last run of the page before; the list goes on after it
67165
67565
  * @param {*} [options] Override http request option.
@@ -67186,7 +67586,7 @@ export class ReportSchedulesApi extends BaseAPI implements ReportSchedulesApiInt
67186
67586
  }
67187
67587
 
67188
67588
  /**
67189
- * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions and staff, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67589
+ * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions, staff and hours, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67190
67590
  * @summary Set when an organisation\'s saved report is emailed
67191
67591
  * @param {string} groupId The organisation\&#39;s id: its group\&#39;s accountId in the licence server
67192
67592
  * @param {string} reportId The saved report\&#39;s id
@@ -67200,10 +67600,10 @@ export class ReportSchedulesApi extends BaseAPI implements ReportSchedulesApiInt
67200
67600
  }
67201
67601
 
67202
67602
  /**
67203
- * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions and staff, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67603
+ * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions, staff and hours, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67204
67604
  * @summary Set when a store\'s ready-made report is emailed
67205
67605
  * @param {number} businessId The store\&#39;s orderingBusinessId
67206
- * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff
67606
+ * @param {ReadyMadeReport} readyMadeReport The ready-made report: sales, or one of dashboard-one\&#39;s Reports: zReport, salesVat, payments, productSales, cashSessions, staff, hours
67207
67607
  * @param {SetReportScheduleDto} setReportScheduleDto
67208
67608
  * @param {*} [options] Override http request option.
67209
67609
  * @throws {RequiredError}
@@ -67214,7 +67614,7 @@ export class ReportSchedulesApi extends BaseAPI implements ReportSchedulesApiInt
67214
67614
  }
67215
67615
 
67216
67616
  /**
67217
- * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions and staff, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67617
+ * Replaces its schedule. The first save, without expectedVersion, makes it; every later one sends the version it read (409 when stale). Each run is saved under the report\'s past runs (a ready-made report\'s with its files, as dashboard-one\'s Reports downloads them: the sales report\'s PDF and Excel for sales, salesVat, payments and productSales, the end-of-day PDF for zReport, none for cashSessions, staff and hours, whose email opens the report for its days) and emails each recipient, if any, a link to it in dashboard-one. Off keeps the schedule without sending. Managers only.
67218
67618
  * @summary Set when a store\'s saved report is emailed
67219
67619
  * @param {number} businessId The store\&#39;s orderingBusinessId
67220
67620
  * @param {string} reportId The saved report\&#39;s id
@@ -70581,6 +70981,98 @@ export class SavedReportsApi extends BaseAPI implements SavedReportsApiInterface
70581
70981
  */
70582
70982
  export const ShiftTrackingApiAxiosParamCreator = function (configuration?: Configuration) {
70583
70983
  return {
70984
+ /**
70985
+ * A shift added in the back office: its clock-in, and its clock-out unless the staff member is still working. It counts in the hours report like a shift clocked on the till. It is refused while it would be the staff member\'s second open shift at the venue (SHIFT_ALREADY_OPEN), or overlap another of their shifts there (SHIFTS_OVERLAP); an open shift runs on with no end, and shifts that only touch do not overlap. Access: the staff write (org:staff:write) at the venue, refused without it; a till\'s own ticket is always refused, so the person on the till never changes their own hours.
70986
+ * @summary Record a shift the till missed, for a staff member who works at the venue
70987
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
70988
+ * @param {AddShiftDto} addShiftDto
70989
+ * @param {*} [options] Override http request option.
70990
+ * @throws {RequiredError}
70991
+ */
70992
+ addShiftAtVenue: async (businessId: number, addShiftDto: AddShiftDto, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
70993
+ // verify required parameter 'businessId' is not null or undefined
70994
+ assertParamExists('addShiftAtVenue', 'businessId', businessId)
70995
+ // verify required parameter 'addShiftDto' is not null or undefined
70996
+ assertParamExists('addShiftAtVenue', 'addShiftDto', addShiftDto)
70997
+ const localVarPath = `/api/v2/businesses/{businessId}/shifts`
70998
+ .replace(`{${"businessId"}}`, encodeURIComponent(String(businessId)));
70999
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
71000
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
71001
+ let baseOptions;
71002
+ if (configuration) {
71003
+ baseOptions = configuration.baseOptions;
71004
+ }
71005
+
71006
+ const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
71007
+ const localVarHeaderParameter = {} as any;
71008
+ const localVarQueryParameter = {} as any;
71009
+
71010
+ // authentication JWT-auth required
71011
+ // http bearer authentication required
71012
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
71013
+
71014
+
71015
+
71016
+ localVarHeaderParameter['Content-Type'] = 'application/json';
71017
+
71018
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
71019
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
71020
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
71021
+ localVarRequestOptions.data = serializeDataIfNeeded(addShiftDto, localVarRequestOptions, configuration)
71022
+
71023
+ return {
71024
+ url: toPathString(localVarUrlObj),
71025
+ options: localVarRequestOptions,
71026
+ };
71027
+ },
71028
+ /**
71029
+ * Sets the times sent and keeps the others; a clock-out is never taken away, so a shift closed here stays closed, and it forgets the till session it was clocked in on, as a clock-out on the till does. The change is saved only while the shift is as it was read, so a clock-out the till writes at the same moment is never overwritten unseen, and never so that the shift overlaps another of the staff member\'s shifts at the venue (SHIFTS_OVERLAP). Access: the staff write (org:staff:write) at the venue, refused without it; a till\'s own ticket is always refused, so the person on the till never changes their own hours.
71030
+ * @summary Correct a shift\'s clock-in or clock-out, a forgotten clock-out among them
71031
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71032
+ * @param {string} shiftId The shift\&#39;s id
71033
+ * @param {ChangeShiftDto} changeShiftDto
71034
+ * @param {*} [options] Override http request option.
71035
+ * @throws {RequiredError}
71036
+ */
71037
+ changeShiftAtVenue: async (businessId: number, shiftId: string, changeShiftDto: ChangeShiftDto, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
71038
+ // verify required parameter 'businessId' is not null or undefined
71039
+ assertParamExists('changeShiftAtVenue', 'businessId', businessId)
71040
+ // verify required parameter 'shiftId' is not null or undefined
71041
+ assertParamExists('changeShiftAtVenue', 'shiftId', shiftId)
71042
+ // verify required parameter 'changeShiftDto' is not null or undefined
71043
+ assertParamExists('changeShiftAtVenue', 'changeShiftDto', changeShiftDto)
71044
+ const localVarPath = `/api/v2/businesses/{businessId}/shifts/{shiftId}`
71045
+ .replace(`{${"businessId"}}`, encodeURIComponent(String(businessId)))
71046
+ .replace(`{${"shiftId"}}`, encodeURIComponent(String(shiftId)));
71047
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
71048
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
71049
+ let baseOptions;
71050
+ if (configuration) {
71051
+ baseOptions = configuration.baseOptions;
71052
+ }
71053
+
71054
+ const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
71055
+ const localVarHeaderParameter = {} as any;
71056
+ const localVarQueryParameter = {} as any;
71057
+
71058
+ // authentication JWT-auth required
71059
+ // http bearer authentication required
71060
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
71061
+
71062
+
71063
+
71064
+ localVarHeaderParameter['Content-Type'] = 'application/json';
71065
+
71066
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
71067
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
71068
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
71069
+ localVarRequestOptions.data = serializeDataIfNeeded(changeShiftDto, localVarRequestOptions, configuration)
71070
+
71071
+ return {
71072
+ url: toPathString(localVarUrlObj),
71073
+ options: localVarRequestOptions,
71074
+ };
71075
+ },
70584
71076
  /**
70585
71077
  * Opens a shift clocked in now, with a new session, unless the employee already has one open at the venue: that one is answered as it is.
70586
71078
  * @summary Clock the employee in at the venue
@@ -70731,6 +71223,182 @@ export const ShiftTrackingApiAxiosParamCreator = function (configuration?: Confi
70731
71223
 
70732
71224
 
70733
71225
 
71226
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
71227
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
71228
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
71229
+
71230
+ return {
71231
+ url: toPathString(localVarUrlObj),
71232
+ options: localVarRequestOptions,
71233
+ };
71234
+ },
71235
+ /**
71236
+ * The shift no longer counts in the hours report. A shift still open is not removed (SHIFT_STILL_OPEN): its clock-out is set first, so the till\'s next clock-out is not recorded as a shift with no clock-in. Access: the staff write (org:staff:write) at the venue, refused without it; a till\'s own ticket is always refused, so the person on the till never changes their own hours.
71237
+ * @summary Remove a shift recorded by mistake
71238
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71239
+ * @param {string} shiftId The shift\&#39;s id
71240
+ * @param {*} [options] Override http request option.
71241
+ * @throws {RequiredError}
71242
+ */
71243
+ removeShiftAtVenue: async (businessId: number, shiftId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
71244
+ // verify required parameter 'businessId' is not null or undefined
71245
+ assertParamExists('removeShiftAtVenue', 'businessId', businessId)
71246
+ // verify required parameter 'shiftId' is not null or undefined
71247
+ assertParamExists('removeShiftAtVenue', 'shiftId', shiftId)
71248
+ const localVarPath = `/api/v2/businesses/{businessId}/shifts/{shiftId}`
71249
+ .replace(`{${"businessId"}}`, encodeURIComponent(String(businessId)))
71250
+ .replace(`{${"shiftId"}}`, encodeURIComponent(String(shiftId)));
71251
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
71252
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
71253
+ let baseOptions;
71254
+ if (configuration) {
71255
+ baseOptions = configuration.baseOptions;
71256
+ }
71257
+
71258
+ const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
71259
+ const localVarHeaderParameter = {} as any;
71260
+ const localVarQueryParameter = {} as any;
71261
+
71262
+ // authentication JWT-auth required
71263
+ // http bearer authentication required
71264
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
71265
+
71266
+
71267
+
71268
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
71269
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
71270
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
71271
+
71272
+ return {
71273
+ url: toPathString(localVarUrlObj),
71274
+ options: localVarRequestOptions,
71275
+ };
71276
+ },
71277
+ /**
71278
+ * The shifts staff clocked on the POS (clock-in on unlock, clock-out on lock), for the days from to to in the venue\'s time zone: per staff member and per day the shift began, with each shift\'s times and worked minutes, and totals. A shift still open, with only a clock-out, or clocked out before it clocked in, counts 0 minutes; openShifts counts the open ones, so a forgotten clock-out shows. Each day\'s shifts are oldest first, each with its id and status (open or closed). employeeIds keeps only those staff members\' shifts, and status only the open or the closed ones; every total counts the shifts kept. At most 93 days counting both ends (to at most 92 days after from). Only reads. Access: a person signed in for Ari is refused without the reports read (org:reports:read) at the venue today; for every other caller that permission, and on a till ticket the Page::Reports key of the person on the till, are only logged (Access would refuse) until the shifts module refuses all (R30).
71279
+ * @summary Each staff member\'s clocked hours at the venue over a period
71280
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71281
+ * @param {string} from The first day, YYYY-MM-DD, in the venue\&#39;s time zone
71282
+ * @param {string} to The last day, YYYY-MM-DD, inclusive, in the venue\&#39;s time zone; from or at most 92 days after it, 93 days counting both
71283
+ * @param {Array<string>} [employeeIds] Only these staff members\&#39; shifts, by employee id. Absent or empty: every staff member\&#39;s
71284
+ * @param {ShiftStatus} [status] Only open shifts (clocked in, not clocked out yet) or only closed ones (clocked out). Absent: both
71285
+ * @param {*} [options] Override http request option.
71286
+ * @throws {RequiredError}
71287
+ */
71288
+ staffHoursAtVenue: async (businessId: number, from: string, to: string, employeeIds?: Array<string>, status?: ShiftStatus, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
71289
+ // verify required parameter 'businessId' is not null or undefined
71290
+ assertParamExists('staffHoursAtVenue', 'businessId', businessId)
71291
+ // verify required parameter 'from' is not null or undefined
71292
+ assertParamExists('staffHoursAtVenue', 'from', from)
71293
+ // verify required parameter 'to' is not null or undefined
71294
+ assertParamExists('staffHoursAtVenue', 'to', to)
71295
+ const localVarPath = `/api/v2/businesses/{businessId}/shifts/hours`
71296
+ .replace(`{${"businessId"}}`, encodeURIComponent(String(businessId)));
71297
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
71298
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
71299
+ let baseOptions;
71300
+ if (configuration) {
71301
+ baseOptions = configuration.baseOptions;
71302
+ }
71303
+
71304
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
71305
+ const localVarHeaderParameter = {} as any;
71306
+ const localVarQueryParameter = {} as any;
71307
+
71308
+ // authentication JWT-auth required
71309
+ // http bearer authentication required
71310
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
71311
+
71312
+ if (from !== undefined) {
71313
+ localVarQueryParameter['from'] = from;
71314
+ }
71315
+
71316
+ if (to !== undefined) {
71317
+ localVarQueryParameter['to'] = to;
71318
+ }
71319
+
71320
+ if (employeeIds) {
71321
+ localVarQueryParameter['employeeIds'] = employeeIds;
71322
+ }
71323
+
71324
+ if (status !== undefined) {
71325
+ localVarQueryParameter['status'] = status;
71326
+ }
71327
+
71328
+
71329
+
71330
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
71331
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
71332
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
71333
+
71334
+ return {
71335
+ url: toPathString(localVarUrlObj),
71336
+ options: localVarRequestOptions,
71337
+ };
71338
+ },
71339
+ /**
71340
+ * The same report GET hours answers for the days and filters asked, printed by utility-service in English or Finnish: a summary (total hours, people, open shifts), each staff member\'s hours, days worked and open shifts, each day each person worked with its ISO week, and each shift with its clock-in and clock-out in the venue\'s time zone, its hours and its status. The filters asked are printed under the period. Answers application/pdf (format pdf, the default) or application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (format xlsx) with Content-Disposition attachment, named hours-report-<businessId>-<from>-<to>.pdf or .xlsx. At most 93 days counting both ends. Access as GET hours.
71341
+ * @summary The staff hours report of the venue as a PDF or Excel (xlsx) file to download
71342
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71343
+ * @param {string} from The first day, YYYY-MM-DD, in the venue\&#39;s time zone
71344
+ * @param {string} to The last day, YYYY-MM-DD, inclusive, in the venue\&#39;s time zone; from or at most 92 days after it, 93 days counting both
71345
+ * @param {Array<string>} [employeeIds] Only these staff members\&#39; shifts, by employee id. Absent or empty: every staff member\&#39;s
71346
+ * @param {ShiftStatus} [status] Only open shifts (clocked in, not clocked out yet) or only closed ones (clocked out). Absent: both
71347
+ * @param {ReportLanguage} [language] The language the file is printed in. Absent: English
71348
+ * @param {FileFormat} [format] The file\&#39;s format: pdf, or xlsx for an Excel workbook of the same report. Absent: pdf
71349
+ * @param {*} [options] Override http request option.
71350
+ * @throws {RequiredError}
71351
+ */
71352
+ staffHoursFileAtVenue: async (businessId: number, from: string, to: string, employeeIds?: Array<string>, status?: ShiftStatus, language?: ReportLanguage, format?: FileFormat, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
71353
+ // verify required parameter 'businessId' is not null or undefined
71354
+ assertParamExists('staffHoursFileAtVenue', 'businessId', businessId)
71355
+ // verify required parameter 'from' is not null or undefined
71356
+ assertParamExists('staffHoursFileAtVenue', 'from', from)
71357
+ // verify required parameter 'to' is not null or undefined
71358
+ assertParamExists('staffHoursFileAtVenue', 'to', to)
71359
+ const localVarPath = `/api/v2/businesses/{businessId}/shifts/hours/file`
71360
+ .replace(`{${"businessId"}}`, encodeURIComponent(String(businessId)));
71361
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
71362
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
71363
+ let baseOptions;
71364
+ if (configuration) {
71365
+ baseOptions = configuration.baseOptions;
71366
+ }
71367
+
71368
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
71369
+ const localVarHeaderParameter = {} as any;
71370
+ const localVarQueryParameter = {} as any;
71371
+
71372
+ // authentication JWT-auth required
71373
+ // http bearer authentication required
71374
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
71375
+
71376
+ if (from !== undefined) {
71377
+ localVarQueryParameter['from'] = from;
71378
+ }
71379
+
71380
+ if (to !== undefined) {
71381
+ localVarQueryParameter['to'] = to;
71382
+ }
71383
+
71384
+ if (employeeIds) {
71385
+ localVarQueryParameter['employeeIds'] = employeeIds;
71386
+ }
71387
+
71388
+ if (status !== undefined) {
71389
+ localVarQueryParameter['status'] = status;
71390
+ }
71391
+
71392
+ if (language !== undefined) {
71393
+ localVarQueryParameter['language'] = language;
71394
+ }
71395
+
71396
+ if (format !== undefined) {
71397
+ localVarQueryParameter['format'] = format;
71398
+ }
71399
+
71400
+
71401
+
70734
71402
  setSearchParams(localVarUrlObj, localVarQueryParameter);
70735
71403
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
70736
71404
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -70835,6 +71503,31 @@ export const ShiftTrackingApiAxiosParamCreator = function (configuration?: Confi
70835
71503
  export const ShiftTrackingApiFp = function(configuration?: Configuration) {
70836
71504
  const localVarAxiosParamCreator = ShiftTrackingApiAxiosParamCreator(configuration)
70837
71505
  return {
71506
+ /**
71507
+ * A shift added in the back office: its clock-in, and its clock-out unless the staff member is still working. It counts in the hours report like a shift clocked on the till. It is refused while it would be the staff member\'s second open shift at the venue (SHIFT_ALREADY_OPEN), or overlap another of their shifts there (SHIFTS_OVERLAP); an open shift runs on with no end, and shifts that only touch do not overlap. Access: the staff write (org:staff:write) at the venue, refused without it; a till\'s own ticket is always refused, so the person on the till never changes their own hours.
71508
+ * @summary Record a shift the till missed, for a staff member who works at the venue
71509
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71510
+ * @param {AddShiftDto} addShiftDto
71511
+ * @param {*} [options] Override http request option.
71512
+ * @throws {RequiredError}
71513
+ */
71514
+ async addShiftAtVenue(businessId: number, addShiftDto: AddShiftDto, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<StaffShiftDto>> {
71515
+ const localVarAxiosArgs = await localVarAxiosParamCreator.addShiftAtVenue(businessId, addShiftDto, options);
71516
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
71517
+ },
71518
+ /**
71519
+ * Sets the times sent and keeps the others; a clock-out is never taken away, so a shift closed here stays closed, and it forgets the till session it was clocked in on, as a clock-out on the till does. The change is saved only while the shift is as it was read, so a clock-out the till writes at the same moment is never overwritten unseen, and never so that the shift overlaps another of the staff member\'s shifts at the venue (SHIFTS_OVERLAP). Access: the staff write (org:staff:write) at the venue, refused without it; a till\'s own ticket is always refused, so the person on the till never changes their own hours.
71520
+ * @summary Correct a shift\'s clock-in or clock-out, a forgotten clock-out among them
71521
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71522
+ * @param {string} shiftId The shift\&#39;s id
71523
+ * @param {ChangeShiftDto} changeShiftDto
71524
+ * @param {*} [options] Override http request option.
71525
+ * @throws {RequiredError}
71526
+ */
71527
+ async changeShiftAtVenue(businessId: number, shiftId: string, changeShiftDto: ChangeShiftDto, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<StaffShiftDto>> {
71528
+ const localVarAxiosArgs = await localVarAxiosParamCreator.changeShiftAtVenue(businessId, shiftId, changeShiftDto, options);
71529
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
71530
+ },
70838
71531
  /**
70839
71532
  * Opens a shift clocked in now, with a new session, unless the employee already has one open at the venue: that one is answered as it is.
70840
71533
  * @summary Clock the employee in at the venue
@@ -70882,6 +71575,50 @@ export const ShiftTrackingApiFp = function(configuration?: Configuration) {
70882
71575
  const localVarAxiosArgs = await localVarAxiosParamCreator.lockTill(businessId, options);
70883
71576
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
70884
71577
  },
71578
+ /**
71579
+ * The shift no longer counts in the hours report. A shift still open is not removed (SHIFT_STILL_OPEN): its clock-out is set first, so the till\'s next clock-out is not recorded as a shift with no clock-in. Access: the staff write (org:staff:write) at the venue, refused without it; a till\'s own ticket is always refused, so the person on the till never changes their own hours.
71580
+ * @summary Remove a shift recorded by mistake
71581
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71582
+ * @param {string} shiftId The shift\&#39;s id
71583
+ * @param {*} [options] Override http request option.
71584
+ * @throws {RequiredError}
71585
+ */
71586
+ async removeShiftAtVenue(businessId: number, shiftId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
71587
+ const localVarAxiosArgs = await localVarAxiosParamCreator.removeShiftAtVenue(businessId, shiftId, options);
71588
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
71589
+ },
71590
+ /**
71591
+ * The shifts staff clocked on the POS (clock-in on unlock, clock-out on lock), for the days from to to in the venue\'s time zone: per staff member and per day the shift began, with each shift\'s times and worked minutes, and totals. A shift still open, with only a clock-out, or clocked out before it clocked in, counts 0 minutes; openShifts counts the open ones, so a forgotten clock-out shows. Each day\'s shifts are oldest first, each with its id and status (open or closed). employeeIds keeps only those staff members\' shifts, and status only the open or the closed ones; every total counts the shifts kept. At most 93 days counting both ends (to at most 92 days after from). Only reads. Access: a person signed in for Ari is refused without the reports read (org:reports:read) at the venue today; for every other caller that permission, and on a till ticket the Page::Reports key of the person on the till, are only logged (Access would refuse) until the shifts module refuses all (R30).
71592
+ * @summary Each staff member\'s clocked hours at the venue over a period
71593
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71594
+ * @param {string} from The first day, YYYY-MM-DD, in the venue\&#39;s time zone
71595
+ * @param {string} to The last day, YYYY-MM-DD, inclusive, in the venue\&#39;s time zone; from or at most 92 days after it, 93 days counting both
71596
+ * @param {Array<string>} [employeeIds] Only these staff members\&#39; shifts, by employee id. Absent or empty: every staff member\&#39;s
71597
+ * @param {ShiftStatus} [status] Only open shifts (clocked in, not clocked out yet) or only closed ones (clocked out). Absent: both
71598
+ * @param {*} [options] Override http request option.
71599
+ * @throws {RequiredError}
71600
+ */
71601
+ async staffHoursAtVenue(businessId: number, from: string, to: string, employeeIds?: Array<string>, status?: ShiftStatus, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<StaffHoursResponseDto>> {
71602
+ const localVarAxiosArgs = await localVarAxiosParamCreator.staffHoursAtVenue(businessId, from, to, employeeIds, status, options);
71603
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
71604
+ },
71605
+ /**
71606
+ * The same report GET hours answers for the days and filters asked, printed by utility-service in English or Finnish: a summary (total hours, people, open shifts), each staff member\'s hours, days worked and open shifts, each day each person worked with its ISO week, and each shift with its clock-in and clock-out in the venue\'s time zone, its hours and its status. The filters asked are printed under the period. Answers application/pdf (format pdf, the default) or application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (format xlsx) with Content-Disposition attachment, named hours-report-<businessId>-<from>-<to>.pdf or .xlsx. At most 93 days counting both ends. Access as GET hours.
71607
+ * @summary The staff hours report of the venue as a PDF or Excel (xlsx) file to download
71608
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71609
+ * @param {string} from The first day, YYYY-MM-DD, in the venue\&#39;s time zone
71610
+ * @param {string} to The last day, YYYY-MM-DD, inclusive, in the venue\&#39;s time zone; from or at most 92 days after it, 93 days counting both
71611
+ * @param {Array<string>} [employeeIds] Only these staff members\&#39; shifts, by employee id. Absent or empty: every staff member\&#39;s
71612
+ * @param {ShiftStatus} [status] Only open shifts (clocked in, not clocked out yet) or only closed ones (clocked out). Absent: both
71613
+ * @param {ReportLanguage} [language] The language the file is printed in. Absent: English
71614
+ * @param {FileFormat} [format] The file\&#39;s format: pdf, or xlsx for an Excel workbook of the same report. Absent: pdf
71615
+ * @param {*} [options] Override http request option.
71616
+ * @throws {RequiredError}
71617
+ */
71618
+ async staffHoursFileAtVenue(businessId: number, from: string, to: string, employeeIds?: Array<string>, status?: ShiftStatus, language?: ReportLanguage, format?: FileFormat, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<File>> {
71619
+ const localVarAxiosArgs = await localVarAxiosParamCreator.staffHoursFileAtVenue(businessId, from, to, employeeIds, status, language, format, options);
71620
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
71621
+ },
70885
71622
  /**
70886
71623
  * The till names the employee; no PIN is checked here (v2 unlock checks it on the server). With an open shift at the venue, the shift gets a new session and its old session is told to leave on Ably (session-kick on shift:<id>:<environment>).
70887
71624
  * @summary Unlock the till for an employee (no PIN; old builds)
@@ -70916,6 +71653,29 @@ export const ShiftTrackingApiFp = function(configuration?: Configuration) {
70916
71653
  export const ShiftTrackingApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
70917
71654
  const localVarFp = ShiftTrackingApiFp(configuration)
70918
71655
  return {
71656
+ /**
71657
+ * A shift added in the back office: its clock-in, and its clock-out unless the staff member is still working. It counts in the hours report like a shift clocked on the till. It is refused while it would be the staff member\'s second open shift at the venue (SHIFT_ALREADY_OPEN), or overlap another of their shifts there (SHIFTS_OVERLAP); an open shift runs on with no end, and shifts that only touch do not overlap. Access: the staff write (org:staff:write) at the venue, refused without it; a till\'s own ticket is always refused, so the person on the till never changes their own hours.
71658
+ * @summary Record a shift the till missed, for a staff member who works at the venue
71659
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71660
+ * @param {AddShiftDto} addShiftDto
71661
+ * @param {*} [options] Override http request option.
71662
+ * @throws {RequiredError}
71663
+ */
71664
+ addShiftAtVenue(businessId: number, addShiftDto: AddShiftDto, options?: any): AxiosPromise<StaffShiftDto> {
71665
+ return localVarFp.addShiftAtVenue(businessId, addShiftDto, options).then((request) => request(axios, basePath));
71666
+ },
71667
+ /**
71668
+ * Sets the times sent and keeps the others; a clock-out is never taken away, so a shift closed here stays closed, and it forgets the till session it was clocked in on, as a clock-out on the till does. The change is saved only while the shift is as it was read, so a clock-out the till writes at the same moment is never overwritten unseen, and never so that the shift overlaps another of the staff member\'s shifts at the venue (SHIFTS_OVERLAP). Access: the staff write (org:staff:write) at the venue, refused without it; a till\'s own ticket is always refused, so the person on the till never changes their own hours.
71669
+ * @summary Correct a shift\'s clock-in or clock-out, a forgotten clock-out among them
71670
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71671
+ * @param {string} shiftId The shift\&#39;s id
71672
+ * @param {ChangeShiftDto} changeShiftDto
71673
+ * @param {*} [options] Override http request option.
71674
+ * @throws {RequiredError}
71675
+ */
71676
+ changeShiftAtVenue(businessId: number, shiftId: string, changeShiftDto: ChangeShiftDto, options?: any): AxiosPromise<StaffShiftDto> {
71677
+ return localVarFp.changeShiftAtVenue(businessId, shiftId, changeShiftDto, options).then((request) => request(axios, basePath));
71678
+ },
70919
71679
  /**
70920
71680
  * Opens a shift clocked in now, with a new session, unless the employee already has one open at the venue: that one is answered as it is.
70921
71681
  * @summary Clock the employee in at the venue
@@ -70959,6 +71719,47 @@ export const ShiftTrackingApiFactory = function (configuration?: Configuration,
70959
71719
  lockTill(businessId: number, options?: any): AxiosPromise<void> {
70960
71720
  return localVarFp.lockTill(businessId, options).then((request) => request(axios, basePath));
70961
71721
  },
71722
+ /**
71723
+ * The shift no longer counts in the hours report. A shift still open is not removed (SHIFT_STILL_OPEN): its clock-out is set first, so the till\'s next clock-out is not recorded as a shift with no clock-in. Access: the staff write (org:staff:write) at the venue, refused without it; a till\'s own ticket is always refused, so the person on the till never changes their own hours.
71724
+ * @summary Remove a shift recorded by mistake
71725
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71726
+ * @param {string} shiftId The shift\&#39;s id
71727
+ * @param {*} [options] Override http request option.
71728
+ * @throws {RequiredError}
71729
+ */
71730
+ removeShiftAtVenue(businessId: number, shiftId: string, options?: any): AxiosPromise<void> {
71731
+ return localVarFp.removeShiftAtVenue(businessId, shiftId, options).then((request) => request(axios, basePath));
71732
+ },
71733
+ /**
71734
+ * The shifts staff clocked on the POS (clock-in on unlock, clock-out on lock), for the days from to to in the venue\'s time zone: per staff member and per day the shift began, with each shift\'s times and worked minutes, and totals. A shift still open, with only a clock-out, or clocked out before it clocked in, counts 0 minutes; openShifts counts the open ones, so a forgotten clock-out shows. Each day\'s shifts are oldest first, each with its id and status (open or closed). employeeIds keeps only those staff members\' shifts, and status only the open or the closed ones; every total counts the shifts kept. At most 93 days counting both ends (to at most 92 days after from). Only reads. Access: a person signed in for Ari is refused without the reports read (org:reports:read) at the venue today; for every other caller that permission, and on a till ticket the Page::Reports key of the person on the till, are only logged (Access would refuse) until the shifts module refuses all (R30).
71735
+ * @summary Each staff member\'s clocked hours at the venue over a period
71736
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71737
+ * @param {string} from The first day, YYYY-MM-DD, in the venue\&#39;s time zone
71738
+ * @param {string} to The last day, YYYY-MM-DD, inclusive, in the venue\&#39;s time zone; from or at most 92 days after it, 93 days counting both
71739
+ * @param {Array<string>} [employeeIds] Only these staff members\&#39; shifts, by employee id. Absent or empty: every staff member\&#39;s
71740
+ * @param {ShiftStatus} [status] Only open shifts (clocked in, not clocked out yet) or only closed ones (clocked out). Absent: both
71741
+ * @param {*} [options] Override http request option.
71742
+ * @throws {RequiredError}
71743
+ */
71744
+ staffHoursAtVenue(businessId: number, from: string, to: string, employeeIds?: Array<string>, status?: ShiftStatus, options?: any): AxiosPromise<StaffHoursResponseDto> {
71745
+ return localVarFp.staffHoursAtVenue(businessId, from, to, employeeIds, status, options).then((request) => request(axios, basePath));
71746
+ },
71747
+ /**
71748
+ * The same report GET hours answers for the days and filters asked, printed by utility-service in English or Finnish: a summary (total hours, people, open shifts), each staff member\'s hours, days worked and open shifts, each day each person worked with its ISO week, and each shift with its clock-in and clock-out in the venue\'s time zone, its hours and its status. The filters asked are printed under the period. Answers application/pdf (format pdf, the default) or application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (format xlsx) with Content-Disposition attachment, named hours-report-<businessId>-<from>-<to>.pdf or .xlsx. At most 93 days counting both ends. Access as GET hours.
71749
+ * @summary The staff hours report of the venue as a PDF or Excel (xlsx) file to download
71750
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71751
+ * @param {string} from The first day, YYYY-MM-DD, in the venue\&#39;s time zone
71752
+ * @param {string} to The last day, YYYY-MM-DD, inclusive, in the venue\&#39;s time zone; from or at most 92 days after it, 93 days counting both
71753
+ * @param {Array<string>} [employeeIds] Only these staff members\&#39; shifts, by employee id. Absent or empty: every staff member\&#39;s
71754
+ * @param {ShiftStatus} [status] Only open shifts (clocked in, not clocked out yet) or only closed ones (clocked out). Absent: both
71755
+ * @param {ReportLanguage} [language] The language the file is printed in. Absent: English
71756
+ * @param {FileFormat} [format] The file\&#39;s format: pdf, or xlsx for an Excel workbook of the same report. Absent: pdf
71757
+ * @param {*} [options] Override http request option.
71758
+ * @throws {RequiredError}
71759
+ */
71760
+ staffHoursFileAtVenue(businessId: number, from: string, to: string, employeeIds?: Array<string>, status?: ShiftStatus, language?: ReportLanguage, format?: FileFormat, options?: any): AxiosPromise<File> {
71761
+ return localVarFp.staffHoursFileAtVenue(businessId, from, to, employeeIds, status, language, format, options).then((request) => request(axios, basePath));
71762
+ },
70962
71763
  /**
70963
71764
  * The till names the employee; no PIN is checked here (v2 unlock checks it on the server). With an open shift at the venue, the shift gets a new session and its old session is told to leave on Ably (session-kick on shift:<id>:<environment>).
70964
71765
  * @summary Unlock the till for an employee (no PIN; old builds)
@@ -70990,6 +71791,29 @@ export const ShiftTrackingApiFactory = function (configuration?: Configuration,
70990
71791
  * @interface ShiftTrackingApi
70991
71792
  */
70992
71793
  export interface ShiftTrackingApiInterface {
71794
+ /**
71795
+ * A shift added in the back office: its clock-in, and its clock-out unless the staff member is still working. It counts in the hours report like a shift clocked on the till. It is refused while it would be the staff member\'s second open shift at the venue (SHIFT_ALREADY_OPEN), or overlap another of their shifts there (SHIFTS_OVERLAP); an open shift runs on with no end, and shifts that only touch do not overlap. Access: the staff write (org:staff:write) at the venue, refused without it; a till\'s own ticket is always refused, so the person on the till never changes their own hours.
71796
+ * @summary Record a shift the till missed, for a staff member who works at the venue
71797
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71798
+ * @param {AddShiftDto} addShiftDto
71799
+ * @param {*} [options] Override http request option.
71800
+ * @throws {RequiredError}
71801
+ * @memberof ShiftTrackingApiInterface
71802
+ */
71803
+ addShiftAtVenue(businessId: number, addShiftDto: AddShiftDto, options?: AxiosRequestConfig): AxiosPromise<StaffShiftDto>;
71804
+
71805
+ /**
71806
+ * Sets the times sent and keeps the others; a clock-out is never taken away, so a shift closed here stays closed, and it forgets the till session it was clocked in on, as a clock-out on the till does. The change is saved only while the shift is as it was read, so a clock-out the till writes at the same moment is never overwritten unseen, and never so that the shift overlaps another of the staff member\'s shifts at the venue (SHIFTS_OVERLAP). Access: the staff write (org:staff:write) at the venue, refused without it; a till\'s own ticket is always refused, so the person on the till never changes their own hours.
71807
+ * @summary Correct a shift\'s clock-in or clock-out, a forgotten clock-out among them
71808
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71809
+ * @param {string} shiftId The shift\&#39;s id
71810
+ * @param {ChangeShiftDto} changeShiftDto
71811
+ * @param {*} [options] Override http request option.
71812
+ * @throws {RequiredError}
71813
+ * @memberof ShiftTrackingApiInterface
71814
+ */
71815
+ changeShiftAtVenue(businessId: number, shiftId: string, changeShiftDto: ChangeShiftDto, options?: AxiosRequestConfig): AxiosPromise<StaffShiftDto>;
71816
+
70993
71817
  /**
70994
71818
  * Opens a shift clocked in now, with a new session, unless the employee already has one open at the venue: that one is answered as it is.
70995
71819
  * @summary Clock the employee in at the venue
@@ -71033,6 +71857,47 @@ export interface ShiftTrackingApiInterface {
71033
71857
  */
71034
71858
  lockTill(businessId: number, options?: AxiosRequestConfig): AxiosPromise<void>;
71035
71859
 
71860
+ /**
71861
+ * The shift no longer counts in the hours report. A shift still open is not removed (SHIFT_STILL_OPEN): its clock-out is set first, so the till\'s next clock-out is not recorded as a shift with no clock-in. Access: the staff write (org:staff:write) at the venue, refused without it; a till\'s own ticket is always refused, so the person on the till never changes their own hours.
71862
+ * @summary Remove a shift recorded by mistake
71863
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71864
+ * @param {string} shiftId The shift\&#39;s id
71865
+ * @param {*} [options] Override http request option.
71866
+ * @throws {RequiredError}
71867
+ * @memberof ShiftTrackingApiInterface
71868
+ */
71869
+ removeShiftAtVenue(businessId: number, shiftId: string, options?: AxiosRequestConfig): AxiosPromise<void>;
71870
+
71871
+ /**
71872
+ * The shifts staff clocked on the POS (clock-in on unlock, clock-out on lock), for the days from to to in the venue\'s time zone: per staff member and per day the shift began, with each shift\'s times and worked minutes, and totals. A shift still open, with only a clock-out, or clocked out before it clocked in, counts 0 minutes; openShifts counts the open ones, so a forgotten clock-out shows. Each day\'s shifts are oldest first, each with its id and status (open or closed). employeeIds keeps only those staff members\' shifts, and status only the open or the closed ones; every total counts the shifts kept. At most 93 days counting both ends (to at most 92 days after from). Only reads. Access: a person signed in for Ari is refused without the reports read (org:reports:read) at the venue today; for every other caller that permission, and on a till ticket the Page::Reports key of the person on the till, are only logged (Access would refuse) until the shifts module refuses all (R30).
71873
+ * @summary Each staff member\'s clocked hours at the venue over a period
71874
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71875
+ * @param {string} from The first day, YYYY-MM-DD, in the venue\&#39;s time zone
71876
+ * @param {string} to The last day, YYYY-MM-DD, inclusive, in the venue\&#39;s time zone; from or at most 92 days after it, 93 days counting both
71877
+ * @param {Array<string>} [employeeIds] Only these staff members\&#39; shifts, by employee id. Absent or empty: every staff member\&#39;s
71878
+ * @param {ShiftStatus} [status] Only open shifts (clocked in, not clocked out yet) or only closed ones (clocked out). Absent: both
71879
+ * @param {*} [options] Override http request option.
71880
+ * @throws {RequiredError}
71881
+ * @memberof ShiftTrackingApiInterface
71882
+ */
71883
+ staffHoursAtVenue(businessId: number, from: string, to: string, employeeIds?: Array<string>, status?: ShiftStatus, options?: AxiosRequestConfig): AxiosPromise<StaffHoursResponseDto>;
71884
+
71885
+ /**
71886
+ * The same report GET hours answers for the days and filters asked, printed by utility-service in English or Finnish: a summary (total hours, people, open shifts), each staff member\'s hours, days worked and open shifts, each day each person worked with its ISO week, and each shift with its clock-in and clock-out in the venue\'s time zone, its hours and its status. The filters asked are printed under the period. Answers application/pdf (format pdf, the default) or application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (format xlsx) with Content-Disposition attachment, named hours-report-<businessId>-<from>-<to>.pdf or .xlsx. At most 93 days counting both ends. Access as GET hours.
71887
+ * @summary The staff hours report of the venue as a PDF or Excel (xlsx) file to download
71888
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71889
+ * @param {string} from The first day, YYYY-MM-DD, in the venue\&#39;s time zone
71890
+ * @param {string} to The last day, YYYY-MM-DD, inclusive, in the venue\&#39;s time zone; from or at most 92 days after it, 93 days counting both
71891
+ * @param {Array<string>} [employeeIds] Only these staff members\&#39; shifts, by employee id. Absent or empty: every staff member\&#39;s
71892
+ * @param {ShiftStatus} [status] Only open shifts (clocked in, not clocked out yet) or only closed ones (clocked out). Absent: both
71893
+ * @param {ReportLanguage} [language] The language the file is printed in. Absent: English
71894
+ * @param {FileFormat} [format] The file\&#39;s format: pdf, or xlsx for an Excel workbook of the same report. Absent: pdf
71895
+ * @param {*} [options] Override http request option.
71896
+ * @throws {RequiredError}
71897
+ * @memberof ShiftTrackingApiInterface
71898
+ */
71899
+ staffHoursFileAtVenue(businessId: number, from: string, to: string, employeeIds?: Array<string>, status?: ShiftStatus, language?: ReportLanguage, format?: FileFormat, options?: AxiosRequestConfig): AxiosPromise<File>;
71900
+
71036
71901
  /**
71037
71902
  * The till names the employee; no PIN is checked here (v2 unlock checks it on the server). With an open shift at the venue, the shift gets a new session and its old session is told to leave on Ably (session-kick on shift:<id>:<environment>).
71038
71903
  * @summary Unlock the till for an employee (no PIN; old builds)
@@ -71064,6 +71929,33 @@ export interface ShiftTrackingApiInterface {
71064
71929
  * @extends {BaseAPI}
71065
71930
  */
71066
71931
  export class ShiftTrackingApi extends BaseAPI implements ShiftTrackingApiInterface {
71932
+ /**
71933
+ * A shift added in the back office: its clock-in, and its clock-out unless the staff member is still working. It counts in the hours report like a shift clocked on the till. It is refused while it would be the staff member\'s second open shift at the venue (SHIFT_ALREADY_OPEN), or overlap another of their shifts there (SHIFTS_OVERLAP); an open shift runs on with no end, and shifts that only touch do not overlap. Access: the staff write (org:staff:write) at the venue, refused without it; a till\'s own ticket is always refused, so the person on the till never changes their own hours.
71934
+ * @summary Record a shift the till missed, for a staff member who works at the venue
71935
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71936
+ * @param {AddShiftDto} addShiftDto
71937
+ * @param {*} [options] Override http request option.
71938
+ * @throws {RequiredError}
71939
+ * @memberof ShiftTrackingApi
71940
+ */
71941
+ public addShiftAtVenue(businessId: number, addShiftDto: AddShiftDto, options?: AxiosRequestConfig) {
71942
+ return ShiftTrackingApiFp(this.configuration).addShiftAtVenue(businessId, addShiftDto, options).then((request) => request(this.axios, this.basePath));
71943
+ }
71944
+
71945
+ /**
71946
+ * Sets the times sent and keeps the others; a clock-out is never taken away, so a shift closed here stays closed, and it forgets the till session it was clocked in on, as a clock-out on the till does. The change is saved only while the shift is as it was read, so a clock-out the till writes at the same moment is never overwritten unseen, and never so that the shift overlaps another of the staff member\'s shifts at the venue (SHIFTS_OVERLAP). Access: the staff write (org:staff:write) at the venue, refused without it; a till\'s own ticket is always refused, so the person on the till never changes their own hours.
71947
+ * @summary Correct a shift\'s clock-in or clock-out, a forgotten clock-out among them
71948
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
71949
+ * @param {string} shiftId The shift\&#39;s id
71950
+ * @param {ChangeShiftDto} changeShiftDto
71951
+ * @param {*} [options] Override http request option.
71952
+ * @throws {RequiredError}
71953
+ * @memberof ShiftTrackingApi
71954
+ */
71955
+ public changeShiftAtVenue(businessId: number, shiftId: string, changeShiftDto: ChangeShiftDto, options?: AxiosRequestConfig) {
71956
+ return ShiftTrackingApiFp(this.configuration).changeShiftAtVenue(businessId, shiftId, changeShiftDto, options).then((request) => request(this.axios, this.basePath));
71957
+ }
71958
+
71067
71959
  /**
71068
71960
  * Opens a shift clocked in now, with a new session, unless the employee already has one open at the venue: that one is answered as it is.
71069
71961
  * @summary Clock the employee in at the venue
@@ -71115,6 +72007,53 @@ export class ShiftTrackingApi extends BaseAPI implements ShiftTrackingApiInterfa
71115
72007
  return ShiftTrackingApiFp(this.configuration).lockTill(businessId, options).then((request) => request(this.axios, this.basePath));
71116
72008
  }
71117
72009
 
72010
+ /**
72011
+ * The shift no longer counts in the hours report. A shift still open is not removed (SHIFT_STILL_OPEN): its clock-out is set first, so the till\'s next clock-out is not recorded as a shift with no clock-in. Access: the staff write (org:staff:write) at the venue, refused without it; a till\'s own ticket is always refused, so the person on the till never changes their own hours.
72012
+ * @summary Remove a shift recorded by mistake
72013
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
72014
+ * @param {string} shiftId The shift\&#39;s id
72015
+ * @param {*} [options] Override http request option.
72016
+ * @throws {RequiredError}
72017
+ * @memberof ShiftTrackingApi
72018
+ */
72019
+ public removeShiftAtVenue(businessId: number, shiftId: string, options?: AxiosRequestConfig) {
72020
+ return ShiftTrackingApiFp(this.configuration).removeShiftAtVenue(businessId, shiftId, options).then((request) => request(this.axios, this.basePath));
72021
+ }
72022
+
72023
+ /**
72024
+ * The shifts staff clocked on the POS (clock-in on unlock, clock-out on lock), for the days from to to in the venue\'s time zone: per staff member and per day the shift began, with each shift\'s times and worked minutes, and totals. A shift still open, with only a clock-out, or clocked out before it clocked in, counts 0 minutes; openShifts counts the open ones, so a forgotten clock-out shows. Each day\'s shifts are oldest first, each with its id and status (open or closed). employeeIds keeps only those staff members\' shifts, and status only the open or the closed ones; every total counts the shifts kept. At most 93 days counting both ends (to at most 92 days after from). Only reads. Access: a person signed in for Ari is refused without the reports read (org:reports:read) at the venue today; for every other caller that permission, and on a till ticket the Page::Reports key of the person on the till, are only logged (Access would refuse) until the shifts module refuses all (R30).
72025
+ * @summary Each staff member\'s clocked hours at the venue over a period
72026
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
72027
+ * @param {string} from The first day, YYYY-MM-DD, in the venue\&#39;s time zone
72028
+ * @param {string} to The last day, YYYY-MM-DD, inclusive, in the venue\&#39;s time zone; from or at most 92 days after it, 93 days counting both
72029
+ * @param {Array<string>} [employeeIds] Only these staff members\&#39; shifts, by employee id. Absent or empty: every staff member\&#39;s
72030
+ * @param {ShiftStatus} [status] Only open shifts (clocked in, not clocked out yet) or only closed ones (clocked out). Absent: both
72031
+ * @param {*} [options] Override http request option.
72032
+ * @throws {RequiredError}
72033
+ * @memberof ShiftTrackingApi
72034
+ */
72035
+ public staffHoursAtVenue(businessId: number, from: string, to: string, employeeIds?: Array<string>, status?: ShiftStatus, options?: AxiosRequestConfig) {
72036
+ return ShiftTrackingApiFp(this.configuration).staffHoursAtVenue(businessId, from, to, employeeIds, status, options).then((request) => request(this.axios, this.basePath));
72037
+ }
72038
+
72039
+ /**
72040
+ * The same report GET hours answers for the days and filters asked, printed by utility-service in English or Finnish: a summary (total hours, people, open shifts), each staff member\'s hours, days worked and open shifts, each day each person worked with its ISO week, and each shift with its clock-in and clock-out in the venue\'s time zone, its hours and its status. The filters asked are printed under the period. Answers application/pdf (format pdf, the default) or application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (format xlsx) with Content-Disposition attachment, named hours-report-<businessId>-<from>-<to>.pdf or .xlsx. At most 93 days counting both ends. Access as GET hours.
72041
+ * @summary The staff hours report of the venue as a PDF or Excel (xlsx) file to download
72042
+ * @param {number} businessId The venue\&#39;s orderingBusinessId
72043
+ * @param {string} from The first day, YYYY-MM-DD, in the venue\&#39;s time zone
72044
+ * @param {string} to The last day, YYYY-MM-DD, inclusive, in the venue\&#39;s time zone; from or at most 92 days after it, 93 days counting both
72045
+ * @param {Array<string>} [employeeIds] Only these staff members\&#39; shifts, by employee id. Absent or empty: every staff member\&#39;s
72046
+ * @param {ShiftStatus} [status] Only open shifts (clocked in, not clocked out yet) or only closed ones (clocked out). Absent: both
72047
+ * @param {ReportLanguage} [language] The language the file is printed in. Absent: English
72048
+ * @param {FileFormat} [format] The file\&#39;s format: pdf, or xlsx for an Excel workbook of the same report. Absent: pdf
72049
+ * @param {*} [options] Override http request option.
72050
+ * @throws {RequiredError}
72051
+ * @memberof ShiftTrackingApi
72052
+ */
72053
+ public staffHoursFileAtVenue(businessId: number, from: string, to: string, employeeIds?: Array<string>, status?: ShiftStatus, language?: ReportLanguage, format?: FileFormat, options?: AxiosRequestConfig) {
72054
+ return ShiftTrackingApiFp(this.configuration).staffHoursFileAtVenue(businessId, from, to, employeeIds, status, language, format, options).then((request) => request(this.axios, this.basePath));
72055
+ }
72056
+
71118
72057
  /**
71119
72058
  * The till names the employee; no PIN is checked here (v2 unlock checks it on the server). With an open shift at the venue, the shift gets a new session and its old session is told to leave on Ably (session-kick on shift:<id>:<environment>).
71120
72059
  * @summary Unlock the till for an employee (no PIN; old builds)