@munchi_oy/core 1.9.56 → 1.9.57

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
@@ -16116,6 +16116,181 @@ export interface ProductWithCategoryDto {
16116
16116
  */
16117
16117
  'default_course_id'?: object | null;
16118
16118
  }
16119
+ /**
16120
+ *
16121
+ * @export
16122
+ * @interface ProductWithCategoryV3Dto
16123
+ */
16124
+ export interface ProductWithCategoryV3Dto {
16125
+ /**
16126
+ * Product ID
16127
+ * @type {number}
16128
+ * @memberof ProductWithCategoryV3Dto
16129
+ */
16130
+ 'id': number;
16131
+ /**
16132
+ * Product name
16133
+ * @type {string}
16134
+ * @memberof ProductWithCategoryV3Dto
16135
+ */
16136
+ 'name': string;
16137
+ /**
16138
+ * Product price
16139
+ * @type {number}
16140
+ * @memberof ProductWithCategoryV3Dto
16141
+ */
16142
+ 'price': number;
16143
+ /**
16144
+ * Product description
16145
+ * @type {string}
16146
+ * @memberof ProductWithCategoryV3Dto
16147
+ */
16148
+ 'description': string;
16149
+ /**
16150
+ * Product image URL
16151
+ * @type {string}
16152
+ * @memberof ProductWithCategoryV3Dto
16153
+ */
16154
+ 'images': string;
16155
+ /**
16156
+ * SKU of the product
16157
+ * @type {string}
16158
+ * @memberof ProductWithCategoryV3Dto
16159
+ */
16160
+ 'sku'?: string | null;
16161
+ /**
16162
+ * Primary barcode value of the product
16163
+ * @type {object}
16164
+ * @memberof ProductWithCategoryV3Dto
16165
+ */
16166
+ 'barcode'?: object | null;
16167
+ /**
16168
+ * Alternative barcode value of the product
16169
+ * @type {object}
16170
+ * @memberof ProductWithCategoryV3Dto
16171
+ */
16172
+ 'barcode_alternative'?: object | null;
16173
+ /**
16174
+ * Category ID the product belongs to
16175
+ * @type {number}
16176
+ * @memberof ProductWithCategoryV3Dto
16177
+ */
16178
+ 'category_id': number;
16179
+ /**
16180
+ * Whether the product is tracked for inventory
16181
+ * @type {boolean}
16182
+ * @memberof ProductWithCategoryV3Dto
16183
+ */
16184
+ 'inventoried': boolean;
16185
+ /**
16186
+ * Available quantity if inventoried
16187
+ * @type {number}
16188
+ * @memberof ProductWithCategoryV3Dto
16189
+ */
16190
+ 'quantity': number;
16191
+ /**
16192
+ * Whether the product is marked as featured
16193
+ * @type {boolean}
16194
+ * @memberof ProductWithCategoryV3Dto
16195
+ */
16196
+ 'featured': boolean;
16197
+ /**
16198
+ * Whether the product is currently enabled
16199
+ * @type {boolean}
16200
+ * @memberof ProductWithCategoryV3Dto
16201
+ */
16202
+ 'enabled': boolean;
16203
+ /**
16204
+ * Whether upselling is enabled for this product
16205
+ * @type {boolean}
16206
+ * @memberof ProductWithCategoryV3Dto
16207
+ */
16208
+ 'upselling': boolean;
16209
+ /**
16210
+ * Whether the product is part of an offer
16211
+ * @type {boolean}
16212
+ * @memberof ProductWithCategoryV3Dto
16213
+ */
16214
+ 'in_offer': boolean;
16215
+ /**
16216
+ * Offer price if applicable
16217
+ * @type {object}
16218
+ * @memberof ProductWithCategoryV3Dto
16219
+ */
16220
+ 'offer_price': object | null;
16221
+ /**
16222
+ * Display order rank of the product
16223
+ * @type {number}
16224
+ * @memberof ProductWithCategoryV3Dto
16225
+ */
16226
+ 'rank': number;
16227
+ /**
16228
+ * Weight unit (e.g., g, kg, ml)
16229
+ * @type {object}
16230
+ * @memberof ProductWithCategoryV3Dto
16231
+ */
16232
+ 'weight_unit': object;
16233
+ /**
16234
+ * Last update timestamp
16235
+ * @type {string}
16236
+ * @memberof ProductWithCategoryV3Dto
16237
+ */
16238
+ 'updated_at': string;
16239
+ /**
16240
+ * Product creation timestamp
16241
+ * @type {string}
16242
+ * @memberof ProductWithCategoryV3Dto
16243
+ */
16244
+ 'created_at': string;
16245
+ /**
16246
+ * Deletion timestamp if soft-deleted
16247
+ * @type {object}
16248
+ * @memberof ProductWithCategoryV3Dto
16249
+ */
16250
+ 'deleted_at': object | null;
16251
+ /**
16252
+ * List of product extras (e.g., toppings, add-ons)
16253
+ * @type {Array<OrderingItemExtraDto>}
16254
+ * @memberof ProductWithCategoryV3Dto
16255
+ */
16256
+ 'extras': Array<OrderingItemExtraDto>;
16257
+ /**
16258
+ * Whether the product is restricted
16259
+ * @type {boolean}
16260
+ * @memberof ProductWithCategoryV3Dto
16261
+ */
16262
+ 'is_restricted': boolean;
16263
+ /**
16264
+ *
16265
+ * @type {BusinessTaxResponseDto}
16266
+ * @memberof ProductWithCategoryV3Dto
16267
+ */
16268
+ 'tax': BusinessTaxResponseDto | null;
16269
+ /**
16270
+ * Name of the category this product belongs to
16271
+ * @type {string}
16272
+ * @memberof ProductWithCategoryV3Dto
16273
+ */
16274
+ 'categoryName': string;
16275
+ /**
16276
+ * Indicates if the product is inventoried in POS
16277
+ * @type {boolean}
16278
+ * @memberof ProductWithCategoryV3Dto
16279
+ */
16280
+ 'pos_inventoried': boolean;
16281
+ /**
16282
+ * Quantity of the product in POS
16283
+ * @type {number}
16284
+ * @memberof ProductWithCategoryV3Dto
16285
+ */
16286
+ 'pos_quantity': number;
16287
+ /**
16288
+ * Default course ID assigned to this product
16289
+ * @type {object}
16290
+ * @memberof ProductWithCategoryV3Dto
16291
+ */
16292
+ 'default_course_id'?: object | null;
16293
+ }
16119
16294
  /**
16120
16295
  *
16121
16296
  * @export
@@ -16160,6 +16335,31 @@ export interface ProductsByCategoriesResponseDtoSummary {
16160
16335
  */
