voucherify 6.0.0 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (750) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +1 -1
  3. data/ENDPOINTS-COVERAGE.md +94 -95
  4. data/EXAMPLES.md +3 -3
  5. data/Gemfile.lock +4 -4
  6. data/README.md +345 -9
  7. data/__tests__/lib/stackables.rb +18 -0
  8. data/__tests__/spec/09_redemptions_spec.rb +5 -0
  9. data/docs/ApplicableTo.md +7 -7
  10. data/docs/BinApi.md +132 -0
  11. data/docs/Campaign.md +40 -0
  12. data/docs/CampaignBase.md +1 -0
  13. data/docs/CampaignTemplate.md +14 -0
  14. data/docs/CampaignsApi.md +3 -1
  15. data/docs/CampaignsCreateRequestBody.md +1 -2
  16. data/docs/CampaignsCreateResponseBody.md +1 -0
  17. data/docs/CampaignsGetResponseBody.md +1 -0
  18. data/docs/CampaignsUpdateRequestBody.md +1 -4
  19. data/docs/CampaignsUpdateResponseBody.md +1 -0
  20. data/docs/CampaignsVouchersCreateCombinedResponseBodyPublish.md +1 -1
  21. data/docs/CampaignsVouchersCreateCombinedResponseBodyRedemption.md +1 -1
  22. data/docs/CampaignsVouchersCreateResponseBodyPublish.md +1 -1
  23. data/docs/CampaignsVouchersCreateResponseBodyRedemption.md +1 -1
  24. data/docs/CategoriesCreateRequestBody.md +1 -1
  25. data/docs/CategoriesCreateResponseBody.md +1 -1
  26. data/docs/CategoriesGetResponseBody.md +1 -2
  27. data/docs/CategoriesUpdateRequestBody.md +1 -1
  28. data/docs/CategoriesUpdateResponseBody.md +1 -1
  29. data/docs/Category.md +1 -2
  30. data/docs/CategoryWithStackingRulesType.md +14 -0
  31. data/docs/ClientPromotionsTiersListResponseBody.md +1 -1
  32. data/docs/ClientValidationsValidateResponseBodyRedeemablesItem.md +1 -1
  33. data/docs/CustomersActivityListResponseBody.md +1 -1
  34. data/docs/CustomersApi.md +2 -64
  35. data/docs/Error.md +1 -1
  36. data/docs/ExportsApi.md +13 -1
  37. data/docs/{ParameterFiltersListCustomerRedeemablesCreatedAtConditions.md → FilterConditionsDateTime.md} +1 -1
  38. data/docs/InapplicableTo.md +7 -7
  39. data/docs/Location.md +13 -0
  40. data/docs/LocationShape.md +11 -0
  41. data/docs/LocationShapeDistance.md +9 -0
  42. data/docs/LocationShapeGeojson.md +9 -0
  43. data/docs/LocationsApi.md +133 -0
  44. data/docs/LocationsGetResponseBody.md +13 -0
  45. data/docs/LocationsGetResponseBodyShape.md +11 -0
  46. data/docs/LocationsGetResponseBodyShapeDistance.md +9 -0
  47. data/docs/LocationsGetResponseBodyShapeGeojson.md +9 -0
  48. data/docs/LocationsListResponseBody.md +12 -0
  49. data/docs/LoyaltiesApi.md +9 -3
  50. data/docs/LoyaltiesCreateCampaignRequestBody.md +1 -1
  51. data/docs/LoyaltiesCreateCampaignResponseBody.md +1 -0
  52. data/docs/LoyaltiesGetCampaignResponseBody.md +1 -0
  53. data/docs/LoyaltiesMemberActivityListResponseBody.md +1 -1
  54. data/docs/LoyaltiesMembersCreateResponseBodyPublish.md +1 -1
  55. data/docs/LoyaltiesMembersCreateResponseBodyRedemption.md +1 -1
  56. data/docs/LoyaltiesMembersGetResponseBodyPublish.md +1 -1
  57. data/docs/LoyaltiesMembersGetResponseBodyRedemption.md +1 -1
  58. data/docs/LoyaltiesMembersRedemptionRedeemResponseBody.md +1 -1
  59. data/docs/LoyaltiesMembersRedemptionRedeemResponseBodyChannel.md +2 -2
  60. data/docs/LoyaltiesMembersRedemptionRedeemResponseBodyVoucher.md +1 -1
  61. data/docs/LoyaltiesMembersRedemptionRedeemResponseBodyVoucherPublish.md +1 -1
  62. data/docs/LoyaltiesMembersRedemptionRedeemResponseBodyVoucherRedemption.md +1 -1
  63. data/docs/LoyaltiesMembersTransactionsListResponseBody.md +2 -1
  64. data/docs/LoyaltiesMembersTransfersCreateResponseBodyPublish.md +1 -1
  65. data/docs/LoyaltiesMembersTransfersCreateResponseBodyRedemption.md +1 -1
  66. data/docs/LoyaltiesRewardAssignmentsGetResponseBodyParametersLoyalty.md +1 -0
  67. data/docs/LoyaltiesRewardsCreateAssignmentResponseBodyParametersLoyalty.md +1 -0
  68. data/docs/LoyaltiesRewardsGetResponseBodyParametersLoyalty.md +1 -0
  69. data/docs/LoyaltiesRewardsUpdateAssignmentRequestBodyParametersLoyalty.md +1 -0
  70. data/docs/LoyaltiesRewardsUpdateAssignmentResponseBodyParametersLoyalty.md +1 -0
  71. data/docs/LoyaltiesUpdateCampaignResponseBody.md +1 -0
  72. data/docs/LoyaltyCampaign.md +1 -0
  73. data/docs/LoyaltyMemberPublish.md +1 -1
  74. data/docs/LoyaltyMemberRedemption.md +1 -1
  75. data/docs/ManagementApi.md +2348 -0
  76. data/docs/ManagementProject.md +30 -0
  77. data/docs/ManagementProjectApiUsageNotifications.md +13 -0
  78. data/docs/ManagementProjectDefaultCodeConfig.md +8 -0
  79. data/docs/ManagementProjectLimits.md +9 -0
  80. data/docs/ManagementProjectLimitsApiCallsItem.md +9 -0
  81. data/docs/ManagementProjectLimitsBulkApiCallsItem.md +9 -0
  82. data/docs/ManagementProjectWebhooksCalloutNotifications.md +9 -0
  83. data/docs/ManagementProjectWebhooksCalloutNotificationsDistributions.md +10 -0
  84. data/docs/ManagementProjectWebhooksCalloutNotificationsWebhooks.md +10 -0
  85. data/docs/ManagementProjectsBranding.md +12 -0
  86. data/docs/ManagementProjectsBrandingAddress.md +12 -0
  87. data/docs/ManagementProjectsBrandingBrand.md +12 -0
  88. data/docs/ManagementProjectsBrandingCockpits.md +15 -0
  89. data/docs/ManagementProjectsBrandingContact.md +9 -0
  90. data/docs/ManagementProjectsBrandingCreateRequestBody.md +11 -0
  91. data/docs/ManagementProjectsBrandingCreateRequestBodyAddress.md +12 -0
  92. data/docs/ManagementProjectsBrandingCreateRequestBodyBrand.md +12 -0
  93. data/docs/ManagementProjectsBrandingCreateRequestBodyCockpits.md +15 -0
  94. data/docs/ManagementProjectsBrandingCreateRequestBodyContact.md +9 -0
  95. data/docs/ManagementProjectsBrandingCreateResponseBody.md +12 -0
  96. data/docs/ManagementProjectsBrandingCreateResponseBodyAddress.md +12 -0
  97. data/docs/ManagementProjectsBrandingCreateResponseBodyBrand.md +12 -0
  98. data/docs/ManagementProjectsBrandingCreateResponseBodyCockpits.md +15 -0
  99. data/docs/ManagementProjectsBrandingCreateResponseBodyContact.md +9 -0
  100. data/docs/ManagementProjectsBrandingGetResponseBody.md +12 -0
  101. data/docs/ManagementProjectsBrandingGetResponseBodyAddress.md +12 -0
  102. data/docs/ManagementProjectsBrandingGetResponseBodyBrand.md +12 -0
  103. data/docs/ManagementProjectsBrandingGetResponseBodyCockpits.md +15 -0
  104. data/docs/ManagementProjectsBrandingGetResponseBodyContact.md +9 -0
  105. data/docs/ManagementProjectsBrandingListResponseBody.md +11 -0
  106. data/docs/ManagementProjectsBrandingUpdateRequestBody.md +11 -0
  107. data/docs/ManagementProjectsBrandingUpdateRequestBodyAddress.md +12 -0
  108. data/docs/ManagementProjectsBrandingUpdateRequestBodyBrand.md +12 -0
  109. data/docs/ManagementProjectsBrandingUpdateRequestBodyCockpits.md +15 -0
  110. data/docs/ManagementProjectsBrandingUpdateRequestBodyContact.md +9 -0
  111. data/docs/ManagementProjectsBrandingUpdateResponseBody.md +12 -0
  112. data/docs/ManagementProjectsBrandingUpdateResponseBodyAddress.md +12 -0
  113. data/docs/ManagementProjectsBrandingUpdateResponseBodyBrand.md +12 -0
  114. data/docs/ManagementProjectsBrandingUpdateResponseBodyCockpits.md +15 -0
  115. data/docs/ManagementProjectsBrandingUpdateResponseBodyContact.md +9 -0
  116. data/docs/ManagementProjectsCreateRequestBody.md +26 -0
  117. data/docs/ManagementProjectsCreateRequestBodyApiUsageNotifications.md +12 -0
  118. data/docs/ManagementProjectsCreateRequestBodyUsersItem.md +10 -0
  119. data/docs/ManagementProjectsCreateRequestBodyWebhooksCalloutNotifications.md +9 -0
  120. data/docs/ManagementProjectsCreateRequestBodyWebhooksCalloutNotificationsDistributions.md +10 -0
  121. data/docs/ManagementProjectsCreateRequestBodyWebhooksCalloutNotificationsWebhooks.md +10 -0
  122. data/docs/ManagementProjectsCreateResponseBody.md +30 -0
  123. data/docs/ManagementProjectsCreateResponseBodyApiUsageNotifications.md +13 -0
  124. data/docs/ManagementProjectsCreateResponseBodyClientSideKey.md +9 -0
  125. data/docs/ManagementProjectsCreateResponseBodyServerSideKey.md +9 -0
  126. data/docs/ManagementProjectsCreateResponseBodyWebhooksCalloutNotifications.md +9 -0
  127. data/docs/ManagementProjectsCreateResponseBodyWebhooksCalloutNotificationsDistributions.md +10 -0
  128. data/docs/ManagementProjectsCreateResponseBodyWebhooksCalloutNotificationsWebhooks.md +10 -0
  129. data/docs/ManagementProjectsCustomEventSchema.md +13 -0
  130. data/docs/ManagementProjectsCustomEventSchemaSchema.md +8 -0
  131. data/docs/ManagementProjectsCustomEventSchemasCreateRequestBody.md +9 -0
  132. data/docs/ManagementProjectsCustomEventSchemasCreateRequestBodySchema.md +8 -0
  133. data/docs/ManagementProjectsCustomEventSchemasCreateRequestBodySchemaPropertiesEntry.md +10 -0
  134. data/docs/ManagementProjectsCustomEventSchemasCreateResponseBody.md +13 -0
  135. data/docs/ManagementProjectsCustomEventSchemasCreateResponseBodySchema.md +8 -0
  136. data/docs/ManagementProjectsCustomEventSchemasGetResponseBody.md +13 -0
  137. data/docs/ManagementProjectsCustomEventSchemasGetResponseBodySchema.md +8 -0
  138. data/docs/ManagementProjectsCustomEventSchemasListResponseBody.md +11 -0
  139. data/docs/ManagementProjectsCustomEventSchemasUpdateRequestBody.md +8 -0
  140. data/docs/ManagementProjectsCustomEventSchemasUpdateRequestBodySchema.md +8 -0
  141. data/docs/ManagementProjectsCustomEventSchemasUpdateResponseBody.md +13 -0
  142. data/docs/ManagementProjectsCustomEventSchemasUpdateResponseBodySchema.md +8 -0
  143. data/docs/ManagementProjectsGetResponseBody.md +30 -0
  144. data/docs/ManagementProjectsGetResponseBodyApiUsageNotifications.md +13 -0
  145. data/docs/ManagementProjectsGetResponseBodyDefaultCodeConfig.md +8 -0
  146. data/docs/ManagementProjectsGetResponseBodyLimits.md +9 -0
  147. data/docs/ManagementProjectsGetResponseBodyLimitsApiCallsItem.md +9 -0
  148. data/docs/ManagementProjectsGetResponseBodyLimitsBulkApiCallsItem.md +9 -0
  149. data/docs/ManagementProjectsGetResponseBodyWebhooksCalloutNotifications.md +9 -0
  150. data/docs/ManagementProjectsGetResponseBodyWebhooksCalloutNotificationsDistributions.md +10 -0
  151. data/docs/ManagementProjectsGetResponseBodyWebhooksCalloutNotificationsWebhooks.md +10 -0
  152. data/docs/ManagementProjectsListResponseBody.md +11 -0
  153. data/docs/ManagementProjectsMetadataSchema.md +14 -0
  154. data/docs/ManagementProjectsMetadataSchemaDefinition.md +21 -0
  155. data/docs/ManagementProjectsMetadataSchemasCreateRequestBody.md +10 -0
  156. data/docs/ManagementProjectsMetadataSchemasCreateResponseBody.md +14 -0
  157. data/docs/ManagementProjectsMetadataSchemasGetResponseBody.md +14 -0
  158. data/docs/ManagementProjectsMetadataSchemasListResponseBody.md +11 -0
  159. data/docs/ManagementProjectsMetadataSchemasUpdateRequestBody.md +9 -0
  160. data/docs/ManagementProjectsMetadataSchemasUpdateResponseBody.md +14 -0
  161. data/docs/ManagementProjectsStackingRules.md +22 -0
  162. data/docs/ManagementProjectsStackingRulesCreateRequestBody.md +19 -0
  163. data/docs/ManagementProjectsStackingRulesCreateResponseBody.md +22 -0
  164. data/docs/ManagementProjectsStackingRulesGetResponseBody.md +22 -0
  165. data/docs/ManagementProjectsStackingRulesListResponseBody.md +11 -0
  166. data/docs/ManagementProjectsStackingRulesUpdateRequestBody.md +19 -0
  167. data/docs/ManagementProjectsStackingRulesUpdateResponseBody.md +22 -0
  168. data/docs/ManagementProjectsTemplatesCampaignsCopyCreateRequestBody.md +10 -0
  169. data/docs/ManagementProjectsTemplatesCampaignsCopyCreateResponseBody.md +13 -0
  170. data/docs/ManagementProjectsTemplatesCampaignsListResponseBody.md +13 -0
  171. data/docs/ManagementProjectsUpdateRequestBody.md +23 -0
  172. data/docs/ManagementProjectsUpdateRequestBodyApiUsageNotifications.md +12 -0
  173. data/docs/ManagementProjectsUpdateRequestBodyDefaultCodeConfig.md +8 -0
  174. data/docs/ManagementProjectsUpdateRequestBodyWebhooksCalloutNotifications.md +9 -0
  175. data/docs/ManagementProjectsUpdateRequestBodyWebhooksCalloutNotificationsDistributions.md +10 -0
  176. data/docs/ManagementProjectsUpdateRequestBodyWebhooksCalloutNotificationsWebhooks.md +10 -0
  177. data/docs/ManagementProjectsUpdateResponseBody.md +30 -0
  178. data/docs/ManagementProjectsUpdateResponseBodyApiUsageNotifications.md +13 -0
  179. data/docs/ManagementProjectsUpdateResponseBodyDefaultCodeConfig.md +8 -0
  180. data/docs/ManagementProjectsUpdateResponseBodyLimits.md +9 -0
  181. data/docs/ManagementProjectsUpdateResponseBodyLimitsApiCallsItem.md +9 -0
  182. data/docs/ManagementProjectsUpdateResponseBodyLimitsBulkApiCallsItem.md +9 -0
  183. data/docs/ManagementProjectsUpdateResponseBodyWebhooksCalloutNotifications.md +9 -0
  184. data/docs/ManagementProjectsUpdateResponseBodyWebhooksCalloutNotificationsDistributions.md +10 -0
  185. data/docs/ManagementProjectsUpdateResponseBodyWebhooksCalloutNotificationsWebhooks.md +10 -0
  186. data/docs/ManagementProjectsUsersAssignRequestBody.md +10 -0
  187. data/docs/ManagementProjectsUsersAssignResponseBody.md +14 -0
  188. data/docs/ManagementProjectsUsersGetUserResponseBody.md +14 -0
  189. data/docs/ManagementProjectsUsersInviteCreateRequestBody.md +11 -0
  190. data/docs/ManagementProjectsUsersListResponseBody.md +11 -0
  191. data/docs/ManagementProjectsUsersUpdateRoleRequestBody.md +8 -0
  192. data/docs/ManagementProjectsUsersUpdateRoleResponseBody.md +14 -0
  193. data/docs/ManagementProjectsWebhook.md +13 -0
  194. data/docs/ManagementProjectsWebhooksCreateRequestBody.md +10 -0
  195. data/docs/ManagementProjectsWebhooksCreateResponseBody.md +13 -0
  196. data/docs/ManagementProjectsWebhooksGetResponseBody.md +13 -0
  197. data/docs/ManagementProjectsWebhooksListResponseBody.md +11 -0
  198. data/docs/ManagementProjectsWebhooksUpdateRequestBody.md +10 -0
  199. data/docs/ManagementProjectsWebhooksUpdateResponseBody.md +13 -0
  200. data/docs/MetadataSchemaDefinitionDeprecated.md +21 -0
  201. data/docs/MetadataSchemaDeprecated.md +14 -0
  202. data/docs/MetadataSchemasApi.md +122 -0
  203. data/docs/MetadataSchemasGetResponseBody.md +14 -0
  204. data/docs/MetadataSchemasListResponseBody.md +11 -0
  205. data/docs/Order.md +1 -1
  206. data/docs/OrderCalculated.md +1 -1
  207. data/docs/OrderItemProduct.md +1 -1
  208. data/docs/OrdersCreateRequestBody.md +1 -1
  209. data/docs/OrdersCreateResponseBody.md +1 -1
  210. data/docs/OrdersGetResponseBody.md +1 -1
  211. data/docs/OrdersImportCreateRequestBodyItem.md +1 -1
  212. data/docs/OrdersUpdateRequestBody.md +1 -1
  213. data/docs/OrdersUpdateResponseBody.md +1 -1
  214. data/docs/ParameterFiltersListBin.md +12 -0
  215. data/docs/ParameterFiltersListBinId.md +8 -0
  216. data/docs/ParameterFiltersListBinResourceId.md +8 -0
  217. data/docs/ParameterFiltersListBinResourceName.md +8 -0
  218. data/docs/ParameterFiltersListBinResourceType.md +8 -0
  219. data/docs/ParameterFiltersListBinResourceTypeConditions.md +15 -0
  220. data/docs/ParameterFiltersListCampaigns.md +14 -0
  221. data/docs/ParameterFiltersListCampaignsCampaignStatus.md +8 -0
  222. data/docs/ParameterFiltersListCampaignsCampaignStatusConditions.md +15 -0
  223. data/docs/ParameterFiltersListCampaignsCategories.md +8 -0
  224. data/docs/ParameterFiltersListCampaignsCategoryIds.md +8 -0
  225. data/docs/ParameterFiltersListCampaignsIsReferralCode.md +9 -0
  226. data/docs/ParameterFiltersListCampaignsValidityTimeframe.md +8 -0
  227. data/docs/ParameterFiltersListCampaignsVoucherType.md +8 -0
  228. data/docs/ParameterFiltersListCustomerRedeemables.md +1 -0
  229. data/docs/ParameterFiltersListCustomerRedeemablesCampaignId.md +0 -1
  230. data/docs/ParameterFiltersListCustomerRedeemablesCampaignType.md +0 -1
  231. data/docs/ParameterFiltersListCustomerRedeemablesCreatedAt.md +1 -2
  232. data/docs/ParameterFiltersListCustomerRedeemablesHolderRole.md +0 -1
  233. data/docs/ParameterFiltersListCustomerRedeemablesId.md +0 -1
  234. data/docs/ParameterFiltersListCustomerRedeemablesRedeemableId.md +0 -1
  235. data/docs/ParameterFiltersListCustomerRedeemablesRedeemableObject.md +0 -1
  236. data/docs/ParameterFiltersListCustomerRedeemablesVoucherType.md +0 -1
  237. data/docs/ParameterFiltersListLocations.md +10 -0
  238. data/docs/ParameterFiltersListLocationsCreatedAt.md +8 -0
  239. data/docs/ParameterFiltersListLocationsName.md +8 -0
  240. data/docs/ParameterFiltersListLocationsUpdatedAt.md +8 -0
  241. data/docs/ParameterFiltersListPublications.md +17 -0
  242. data/docs/ParameterFiltersListPublicationsCampaignName.md +8 -0
  243. data/docs/ParameterFiltersListPublicationsCustomerId.md +8 -0
  244. data/docs/ParameterFiltersListPublicationsFailureCode.md +8 -0
  245. data/docs/ParameterFiltersListPublicationsIsReferralCode.md +8 -0
  246. data/docs/ParameterFiltersListPublicationsParentObjectId.md +8 -0
  247. data/docs/ParameterFiltersListPublicationsRelatedObjectId.md +8 -0
  248. data/docs/ParameterFiltersListPublicationsResult.md +8 -0
  249. data/docs/ParameterFiltersListPublicationsSourceId.md +8 -0
  250. data/docs/ParameterFiltersListPublicationsVoucherType.md +8 -0
  251. data/docs/ParameterFiltersListRedemptions.md +1 -0
  252. data/docs/ParameterFiltersListRedemptionsCampaignName.md +0 -1
  253. data/docs/ParameterFiltersListRedemptionsCustomerId.md +0 -1
  254. data/docs/ParameterFiltersListRedemptionsFailureCode.md +0 -1
  255. data/docs/ParameterFiltersListRedemptionsObject.md +0 -1
  256. data/docs/ParameterFiltersListRedemptionsParentRedemptionId.md +0 -1
  257. data/docs/ParameterFiltersListRedemptionsRelatedObjectId.md +0 -1
  258. data/docs/ParameterFiltersListRedemptionsRelatedObjectParentId.md +0 -1
  259. data/docs/ParameterFiltersListRedemptionsResult.md +0 -1
  260. data/docs/ParameterFiltersListRedemptionsUserLogin.md +0 -1
  261. data/docs/ParameterFiltersListRedemptionsVoucherCode.md +0 -1
  262. data/docs/ParameterFiltersListReferralsRedeemableHolders.md +12 -0
  263. data/docs/ParameterFiltersListReferralsRedeemableHoldersCreatedAt.md +8 -0
  264. data/docs/ParameterFiltersListReferralsRedeemableHoldersCustomerId.md +8 -0
  265. data/docs/ParameterFiltersListReferralsRedeemableHoldersHolderRole.md +8 -0
  266. data/docs/ParameterFiltersListReferralsRedeemableHoldersHolderRoleConditions.md +15 -0
  267. data/docs/ParameterFiltersListReferralsRedeemableHoldersId.md +8 -0
  268. data/docs/ParameterFiltersListTemplates.md +11 -0
  269. data/docs/ParameterFiltersListTemplatesCampaignType.md +8 -0
  270. data/docs/ParameterFiltersListTemplatesCampaignTypeConditions.md +15 -0
  271. data/docs/ParameterFiltersListTemplatesId.md +8 -0
  272. data/docs/ParameterFiltersListTemplatesName.md +8 -0
  273. data/docs/ParameterOrderListBin.md +7 -0
  274. data/docs/ParameterOrderListLocations.md +7 -0
  275. data/docs/ParameterOrderListTransactions.md +7 -0
  276. data/docs/ParameterTemplatesList.md +7 -0
  277. data/docs/ProductCollectionsCreateRequestBody.md +1 -1
  278. data/docs/ProductCollectionsCreateResponseBody.md +1 -1
  279. data/docs/ProductCollectionsGetResponseBody.md +1 -1
  280. data/docs/ProductCollectionsItem.md +1 -1
  281. data/docs/ProductsApi.md +2 -2
  282. data/docs/PromotionTiersList.md +1 -1
  283. data/docs/PromotionsStacksUpdateRequestBodyTiers.md +1 -1
  284. data/docs/PromotionsTiersCreateRequestBody.md +2 -2
  285. data/docs/PromotionsTiersListResponseBody.md +1 -1
  286. data/docs/PublicationsApi.md +2 -2
  287. data/docs/PublicationsCreateRequestBody.md +1 -1
  288. data/docs/QualificationsOption.md +1 -1
  289. data/docs/QualificationsRedeemable.md +1 -1
  290. data/docs/QualificationsRedeemableBase.md +1 -1
  291. data/docs/RedeemableHolder.md +18 -0
  292. data/docs/RedeemableVoucherPublish.md +1 -1
  293. data/docs/RedeemableVoucherRedemption.md +1 -1
  294. data/docs/Redemption.md +1 -1
  295. data/docs/RedemptionChannel.md +2 -2
  296. data/docs/RedemptionEntry.md +1 -1
  297. data/docs/RedemptionEntryChannel.md +1 -1
  298. data/docs/RedemptionEntryOrder.md +1 -1
  299. data/docs/RedemptionEntryVoucherPublish.md +1 -1
  300. data/docs/RedemptionEntryVoucherRedemption.md +1 -1
  301. data/docs/RedemptionVoucher.md +1 -1
  302. data/docs/RedemptionVoucherPublish.md +1 -1
  303. data/docs/RedemptionVoucherRedemption.md +1 -1
  304. data/docs/RedemptionsGetResponseBody.md +1 -1
  305. data/docs/RedemptionsGetResponseBodyChannel.md +1 -1
  306. data/docs/RedemptionsGetResponseBodyOrder.md +1 -1
  307. data/docs/RedemptionsGetResponseBodyVoucherPublish.md +1 -1
  308. data/docs/RedemptionsGetResponseBodyVoucherRedemption.md +1 -1
  309. data/docs/RedemptionsListResponseBodyRedemptionsItem.md +1 -1
  310. data/docs/RedemptionsListResponseBodyRedemptionsItemChannel.md +1 -1
  311. data/docs/RedemptionsListResponseBodyRedemptionsItemOrder.md +1 -1
  312. data/docs/RedemptionsListResponseBodyRedemptionsItemVoucherPublish.md +1 -1
  313. data/docs/RedemptionsListResponseBodyRedemptionsItemVoucherRedemption.md +1 -1
  314. data/docs/ReferralsApi.md +397 -0
  315. data/docs/ReferralsMembersHoldersCreateInBulkRequestBody.md +9 -0
  316. data/docs/ReferralsMembersHoldersCreateInBulkResponseBody.md +8 -0
  317. data/docs/ReferralsMembersHoldersListResponseBody.md +13 -0
  318. data/docs/RewardAssignmentParametersLoyalty.md +1 -0
  319. data/docs/RewardsAssignmentsCreateRequestBodyParametersLoyalty.md +1 -0
  320. data/docs/RewardsAssignmentsCreateResponseBodyParametersLoyalty.md +1 -0
  321. data/docs/RewardsAssignmentsGetResponseBodyParametersLoyalty.md +1 -0
  322. data/docs/RewardsAssignmentsUpdateRequestBodyParametersLoyalty.md +1 -0
  323. data/docs/RewardsAssignmentsUpdateResponseBodyParametersLoyalty.md +1 -0
  324. data/docs/TemplatesApi.md +443 -0
  325. data/docs/TemplatesCampaignsCampaignSetupCreateRequestBody.md +24 -0
  326. data/docs/TemplatesCampaignsCampaignSetupCreateRequestBodyVoucher.md +9 -0
  327. data/docs/TemplatesCampaignsCampaignSetupCreateRequestBodyVoucherRedemption.md +8 -0
  328. data/docs/TemplatesCampaignsCampaignSetupCreateResponseBody.md +10 -0
  329. data/docs/TemplatesCampaignsCampaignSetupCreateResponseBodyCreatedResourcesItem.md +9 -0
  330. data/docs/TemplatesCampaignsCreateRequestBody.md +11 -0
  331. data/docs/TemplatesCampaignsCreateTemplateResponseBody.md +13 -0
  332. data/docs/TemplatesCampaignsGetResponseBody.md +14 -0
  333. data/docs/TemplatesCampaignsListResponseBody.md +13 -0
  334. data/docs/TemplatesCampaignsTierSetupCreateRequestBody.md +20 -0
  335. data/docs/TemplatesCampaignsTierSetupCreateResponseBody.md +10 -0
  336. data/docs/TemplatesCampaignsTierSetupCreateResponseBodyCreatedResourcesItem.md +9 -0
  337. data/docs/TemplatesCampaignsUpdateRequestBody.md +9 -0
  338. data/docs/TemplatesCampaignsUpdateResponseBody.md +14 -0
  339. data/docs/TrashBinItem.md +15 -0
  340. data/docs/TrashBinListResponseBody.md +13 -0
  341. data/docs/UsageNotifications.md +11 -0
  342. data/docs/User.md +14 -0
  343. data/docs/ValidationRule.md +1 -1
  344. data/docs/ValidationRulesCreateRequestBody.md +1 -1
  345. data/docs/ValidationRulesCreateResponseBody.md +1 -1
  346. data/docs/ValidationRulesGetResponseBody.md +1 -1
  347. data/docs/ValidationRulesUpdateRequestBody.md +1 -1
  348. data/docs/ValidationRulesUpdateResponseBody.md +1 -1
  349. data/docs/ValidationsRedeemableInapplicable.md +1 -1
  350. data/docs/ValidationsRedeemableSkipped.md +1 -1
  351. data/docs/ValidationsValidateResponseBodyRedeemablesItem.md +1 -1
  352. data/docs/VoucherPublish.md +1 -1
  353. data/docs/VoucherRedemption.md +1 -1
  354. data/docs/VoucherWithCategoriesPublish.md +1 -1
  355. data/docs/VoucherWithCategoriesRedemption.md +1 -1
  356. data/docs/VouchersApi.md +4 -2
  357. data/docs/VouchersCreateResponseBodyPublish.md +1 -1
  358. data/docs/VouchersCreateResponseBodyRedemption.md +1 -1
  359. data/docs/VouchersDisableResponseBodyPublish.md +1 -1
  360. data/docs/VouchersDisableResponseBodyRedemption.md +1 -1
  361. data/docs/VouchersEnableResponseBodyPublish.md +1 -1
  362. data/docs/VouchersEnableResponseBodyRedemption.md +1 -1
  363. data/docs/VouchersGetResponseBodyPublish.md +1 -1
  364. data/docs/VouchersGetResponseBodyRedemption.md +1 -1
  365. data/docs/VouchersTransactionsListResponseBody.md +2 -1
  366. data/docs/VouchersUpdateResponseBodyPublish.md +1 -1
  367. data/docs/VouchersUpdateResponseBodyRedemption.md +1 -1
  368. data/lib/VoucherifySdk/api/bin_api.rb +148 -0
  369. data/lib/VoucherifySdk/api/campaigns_api.rb +3 -0
  370. data/lib/VoucherifySdk/api/customers_api.rb +4 -68
  371. data/lib/VoucherifySdk/api/exports_api.rb +1 -1
  372. data/lib/VoucherifySdk/api/locations_api.rb +150 -0
  373. data/lib/VoucherifySdk/api/loyalties_api.rb +12 -3
  374. data/lib/VoucherifySdk/api/management_api.rb +2407 -0
  375. data/lib/VoucherifySdk/api/metadata_schemas_api.rb +138 -0
  376. data/lib/VoucherifySdk/api/products_api.rb +4 -4
  377. data/lib/VoucherifySdk/api/publications_api.rb +2 -2
  378. data/lib/VoucherifySdk/api/referrals_api.rb +420 -0
  379. data/lib/VoucherifySdk/api/templates_api.rb +472 -0
  380. data/lib/VoucherifySdk/api/vouchers_api.rb +6 -3
  381. data/lib/VoucherifySdk/api_client.rb +22 -1
  382. data/lib/VoucherifySdk/configuration.rb +14 -0
  383. data/lib/VoucherifySdk/models/access_settings_campaign_assignments_list.rb +1 -1
  384. data/lib/VoucherifySdk/models/applicable_to.rb +7 -3
  385. data/lib/VoucherifySdk/models/applicable_to_effect.rb +6 -4
  386. data/lib/VoucherifySdk/models/campaign.rb +580 -0
  387. data/lib/VoucherifySdk/models/campaign_base.rb +13 -2
  388. data/lib/VoucherifySdk/models/{product_collections_item_filter.rb → campaign_template.rb} +47 -89
  389. data/lib/VoucherifySdk/models/campaigns_create_request_body.rb +19 -28
  390. data/lib/VoucherifySdk/models/campaigns_create_response_body.rb +13 -2
  391. data/lib/VoucherifySdk/models/campaigns_get_response_body.rb +13 -2
  392. data/lib/VoucherifySdk/models/campaigns_update_request_body.rb +6 -40
  393. data/lib/VoucherifySdk/models/campaigns_update_response_body.rb +13 -2
  394. data/lib/VoucherifySdk/models/campaigns_vouchers_create_combined_response_body_publish.rb +1 -1
  395. data/lib/VoucherifySdk/models/campaigns_vouchers_create_combined_response_body_redemption.rb +1 -1
  396. data/lib/VoucherifySdk/models/campaigns_vouchers_create_response_body_publish.rb +1 -1
  397. data/lib/VoucherifySdk/models/campaigns_vouchers_create_response_body_redemption.rb +1 -1
  398. data/lib/VoucherifySdk/models/categories_create_request_body.rb +6 -1
  399. data/lib/VoucherifySdk/models/categories_create_response_body.rb +6 -1
  400. data/lib/VoucherifySdk/models/categories_get_response_body.rb +11 -19
  401. data/lib/VoucherifySdk/models/categories_update_request_body.rb +6 -1
  402. data/lib/VoucherifySdk/models/categories_update_response_body.rb +6 -1
  403. data/lib/VoucherifySdk/models/category.rb +11 -19
  404. data/lib/VoucherifySdk/models/category_with_stacking_rules_type.rb +309 -0
  405. data/lib/VoucherifySdk/models/client_promotions_tiers_list_response_body.rb +1 -1
  406. data/lib/VoucherifySdk/models/client_validations_validate_response_body.rb +1 -1
  407. data/lib/VoucherifySdk/models/client_validations_validate_response_body_redeemables_item.rb +1 -1
  408. data/lib/VoucherifySdk/models/customer_redeemable.rb +2 -2
  409. data/lib/VoucherifySdk/models/customers_activity_list_response_body.rb +1 -1
  410. data/lib/VoucherifySdk/models/error.rb +1 -1
  411. data/lib/VoucherifySdk/models/{parameter_filters_list_customer_redeemables_created_at_conditions.rb → filter_conditions_date_time.rb} +1 -1
  412. data/lib/VoucherifySdk/models/inapplicable_to.rb +7 -3
  413. data/lib/VoucherifySdk/models/{product_collections_create_response_body_filter.rb → location.rb} +34 -89
  414. data/lib/VoucherifySdk/models/location_shape.rb +264 -0
  415. data/lib/VoucherifySdk/models/location_shape_distance.rb +221 -0
  416. data/lib/VoucherifySdk/models/{lucky_draw.rb → location_shape_geojson.rb} +42 -30
  417. data/lib/VoucherifySdk/models/locations_get_response_body.rb +290 -0
  418. data/lib/VoucherifySdk/models/locations_get_response_body_shape.rb +264 -0
  419. data/lib/VoucherifySdk/models/locations_get_response_body_shape_distance.rb +221 -0
  420. data/lib/VoucherifySdk/models/locations_get_response_body_shape_geojson.rb +244 -0
  421. data/lib/VoucherifySdk/models/locations_list_response_body.rb +260 -0
  422. data/lib/VoucherifySdk/models/loyalties_create_campaign_request_body.rb +14 -14
  423. data/lib/VoucherifySdk/models/loyalties_create_campaign_response_body.rb +12 -1
  424. data/lib/VoucherifySdk/models/loyalties_get_campaign_response_body.rb +12 -1
  425. data/lib/VoucherifySdk/models/loyalties_member_activity_list_response_body.rb +1 -1
  426. data/lib/VoucherifySdk/models/loyalties_members_create_response_body_publish.rb +1 -1
  427. data/lib/VoucherifySdk/models/loyalties_members_create_response_body_redemption.rb +1 -1
  428. data/lib/VoucherifySdk/models/loyalties_members_get_response_body_publish.rb +1 -1
  429. data/lib/VoucherifySdk/models/loyalties_members_get_response_body_redemption.rb +1 -1
  430. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_response_body.rb +15 -15
  431. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_response_body_channel.rb +3 -3
  432. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_response_body_voucher.rb +2 -2
  433. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_response_body_voucher_publish.rb +1 -1
  434. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_response_body_voucher_redemption.rb +1 -1
  435. data/lib/VoucherifySdk/models/loyalties_members_transactions_list_response_body.rb +17 -6
  436. data/lib/VoucherifySdk/models/loyalties_members_transfers_create_response_body_publish.rb +1 -1
  437. data/lib/VoucherifySdk/models/loyalties_members_transfers_create_response_body_redemption.rb +1 -1
  438. data/lib/VoucherifySdk/models/loyalties_reward_assignments_get_response_body_parameters_loyalty.rb +16 -5
  439. data/lib/VoucherifySdk/models/loyalties_rewards_create_assignment_response_body_parameters_loyalty.rb +16 -5
  440. data/lib/VoucherifySdk/models/loyalties_rewards_get_response_body_parameters_loyalty.rb +16 -5
  441. data/lib/VoucherifySdk/models/loyalties_rewards_update_assignment_request_body_parameters_loyalty.rb +16 -5
  442. data/lib/VoucherifySdk/models/loyalties_rewards_update_assignment_response_body_parameters_loyalty.rb +16 -5
  443. data/lib/VoucherifySdk/models/loyalties_update_campaign_response_body.rb +12 -1
  444. data/lib/VoucherifySdk/models/loyalty_campaign.rb +12 -1
  445. data/lib/VoucherifySdk/models/loyalty_member_publish.rb +1 -1
  446. data/lib/VoucherifySdk/models/loyalty_member_redemption.rb +1 -1
  447. data/lib/VoucherifySdk/models/management_project.rb +479 -0
  448. data/lib/VoucherifySdk/models/management_project_api_usage_notifications.rb +253 -0
  449. data/lib/VoucherifySdk/models/management_project_default_code_config.rb +210 -0
  450. data/lib/VoucherifySdk/models/management_project_limits.rb +223 -0
  451. data/lib/VoucherifySdk/models/management_project_limits_api_calls_item.rb +219 -0
  452. data/lib/VoucherifySdk/models/management_project_limits_bulk_api_calls_item.rb +219 -0
  453. data/lib/VoucherifySdk/models/management_project_webhooks_callout_notifications.rb +219 -0
  454. data/lib/VoucherifySdk/models/management_project_webhooks_callout_notifications_distributions.rb +234 -0
  455. data/lib/VoucherifySdk/models/management_project_webhooks_callout_notifications_webhooks.rb +234 -0
  456. data/lib/VoucherifySdk/models/management_projects_branding.rb +250 -0
  457. data/lib/VoucherifySdk/models/{publications_create_request_body_customer_address.rb → management_projects_branding_address.rb} +32 -42
  458. data/lib/VoucherifySdk/models/management_projects_branding_brand.rb +254 -0
  459. data/lib/VoucherifySdk/models/management_projects_branding_cockpits.rb +311 -0
  460. data/lib/VoucherifySdk/models/management_projects_branding_contact.rb +221 -0
  461. data/lib/VoucherifySdk/models/management_projects_branding_create_request_body.rb +239 -0
  462. data/lib/VoucherifySdk/models/management_projects_branding_create_request_body_address.rb +254 -0
  463. data/lib/VoucherifySdk/models/management_projects_branding_create_request_body_brand.rb +256 -0
  464. data/lib/VoucherifySdk/models/management_projects_branding_create_request_body_cockpits.rb +325 -0
  465. data/lib/VoucherifySdk/models/management_projects_branding_create_request_body_contact.rb +221 -0
  466. data/lib/VoucherifySdk/models/management_projects_branding_create_response_body.rb +250 -0
  467. data/lib/VoucherifySdk/models/management_projects_branding_create_response_body_address.rb +254 -0
  468. data/lib/VoucherifySdk/models/management_projects_branding_create_response_body_brand.rb +254 -0
  469. data/lib/VoucherifySdk/models/management_projects_branding_create_response_body_cockpits.rb +311 -0
  470. data/lib/VoucherifySdk/models/management_projects_branding_create_response_body_contact.rb +221 -0
  471. data/lib/VoucherifySdk/models/management_projects_branding_get_response_body.rb +250 -0
  472. data/lib/VoucherifySdk/models/management_projects_branding_get_response_body_address.rb +254 -0
  473. data/lib/VoucherifySdk/models/management_projects_branding_get_response_body_brand.rb +254 -0
  474. data/lib/VoucherifySdk/models/management_projects_branding_get_response_body_cockpits.rb +311 -0
  475. data/lib/VoucherifySdk/models/management_projects_branding_get_response_body_contact.rb +221 -0
  476. data/lib/VoucherifySdk/models/management_projects_branding_list_response_body.rb +275 -0
  477. data/lib/VoucherifySdk/models/management_projects_branding_update_request_body.rb +238 -0
  478. data/lib/VoucherifySdk/models/management_projects_branding_update_request_body_address.rb +254 -0
  479. data/lib/VoucherifySdk/models/management_projects_branding_update_request_body_brand.rb +254 -0
  480. data/lib/VoucherifySdk/models/management_projects_branding_update_request_body_cockpits.rb +311 -0
  481. data/lib/VoucherifySdk/models/management_projects_branding_update_request_body_contact.rb +221 -0
  482. data/lib/VoucherifySdk/models/management_projects_branding_update_response_body.rb +250 -0
  483. data/lib/VoucherifySdk/models/management_projects_branding_update_response_body_address.rb +254 -0
  484. data/lib/VoucherifySdk/models/management_projects_branding_update_response_body_brand.rb +254 -0
  485. data/lib/VoucherifySdk/models/management_projects_branding_update_response_body_cockpits.rb +311 -0
  486. data/lib/VoucherifySdk/models/management_projects_branding_update_response_body_contact.rb +221 -0
  487. data/lib/VoucherifySdk/models/management_projects_create_request_body.rb +440 -0
  488. data/lib/VoucherifySdk/models/management_projects_create_request_body_api_usage_notifications.rb +244 -0
  489. data/lib/VoucherifySdk/models/management_projects_create_request_body_users_item.rb +236 -0
  490. data/lib/VoucherifySdk/models/management_projects_create_request_body_webhooks_callout_notifications.rb +219 -0
  491. data/lib/VoucherifySdk/models/management_projects_create_request_body_webhooks_callout_notifications_distributions.rb +234 -0
  492. data/lib/VoucherifySdk/models/management_projects_create_request_body_webhooks_callout_notifications_webhooks.rb +234 -0
  493. data/lib/VoucherifySdk/models/management_projects_create_response_body.rb +480 -0
  494. data/lib/VoucherifySdk/models/management_projects_create_response_body_api_usage_notifications.rb +253 -0
  495. data/lib/VoucherifySdk/models/management_projects_create_response_body_client_side_key.rb +221 -0
  496. data/lib/VoucherifySdk/models/management_projects_create_response_body_server_side_key.rb +221 -0
  497. data/lib/VoucherifySdk/models/management_projects_create_response_body_webhooks_callout_notifications.rb +219 -0
  498. data/lib/VoucherifySdk/models/management_projects_create_response_body_webhooks_callout_notifications_distributions.rb +234 -0
  499. data/lib/VoucherifySdk/models/management_projects_create_response_body_webhooks_callout_notifications_webhooks.rb +234 -0
  500. data/lib/VoucherifySdk/models/management_projects_custom_event_schema.rb +290 -0
  501. data/lib/VoucherifySdk/models/management_projects_custom_event_schema_schema.rb +212 -0
  502. data/lib/VoucherifySdk/models/management_projects_custom_event_schemas_create_request_body.rb +220 -0
  503. data/lib/VoucherifySdk/models/management_projects_custom_event_schemas_create_request_body_schema.rb +212 -0
  504. data/lib/VoucherifySdk/models/management_projects_custom_event_schemas_create_request_body_schema_properties_entry.rb +267 -0
  505. data/lib/VoucherifySdk/models/management_projects_custom_event_schemas_create_response_body.rb +290 -0
  506. data/lib/VoucherifySdk/models/management_projects_custom_event_schemas_create_response_body_schema.rb +212 -0
  507. data/lib/VoucherifySdk/models/management_projects_custom_event_schemas_get_response_body.rb +290 -0
  508. data/lib/VoucherifySdk/models/management_projects_custom_event_schemas_get_response_body_schema.rb +212 -0
  509. data/lib/VoucherifySdk/models/management_projects_custom_event_schemas_list_response_body.rb +275 -0
  510. data/lib/VoucherifySdk/models/management_projects_custom_event_schemas_update_request_body.rb +209 -0
  511. data/lib/VoucherifySdk/models/management_projects_custom_event_schemas_update_request_body_schema.rb +212 -0
  512. data/lib/VoucherifySdk/models/management_projects_custom_event_schemas_update_response_body.rb +290 -0
  513. data/lib/VoucherifySdk/models/management_projects_custom_event_schemas_update_response_body_schema.rb +212 -0
  514. data/lib/VoucherifySdk/models/management_projects_get_response_body.rb +479 -0
  515. data/lib/VoucherifySdk/models/management_projects_get_response_body_api_usage_notifications.rb +253 -0
  516. data/lib/VoucherifySdk/models/management_projects_get_response_body_default_code_config.rb +210 -0
  517. data/lib/VoucherifySdk/models/management_projects_get_response_body_limits.rb +223 -0
  518. data/lib/VoucherifySdk/models/management_projects_get_response_body_limits_api_calls_item.rb +219 -0
  519. data/lib/VoucherifySdk/models/management_projects_get_response_body_limits_bulk_api_calls_item.rb +219 -0
  520. data/lib/VoucherifySdk/models/management_projects_get_response_body_webhooks_callout_notifications.rb +219 -0
  521. data/lib/VoucherifySdk/models/management_projects_get_response_body_webhooks_callout_notifications_distributions.rb +234 -0
  522. data/lib/VoucherifySdk/models/management_projects_get_response_body_webhooks_callout_notifications_webhooks.rb +234 -0
  523. data/lib/VoucherifySdk/models/management_projects_list_response_body.rb +275 -0
  524. data/lib/VoucherifySdk/models/management_projects_metadata_schema.rb +280 -0
  525. data/lib/VoucherifySdk/models/management_projects_metadata_schema_definition.rb +380 -0
  526. data/lib/VoucherifySdk/models/management_projects_metadata_schemas_create_request_body.rb +236 -0
  527. data/lib/VoucherifySdk/models/management_projects_metadata_schemas_create_response_body.rb +280 -0
  528. data/lib/VoucherifySdk/models/management_projects_metadata_schemas_get_response_body.rb +280 -0
  529. data/lib/VoucherifySdk/models/management_projects_metadata_schemas_list_response_body.rb +275 -0
  530. data/lib/VoucherifySdk/models/management_projects_metadata_schemas_update_request_body.rb +223 -0
  531. data/lib/VoucherifySdk/models/management_projects_metadata_schemas_update_response_body.rb +280 -0
  532. data/lib/VoucherifySdk/models/management_projects_stacking_rules.rb +425 -0
  533. data/lib/VoucherifySdk/models/management_projects_stacking_rules_create_request_body.rb +392 -0
  534. data/lib/VoucherifySdk/models/management_projects_stacking_rules_create_response_body.rb +425 -0
  535. data/lib/VoucherifySdk/models/management_projects_stacking_rules_get_response_body.rb +425 -0
  536. data/lib/VoucherifySdk/models/management_projects_stacking_rules_list_response_body.rb +275 -0
  537. data/lib/VoucherifySdk/models/management_projects_stacking_rules_update_request_body.rb +392 -0
  538. data/lib/VoucherifySdk/models/management_projects_stacking_rules_update_response_body.rb +425 -0
  539. data/lib/VoucherifySdk/models/management_projects_templates_campaigns_copy_create_request_body.rb +232 -0
  540. data/lib/VoucherifySdk/models/management_projects_templates_campaigns_copy_create_response_body.rb +293 -0
  541. data/lib/VoucherifySdk/models/management_projects_templates_campaigns_list_response_body.rb +297 -0
  542. data/lib/VoucherifySdk/models/management_projects_update_request_body.rb +400 -0
  543. data/lib/VoucherifySdk/models/management_projects_update_request_body_api_usage_notifications.rb +244 -0
  544. data/lib/VoucherifySdk/models/management_projects_update_request_body_default_code_config.rb +210 -0
  545. data/lib/VoucherifySdk/models/management_projects_update_request_body_webhooks_callout_notifications.rb +219 -0
  546. data/lib/VoucherifySdk/models/management_projects_update_request_body_webhooks_callout_notifications_distributions.rb +234 -0
  547. data/lib/VoucherifySdk/models/management_projects_update_request_body_webhooks_callout_notifications_webhooks.rb +234 -0
  548. data/lib/VoucherifySdk/models/management_projects_update_response_body.rb +479 -0
  549. data/lib/VoucherifySdk/models/management_projects_update_response_body_api_usage_notifications.rb +253 -0
  550. data/lib/VoucherifySdk/models/management_projects_update_response_body_default_code_config.rb +210 -0
  551. data/lib/VoucherifySdk/models/management_projects_update_response_body_limits.rb +223 -0
  552. data/lib/VoucherifySdk/models/management_projects_update_response_body_limits_api_calls_item.rb +219 -0
  553. data/lib/VoucherifySdk/models/management_projects_update_response_body_limits_bulk_api_calls_item.rb +219 -0
  554. data/lib/VoucherifySdk/models/management_projects_update_response_body_webhooks_callout_notifications.rb +219 -0
  555. data/lib/VoucherifySdk/models/management_projects_update_response_body_webhooks_callout_notifications_distributions.rb +234 -0
  556. data/lib/VoucherifySdk/models/management_projects_update_response_body_webhooks_callout_notifications_webhooks.rb +234 -0
  557. data/lib/VoucherifySdk/models/management_projects_users_assign_request_body.rb +231 -0
  558. data/lib/VoucherifySdk/models/management_projects_users_assign_response_body.rb +278 -0
  559. data/lib/VoucherifySdk/models/management_projects_users_get_user_response_body.rb +278 -0
  560. data/lib/VoucherifySdk/models/management_projects_users_invite_create_request_body.rb +245 -0
  561. data/lib/VoucherifySdk/models/management_projects_users_list_response_body.rb +275 -0
  562. data/lib/VoucherifySdk/models/management_projects_users_update_role_request_body.rb +209 -0
  563. data/lib/VoucherifySdk/models/management_projects_users_update_role_response_body.rb +278 -0
  564. data/lib/VoucherifySdk/models/management_projects_webhook.rb +295 -0
  565. data/lib/VoucherifySdk/models/management_projects_webhooks_create_request_body.rb +258 -0
  566. data/lib/VoucherifySdk/models/management_projects_webhooks_create_response_body.rb +295 -0
  567. data/lib/VoucherifySdk/models/management_projects_webhooks_get_response_body.rb +295 -0
  568. data/lib/VoucherifySdk/models/management_projects_webhooks_list_response_body.rb +275 -0
  569. data/lib/VoucherifySdk/models/management_projects_webhooks_update_request_body.rb +258 -0
  570. data/lib/VoucherifySdk/models/management_projects_webhooks_update_response_body.rb +295 -0
  571. data/lib/VoucherifySdk/models/metadata_schema_definition_deprecated.rb +380 -0
  572. data/lib/VoucherifySdk/models/metadata_schema_deprecated.rb +280 -0
  573. data/lib/VoucherifySdk/models/metadata_schemas_get_response_body.rb +280 -0
  574. data/lib/VoucherifySdk/models/metadata_schemas_list_response_body.rb +275 -0
  575. data/lib/VoucherifySdk/models/order.rb +1 -1
  576. data/lib/VoucherifySdk/models/order_calculated.rb +1 -1
  577. data/lib/VoucherifySdk/models/order_item_product.rb +1 -1
  578. data/lib/VoucherifySdk/models/orders_create_request_body.rb +1 -1
  579. data/lib/VoucherifySdk/models/orders_create_response_body.rb +1 -1
  580. data/lib/VoucherifySdk/models/orders_get_response_body.rb +1 -1
  581. data/lib/VoucherifySdk/models/orders_import_create_request_body_item.rb +1 -1
  582. data/lib/VoucherifySdk/models/orders_update_request_body.rb +1 -1
  583. data/lib/VoucherifySdk/models/orders_update_response_body.rb +1 -1
  584. data/lib/VoucherifySdk/models/parameter_campaign_type.rb +1 -2
  585. data/lib/VoucherifySdk/models/parameter_filters_list_bin.rb +269 -0
  586. data/lib/VoucherifySdk/models/parameter_filters_list_bin_id.rb +208 -0
  587. data/lib/VoucherifySdk/models/parameter_filters_list_bin_resource_id.rb +208 -0
  588. data/lib/VoucherifySdk/models/parameter_filters_list_bin_resource_name.rb +208 -0
  589. data/lib/VoucherifySdk/models/parameter_filters_list_bin_resource_type.rb +208 -0
  590. data/lib/VoucherifySdk/models/parameter_filters_list_bin_resource_type_conditions.rb +316 -0
  591. data/lib/VoucherifySdk/models/parameter_filters_list_campaigns.rb +289 -0
  592. data/lib/VoucherifySdk/models/parameter_filters_list_campaigns_campaign_status.rb +208 -0
  593. data/lib/VoucherifySdk/models/parameter_filters_list_campaigns_campaign_status_conditions.rb +316 -0
  594. data/lib/VoucherifySdk/models/parameter_filters_list_campaigns_categories.rb +208 -0
  595. data/lib/VoucherifySdk/models/parameter_filters_list_campaigns_category_ids.rb +208 -0
  596. data/lib/VoucherifySdk/models/parameter_filters_list_campaigns_is_referral_code.rb +247 -0
  597. data/lib/VoucherifySdk/models/parameter_filters_list_campaigns_validity_timeframe.rb +208 -0
  598. data/lib/VoucherifySdk/models/parameter_filters_list_campaigns_voucher_type.rb +208 -0
  599. data/lib/VoucherifySdk/models/parameter_filters_list_customer_redeemables.rb +36 -5
  600. data/lib/VoucherifySdk/models/parameter_filters_list_customer_redeemables_campaign_id.rb +4 -35
  601. data/lib/VoucherifySdk/models/parameter_filters_list_customer_redeemables_campaign_type.rb +4 -35
  602. data/lib/VoucherifySdk/models/parameter_filters_list_customer_redeemables_created_at.rb +4 -36
  603. data/lib/VoucherifySdk/models/parameter_filters_list_customer_redeemables_holder_role.rb +4 -35
  604. data/lib/VoucherifySdk/models/parameter_filters_list_customer_redeemables_id.rb +4 -35
  605. data/lib/VoucherifySdk/models/parameter_filters_list_customer_redeemables_redeemable_id.rb +4 -35
  606. data/lib/VoucherifySdk/models/parameter_filters_list_customer_redeemables_redeemable_object.rb +4 -35
  607. data/lib/VoucherifySdk/models/parameter_filters_list_customer_redeemables_voucher_type.rb +4 -35
  608. data/lib/VoucherifySdk/models/parameter_filters_list_locations.rb +228 -0
  609. data/lib/VoucherifySdk/models/parameter_filters_list_locations_created_at.rb +208 -0
  610. data/lib/VoucherifySdk/models/parameter_filters_list_locations_name.rb +207 -0
  611. data/lib/VoucherifySdk/models/parameter_filters_list_locations_updated_at.rb +208 -0
  612. data/lib/VoucherifySdk/models/parameter_filters_list_publications.rb +319 -0
  613. data/lib/VoucherifySdk/models/parameter_filters_list_publications_campaign_name.rb +208 -0
  614. data/lib/VoucherifySdk/models/parameter_filters_list_publications_customer_id.rb +208 -0
  615. data/lib/VoucherifySdk/models/parameter_filters_list_publications_failure_code.rb +208 -0
  616. data/lib/VoucherifySdk/models/parameter_filters_list_publications_is_referral_code.rb +208 -0
  617. data/lib/VoucherifySdk/models/parameter_filters_list_publications_parent_object_id.rb +208 -0
  618. data/lib/VoucherifySdk/models/parameter_filters_list_publications_related_object_id.rb +208 -0
  619. data/lib/VoucherifySdk/models/parameter_filters_list_publications_result.rb +208 -0
  620. data/lib/VoucherifySdk/models/parameter_filters_list_publications_source_id.rb +208 -0
  621. data/lib/VoucherifySdk/models/parameter_filters_list_publications_voucher_type.rb +208 -0
  622. data/lib/VoucherifySdk/models/parameter_filters_list_redemptions.rb +36 -5
  623. data/lib/VoucherifySdk/models/parameter_filters_list_redemptions_campaign_name.rb +4 -35
  624. data/lib/VoucherifySdk/models/parameter_filters_list_redemptions_customer_id.rb +4 -35
  625. data/lib/VoucherifySdk/models/parameter_filters_list_redemptions_failure_code.rb +4 -35
  626. data/lib/VoucherifySdk/models/parameter_filters_list_redemptions_object.rb +4 -35
  627. data/lib/VoucherifySdk/models/parameter_filters_list_redemptions_parent_redemption_id.rb +4 -35
  628. data/lib/VoucherifySdk/models/parameter_filters_list_redemptions_related_object_id.rb +4 -35
  629. data/lib/VoucherifySdk/models/parameter_filters_list_redemptions_related_object_parent_id.rb +4 -35
  630. data/lib/VoucherifySdk/models/parameter_filters_list_redemptions_result.rb +4 -35
  631. data/lib/VoucherifySdk/models/parameter_filters_list_redemptions_user_login.rb +4 -35
  632. data/lib/VoucherifySdk/models/parameter_filters_list_redemptions_voucher_code.rb +4 -35
  633. data/lib/VoucherifySdk/models/parameter_filters_list_referrals_redeemable_holders.rb +269 -0
  634. data/lib/VoucherifySdk/models/parameter_filters_list_referrals_redeemable_holders_created_at.rb +208 -0
  635. data/lib/VoucherifySdk/models/parameter_filters_list_referrals_redeemable_holders_customer_id.rb +208 -0
  636. data/lib/VoucherifySdk/models/parameter_filters_list_referrals_redeemable_holders_holder_role.rb +208 -0
  637. data/lib/VoucherifySdk/models/parameter_filters_list_referrals_redeemable_holders_holder_role_conditions.rb +316 -0
  638. data/lib/VoucherifySdk/models/parameter_filters_list_referrals_redeemable_holders_id.rb +208 -0
  639. data/lib/VoucherifySdk/models/parameter_filters_list_templates.rb +259 -0
  640. data/lib/VoucherifySdk/models/parameter_filters_list_templates_campaign_type.rb +209 -0
  641. data/lib/VoucherifySdk/models/parameter_filters_list_templates_campaign_type_conditions.rb +317 -0
  642. data/lib/VoucherifySdk/models/parameter_filters_list_templates_id.rb +208 -0
  643. data/lib/VoucherifySdk/models/parameter_filters_list_templates_name.rb +208 -0
  644. data/lib/VoucherifySdk/models/parameter_order_list_bin.rb +40 -0
  645. data/lib/VoucherifySdk/models/parameter_order_list_locations.rb +42 -0
  646. data/lib/VoucherifySdk/models/parameter_order_list_transactions.rb +40 -0
  647. data/lib/VoucherifySdk/models/parameter_templates_list.rb +40 -0
  648. data/lib/VoucherifySdk/models/parameter_voucher_type_list_publications.rb +1 -2
  649. data/lib/VoucherifySdk/models/product_collections_create_request_body.rb +2 -1
  650. data/lib/VoucherifySdk/models/product_collections_create_response_body.rb +2 -1
  651. data/lib/VoucherifySdk/models/product_collections_get_response_body.rb +2 -1
  652. data/lib/VoucherifySdk/models/product_collections_item.rb +2 -1
  653. data/lib/VoucherifySdk/models/promotion_tiers_list.rb +1 -1
  654. data/lib/VoucherifySdk/models/promotions_stacks_update_request_body_tiers.rb +1 -1
  655. data/lib/VoucherifySdk/models/promotions_tiers_create_request_body.rb +24 -24
  656. data/lib/VoucherifySdk/models/promotions_tiers_list_response_body.rb +1 -1
  657. data/lib/VoucherifySdk/models/publications_create_request_body.rb +1 -2
  658. data/lib/VoucherifySdk/models/qualifications_option.rb +1 -1
  659. data/lib/VoucherifySdk/models/qualifications_redeemable.rb +1 -1
  660. data/lib/VoucherifySdk/models/qualifications_redeemable_base.rb +1 -1
  661. data/lib/VoucherifySdk/models/redeemable_holder.rb +354 -0
  662. data/lib/VoucherifySdk/models/redeemable_voucher_publish.rb +1 -1
  663. data/lib/VoucherifySdk/models/redeemable_voucher_redemption.rb +1 -1
  664. data/lib/VoucherifySdk/models/redemption.rb +16 -16
  665. data/lib/VoucherifySdk/models/redemption_channel.rb +3 -3
  666. data/lib/VoucherifySdk/models/redemption_entry.rb +11 -11
  667. data/lib/VoucherifySdk/models/redemption_entry_channel.rb +1 -2
  668. data/lib/VoucherifySdk/models/redemption_entry_order.rb +1 -1
  669. data/lib/VoucherifySdk/models/redemption_entry_voucher_publish.rb +1 -1
  670. data/lib/VoucherifySdk/models/redemption_entry_voucher_redemption.rb +1 -1
  671. data/lib/VoucherifySdk/models/redemption_voucher.rb +1 -1
  672. data/lib/VoucherifySdk/models/redemption_voucher_publish.rb +1 -1
  673. data/lib/VoucherifySdk/models/redemption_voucher_redemption.rb +1 -1
  674. data/lib/VoucherifySdk/models/redemptions_get_response_body.rb +11 -11
  675. data/lib/VoucherifySdk/models/redemptions_get_response_body_channel.rb +1 -2
  676. data/lib/VoucherifySdk/models/redemptions_get_response_body_order.rb +1 -1
  677. data/lib/VoucherifySdk/models/redemptions_get_response_body_voucher_publish.rb +1 -1
  678. data/lib/VoucherifySdk/models/redemptions_get_response_body_voucher_redemption.rb +1 -1
  679. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item.rb +10 -10
  680. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item_channel.rb +1 -3
  681. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item_order.rb +1 -1
  682. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item_voucher_publish.rb +1 -1
  683. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item_voucher_redemption.rb +1 -1
  684. data/lib/VoucherifySdk/models/redemptions_rollbacks_create_response_body.rb +1 -1
  685. data/lib/VoucherifySdk/models/referral_program_referee_reward.rb +1 -1
  686. data/lib/VoucherifySdk/models/referrals_members_holders_create_in_bulk_request_body.rb +223 -0
  687. data/lib/VoucherifySdk/models/referrals_members_holders_create_in_bulk_response_body.rb +212 -0
  688. data/lib/VoucherifySdk/models/referrals_members_holders_list_response_body.rb +271 -0
  689. data/lib/VoucherifySdk/models/reward_assignment_parameters_loyalty.rb +16 -5
  690. data/lib/VoucherifySdk/models/rewards_assignments_create_request_body_parameters_loyalty.rb +16 -5
  691. data/lib/VoucherifySdk/models/rewards_assignments_create_response_body.rb +1 -1
  692. data/lib/VoucherifySdk/models/rewards_assignments_create_response_body_parameters_loyalty.rb +16 -5
  693. data/lib/VoucherifySdk/models/rewards_assignments_get_response_body_parameters_loyalty.rb +16 -5
  694. data/lib/VoucherifySdk/models/rewards_assignments_update_request_body_parameters_loyalty.rb +16 -5
  695. data/lib/VoucherifySdk/models/rewards_assignments_update_response_body.rb +1 -1
  696. data/lib/VoucherifySdk/models/rewards_assignments_update_response_body_parameters_loyalty.rb +16 -5
  697. data/lib/VoucherifySdk/models/stacking_rules.rb +1 -1
  698. data/lib/VoucherifySdk/models/templates_campaigns_campaign_setup_create_request_body.rb +406 -0
  699. data/lib/VoucherifySdk/models/templates_campaigns_campaign_setup_create_request_body_voucher.rb +218 -0
  700. data/lib/VoucherifySdk/models/templates_campaigns_campaign_setup_create_request_body_voucher_redemption.rb +210 -0
  701. data/lib/VoucherifySdk/models/templates_campaigns_campaign_setup_create_response_body.rb +265 -0
  702. data/lib/VoucherifySdk/models/templates_campaigns_campaign_setup_create_response_body_created_resources_item.rb +242 -0
  703. data/lib/VoucherifySdk/models/templates_campaigns_create_request_body.rb +243 -0
  704. data/lib/VoucherifySdk/models/{publications_create_request_body_customer.rb → templates_campaigns_create_template_response_body.rb} +55 -68
  705. data/lib/VoucherifySdk/models/{product_collections_get_response_body_filter.rb → templates_campaigns_get_response_body.rb} +48 -89
  706. data/lib/VoucherifySdk/models/templates_campaigns_list_response_body.rb +297 -0
  707. data/lib/VoucherifySdk/models/templates_campaigns_tier_setup_create_request_body.rb +361 -0
  708. data/lib/VoucherifySdk/models/templates_campaigns_tier_setup_create_response_body.rb +258 -0
  709. data/lib/VoucherifySdk/models/templates_campaigns_tier_setup_create_response_body_created_resources_item.rb +242 -0
  710. data/lib/VoucherifySdk/models/templates_campaigns_update_request_body.rb +221 -0
  711. data/lib/VoucherifySdk/models/{product_collections_create_request_body_filter.rb → templates_campaigns_update_response_body.rb} +48 -89
  712. data/lib/VoucherifySdk/models/trash_bin_item.rb +313 -0
  713. data/lib/VoucherifySdk/models/trash_bin_list_response_body.rb +297 -0
  714. data/lib/VoucherifySdk/models/usage_notifications.rb +254 -0
  715. data/lib/VoucherifySdk/models/user.rb +278 -0
  716. data/lib/VoucherifySdk/models/validation_rule.rb +2 -2
  717. data/lib/VoucherifySdk/models/validation_rules_create_request_body.rb +2 -2
  718. data/lib/VoucherifySdk/models/validation_rules_create_response_body.rb +2 -2
  719. data/lib/VoucherifySdk/models/validation_rules_get_response_body.rb +2 -2
  720. data/lib/VoucherifySdk/models/validation_rules_update_request_body.rb +2 -2
  721. data/lib/VoucherifySdk/models/validation_rules_update_response_body.rb +2 -2
  722. data/lib/VoucherifySdk/models/validations_redeemable_inapplicable.rb +1 -1
  723. data/lib/VoucherifySdk/models/validations_redeemable_skipped.rb +1 -1
  724. data/lib/VoucherifySdk/models/validations_validate_response_body.rb +1 -1
  725. data/lib/VoucherifySdk/models/validations_validate_response_body_redeemables_item.rb +1 -1
  726. data/lib/VoucherifySdk/models/voucher_publish.rb +1 -1
  727. data/lib/VoucherifySdk/models/voucher_redemption.rb +1 -1
  728. data/lib/VoucherifySdk/models/voucher_with_categories_publish.rb +1 -1
  729. data/lib/VoucherifySdk/models/voucher_with_categories_redemption.rb +1 -1
  730. data/lib/VoucherifySdk/models/vouchers_create_response_body_publish.rb +1 -1
  731. data/lib/VoucherifySdk/models/vouchers_create_response_body_redemption.rb +1 -1
  732. data/lib/VoucherifySdk/models/vouchers_disable_response_body_publish.rb +1 -1
  733. data/lib/VoucherifySdk/models/vouchers_disable_response_body_redemption.rb +1 -1
  734. data/lib/VoucherifySdk/models/vouchers_enable_response_body_publish.rb +1 -1
  735. data/lib/VoucherifySdk/models/vouchers_enable_response_body_redemption.rb +1 -1
  736. data/lib/VoucherifySdk/models/vouchers_get_response_body_publish.rb +1 -1
  737. data/lib/VoucherifySdk/models/vouchers_get_response_body_redemption.rb +1 -1
  738. data/lib/VoucherifySdk/models/vouchers_transactions_list_response_body.rb +43 -6
  739. data/lib/VoucherifySdk/models/vouchers_update_response_body_publish.rb +1 -1
  740. data/lib/VoucherifySdk/models/vouchers_update_response_body_redemption.rb +1 -1
  741. data/lib/VoucherifySdk/version.rb +1 -1
  742. data/lib/VoucherifySdk.rb +212 -8
  743. metadata +456 -48
  744. data/docs/LuckyDraw.md +0 -10
  745. data/docs/ProductCollectionsCreateRequestBodyFilter.md +0 -20
  746. data/docs/ProductCollectionsCreateResponseBodyFilter.md +0 -20
  747. data/docs/ProductCollectionsGetResponseBodyFilter.md +0 -20
  748. data/docs/ProductCollectionsItemFilter.md +0 -20
  749. data/docs/PublicationsCreateRequestBodyCustomer.md +0 -17
  750. data/docs/PublicationsCreateRequestBodyCustomerAddress.md +0 -13
