voucherify 6.0.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
+ # Response body schema for **GET** `/management/v1/projects/{projectId}/stacking-rules/{stackingRulesId}`.
18
+ class ManagementProjectsStackingRulesGetResponseBody
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
@@ -0,0 +1,275 @@
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
+ # Response body schema for **GET** `/management/v1/projects/{projectId}/stacking-rules`.
18
+ class ManagementProjectsStackingRulesListResponseBody
19
+ # The type of the object represented by JSON. This object stores information about the stacking rules in a dictionary.
20
+ attr_accessor :object
21
+
22
+ # Identifies the name of the attribute that contains the array of stacking rule objects.
23
+ attr_accessor :data_ref
24
+
25
+ # Array of only one stacking rule object.
26
+ attr_accessor :data
27
+
28
+ # The total number of stacking rule objects. It is always 1.
29
+ attr_accessor :total
30
+
31
+ class EnumAttributeValidator
32
+ attr_reader :datatype
33
+ attr_reader :allowable_values
34
+
35
+ def initialize(datatype, allowable_values)
36
+ @allowable_values = allowable_values.map do |value|
37
+ case datatype.to_s
38
+ when /Integer/i
39
+ value.to_i
40
+ when /Float/i
41
+ value.to_f
42
+ else
43
+ value
44
+ end
45
+ end
46
+ end
47
+
48
+ def valid?(value)
49
+ !value || allowable_values.include?(value)
50
+ end
51
+ end
52
+
53
+ # Attribute mapping from ruby-style variable name to JSON key.
54
+ def self.attribute_map
55
+ {
56
+ :'object' => :'object',
57
+ :'data_ref' => :'data_ref',
58
+ :'data' => :'data',
59
+ :'total' => :'total'
60
+ }
61
+ end
62
+
63
+ # Returns all the JSON keys this model knows about
64
+ def self.acceptable_attributes
65
+ attribute_map.values
66
+ end
67
+
68
+ # Attribute type mapping.
69
+ def self.openapi_types
70
+ {
71
+ :'object' => :'String',
72
+ :'data_ref' => :'String',
73
+ :'data' => :'Array<ManagementProjectsStackingRules>',
74
+ :'total' => :'Integer'
75
+ }
76
+ end
77
+
78
+ # List of attributes with nullable: true
79
+ def self.openapi_nullable
80
+ Set.new([
81
+ :'object',
82
+ :'data_ref',
83
+ :'data',
84
+ :'total'
85
+ ])
86
+ end
87
+
88
+ # Initializes the object
89
+ # @param [Hash] attributes Model attributes in the form of hash
90
+ def initialize(attributes = {})
91
+ # check to see if the attribute exists and convert string to symbol for hash key
92
+ attributes = attributes.each_with_object({}) { |(k, v), h|
93
+ h[k.to_sym] = v
94
+ }
95
+
96
+ if attributes.key?(:'object')
97
+ self.object = attributes[:'object']
98
+ else
99
+ self.object = 'list'
100
+ end
101
+
102
+ if attributes.key?(:'data_ref')
103
+ self.data_ref = attributes[:'data_ref']
104
+ else
105
+ self.data_ref = 'data'
106
+ end
107
+
108
+ if attributes.key?(:'data')
109
+ if (value = attributes[:'data']).is_a?(Array)
110
+ self.data = value
111
+ end
112
+ end
113
+
114
+ if attributes.key?(:'total')
115
+ self.total = attributes[:'total']
116
+ end
117
+ end
118
+
119
+ # Show invalid properties with the reasons. Usually used together with valid?
120
+ # @return Array for valid properties with the reasons
121
+ def list_invalid_properties
122
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
123
+ invalid_properties = Array.new
124
+ invalid_properties
125
+ end
126
+
127
+ # Check to see if the all the properties in the model are valid
128
+ # @return true if the model is valid
129
+ def valid?
130
+ warn '[DEPRECATED] the `valid?` method is obsolete'
131
+ object_validator = EnumAttributeValidator.new('String', ["list"])
132
+ return false unless object_validator.valid?(@object)
133
+ data_ref_validator = EnumAttributeValidator.new('String', ["data"])
134
+ return false unless data_ref_validator.valid?(@data_ref)
135
+ true
136
+ end
137
+
138
+ # Checks equality by comparing each attribute.
139
+ # @param [Object] Object to be compared
140
+ def ==(o)
141
+ return true if self.equal?(o)
142
+ self.class == o.class &&
143
+ object == o.object &&
144
+ data_ref == o.data_ref &&
145
+ data == o.data &&
146
+ total == o.total
147
+ end
148
+
149
+ # @see the `==` method
150
+ # @param [Object] Object to be compared
151
+ def eql?(o)
152
+ self == o
153
+ end
154
+
155
+ # Calculates hash code according to all attributes.
156
+ # @return [Integer] Hash code
157
+ def hash
158
+ [object, data_ref, data, total].hash
159
+ end
160
+
161
+ # Builds the object from hash
162
+ # @param [Hash] attributes Model attributes in the form of hash
163
+ # @return [Object] Returns the model itself
164
+ def self.build_from_hash(attributes)
165
+ return nil unless attributes.is_a?(Hash)
166
+ attributes = attributes.transform_keys(&:to_sym)
167
+ transformed_hash = {}
168
+ openapi_types.each_pair do |key, type|
169
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
170
+ transformed_hash["#{key}"] = nil
171
+ elsif type =~ /\AArray<(.*)>/i
172
+ # check to ensure the input is an array given that the attribute
173
+ # is documented as an array but the input is not
174
+ if attributes[attribute_map[key]].is_a?(Array)
175
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
176
+ end
177
+ elsif !attributes[attribute_map[key]].nil?
178
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
179
+ end
180
+ end
181
+ new(transformed_hash)
182
+ end
183
+
184
+ # Deserializes the data based on type
185
+ # @param string type Data type
186
+ # @param string value Value to be deserialized
187
+ # @return [Object] Deserialized data
188
+ def self._deserialize(type, value)
189
+ case type.to_sym
190
+ when :Time
191
+ Time.parse(value)
192
+ when :Date
193
+ Date.parse(value)
194
+ when :String
195
+ value.to_s
196
+ when :Integer
197
+ value.to_i
198
+ when :Float
199
+ value.to_f
200
+ when :Boolean
201
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
202
+ true
203
+ else
204
+ false
205
+ end
206
+ when :Object
207
+ # generic object (usually a Hash), return directly
208
+ value
209
+ when /\AArray<(?<inner_type>.+)>\z/
210
+ inner_type = Regexp.last_match[:inner_type]
211
+ value.map { |v| _deserialize(inner_type, v) }
212
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
213
+ k_type = Regexp.last_match[:k_type]
214
+ v_type = Regexp.last_match[:v_type]
215
+ {}.tap do |hash|
216
+ value.each do |k, v|
217
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
218
+ end
219
+ end
220
+ else # model
221
+ # models (e.g. Pet) or oneOf
222
+ klass = VoucherifySdk.const_get(type)
223
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
224
+ end
225
+ end
226
+
227
+ # Returns the string representation of the object
228
+ # @return [String] String presentation of the object
229
+ def to_s
230
+ to_hash.to_s
231
+ end
232
+
233
+ # to_body is an alias to to_hash (backward compatibility)
234
+ # @return [Hash] Returns the object in the form of hash
235
+ def to_body
236
+ to_hash
237
+ end
238
+
239
+ # Returns the object in the form of hash
240
+ # @return [Hash] Returns the object in the form of hash
241
+ def to_hash
242
+ hash = {}
243
+ self.class.attribute_map.each_pair do |attr, param|
244
+ value = self.send(attr)
245
+ if value.nil?
246
+ is_nullable = self.class.openapi_nullable.include?(attr)
247
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
248
+ end
249
+
250
+ hash[param] = _to_hash(value)
251
+ end
252
+ hash
253
+ end
254
+
255
+ # Outputs non-array value in the form of hash
256
+ # For object, use to_hash. Otherwise, just return the value
257
+ # @param [Object] value Any valid value
258
+ # @return [Hash] Returns the value in the form of hash
259
+ def _to_hash(value)
260
+ if value.is_a?(Array)
261
+ value.compact.map { |v| _to_hash(v) }
262
+ elsif value.is_a?(Hash)
263
+ {}.tap do |hash|
264
+ value.each { |k, v| hash[k] = _to_hash(v) }
265
+ end
266
+ elsif value.respond_to? :to_hash
267
+ value.to_hash
268
+ else
269
+ value
270
+ end
271
+ end
272
+
273
+ end
274
+
275
+ end