16161
16336
  'categoryCount': number;
16162
16337
  }
16338
+ /**
16339
+ *
16340
+ * @export
16341
+ * @interface ProductsByCategoriesV3ResponseDto
16342
+ */
16343
+ export interface ProductsByCategoriesV3ResponseDto {
16344
+ /**
16345
+ * Categories sorted by rank (additive — existing clients can ignore this field)
16346
+ * @type {Array<RankedCategoryDto>}
16347
+ * @memberof ProductsByCategoriesV3ResponseDto
16348
+ */
16349
+ 'categories': Array<RankedCategoryDto>;
16350
+ /**
16351
+ *
16352
+ * @type {ProductsByCategoriesResponseDtoSummary}
16353
+ * @memberof ProductsByCategoriesV3ResponseDto
16354
+ */
16355
+ 'summary': ProductsByCategoriesResponseDtoSummary;
16356
+ /**
16357
+ * Products without channel_configs; per-channel inventory is fetched per product
16358
+ * @type {Array<ProductWithCategoryV3Dto>}
16359
+ * @memberof ProductsByCategoriesV3ResponseDto
16360
+ */
16361
+ 'products': Array<ProductWithCategoryV3Dto>;
16362
+ }
16163
16363
  /**
16164
16364
  *
16165
16365
  * @export
@@ -17674,11 +17874,11 @@ export const SYNCKEY = {
17674
17874
  Discounts: 'DISCOUNTS',
17675
17875
  LoyaltySettings: 'LOYALTY_SETTINGS',
17676
17876
  BusinessConfig: 'BUSINESS_CONFIG',
17877
+ BusinessProviderSupportedIntegrations: 'BUSINESS_PROVIDER_SUPPORTED_INTEGRATIONS',
17677
17878
  PosSession: 'POS_SESSION',
17678
17879
  InvoiceCompanies: 'INVOICE_COMPANIES',
17679
17880
  BusinessTax: 'BUSINESS_TAX',
17680
- Transaction: 'TRANSACTION',
17681
- DiscountsV2: 'DISCOUNTS_V2'
17881
+ Transaction: 'TRANSACTION'
17682
17882
  } as const;
17683
17883
 
17684
17884
  export type SYNCKEY = typeof SYNCKEY[keyof typeof SYNCKEY];
@@ -23336,6 +23536,91 @@ export const StatusEnum = {
23336
23536
 
23337
23537
  export type StatusEnum = typeof StatusEnum[keyof typeof StatusEnum];
23338
23538
 
23539
+ /**
23540
+ *
23541
+ * @export
23542
+ * @interface WalletValidationResponseDto
23543
+ */
23544
+ export interface WalletValidationResponseDto {
23545
+ /**
23546
+ *
23547
+ * @type {boolean}
23548
+ * @memberof WalletValidationResponseDto
23549
+ */
23550
+ 'is_valid': boolean;
23551
+ /**
23552
+ *
23553
+ * @type {number}
23554
+ * @memberof WalletValidationResponseDto
23555
+ */
23556
+ 'wallet_id': number;
23557
+ /**
23558
+ *
23559
+ * @type {object}
23560
+ * @memberof WalletValidationResponseDto
23561
+ */
23562
+ 'status': object | null;
23563
+ /**
23564
+ *
23565
+ * @type {object}
23566
+ * @memberof WalletValidationResponseDto
23567
+ */
23568
+ 'product_name': object | null;
23569
+ /**
23570
+ *
23571
+ * @type {object}
23572
+ * @memberof WalletValidationResponseDto
23573
+ */
23574
+ 'product_price': object | null;
23575
+ /**
23576
+ *
23577
+ * @type {object}
23578
+ * @memberof WalletValidationResponseDto
23579
+ */
23580
+ 'product_type': object | null;
23581
+ /**
23582
+ *
23583
+ * @type {object}
23584
+ * @memberof WalletValidationResponseDto
23585
+ */
23586
+ 'customer_name': object | null;
23587
+ /**
23588
+ *
23589
+ * @type {object}
23590
+ * @memberof WalletValidationResponseDto
23591
+ */
23592
+ 'customer_email': object | null;
23593
+ /**
23594
+ *
23595
+ * @type {object}
23596
+ * @memberof WalletValidationResponseDto
23597
+ */
23598
+ 'redeemed_at': object | null;
23599
+ /**
23600
+ *
23601
+ * @type {object}
23602
+ * @memberof WalletValidationResponseDto
23603
+ */
23604
+ 'expires_at': object | null;
23605
+ /**
23606
+ *
23607
+ * @type {object}
23608
+ * @memberof WalletValidationResponseDto
23609
+ */
23610
+ 'restaurant_name': object | null;
23611
+ /**
23612
+ *
23613
+ * @type {object}
23614
+ * @memberof WalletValidationResponseDto
23615
+ */
23616
+ 'loyalty_program': object | null;
23617
+ /**
23618
+ *
23619
+ * @type {string}
23620
+ * @memberof WalletValidationResponseDto
23621
+ */
23622
+ 'message': string;
23623
+ }
23339
23624
  /**
23340
23625
  *
23341
23626
  * @export
@@ -32821,6 +33106,61 @@ export const LoyaltyIntegerationsApiAxiosParamCreator = function (configuration?
32821
33106
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
32822
33107
  localVarRequestOptions.data = serializeDataIfNeeded(pointsUpdatePayloadDto, localVarRequestOptions, configuration)
32823
33108
 
33109
+ return {
33110
+ url: toPathString(localVarUrlObj),
33111
+ options: localVarRequestOptions,
33112
+ };
33113
+ },
33114
+ /**
33115
+ *
33116
+ * @summary Validate a loyalty reward QR code wallet transaction
33117
+ * @param {number} businessId
33118
+ * @param {string} loyaltyId
33119
+ * @param {number} walletId
33120
+ * @param {*} [options] Override http request option.
33121
+ * @throws {RequiredError}
33122
+ */
33123
+ validateWallet: async (businessId: number, loyaltyId: string, walletId: number, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
33124
+ // verify required parameter 'businessId' is not null or undefined
33125
+ assertParamExists('validateWallet', 'businessId', businessId)
33126
+ // verify required parameter 'loyaltyId' is not null or undefined
33127
+ assertParamExists('validateWallet', 'loyaltyId', loyaltyId)
33128
+ // verify required parameter 'walletId' is not null or undefined
33129
+ assertParamExists('validateWallet', 'walletId', walletId)
33130
+ const localVarPath = `/api/v1/loyalty/wallets/validate`;
33131
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
33132
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
33133
+ let baseOptions;
33134
+ if (configuration) {
33135
+ baseOptions = configuration.baseOptions;
33136
+ }
33137
+
33138
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
33139
+ const localVarHeaderParameter = {} as any;
33140
+ const localVarQueryParameter = {} as any;
33141
+
33142
+ // authentication JWT-auth required
33143
+ // http bearer authentication required
33144
+ await setBearerAuthToObject(localVarHeaderParameter, configuration)
33145
+
33146
+ if (businessId !== undefined) {
33147
+ localVarQueryParameter['businessId'] = businessId;
33148
+ }
33149
+
33150
+ if (loyaltyId !== undefined) {
33151
+ localVarQueryParameter['loyaltyId'] = loyaltyId;
33152
+ }
33153
+
33154
+ if (walletId !== undefined) {
33155
+ localVarQueryParameter['walletId'] = walletId;
33156
+ }
33157
+
33158
+
33159
+
33160
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
33161
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
33162
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
33163
+
32824
33164
  return {
32825
33165
  url: toPathString(localVarUrlObj),
32826
33166
  options: localVarRequestOptions,
@@ -32967,6 +33307,19 @@ export const LoyaltyIntegerationsApiFp = function(configuration?: Configuration)
32967
33307
  const localVarAxiosArgs = await localVarAxiosParamCreator.updatePoints(businessId, pointsUpdatePayloadDto, options);
32968
33308
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
32969
33309
  },
33310
+ /**
33311
+ *
33312
+ * @summary Validate a loyalty reward QR code wallet transaction
33313
+ * @param {number} businessId
33314
+ * @param {string} loyaltyId
33315
+ * @param {number} walletId
33316
+ * @param {*} [options] Override http request option.
33317
+ * @throws {RequiredError}
33318
+ */
33319
+ async validateWallet(businessId: number, loyaltyId: string, walletId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<WalletValidationResponseDto>> {
33320
+ const localVarAxiosArgs = await localVarAxiosParamCreator.validateWallet(businessId, loyaltyId, walletId, options);
33321
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
33322
+ },
32970
33323
  }
32971
33324
  };