@@ -0,0 +1,425 @@
1
+ =begin
2
+ #Voucherify API
3
+
4
+ #Voucherify promotion engine REST API. Please see https://docs.voucherify.io/docs for more details.
5
+
6
+ The version of the OpenAPI document: v2018-08-01
7
+ Contact: support@voucherify.io
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.0.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module VoucherifySdk
17
+ # Object representing the details of the stacking rules.
18
+ class ManagementProjectsStackingRules
19
+ # The unique identifier of the stacking rules.
20
+ attr_accessor :id
21
+
22
+ # Lists the IDs of the categories that are exclusive.
23
+ attr_accessor :exclusive_categories
24
+
25
+ # Lists the IDs of the categories that are joint.
26
+ attr_accessor :joint_categories
27
+
28
+ # Defines how many redeemables can be sent to Voucherify for validation at the same time.
29
+ attr_accessor :redeemables_limit
30
+
31
+ # Defines how many redeemables can be applied at the same time. The number must be less than or equal to `\"redeemables_limit\"`.
32
+ attr_accessor :applicable_redeemables_limit
33
+
34
+ # Defines how many redeemables with the same category can be applied at the same time. The number must be less than or equal to `\"applicable_redeemables_limit\"`.
35
+ attr_accessor :applicable_redeemables_per_category_limit
36
+
37
+ # Defines how many redeemables with an assigned exclusive category can be applied at the same time.
38
+ attr_accessor :applicable_exclusive_redeemables_limit
39
+
40
+ # Defines how many exclusive redeemables with the same category can be applied at the same time. The number must be less than or equal to `\"applicable_exclusive_redeemables_limit\"`.
41
+ attr_accessor :applicable_exclusive_redeemables_per_category_limit
42
+
43
+ # Defines if the discounts are applied by taking into account the initial order amount or the discounted order amount.
44
+ attr_accessor :discount_calculation_mode
45
+
46
+ # Lists the IDs of the categories that apply a discount based on the initial amount.
47
+ attr_accessor :initial_amount_mode_categories
48
+
49
+ # Lists the IDs of the categories that apply a discount based on the discounted amount.
50
+ attr_accessor :discounted_amount_mode_categories
51
+
52
+ # Defines the application mode for redeemables. `\"ALL\"` means that all redeemables must be validated for the redemption to be successful. `\"PARTIAL\"` means that only those redeemables that can be validated will be redeemed. The redeemables that fail validaton will be skipped.
53
+ attr_accessor :redeemables_application_mode
54
+
55
+ # Defines the sorting rule for redeemables. `\"CATEGORY_HIERARCHY\"` means that redeemables are applied with the order established by the hierarchy of the categories. `\"REQUESTED_ORDER\"` means that redeemables are applied with the order established in the request.
56
+ attr_accessor :redeemables_sorting_rule
57
+
58
+ # Timestamp representing the date and time when the stacking rules were created. The value for this parameter is shown in the ISO 8601 format.
59
+ attr_accessor :created_at
60
+
61
+ # Timestamp representing the date and time when the stacking rules were updated. The value for this parameter is shown in the ISO 8601 format.
62
+ attr_accessor :updated_at
63
+
64
+ class EnumAttributeValidator
65
+ attr_reader :datatype
66
+ attr_reader :allowable_values
67
+
68
+ def initialize(datatype, allowable_values)
69
+ @allowable_values = allowable_values.map do |value|
70
+ case datatype.to_s
71
+ when /Integer/i
72
+ value.to_i
73
+ when /Float/i
74
+ value.to_f
75
+ else
76
+ value
77
+ end
78
+ end
79
+ end
80
+
81
+ def valid?(value)
82
+ !value || allowable_values.include?(value)
83
+ end
84
+ end
85
+
86
+ # Attribute mapping from ruby-style variable name to JSON key.
87
+ def self.attribute_map
88
+ {
89
+ :'id' => :'id',
90
+ :'exclusive_categories' => :'exclusive_categories',
91
+ :'joint_categories' => :'joint_categories',
92
+ :'redeemables_limit' => :'redeemables_limit',
93
+ :'applicable_redeemables_limit' => :'applicable_redeemables_limit',
94
+ :'applicable_redeemables_per_category_limit' => :'applicable_redeemables_per_category_limit',
95
+ :'applicable_exclusive_redeemables_limit' => :'applicable_exclusive_redeemables_limit',
96
+ :'applicable_exclusive_redeemables_per_category_limit' => :'applicable_exclusive_redeemables_per_category_limit',
97
+ :'discount_calculation_mode' => :'discount_calculation_mode',
98
+ :'initial_amount_mode_categories' => :'initial_amount_mode_categories',
99
+ :'discounted_amount_mode_categories' => :'discounted_amount_mode_categories',
100
+ :'redeemables_application_mode' => :'redeemables_application_mode',
101
+ :'redeemables_sorting_rule' => :'redeemables_sorting_rule',
102
+ :'created_at' => :'created_at',
103
+ :'updated_at' => :'updated_at'
104
+ }
105
+ end
106
+
107
+ # Returns all the JSON keys this model knows about
108
+ def self.acceptable_attributes
109
+ attribute_map.values
110
+ end
111
+
112
+ # Attribute type mapping.
113
+ def self.openapi_types
114
+ {
115
+ :'id' => :'String',
116
+ :'exclusive_categories' => :'Array<String>',
117
+ :'joint_categories' => :'Array<String>',
118
+ :'redeemables_limit' => :'Integer',
119
+ :'applicable_redeemables_limit' => :'Integer',
120
+ :'applicable_redeemables_per_category_limit' => :'Integer',
121
+ :'applicable_exclusive_redeemables_limit' => :'Integer',
122
+ :'applicable_exclusive_redeemables_per_category_limit' => :'Integer',
123
+ :'discount_calculation_mode' => :'String',
124
+ :'initial_amount_mode_categories' => :'Array<String>',
125
+ :'discounted_amount_mode_categories' => :'Array<String>',
126
+ :'redeemables_application_mode' => :'String',
127
+ :'redeemables_sorting_rule' => :'String',
128
+ :'created_at' => :'Time',
129
+ :'updated_at' => :'Time'
130
+ }
131
+ end
132
+
133
+ # List of attributes with nullable: true
134
+ def self.openapi_nullable
135
+ Set.new([
136
+ :'id',
137
+ :'exclusive_categories',
138
+ :'joint_categories',
139
+ :'redeemables_limit',
140
+ :'applicable_redeemables_limit',
141
+ :'applicable_redeemables_per_category_limit',
142
+ :'applicable_exclusive_redeemables_limit',
143
+ :'applicable_exclusive_redeemables_per_category_limit',
144
+ :'discount_calculation_mode',
145
+ :'initial_amount_mode_categories',
146
+ :'discounted_amount_mode_categories',
147
+ :'redeemables_application_mode',
148
+ :'redeemables_sorting_rule',
149
+ :'created_at',
150
+ :'updated_at'
151
+ ])
152
+ end
153
+
154
+ # Initializes the object
155
+ # @param [Hash] attributes Model attributes in the form of hash
156
+ def initialize(attributes = {})
157
+ # check to see if the attribute exists and convert string to symbol for hash key
158
+ attributes = attributes.each_with_object({}) { |(k, v), h|
159
+ h[k.to_sym] = v
160
+ }
161
+
162
+ if attributes.key?(:'id')
163
+ self.id = attributes[:'id']
164
+ end
165
+
166
+ if attributes.key?(:'exclusive_categories')
167
+ if (value = attributes[:'exclusive_categories']).is_a?(Array)
168
+ self.exclusive_categories = value
169
+ end
170
+ end
171
+
172
+ if attributes.key?(:'joint_categories')
173
+ if (value = attributes[:'joint_categories']).is_a?(Array)
174
+ self.joint_categories = value
175
+ end
176
+ end
177
+
178
+ if attributes.key?(:'redeemables_limit')
179
+ self.redeemables_limit = attributes[:'redeemables_limit']
180
+ end
181
+
182
+ if attributes.key?(:'applicable_redeemables_limit')
183
+ self.applicable_redeemables_limit = attributes[:'applicable_redeemables_limit']
184
+ end
185
+
186
+ if attributes.key?(:'applicable_redeemables_per_category_limit')
187
+ self.applicable_redeemables_per_category_limit = attributes[:'applicable_redeemables_per_category_limit']
188
+ end
189
+
190
+ if attributes.key?(:'applicable_exclusive_redeemables_limit')
191
+ self.applicable_exclusive_redeemables_limit = attributes[:'applicable_exclusive_redeemables_limit']
192
+ end
193
+
194
+ if attributes.key?(:'applicable_exclusive_redeemables_per_category_limit')
195
+ self.applicable_exclusive_redeemables_per_category_limit = attributes[:'applicable_exclusive_redeemables_per_category_limit']
196
+ end
197
+
198
+ if attributes.key?(:'discount_calculation_mode')
199
+ self.discount_calculation_mode = attributes[:'discount_calculation_mode']
200
+ end
201
+
202
+ if attributes.key?(:'initial_amount_mode_categories')
203
+ if (value = attributes[:'initial_amount_mode_categories']).is_a?(Array)
204
+ self.initial_amount_mode_categories = value
205
+ end
206
+ end
207
+
208
+ if attributes.key?(:'discounted_amount_mode_categories')
209
+ if (value = attributes[:'discounted_amount_mode_categories']).is_a?(Array)
210
+ self.discounted_amount_mode_categories = value
211
+ end
212
+ end
213
+
214
+ if attributes.key?(:'redeemables_application_mode')
215
+ self.redeemables_application_mode = attributes[:'redeemables_application_mode']
216
+ end
217
+
218
+ if attributes.key?(:'redeemables_sorting_rule')
219
+ self.redeemables_sorting_rule = attributes[:'redeemables_sorting_rule']
220
+ end
221
+
222
+ if attributes.key?(:'created_at')
223
+ self.created_at = attributes[:'created_at']
224
+ end
225
+
226
+ if attributes.key?(:'updated_at')
227
+ self.updated_at = attributes[:'updated_at']
228
+ end
229
+ end
230
+
231
+ # Show invalid properties with the reasons. Usually used together with valid?
232
+ # @return Array for valid properties with the reasons
233
+ def list_invalid_properties
234
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
235
+ invalid_properties = Array.new
236
+ if !@redeemables_limit.nil? && @redeemables_limit > 30
237
+ invalid_properties.push('invalid value for "redeemables_limit", must be smaller than or equal to 30.')
238
+ end
239
+
240
+ if !@redeemables_limit.nil? && @redeemables_limit < 1
241
+ invalid_properties.push('invalid value for "redeemables_limit", must be greater than or equal to 1.')
242
+ end
243
+
244
+ if !@applicable_redeemables_limit.nil? && @applicable_redeemables_limit < 1
245
+ invalid_properties.push('invalid value for "applicable_redeemables_limit", must be greater than or equal to 1.')
246
+ end
247
+
248
+ if !@applicable_exclusive_redeemables_limit.nil? && @applicable_exclusive_redeemables_limit > 5
249
+ invalid_properties.push('invalid value for "applicable_exclusive_redeemables_limit", must be smaller than or equal to 5.')
250
+ end
251
+
252
+ if !@applicable_exclusive_redeemables_limit.nil? && @applicable_exclusive_redeemables_limit < 1
253
+ invalid_properties.push('invalid value for "applicable_exclusive_redeemables_limit", must be greater than or equal to 1.')
254
+ end
255
+
256
+ invalid_properties
257
+ end
258
+
259
+ # Check to see if the all the properties in the model are valid
260
+ # @return true if the model is valid
261
+ def valid?
262
+ warn '[DEPRECATED] the `valid?` method is obsolete'
263
+ return false if !@redeemables_limit.nil? && @redeemables_limit > 30
264
+ return false if !@redeemables_limit.nil? && @redeemables_limit < 1
265
+ return false if !@applicable_redeemables_limit.nil? && @applicable_redeemables_limit < 1
266
+ return false if !@applicable_exclusive_redeemables_limit.nil? && @applicable_exclusive_redeemables_limit > 5
267
+ return false if !@applicable_exclusive_redeemables_limit.nil? && @applicable_exclusive_redeemables_limit < 1
268
+ discount_calculation_mode_validator = EnumAttributeValidator.new('String', ["INITIAL_AMOUNT", "DISCOUNTED_AMOUNT"])
269
+ return false unless discount_calculation_mode_validator.valid?(@discount_calculation_mode)
270
+ redeemables_application_mode_validator = EnumAttributeValidator.new('String', ["ALL", "PARTIAL"])
271
+ return false unless redeemables_application_mode_validator.valid?(@redeemables_application_mode)
272
+ redeemables_sorting_rule_validator = EnumAttributeValidator.new('String', ["CATEGORY_HIERARCHY", "REQUESTED_ORDER"])
273
+ return false unless redeemables_sorting_rule_validator.valid?(@redeemables_sorting_rule)
274
+ true
275
+ end
276
+
277
+ # Checks equality by comparing each attribute.
278
+ # @param [Object] Object to be compared
279
+ def ==(o)
280
+ return true if self.equal?(o)
281
+ self.class == o.class &&
282
+ id == o.id &&
283
+ exclusive_categories == o.exclusive_categories &&
284
+ joint_categories == o.joint_categories &&
285
+ redeemables_limit == o.redeemables_limit &&
286
+ applicable_redeemables_limit == o.applicable_redeemables_limit &&
287
+ applicable_redeemables_per_category_limit == o.applicable_redeemables_per_category_limit &&
288
+ applicable_exclusive_redeemables_limit == o.applicable_exclusive_redeemables_limit &&
289
+ applicable_exclusive_redeemables_per_category_limit == o.applicable_exclusive_redeemables_per_category_limit &&
290
+ discount_calculation_mode == o.discount_calculation_mode &&
291
+ initial_amount_mode_categories == o.initial_amount_mode_categories &&
292
+ discounted_amount_mode_categories == o.discounted_amount_mode_categories &&
293
+ redeemables_application_mode == o.redeemables_application_mode &&
294
+ redeemables_sorting_rule == o.redeemables_sorting_rule &&
295
+ created_at == o.created_at &&
296
+ updated_at == o.updated_at
297
+ end
298
+
299
+ # @see the `==` method
300
+ # @param [Object] Object to be compared
301
+ def eql?(o)
302
+ self == o
303
+ end
304
+
305
+ # Calculates hash code according to all attributes.
306
+ # @return [Integer] Hash code
307
+ def hash
308
+ [id, exclusive_categories, joint_categories, redeemables_limit, applicable_redeemables_limit, applicable_redeemables_per_category_limit, applicable_exclusive_redeemables_limit, applicable_exclusive_redeemables_per_category_limit, discount_calculation_mode, initial_amount_mode_categories, discounted_amount_mode_categories, redeemables_application_mode, redeemables_sorting_rule, created_at, updated_at].hash
309
+ end
310
+
311
+ # Builds the object from hash
312
+ # @param [Hash] attributes Model attributes in the form of hash
313
+ # @return [Object] Returns the model itself
314
+ def self.build_from_hash(attributes)
315
+ return nil unless attributes.is_a?(Hash)
316
+ attributes = attributes.transform_keys(&:to_sym)
317
+ transformed_hash = {}
318
+ openapi_types.each_pair do |key, type|
319
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
320
+ transformed_hash["#{key}"] = nil
321
+ elsif type =~ /\AArray<(.*)>/i
322
+ # check to ensure the input is an array given that the attribute
323
+ # is documented as an array but the input is not
324
+ if attributes[attribute_map[key]].is_a?(Array)
325
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
326
+ end
327
+ elsif !attributes[attribute_map[key]].nil?
328
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
329
+ end
330
+ end
331
+ new(transformed_hash)
332
+ end
333
+
334
+ # Deserializes the data based on type
335
+ # @param string type Data type
336
+ # @param string value Value to be deserialized
337
+ # @return [Object] Deserialized data
338
+ def self._deserialize(type, value)
339
+ case type.to_sym
340
+ when :Time
341
+ Time.parse(value)
342
+ when :Date
343
+ Date.parse(value)
344
+ when :String
345
+ value.to_s
346
+ when :Integer
347
+ value.to_i
348
+ when :Float
349
+ value.to_f
350
+ when :Boolean
351
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
352
+ true
353
+ else
354
+ false
355
+ end
356
+ when :Object
357
+ # generic object (usually a Hash), return directly
358
+ value
359
+ when /\AArray<(?<inner_type>.+)>\z/
360
+ inner_type = Regexp.last_match[:inner_type]
361
+ value.map { |v| _deserialize(inner_type, v) }
362
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
363
+ k_type = Regexp.last_match[:k_type]
364
+ v_type = Regexp.last_match[:v_type]
365
+ {}.tap do |hash|
366
+ value.each do |k, v|
367
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
368
+ end
369
+ end
370
+ else # model
371
+ # models (e.g. Pet) or oneOf
372
+ klass = VoucherifySdk.const_get(type)
373
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
374
+ end
375
+ end
376
+
377
+ # Returns the string representation of the object
378
+ # @return [String] String presentation of the object
379
+ def to_s
380
+ to_hash.to_s
381
+ end
382
+
383
+ # to_body is an alias to to_hash (backward compatibility)
384
+ # @return [Hash] Returns the object in the form of hash
385
+ def to_body
386
+ to_hash
387
+ end
388
+
389
+ # Returns the object in the form of hash
390
+ # @return [Hash] Returns the object in the form of hash
391
+ def to_hash
392
+ hash = {}
393
+ self.class.attribute_map.each_pair do |attr, param|
394
+ value = self.send(attr)
395
+ if value.nil?
396
+ is_nullable = self.class.openapi_nullable.include?(attr)
397
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
398
+ end
399
+
400
+ hash[param] = _to_hash(value)
401
+ end
402
+ hash
403
+ end
404
+
405
+ # Outputs non-array value in the form of hash
406
+ # For object, use to_hash. Otherwise, just return the value
407
+ # @param [Object] value Any valid value
408
+ # @return [Hash] Returns the value in the form of hash
409
+ def _to_hash(value)
410
+ if value.is_a?(Array)
411
+ value.compact.map { |v| _to_hash(v) }
412
+ elsif value.is_a?(Hash)
413
+ {}.tap do |hash|
414
+ value.each { |k, v| hash[k] = _to_hash(v) }
415
+ end
416
+ elsif value.respond_to? :to_hash
417
+ value.to_hash
418
+ else
419
+ value
420
+ end
421
+ end
422
+
423
+ end
424
+
425
+ end