@springtree/eva-services-core-management 3.0.0-beta.3 → 3.0.0-beta.4

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.
@@ -5037,19 +5037,6 @@ export interface ArchivePointAwardingRule {
5037
5037
  ID: string;
5038
5038
  }
5039
5039
  /**
5040
- * Attach a product limitation to a payment type.
5041
- */
5042
- export interface AttachLoyaltyProgramProductLimitationToPaymentType {
5043
- /**
5044
- * Entity type: LoyaltyProgramPaymentType
5045
- */
5046
- LoyaltyProgramPaymentTypeID: string;
5047
- /**
5048
- * Entity type: LoyaltyProgramProductLimitation
5049
- */
5050
- LoyaltyProgramProductLimitationID: string;
5051
- }
5052
- /**
5053
5040
  * Attach a loyalty program to an order
5054
5041
  */
5055
5042
  export interface AttachLoyaltyProgramToOrder {
@@ -5065,6 +5052,9 @@ export interface AttachLoyaltyProgramToOrder {
5065
5052
  * Entity type: User
5066
5053
  */
5067
5054
  UserID?: string;
5055
+ /**
5056
+ * When set, the UserID will also become required so we can verify the UserIdentifier.
5057
+ */
5068
5058
  UserIdentifier?: string;
5069
5059
  }
5070
5060
  /**
@@ -5222,6 +5212,7 @@ export interface CreateLoyaltyProgramPaymentType {
5222
5212
  * Entity type: PaymentType
5223
5213
  */
5224
5214
  PaymentTypeID: string;
5215
+ ProductLimitation?: LoyaltyLoyaltyProgramProductLimitationData;
5225
5216
  Required?: boolean;
5226
5217
  Sequence?: number;
5227
5218
  TaxHandling: DataModelsLoyaltyPaymentTaxHandlingType;
@@ -5265,6 +5256,10 @@ export interface CreateLoyaltyProgramResponse {
5265
5256
  */
5266
5257
  ID: string;
5267
5258
  Metadata?: ResponseMessageMetadata;
5259
+ /**
5260
+ * Entity type: Subscription
5261
+ */
5262
+ SubscriptionID: string;
5268
5263
  }
5269
5264
  /**
5270
5265
  * Create a point awarding rule.
@@ -5383,19 +5378,6 @@ export interface DetachLoyaltyProgramFromOrder {
5383
5378
  OrderID: string;
5384
5379
  }
5385
5380
  /**
5386
- * Detach a product limitation from a payment type.
5387
- */
5388
- export interface DetachLoyaltyProgramProductLimitationFromPaymentType {
5389
- /**
5390
- * Entity type: LoyaltyProgramPaymentType
5391
- */
5392
- LoyaltyProgramPaymentTypeID: string;
5393
- /**
5394
- * Entity type: LoyaltyProgramProductLimitation
5395
- */
5396
- LoyaltyProgramProductLimitationID: string;
5397
- }
5398
- /**
5399
5381
  * Disable a point awarding rule
5400
5382
  */
5401
5383
  export interface DisablePointAwardingRule {
@@ -5532,6 +5514,7 @@ export interface GetLoyaltyProgramPaymentTypeResponse {
5532
5514
  */
5533
5515
  PaymentTypeID: string;
5534
5516
  PaymentTypeName?: string;
5517
+ ProductLimitation?: LoyaltyLoyaltyProgramProductLimitationData;
5535
5518
  Required: boolean;
5536
5519
  Sequence: number;
5537
5520
  TaxHandling: DataModelsLoyaltyPaymentTaxHandlingType;
@@ -5647,6 +5630,34 @@ export interface GetLoyaltyProgramResponse {
5647
5630
  UserMaximumUsage?: number;
5648
5631
  }
5649
5632
  /**
5633
+ * Get the available loyalty program payment methods for the given order.
5634
+ */
5635
+ export interface GetOrderLoyaltyProgramPaymentTypes {
5636
+ /**
5637
+ * Entity type: Order
5638
+ */
5639
+ OrderID: string;
5640
+ }
5641
+ export interface GetOrderLoyaltyProgramPaymentTypesResponse {
5642
+ Error?: ServiceError;
5643
+ Metadata?: ResponseMessageMetadata;
5644
+ Options?: LoyaltyGetOrderLoyaltyProgramPaymentTypesResponse_Option[];
5645
+ }
5646
+ export interface LoyaltyGetOrderLoyaltyProgramPaymentTypesResponse_Option {
5647
+ BackendID?: string;
5648
+ /**
5649
+ * Entity type: LoyaltyProgramPaymentType
5650
+ */
5651
+ ID: string;
5652
+ /**
5653
+ * Entity type: PaymentType
5654
+ */
5655
+ PaymentTypeID: string;
5656
+ PaymentTypeName?: string;
5657
+ Required: boolean;
5658
+ Sequence: number;
5659
+ }
5660
+ /**
5650
5661
  * Get loyalty point rule.
5651
5662
  */
5652
5663
  export interface GetPointAwardingRule {
@@ -5863,7 +5874,21 @@ export interface LoyaltyListLoyaltyProgramProductLimitationsResponse_Item {
5863
5874
  */
5864
5875
  ID: string;
5865
5876
  Name?: string;
5877
+ /**
5878
+ * The quantity limit over the entire product limitation product set per order.
5879
+ */
5880
+ OverallQuantityLimitPerOrder?: number;
5881
+ /**
5882
+ * The quantity limit over the entire product limitation product set per user.
5883
+ */
5884
+ OverallQuantityLimitPerUser?: number;
5885
+ /**
5886
+ * The quantity limit per product within the product limitation product set per order.
5887
+ */
5866
5888
  QuantityLimitPerOrder?: number;
5889
+ /**
5890
+ * The quantity limit per product within the product limitation product set per user.
5891
+ */
5867
5892
  QuantityLimitPerUser?: number;
5868
5893
  }
5869
5894
  /**
@@ -5936,6 +5961,14 @@ export interface LoyaltyListPointAwardingRulesResponse_Rule {
5936
5961
  export interface LoyaltyLoyaltyProgramProductLimitationData {
5937
5962
  Filters?: Record<string, SearchFilterModel>;
5938
5963
  /**
5964
+ * The quantity limit over the entire product limitation product set per order.
5965
+ */
5966
+ OverallQuantityLimitPerOrder?: number;
5967
+ /**
5968
+ * The quantity limit over the entire product limitation product set per user.
5969
+ */
5970
+ OverallQuantityLimitPerUser?: number;
5971
+ /**
5939
5972
  * Entity type: Product
5940
5973
  */
5941
5974
  ProductIDs?: string[];
@@ -5943,17 +5976,25 @@ export interface LoyaltyLoyaltyProgramProductLimitationData {
5943
5976
  * Entity type: ProductSearchTemplate
5944
5977
  */
5945
5978
  ProductSearchID?: string;
5979
+ /**
5980
+ * The quantity limit per product within the product limitation product set per order.
5981
+ */
5946
5982
  QuantityLimitPerOrder?: number;
5983
+ /**
5984
+ * The quantity limit per product within the product limitation product set per user.
5985
+ */
5947
5986
  QuantityLimitPerUser?: number;
5948
5987
  }
5949
5988
  /**
5950
5989
  * Push a LoyaltyProgram.
5990
+ * If it doesn't exist it will be created, otherwise is will be updated.
5991
+ * Sub entities will also be created or updated, but will not be removed.
5951
5992
  */
5952
- export interface PushLoyaltyProgram {
5993
+ export interface LoyaltyPushLoyaltyProgram {
5953
5994
  /**
5954
5995
  * Indicates if the subscription can be unsubscribed and if so, who can do the unsubscribe.
5955
5996
  */
5956
- AllowUnsubscribeBy?: DataModelsAllowUnsubscribeByType;
5997
+ AllowUnsubscribeBy: DataModelsAllowUnsubscribeByType;
5957
5998
  /**
5958
5999
  * When true, the loyalty program will not automatically be applied to the order when a customer is attached and all conditions are met.
5959
6000
  * When false, the loyalty program will automatically be applied if all conditions are met.
@@ -5981,7 +6022,7 @@ export interface PushLoyaltyProgram {
5981
6022
  * Entity type: LoyaltyProgram
5982
6023
  */
5983
6024
  ID: string;
5984
- LoyaltyPointUsageOptions?: DataModelsLoyaltyPointUsageOptions;
6025
+ LoyaltyPointUsageOptions: DataModelsLoyaltyPointUsageOptions;
5985
6026
  /**
5986
6027
  * Entity type: LoyaltyProgramGroup
5987
6028
  */
@@ -5991,12 +6032,12 @@ export interface PushLoyaltyProgram {
5991
6032
  OrganizationUnitSets?: LoyaltyPushLoyaltyProgram_PushLoyaltyProgramOrganizationUnitSet[];
5992
6033
  PaymentTypes?: LoyaltyPushLoyaltyProgram_PushLoyaltyProgramPaymentType[];
5993
6034
  PointAwardingRules?: LoyaltyPushLoyaltyProgram_PushPointAwardingRule[];
5994
- PointExpirationPolicyData?: TAnyValue;
6035
+ PointExpirationPolicyData?: Record<string, TAnyValue>;
5995
6036
  PointExpirationPolicyType?: string;
5996
- PointPendingPolicyData?: TAnyValue;
6037
+ PointPendingPolicyData?: Record<string, TAnyValue>;
5997
6038
  PointPendingPolicyType?: string;
5998
6039
  /**
5999
- * Entity type: LoyaltyProgramCondition
6040
+ * Entity type: PriceList
6000
6041
  */
6001
6042
  PriceLists?: string[];
6002
6043
  ProductLimitations?: LoyaltyPushLoyaltyProgram_PushLoyaltyProgramProductLimitation[];
@@ -6032,7 +6073,7 @@ export interface PushLoyaltyProgram {
6032
6073
  /**
6033
6074
  * Handling when a user is unsubscribed and re-subscribes.
6034
6075
  */
6035
- ResubscribeHandling?: DataModelsResubscribeHandlingType;
6076
+ ResubscribeHandling: DataModelsResubscribeHandlingType;
6036
6077
  StartDate?: string;
6037
6078
  Status: DataModelsLoyaltyProgramStatus;
6038
6079
  UserBudget?: number;
@@ -6057,7 +6098,7 @@ export interface PushLoyaltyProgram {
6057
6098
  UserMaximumUsage?: number;
6058
6099
  }
6059
6100
  export interface LoyaltyPushLoyaltyProgram_PushLoyaltyProgramCondition {
6060
- Data: TAnyValue;
6101
+ Data: Record<string, TAnyValue>;
6061
6102
  /**
6062
6103
  * Entity type: LoyaltyProgramCondition
6063
6104
  */
@@ -6092,9 +6133,12 @@ export interface LoyaltyPushLoyaltyProgram_PushLoyaltyProgramPaymentType {
6092
6133
  UserMaximumUsage?: number;
6093
6134
  }
6094
6135
  export interface LoyaltyPushLoyaltyProgram_PushLoyaltyProgramProductLimitation {
6136
+ ApplyToPriceList?: boolean;
6095
6137
  Filters?: Record<string, SearchFilterModel>;
6096
6138
  ID: string;
6097
6139
  Name: string;
6140
+ OverallQuantityLimitPerOrder?: number;
6141
+ OverallQuantityLimitPerUser?: number;
6098
6142
  /**
6099
6143
  * Entity type: Product
6100
6144
  */
@@ -6138,6 +6182,125 @@ export interface PushLoyaltyProgramResponse {
6138
6182
  */
6139
6183
  ID: string;
6140
6184
  Metadata?: ResponseMessageMetadata;
6185
+ /**
6186
+ * Entity type: Subscription
6187
+ */
6188
+ SubscriptionID: string;
6189
+ }
6190
+ export interface PushLoyaltyProgram_Async {
6191
+ /**
6192
+ * Indicates if the subscription can be unsubscribed and if so, who can do the unsubscribe.
6193
+ */
6194
+ AllowUnsubscribeBy: DataModelsAllowUnsubscribeByType;
6195
+ /**
6196
+ * When true, the loyalty program will not automatically be applied to the order when a customer is attached and all conditions are met.
6197
+ * When false, the loyalty program will automatically be applied if all conditions are met.
6198
+ */
6199
+ ApplyManuallyOnly?: boolean;
6200
+ /**
6201
+ * When true, if a non anonymous customer is attached to the order they will be automatically subscribed on finishing the order.
6202
+ * When false, the customer will not be subscribed.
6203
+ *
6204
+ * This is ignore when`RequiresSubscribedCustomer` or `RequiresSubscriptionValidation` is set to true.
6205
+ */
6206
+ AutoSubscribeCustomer?: boolean;
6207
+ Budget?: number;
6208
+ /**
6209
+ * Entity type: Currency
6210
+ */
6211
+ BudgetCurrencyID?: string;
6212
+ Conditions?: LoyaltyPushLoyaltyProgram_PushLoyaltyProgramCondition[];
6213
+ Data?: TAnyValue;
6214
+ DeactivateWhenBudgetIsReached?: boolean;
6215
+ Description?: string;
6216
+ EndDate?: string;
6217
+ Handler: string;
6218
+ /**
6219
+ * Entity type: LoyaltyProgram
6220
+ */
6221
+ ID: string;
6222
+ LoyaltyPointUsageOptions: DataModelsLoyaltyPointUsageOptions;
6223
+ /**
6224
+ * Entity type: LoyaltyProgramGroup
6225
+ */
6226
+ LoyaltyProgramGroupID?: string;
6227
+ Name: string;
6228
+ Options: DataModelsLoyaltyProgramOptions;
6229
+ OrganizationUnitSets?: LoyaltyPushLoyaltyProgram_PushLoyaltyProgramOrganizationUnitSet[];
6230
+ PaymentTypes?: LoyaltyPushLoyaltyProgram_PushLoyaltyProgramPaymentType[];
6231
+ PointAwardingRules?: LoyaltyPushLoyaltyProgram_PushPointAwardingRule[];
6232
+ PointExpirationPolicyData?: Record<string, TAnyValue>;
6233
+ PointExpirationPolicyType?: string;
6234
+ PointPendingPolicyData?: Record<string, TAnyValue>;
6235
+ PointPendingPolicyType?: string;
6236
+ /**
6237
+ * Entity type: PriceList
6238
+ */
6239
+ PriceLists?: string[];
6240
+ ProductLimitations?: LoyaltyPushLoyaltyProgram_PushLoyaltyProgramProductLimitation[];
6241
+ ReactivateProgramWhenPossible?: boolean;
6242
+ ReloadPolicy?: string;
6243
+ /**
6244
+ * When true, the loyalty program will only be applied when a customer is attached to the order.
6245
+ *
6246
+ * When false, the loyalty program can be attached to the order even if there is no customer attached.
6247
+ */
6248
+ RequireCustomer?: boolean;
6249
+ /**
6250
+ * When set to true, subscribing the user will require a UserIdentifier to be given.
6251
+ * Attention!
6252
+ * This value will be used to create a subscription when either `RequiredCustomer` or `AutoSubscribeCustomer` is set to true.
6253
+ * When this is not the case on create, this can be introduced on update. This value cannot be changed after it is set in either the create or update.
6254
+ */
6255
+ RequireManualUserIdentifier?: boolean;
6256
+ /**
6257
+ * When true, the loyalty program will only be applied when a customer is attached to the order that is already subscribed to the loyalty program.
6258
+ * Also, this will make the `RequireCustomer` automatically true and `AutoSubscribeCustomer` false.
6259
+ *
6260
+ * When false, the loyalty program can be attached to the order if a customer is attached that isn't already subscribed to the loyalty program.
6261
+ */
6262
+ RequiresSubscribedCustomer?: boolean;
6263
+ /**
6264
+ * When true, the order will require that the attached customer on the order will be validated by providing the UserIdentifier in the `AttachBenefitProgramToOrder` service.
6265
+ * Also, this will make the `RequireCustomer` and `RequiresSubscribedCustomer` automatically true and `AutoSubscribeCustomer` false.
6266
+ *
6267
+ * When false, this validation isn't required.
6268
+ */
6269
+ RequiresSubscriptionValidation?: boolean;
6270
+ /**
6271
+ * Handling when a user is unsubscribed and re-subscribes.
6272
+ */
6273
+ ResubscribeHandling: DataModelsResubscribeHandlingType;
6274
+ StartDate?: string;
6275
+ Status: DataModelsLoyaltyProgramStatus;
6276
+ UserBudget?: number;
6277
+ /**
6278
+ * Attention!
6279
+ * This value will be used to create a subscription when either `RequiredCustomer` or `AutoSubscribeCustomer` is set to true.
6280
+ * When this is not the case on create, this can be introduced on update. This value cannot be changed after it is set in either the create or update.
6281
+ */
6282
+ UserIdentifierPrefix?: string;
6283
+ /**
6284
+ * Attention!
6285
+ * This value will be used to create a subscription when either `RequiredCustomer` or `AutoSubscribeCustomer` is set to true.
6286
+ * When this is not the case on create, this can be introduced on update. This value cannot be changed after it is set in either the create or update.
6287
+ */
6288
+ UserIdentifierStartNumber?: string;
6289
+ /**
6290
+ * Attention!
6291
+ * This value will be used to create a subscription when either `RequiredCustomer` or `AutoSubscribeCustomer` is set to true.
6292
+ * When this is not the case on create, this can be introduced on update. This value cannot be changed after it is set in either the create or update.
6293
+ */
6294
+ UserIdentifierSuffix?: string;
6295
+ UserMaximumUsage?: number;
6296
+ }
6297
+ export interface PushLoyaltyProgram_AsyncResponse {
6298
+ Error?: ServiceError;
6299
+ JobID?: string;
6300
+ Metadata?: ResponseMessageMetadata;
6301
+ }
6302
+ export interface PushLoyaltyProgram_AsyncResult {
6303
+ JobID?: string;
6141
6304
  }
6142
6305
  /**
6143
6306
  * Rebalance loyalty points of a user
@@ -6182,6 +6345,19 @@ export interface RemoveLoyaltyProgramPriceList {
6182
6345
  PriceListID: string;
6183
6346
  }
6184
6347
  /**
6348
+ * Set the loyalty program payment types for the order.
6349
+ */
6350
+ export interface SetOrderLoyaltyProgramPaymentTypes {
6351
+ /**
6352
+ * Entity type: Order
6353
+ */
6354
+ OrderID: string;
6355
+ /**
6356
+ * Entity type: LoyaltyProgramPaymentType
6357
+ */
6358
+ SelectedLoyaltyProgramPaymentTypes: string[];
6359
+ }
6360
+ /**
6185
6361
  * Update an existing LoyaltyProgram
6186
6362
  */
6187
6363
  export interface UpdateLoyaltyProgram {
@@ -6356,6 +6532,7 @@ export interface UpdateLoyaltyProgramPaymentType {
6356
6532
  ID: string;
6357
6533
  MaximumAmountPerOrder?: number;
6358
6534
  MaximumPercentageOfUserBudgetPerOrder?: number;
6535
+ ProductLimitation?: LoyaltyLoyaltyProgramProductLimitationData;
6359
6536
  Required?: boolean;
6360
6537
  Sequence?: number;
6361
6538
  TaxHandling: DataModelsLoyaltyPaymentTaxHandlingType;
@@ -8859,6 +9036,10 @@ export interface CreatePriceListAdjustment {
8859
9036
  PriceListID: string;
8860
9037
  PricingGroupID?: string;
8861
9038
  Sequence?: number;
9039
+ /**
9040
+ * If set to true, this will skip the recalculation of the price list after the adjustment is updated, defaults to false so it will always recalculate. Recalculation happens periodically thereafter.
9041
+ */
9042
+ SkipRecalculation?: boolean;
8862
9043
  Type: string;
8863
9044
  }
8864
9045
  export interface CreatePriceListAdjustmentResponse {
@@ -8955,6 +9136,10 @@ export interface DeletePriceListAdjustment {
8955
9136
  * Entity type: PriceListAdjustment
8956
9137
  */
8957
9138
  ID: string;
9139
+ /**
9140
+ * If set to true, this will skip the recalculation of the price list after the adjustment is updated, defaults to false so it will always recalculate. Recalculation happens periodically thereafter.
9141
+ */
9142
+ SkipRecalculation?: boolean;
8958
9143
  }
8959
9144
  /**
8960
9145
  * Delete a PriceListManualInputAdjustment
@@ -9429,6 +9614,10 @@ export interface UpdatePriceListAdjustment {
9429
9614
  ParentAdjustmentID?: string;
9430
9615
  PricingGroupID: string | null | undefined;
9431
9616
  Sequence?: number;
9617
+ /**
9618
+ * If set to true, this will skip the recalculation of the price list after the adjustment is updated, defaults to false so it will always recalculate. Recalculation happens periodically thereafter.
9619
+ */
9620
+ SkipRecalculation?: boolean;
9432
9621
  Type: string;
9433
9622
  }
9434
9623
  /**