32972
33325
 
@@ -33097,6 +33450,18 @@ export const LoyaltyIntegerationsApiFactory = function (configuration?: Configur
33097
33450
  updatePoints(businessId: number, pointsUpdatePayloadDto: PointsUpdatePayloadDto, options?: any): AxiosPromise<PointsUpdateResponseDto> {
33098
33451
  return localVarFp.updatePoints(businessId, pointsUpdatePayloadDto, options).then((request) => request(axios, basePath));
33099
33452
  },
33453
+ /**
33454
+ *
33455
+ * @summary Validate a loyalty reward QR code wallet transaction
33456
+ * @param {number} businessId
33457
+ * @param {string} loyaltyId
33458
+ * @param {number} walletId
33459
+ * @param {*} [options] Override http request option.
33460
+ * @throws {RequiredError}
33461
+ */
33462
+ validateWallet(businessId: number, loyaltyId: string, walletId: number, options?: any): AxiosPromise<WalletValidationResponseDto> {
33463
+ return localVarFp.validateWallet(businessId, loyaltyId, walletId, options).then((request) => request(axios, basePath));
33464
+ },
33100
33465
  };
33101
33466
  };
33102
33467
 
@@ -33226,6 +33591,18 @@ export interface LoyaltyIntegerationsApiInterface {
33226
33591
  */
33227
33592
  updatePoints(businessId: number, pointsUpdatePayloadDto: PointsUpdatePayloadDto, options?: AxiosRequestConfig): AxiosPromise<PointsUpdateResponseDto>;
33228
33593
 
33594
+ /**
33595
+ *
33596
+ * @summary Validate a loyalty reward QR code wallet transaction
33597
+ * @param {number} businessId
33598
+ * @param {string} loyaltyId
33599
+ * @param {number} walletId
33600
+ * @param {*} [options] Override http request option.
33601
+ * @throws {RequiredError}
33602
+ * @memberof LoyaltyIntegerationsApiInterface
33603
+ */
33604
+ validateWallet(businessId: number, loyaltyId: string, walletId: number, options?: AxiosRequestConfig): AxiosPromise<WalletValidationResponseDto>;
33605
+
33229
33606
  }
33230
33607
 
33231
33608
  /**
@@ -33376,6 +33753,20 @@ export class LoyaltyIntegerationsApi extends BaseAPI implements LoyaltyIntegerat
33376
33753
  public updatePoints(businessId: number, pointsUpdatePayloadDto: PointsUpdatePayloadDto, options?: AxiosRequestConfig) {
33377
33754
  return LoyaltyIntegerationsApiFp(this.configuration).updatePoints(businessId, pointsUpdatePayloadDto, options).then((request) => request(this.axios, this.basePath));
33378
33755
  }
33756
+
33757
+ /**
33758
+ *
33759
+ * @summary Validate a loyalty reward QR code wallet transaction
33760
+ * @param {number} businessId
33761
+ * @param {string} loyaltyId
33762
+ * @param {number} walletId
33763
+ * @param {*} [options] Override http request option.
33764
+ * @throws {RequiredError}
33765
+ * @memberof LoyaltyIntegerationsApi
33766
+ */
33767
+ public validateWallet(businessId: number, loyaltyId: string, walletId: number, options?: AxiosRequestConfig) {
33768
+ return LoyaltyIntegerationsApiFp(this.configuration).validateWallet(businessId, loyaltyId, walletId, options).then((request) => request(this.axios, this.basePath));
33769
+ }
33379
33770
  }
33380
33771
 
33381
33772
 
@@ -33529,6 +33920,45 @@ export const MenuApiAxiosParamCreator = function (configuration?: Configuration)
33529
33920
 
33530
33921
 
33531
33922
 
33923
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
33924
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
33925
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
33926
+
33927
+ return {
33928
+ url: toPathString(localVarUrlObj),
33929
+ options: localVarRequestOptions,
33930
+ };
33931
+ },
33932
+ /**
33933
+ *
33934
+ * @summary Get products by categories without channel_configs (product list / labels)
33935
+ * @param {string} businessId Unique identifier of the business
33936
+ * @param {'available' | 'unavailable'} [filter] Filter products by availability status
33937
+ * @param {*} [options] Override http request option.
33938
+ * @throws {RequiredError}
33939
+ */
33940
+ getProductsByCategoriesV3: async (businessId: string, filter?: 'available' | 'unavailable', options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
33941
+ // verify required parameter 'businessId' is not null or undefined
33942
+ assertParamExists('getProductsByCategoriesV3', 'businessId', businessId)
33943
+ const localVarPath = `/api/v3/menu/{businessId}/categories`
33944
+ .replace(`{${"businessId"}}`, encodeURIComponent(String(businessId)));
33945
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
33946
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
33947
+ let baseOptions;
33948
+ if (configuration) {
33949
+ baseOptions = configuration.baseOptions;
33950
+ }
33951
+
33952
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
33953
+ const localVarHeaderParameter = {} as any;
33954
+ const localVarQueryParameter = {} as any;
33955
+
33956
+ if (filter !== undefined) {
33957
+ localVarQueryParameter['filter'] = filter;
33958
+ }
33959
+
33960
+
33961
+
33532
33962
  setSearchParams(localVarUrlObj, localVarQueryParameter);
33533
33963
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
33534
33964
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -33630,6 +34060,18 @@ export const MenuApiFp = function(configuration?: Configuration) {
33630
34060
  const localVarAxiosArgs = await localVarAxiosParamCreator.getProductsByCategoriesV2(businessId, filter, options);
33631
34061
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
33632
34062
  },
34063
+ /**
34064
+ *
34065
+ * @summary Get products by categories without channel_configs (product list / labels)
34066
+ * @param {string} businessId Unique identifier of the business
34067
+ * @param {'available' | 'unavailable'} [filter] Filter products by availability status
34068
+ * @param {*} [options] Override http request option.
34069
+ * @throws {RequiredError}
34070
+ */
34071
+ async getProductsByCategoriesV3(businessId: string, filter?: 'available' | 'unavailable', options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ProductsByCategoriesV3ResponseDto>> {
34072
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getProductsByCategoriesV3(businessId, filter, options);
34073
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
34074
+ },
33633
34075
  /**
33634
34076
  *
33635
34077
  * @param {ResetEodDto} resetEodDto
@@ -33693,6 +34135,17 @@ export const MenuApiFactory = function (configuration?: Configuration, basePath?
33693
34135
  getProductsByCategoriesV2(businessId: string, filter?: 'available' | 'unavailable', options?: any): AxiosPromise<ProductsByCategoriesResponseDto> {
33694
34136
  return localVarFp.getProductsByCategoriesV2(businessId, filter, options).then((request) => request(axios, basePath));
33695
34137
  },
34138
+ /**
34139
+ *
34140
+ * @summary Get products by categories without channel_configs (product list / labels)
34141
+ * @param {string} businessId Unique identifier of the business
34142
+ * @param {'available' | 'unavailable'} [filter] Filter products by availability status
34143
+ * @param {*} [options] Override http request option.
34144
+ * @throws {RequiredError}
34145
+ */
34146
+ getProductsByCategoriesV3(businessId: string, filter?: 'available' | 'unavailable', options?: any): AxiosPromise<ProductsByCategoriesV3ResponseDto> {
34147
+ return localVarFp.getProductsByCategoriesV3(businessId, filter, options).then((request) => request(axios, basePath));
34148
+ },
33696
34149
  /**
33697
34150
  *
33698
34151
  * @param {ResetEodDto} resetEodDto
@@ -33754,6 +34207,17 @@ export interface MenuApiInterface {
33754
34207
  */
33755
34208
  getProductsByCategoriesV2(businessId: string, filter?: 'available' | 'unavailable', options?: AxiosRequestConfig): AxiosPromise<ProductsByCategoriesResponseDto>;
33756
34209
 
34210
+ /**
34211
+ *
34212
+ * @summary Get products by categories without channel_configs (product list / labels)
34213
+ * @param {string} businessId Unique identifier of the business
34214
+ * @param {'available' | 'unavailable'} [filter] Filter products by availability status
34215
+ * @param {*} [options] Override http request option.
34216
+ * @throws {RequiredError}
34217
+ * @memberof MenuApiInterface
34218
+ */
34219
+ getProductsByCategoriesV3(businessId: string, filter?: 'available' | 'unavailable', options?: AxiosRequestConfig): AxiosPromise<ProductsByCategoriesV3ResponseDto>;
34220
+
33757
34221
  /**
33758
34222
  *
33759
34223
  * @param {ResetEodDto} resetEodDto
@@ -33823,6 +34287,19 @@ export class MenuApi extends BaseAPI implements MenuApiInterface {
33823
34287
  return MenuApiFp(this.configuration).getProductsByCategoriesV2(businessId, filter, options).then((request) => request(this.axios, this.basePath));
33824
34288
  }
33825
34289
 
34290
+ /**
34291
+ *
34292
+ * @summary Get products by categories without channel_configs (product list / labels)
34293
+ * @param {string} businessId Unique identifier of the business
34294
+ * @param {'available' | 'unavailable'} [filter] Filter products by availability status
34295
+ * @param {*} [options] Override http request option.
34296
+ * @throws {RequiredError}
34297
+ * @memberof MenuApi
34298
+ */
34299
+ public getProductsByCategoriesV3(businessId: string, filter?: 'available' | 'unavailable', options?: AxiosRequestConfig) {
34300
+ return MenuApiFp(this.configuration).getProductsByCategoriesV3(businessId, filter, options).then((request) => request(this.axios, this.basePath));
34301
+ }
34302
+
33826
34303
  /**
33827
34304
  *
33828
34305
  * @param {ResetEodDto} resetEodDto
@@ -38839,6 +39316,48 @@ export const ProductApiAxiosParamCreator = function (configuration?: Configurati
38839
39316
 
38840
39317
 
38841
39318
 
39319
+ setSearchParams(localVarUrlObj, localVarQueryParameter);
39320
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
39321
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
39322
+
39323
+ return {
39324
+ url: toPathString(localVarUrlObj),
39325
+ options: localVarRequestOptions,
39326
+ };
39327
+ },
39328
+ /**
39329
+ * Returns inventory settings across all channels; used by the pencil-edit flow
39330
+ * @summary Get channel inventory (all channels) for a product
39331
+ * @param {string} businessId Business ID
39332
+ * @param {string} categoryId Category ID
39333
+ * @param {string} productId Product ID
39334
+ * @param {*} [options] Override http request option.
39335
+ * @throws {RequiredError}
39336
+ */
39337
+ getChannelInventoryV2: async (businessId: string, categoryId: string, productId: string, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
39338
+ // verify required parameter 'businessId' is not null or undefined
39339
+ assertParamExists('getChannelInventoryV2', 'businessId', businessId)
39340
+ // verify required parameter 'categoryId' is not null or undefined
39341
+ assertParamExists('getChannelInventoryV2', 'categoryId', categoryId)
39342
+ // verify required parameter 'productId' is not null or undefined
39343
+ assertParamExists('getChannelInventoryV2', 'productId', productId)
39344
+ const localVarPath = `/api/v2/business/{businessId}/categories/{categoryId}/products/{productId}/channel-inventory`
39345
+ .replace(`{${"businessId"}}`, encodeURIComponent(String(businessId)))
39346
+ .replace(`{${"categoryId"}}`, encodeURIComponent(String(categoryId)))
39347
+ .replace(`{${"productId"}}`, encodeURIComponent(String(productId)));
39348
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
39349
+ const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
39350
+ let baseOptions;
39351
+ if (configuration) {
39352
+ baseOptions = configuration.baseOptions;
39353
+ }
39354
+
39355
+ const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
39356
+ const localVarHeaderParameter = {} as any;
39357
+ const localVarQueryParameter = {} as any;
39358
+
39359
+
39360
+
38842
39361
  setSearchParams(localVarUrlObj, localVarQueryParameter);
38843
39362
  let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
38844
39363
  localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -38967,6 +39486,19 @@ export const ProductApiFp = function(configuration?: Configuration) {
38967
39486
  const localVarAxiosArgs = await localVarAxiosParamCreator.generateProductSkuV2(businessId, categoryId, productId, options);
38968
39487
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
38969
39488
  },
39489
+ /**
39490
+ * Returns inventory settings across all channels; used by the pencil-edit flow
39491
+ * @summary Get channel inventory (all channels) for a product
39492
+ * @param {string} businessId Business ID
39493
+ * @param {string} categoryId Category ID
39494
+ * @param {string} productId Product ID
39495
+ * @param {*} [options] Override http request option.
39496
+ * @throws {RequiredError}
39497
+ */
39498
+ async getChannelInventoryV2(businessId: string, categoryId: string, productId: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<ChannelInventoryResponseDto>>> {
39499
+ const localVarAxiosArgs = await localVarAxiosParamCreator.getChannelInventoryV2(businessId, categoryId, productId, options);
39500
+ return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
39501
+ },
38970
39502
  /**
38971
39503
  * Update inventory settings for multiple channels at once
38972
39504
  * @summary Update channel inventory (POS, Kiosk, etc.)
@@ -39017,6 +39549,18 @@ export const ProductApiFactory = function (configuration?: Configuration, basePa
39017
39549
  generateProductSkuV2(businessId: string, categoryId: string, productId: string, options?: any): AxiosPromise<ProductSkuResponseDto> {
39018
39550
  return localVarFp.generateProductSkuV2(businessId, categoryId, productId, options).then((request) => request(axios, basePath));
39019
39551
  },
39552
+ /**
39553
+ * Returns inventory settings across all channels; used by the pencil-edit flow
39554
+ * @summary Get channel inventory (all channels) for a product
39555
+ * @param {string} businessId Business ID
39556
+ * @param {string} categoryId Category ID
39557
+ * @param {string} productId Product ID
39558
+ * @param {*} [options] Override http request option.
39559
+ * @throws {RequiredError}
39560
+ */
39561
+ getChannelInventoryV2(businessId: string, categoryId: string, productId: string, options?: any): AxiosPromise<Array<ChannelInventoryResponseDto>> {
39562
+ return localVarFp.getChannelInventoryV2(businessId, categoryId, productId, options).then((request) => request(axios, basePath));
39563
+ },
39020
39564
  /**
39021
39565
  * Update inventory settings for multiple channels at once
39022
39566
  * @summary Update channel inventory (POS, Kiosk, etc.)
@@ -39064,6 +39608,18 @@ export interface ProductApiInterface {
39064
39608
  */
39065
39609
  generateProductSkuV2(businessId: string, categoryId: string, productId: string, options?: AxiosRequestConfig): AxiosPromise<ProductSkuResponseDto>;
39066
39610
 
39611
+ /**
39612
+ * Returns inventory settings across all channels; used by the pencil-edit flow
39613
+ * @summary Get channel inventory (all channels) for a product
39614
+ * @param {string} businessId Business ID
39615
+ * @param {string} categoryId Category ID
39616
+ * @param {string} productId Product ID
39617
+ * @param {*} [options] Override http request option.
39618
+ * @throws {RequiredError}
39619
+ * @memberof ProductApiInterface
39620
+ */
39621
+ getChannelInventoryV2(businessId: string, categoryId: string, productId: string, options?: AxiosRequestConfig): AxiosPromise<Array<ChannelInventoryResponseDto>>;
39622
+
39067
39623
  /**
39068
39624
  * Update inventory settings for multiple channels at once
39069
39625
  * @summary Update channel inventory (POS, Kiosk, etc.)
@@ -39113,6 +39669,20 @@ export class ProductApi extends BaseAPI implements ProductApiInterface {
39113
39669
  return ProductApiFp(this.configuration).generateProductSkuV2(businessId, categoryId, productId, options).then((request) => request(this.axios, this.basePath));
39114
39670
  }
39115
39671
 
39672
+ /**
39673
+ * Returns inventory settings across all channels; used by the pencil-edit flow
39674
+ * @summary Get channel inventory (all channels) for a product
39675
+ * @param {string} businessId Business ID
39676
+ * @param {string} categoryId Category ID
39677
+ * @param {string} productId Product ID
39678
+ * @param {*} [options] Override http request option.
39679
+ * @throws {RequiredError}
39680
+ * @memberof ProductApi
39681
+ */
39682
+ public getChannelInventoryV2(businessId: string, categoryId: string, productId: string, options?: AxiosRequestConfig) {
39683
+ return ProductApiFp(this.configuration).getChannelInventoryV2(businessId, categoryId, productId, options).then((request) => request(this.axios, this.basePath));
39684
+ }
39685
+
39116
39686
  /**
39117
39687
  * Update inventory settings for multiple channels at once
39118
39688
  * @summary Update channel inventory (POS, Kiosk, etc.)