voucherify 8.0.3 → 8.1.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 (699) hide show
  1. checksums.yaml +4 -4
  2. data/Dockerfile +1 -1
  3. data/ENDPOINTS-COVERAGE.md +123 -111
  4. data/Gemfile.lock +19 -17
  5. data/README.md +218 -75
  6. data/VoucherifySdk.gemspec +1 -1
  7. data/__tests__/README.md +18 -0
  8. data/__tests__/lib/campaigns.rb +53 -1
  9. data/__tests__/lib/config.rb +21 -0
  10. data/__tests__/lib/loyalties.rb +2 -2
  11. data/__tests__/lib/utils.rb +27 -1
  12. data/__tests__/spec/02_campaigns_spec.rb +33 -2
  13. data/__tests__/spec/04_publications_spec.rb +16 -3
  14. data/__tests__/spec/07_vouchers_spec.rb +22 -3
  15. data/__tests__/spec/13_management_spec.rb +110 -0
  16. data/__tests__/spec/14_additional_properties_spec.rb +28 -0
  17. data/__tests__/spec/support/get_snapshot_without_uniq_keys.rb +1 -1
  18. data/docs/ApplicableTo.md +18 -2
  19. data/docs/ApplicableToOrderItemUnitsItem.md +2 -1
  20. data/docs/AsyncActionsApi.md +2 -2
  21. data/docs/AsyncActionsListResponseBody.md +1 -0
  22. data/docs/Bundle.md +11 -0
  23. data/docs/BundleIdentifiedItem.md +11 -0
  24. data/docs/BundleMissingItem.md +10 -0
  25. data/docs/Campaign.md +4 -4
  26. data/docs/CampaignBase.md +4 -4
  27. data/docs/CampaignLoyaltyCardExpirationRules.md +6 -4
  28. data/docs/CampaignsApi.md +209 -12
  29. data/docs/CampaignsCreateRequestBody.md +2 -2
  30. data/docs/CampaignsCreateResponseBody.md +4 -4
  31. data/docs/CampaignsGetResponseBody.md +4 -4
  32. data/docs/CampaignsImportVoucherItem.md +1 -1
  33. data/docs/CampaignsSummaryGetResponseBody.md +48 -0
  34. data/docs/CampaignsTransactionsExportCreateRequestBody.md +8 -0
  35. data/docs/CampaignsTransactionsExportCreateRequestBodyParameters.md +10 -0
  36. data/docs/CampaignsTransactionsExportCreateResponseBody.md +16 -0
  37. data/docs/CampaignsTransactionsExportCreateResponseBodyParameters.md +10 -0
  38. data/docs/CampaignsTransactionsExportCreateResponseBodyParametersFilters.md +11 -0
  39. data/docs/CampaignsTransactionsExportCreateResponseBodyParametersFiltersCampaignId.md +8 -0
  40. data/docs/CampaignsTransactionsExportCreateResponseBodyParametersFiltersCampaignIdConditions.md +8 -0
  41. data/docs/CampaignsTransactionsExportCreateResponseBodyResult.md +8 -0
  42. data/docs/CampaignsTransactionsListResponseBody.md +12 -0
  43. data/docs/CampaignsUpdateRequestBody.md +1 -1
  44. data/docs/CampaignsUpdateResponseBody.md +4 -4
  45. data/docs/CampaignsVouchersCreateCombinedResponseBodyGift.md +3 -2
  46. data/docs/CampaignsVouchersCreateCombinedResponseBodyLoyaltyCard.md +5 -3
  47. data/docs/CampaignsVouchersCreateResponseBodyGift.md +3 -2
  48. data/docs/CampaignsVouchersCreateResponseBodyLoyaltyCard.md +5 -3
  49. data/docs/CategoriesApi.md +1 -1
  50. data/docs/ClientQualificationsCheckEligibilityRequestBody.md +2 -1
  51. data/docs/ClientQualificationsCheckEligibilityRequestBodySession.md +8 -0
  52. data/docs/ClientRedemptionsRedeemRequestBodyOptions.md +1 -1
  53. data/docs/ClientRedemptionsRedeemRequestBodyRedeemablesItemGift.md +1 -1
  54. data/docs/ClientSideApi.md +2 -2
  55. data/docs/ClientValidationsValidateRequestBodyOptions.md +1 -1
  56. data/docs/ClientValidationsValidateRequestBodyRedeemablesItemGift.md +1 -1
  57. data/docs/ClientValidationsValidateResponseBody.md +1 -0
  58. data/docs/ClientValidationsValidateResponseBodyRedeemablesItemResult.md +1 -0
  59. data/docs/ClientValidationsValidateResponseBodyRedeemablesItemResultDiscount.md +4 -4
  60. data/docs/ClientValidationsValidateResponseBodyRedeemablesItemResultGift.md +2 -1
  61. data/docs/CustomerSummaryOrders.md +3 -3
  62. data/docs/CustomerSummaryRedemptionsGift.md +2 -2
  63. data/docs/CustomerWithSummaryLoyaltyReferralsAssets.md +2 -1
  64. data/docs/CustomersApi.md +10 -10
  65. data/docs/CustomersCreateResponseBodyAssets.md +2 -1
  66. data/docs/CustomersGetResponseBodyAssets.md +2 -1
  67. data/docs/CustomersUpdateResponseBodyAssets.md +2 -1
  68. data/docs/Discount.md +4 -4
  69. data/docs/DiscountUnitMultipleOneUnit.md +1 -1
  70. data/docs/EarningRule.md +1 -0
  71. data/docs/EarningRuleExpirationRules.md +13 -0
  72. data/docs/EarningRuleLoyalty.md +1 -0
  73. data/docs/EarningRuleLoyaltyCustomEventMetadata.md +1 -0
  74. data/docs/EarningRuleLoyaltyCustomerMetadata.md +1 -0
  75. data/docs/EarningRuleLoyaltyOrderAmount.md +1 -0
  76. data/docs/EarningRuleLoyaltyOrderItemsAmount.md +4 -2
  77. data/docs/EarningRuleLoyaltyOrderItemsAmountApplicableToItem.md +9 -0
  78. data/docs/EarningRuleLoyaltyOrderItemsQuantity.md +4 -2
  79. data/docs/EarningRuleLoyaltyOrderItemsQuantityApplicableToItem.md +9 -0
  80. data/docs/EarningRuleLoyaltyOrderItemsSubtotalAmount.md +4 -2
  81. data/docs/EarningRuleLoyaltyOrderItemsSubtotalAmountApplicableToItem.md +9 -0
  82. data/docs/EarningRuleLoyaltyOrderMetadata.md +1 -0
  83. data/docs/EarningRuleLoyaltyOrderTotalAmount.md +1 -0
  84. data/docs/ExportCampaignTransactionsFilters.md +10 -0
  85. data/docs/ExportParameters.md +1 -0
  86. data/docs/ExportsApi.md +3 -3
  87. data/docs/ExportsCreateRequestBodyParameters.md +1 -0
  88. data/docs/ExportsCreateResponseBodyParameters.md +1 -0
  89. data/docs/ExportsGetResponseBodyParameters.md +1 -0
  90. data/docs/Gift.md +3 -2
  91. data/docs/InapplicableTo.md +18 -2
  92. data/docs/InapplicableToOrderItemUnitsItem.md +2 -1
  93. data/docs/LoyaltiesApi.md +264 -67
  94. data/docs/LoyaltiesCreateCampaignRequestBody.md +2 -2
  95. data/docs/LoyaltiesCreateCampaignResponseBody.md +1 -1
  96. data/docs/LoyaltiesEarningRulesCreateRequestBodyItem.md +4 -2
  97. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyalty.md +1 -0
  98. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyCustomEventMetadata.md +1 -0
  99. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyCustomerMetadata.md +1 -0
  100. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyOrderAmount.md +1 -0
  101. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyOrderItemsAmount.md +4 -2
  102. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyOrderItemsAmountApplicableToItem.md +9 -0
  103. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyOrderItemsQuantity.md +4 -2
  104. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyOrderItemsQuantityApplicableToItem.md +9 -0
  105. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyOrderItemsSubtotalAmount.md +4 -2
  106. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyOrderMetadata.md +1 -0
  107. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemLoyaltyOrderTotalAmount.md +1 -0
  108. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemOrderItemsSubtotalAmountApplicableToItem.md +9 -0
  109. data/docs/LoyaltiesEarningRulesCreateRequestBodyItemPendingPoints.md +9 -0
  110. data/docs/LoyaltiesEarningRulesCreateResponseBody.md +1 -0
  111. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyalty.md +1 -0
  112. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyCustomEventMetadata.md +1 -0
  113. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyCustomerMetadata.md +1 -0
  114. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyOrderAmount.md +1 -0
  115. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyOrderItemsAmount.md +4 -2
  116. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyOrderItemsAmountApplicableToItem.md +9 -0
  117. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyOrderItemsQuantity.md +4 -2
  118. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyOrderItemsQuantityApplicableToItem.md +9 -0
  119. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyOrderItemsSubtotalAmount.md +4 -2
  120. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyOrderMetadata.md +1 -0
  121. data/docs/LoyaltiesEarningRulesCreateResponseBodyLoyaltyOrderTotalAmount.md +1 -0
  122. data/docs/LoyaltiesEarningRulesCreateResponseBodyOrderItemsSubtotalAmountApplicableToItem.md +9 -0
  123. data/docs/LoyaltiesEarningRulesDisableResponseBody.md +1 -0
  124. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyalty.md +1 -0
  125. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyCustomEventMetadata.md +1 -0
  126. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyCustomerMetadata.md +1 -0
  127. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyOrderAmount.md +1 -0
  128. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyOrderItemsAmount.md +4 -2
  129. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyOrderItemsAmountApplicableToItem.md +9 -0
  130. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyOrderItemsQuantity.md +4 -2
  131. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyOrderItemsQuantityApplicableToItem.md +9 -0
  132. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyOrderItemsSubtotalAmount.md +4 -2
  133. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyOrderMetadata.md +1 -0
  134. data/docs/LoyaltiesEarningRulesDisableResponseBodyLoyaltyOrderTotalAmount.md +1 -0
  135. data/docs/LoyaltiesEarningRulesDisableResponseBodyOrderItemsSubtotalAmountApplicableToItem.md +9 -0
  136. data/docs/LoyaltiesEarningRulesEnableResponseBody.md +1 -0
  137. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyalty.md +1 -0
  138. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyCustomEventMetadata.md +1 -0
  139. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyCustomerMetadata.md +1 -0
  140. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyOrderAmount.md +1 -0
  141. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyOrderItemsAmount.md +4 -2
  142. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyOrderItemsAmountApplicableToItem.md +9 -0
  143. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyOrderItemsQuantity.md +4 -2
  144. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyOrderItemsQuantityApplicableToItem.md +9 -0
  145. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyOrderItemsSubtotalAmount.md +4 -2
  146. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyOrderMetadata.md +1 -0
  147. data/docs/LoyaltiesEarningRulesEnableResponseBodyLoyaltyOrderTotalAmount.md +1 -0
  148. data/docs/LoyaltiesEarningRulesEnableResponseBodyOrderItemsSubtotalAmountApplicableToItem.md +9 -0
  149. data/docs/LoyaltiesEarningRulesGetResponseBody.md +1 -0
  150. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyalty.md +1 -0
  151. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyCustomEventMetadata.md +1 -0
  152. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyCustomerMetadata.md +1 -0
  153. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderAmount.md +1 -0
  154. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderItemsAmount.md +4 -2
  155. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderItemsAmountApplicableToItem.md +9 -0
  156. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderItemsQuantity.md +4 -2
  157. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderItemsQuantityApplicableToItem.md +9 -0
  158. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderItemsSubtotalAmount.md +4 -2
  159. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderItemsSubtotalAmountApplicableToItem.md +9 -0
  160. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderMetadata.md +1 -0
  161. data/docs/LoyaltiesEarningRulesGetResponseBodyLoyaltyOrderTotalAmount.md +1 -0
  162. data/docs/LoyaltiesEarningRulesUpdateRequestBody.md +4 -2
  163. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyalty.md +1 -0
  164. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyCustomEventMetadata.md +1 -0
  165. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyCustomerMetadata.md +1 -0
  166. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyOrderAmount.md +1 -0
  167. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyOrderItemsAmount.md +4 -2
  168. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyOrderItemsAmountApplicableToItem.md +9 -0
  169. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyOrderItemsQuantity.md +4 -2
  170. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyOrderItemsQuantityApplicableToItem.md +9 -0
  171. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyOrderItemsSubtotalAmount.md +4 -2
  172. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyOrderMetadata.md +1 -0
  173. data/docs/LoyaltiesEarningRulesUpdateRequestBodyLoyaltyOrderTotalAmount.md +1 -0
  174. data/docs/LoyaltiesEarningRulesUpdateRequestBodyOrderItemsSubtotalAmountApplicableToItem.md +9 -0
  175. data/docs/LoyaltiesEarningRulesUpdateRequestBodyPendingPoints.md +9 -0
  176. data/docs/LoyaltiesEarningRulesUpdateResponseBody.md +1 -0
  177. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyalty.md +1 -0
  178. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyCustomEventMetadata.md +1 -0
  179. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyCustomerMetadata.md +1 -0
  180. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyOrderAmount.md +1 -0
  181. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyOrderItemsAmount.md +4 -2
  182. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyOrderItemsAmountApplicableToItem.md +9 -0
  183. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyOrderItemsQuantity.md +4 -2
  184. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyOrderItemsQuantityApplicableToItem.md +9 -0
  185. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyOrderItemsSubtotalAmount.md +4 -2
  186. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyOrderMetadata.md +1 -0
  187. data/docs/LoyaltiesEarningRulesUpdateResponseBodyLoyaltyOrderTotalAmount.md +1 -0
  188. data/docs/LoyaltiesEarningRulesUpdateResponseBodyOrderItemsSubtotalAmountApplicableToItem.md +9 -0
  189. data/docs/LoyaltiesGetCampaignResponseBody.md +1 -1
  190. data/docs/LoyaltiesMembersCreateResponseBodyLoyaltyCard.md +5 -3
  191. data/docs/LoyaltiesMembersGetResponseBodyLoyaltyCard.md +5 -3
  192. data/docs/LoyaltiesMembersPendingPointsActivateResponseBody.md +1 -1
  193. data/docs/LoyaltiesMembersPendingPointsBalanceRequestBody.md +8 -0
  194. data/docs/LoyaltiesMembersPendingPointsBalanceResponseBody.md +12 -0
  195. data/docs/LoyaltiesMembersPendingPointsBalanceResponseBodyRelatedObject.md +9 -0
  196. data/docs/LoyaltiesMembersPointsExpirationListResponseBodyDataItem.md +1 -1
  197. data/docs/LoyaltiesMembersRedemptionRedeemRequestBody.md +1 -1
  198. data/docs/LoyaltiesMembersRedemptionRedeemResponseBody.md +1 -0
  199. data/docs/LoyaltiesMembersRedemptionRedeemResponseBodyRelatedRedemptionsRollbacksItem.md +1 -0
  200. data/docs/LoyaltiesMembersRedemptionRedeemResponseBodySession.md +8 -0
  201. data/docs/LoyaltiesMembersRedemptionRedeemResponseBodyVoucherGift.md +3 -2
  202. data/docs/LoyaltiesMembersRedemptionRedeemResponseBodyVoucherLoyaltyCard.md +5 -3
  203. data/docs/LoyaltiesMembersTransfersCreateResponseBodyLoyaltyCard.md +5 -3
  204. data/docs/LoyaltiesPointsExpirationExportCreateRequestBodyParameters.md +1 -1
  205. data/docs/LoyaltiesRewardAssignmentsRewardGetResponseBody.md +1 -1
  206. data/docs/LoyaltiesTransactionsExportCreateRequestBody.md +8 -0
  207. data/docs/LoyaltiesTransactionsExportCreateRequestBodyParameters.md +10 -0
  208. data/docs/LoyaltiesTransactionsListResponseBody.md +12 -0
  209. data/docs/LoyaltiesUpdateCampaignRequestBody.md +1 -1
  210. data/docs/LoyaltiesUpdateCampaignResponseBody.md +1 -1
  211. data/docs/LoyaltyCampaign.md +1 -1
  212. data/docs/LoyaltyCardTransaction.md +1 -1
  213. data/docs/LoyaltyCardTransactionDetailsBalance.md +1 -0
  214. data/docs/LoyaltyMemberLoyaltyCard.md +5 -3
  215. data/docs/LoyaltyPointsBucket.md +1 -1
  216. data/docs/LoyaltyTiersExpirationAll.md +1 -1
  217. data/docs/ManagementApi.md +22 -22
  218. data/docs/ManagementProjectsStackingRules.md +14 -8
  219. data/docs/ManagementProjectsStackingRulesCreateRequestBody.md +14 -8
  220. data/docs/ManagementProjectsStackingRulesCreateResponseBody.md +14 -8
  221. data/docs/ManagementProjectsStackingRulesGetResponseBody.md +14 -8
  222. data/docs/ManagementProjectsStackingRulesUpdateRequestBody.md +14 -8
  223. data/docs/ManagementProjectsStackingRulesUpdateResponseBody.md +14 -8
  224. data/docs/ManagementProjectsUsersInviteCreateRequestBody.md +1 -1
  225. data/docs/ManagementProjectsUsersUpdateRoleRequestBody.md +1 -1
  226. data/docs/MetadataSchemasApi.md +5 -5
  227. data/docs/Order.md +1 -1
  228. data/docs/OrderCalculatedItem.md +1 -1
  229. data/docs/OrderItem.md +1 -1
  230. data/docs/OrdersApi.md +3 -3
  231. data/docs/OrdersCreateRequestBody.md +1 -1
  232. data/docs/OrdersImportCreateRequestBodyItem.md +2 -2
  233. data/docs/OrdersUpdateRequestBody.md +1 -1
  234. data/docs/ParametersFiltersListCampaignTransactions.md +10 -0
  235. data/docs/ProductCollectionsCreateRequestBody.md +1 -1
  236. data/docs/ProductsApi.md +22 -22
  237. data/docs/ProductsSkusCreateRequestBody.md +1 -1
  238. data/docs/ProductsSkusUpdateRequestBody.md +1 -1
  239. data/docs/PromotionTierCampaign.md +1 -1
  240. data/docs/PromotionsTiersCreateResponseBodyCampaign.md +1 -1
  241. data/docs/PromotionsTiersDisableResponseBodyCampaign.md +1 -1
  242. data/docs/PromotionsTiersEnableResponseBodyCampaign.md +1 -1
  243. data/docs/PromotionsTiersGetResponseBodyCampaign.md +1 -1
  244. data/docs/PromotionsTiersUpdateResponseBodyCampaign.md +1 -1
  245. data/docs/PublicationsApi.md +7 -7
  246. data/docs/QualificationsApi.md +1 -1
  247. data/docs/QualificationsCheckEligibilityRequestBody.md +2 -1
  248. data/docs/QualificationsCheckEligibilityRequestBodySession.md +8 -0
  249. data/docs/QualificationsOption.md +1 -1
  250. data/docs/QualificationsRedeemable.md +1 -1
  251. data/docs/QualificationsRedeemableBase.md +1 -1
  252. data/docs/RedeemableGift.md +3 -2
  253. data/docs/RedeemableLoyaltyCard.md +2 -2
  254. data/docs/RedeemableResult.md +1 -0
  255. data/docs/RedeemableVoucherGift.md +3 -2
  256. data/docs/RedeemableVoucherLoyaltyCard.md +5 -3
  257. data/docs/Redemption.md +1 -0
  258. data/docs/RedemptionEntry.md +1 -0
  259. data/docs/RedemptionEntryPromotionTierCampaign.md +1 -1
  260. data/docs/RedemptionEntryRelatedRedemptionsRollbacksItem.md +1 -0
  261. data/docs/RedemptionEntrySession.md +8 -0
  262. data/docs/RedemptionEntryVoucherGift.md +3 -2
  263. data/docs/RedemptionEntryVoucherLoyaltyCard.md +5 -3
  264. data/docs/RedemptionRelatedRedemptionsRollbacksItem.md +1 -0
  265. data/docs/RedemptionRewardResultParametersCampaign.md +1 -1
  266. data/docs/RedemptionRollback.md +1 -1
  267. data/docs/RedemptionSession.md +8 -0
  268. data/docs/RedemptionVoucherGift.md +3 -2
  269. data/docs/RedemptionVoucherLoyaltyCard.md +5 -3
  270. data/docs/RedemptionsApi.md +3 -3
  271. data/docs/RedemptionsGetResponseBody.md +1 -0
  272. data/docs/RedemptionsGetResponseBodyPromotionTierCampaign.md +1 -1
  273. data/docs/RedemptionsGetResponseBodyRelatedRedemptionsRollbacksItem.md +1 -0
  274. data/docs/RedemptionsGetResponseBodySession.md +8 -0
  275. data/docs/RedemptionsGetResponseBodyVoucherGift.md +3 -2
  276. data/docs/RedemptionsGetResponseBodyVoucherLoyaltyCard.md +5 -3
  277. data/docs/RedemptionsListResponseBodyRedemptionsItem.md +1 -0
  278. data/docs/RedemptionsListResponseBodyRedemptionsItemPromotionTierCampaign.md +1 -1
  279. data/docs/RedemptionsListResponseBodyRedemptionsItemRelatedRedemptionsRollbacksItem.md +1 -0
  280. data/docs/RedemptionsListResponseBodyRedemptionsItemSession.md +8 -0
  281. data/docs/RedemptionsListResponseBodyRedemptionsItemVoucherGift.md +3 -2
  282. data/docs/RedemptionsListResponseBodyRedemptionsItemVoucherLoyaltyCard.md +5 -3
  283. data/docs/RedemptionsRedeemRequestBodyOptions.md +1 -1
  284. data/docs/RedemptionsRedeemRequestBodyRedeemablesItemGift.md +1 -1
  285. data/docs/RedemptionsRollbackCreateResponseBody.md +1 -1
  286. data/docs/ReferralsApi.md +13 -13
  287. data/docs/Reward.md +1 -1
  288. data/docs/RewardsCreateRequestBody.md +1 -1
  289. data/docs/RewardsCreateRequestBodyParametersCampaign.md +1 -1
  290. data/docs/RewardsCreateResponseBody.md +1 -1
  291. data/docs/RewardsUpdateRequestBody.md +1 -1
  292. data/docs/RewardsUpdateRequestBodyParametersCampaign.md +1 -1
  293. data/docs/RewardsUpdateResponseBody.md +1 -1
  294. data/docs/SegmentsApi.md +2 -2
  295. data/docs/SegmentsCreateRequestBody.md +1 -1
  296. data/docs/SegmentsCreateResponseBody.md +4 -3
  297. data/docs/SegmentsGetResponseBody.md +4 -3
  298. data/docs/SimpleLoyaltyCard.md +5 -3
  299. data/docs/SimpleVoucherRedemption.md +1 -0
  300. data/docs/StackingRules.md +15 -11
  301. data/docs/TemplatesApi.md +7 -7
  302. data/docs/TemplatesCampaignsCampaignSetupCreateRequestBody.md +2 -2
  303. data/docs/TrashBinItem.md +1 -1
  304. data/docs/ValidationRule.md +1 -0
  305. data/docs/ValidationRulesApi.md +3 -3
  306. data/docs/ValidationRulesCreateRequestBody.md +1 -0
  307. data/docs/ValidationRulesCreateResponseBody.md +1 -0
  308. data/docs/ValidationRulesGetResponseBody.md +1 -0
  309. data/docs/ValidationRulesUpdateRequestBody.md +1 -0
  310. data/docs/ValidationRulesUpdateResponseBody.md +1 -0
  311. data/docs/ValidationsApi.md +1 -1
  312. data/docs/ValidationsRedeemableInapplicableResult.md +1 -0
  313. data/docs/ValidationsValidateRequestBodyOptions.md +1 -1
  314. data/docs/ValidationsValidateRequestBodyRedeemablesItemGift.md +1 -1
  315. data/docs/ValidationsValidateResponseBody.md +1 -0
  316. data/docs/ValidationsValidateResponseBodyRedeemablesItemResult.md +1 -0
  317. data/docs/ValidationsValidateResponseBodyRedeemablesItemResultDiscount.md +4 -4
  318. data/docs/ValidationsValidateResponseBodyRedeemablesItemResultGift.md +2 -1
  319. data/docs/ValidityHours.md +1 -1
  320. data/docs/VoucherBalance.md +1 -0
  321. data/docs/VoucherGift.md +3 -2
  322. data/docs/VoucherLoyaltyCard.md +5 -3
  323. data/docs/VoucherTransaction.md +1 -1
  324. data/docs/VoucherTransactionDetailsBalance.md +1 -0
  325. data/docs/VoucherTransactionsExportParameters.md +1 -1
  326. data/docs/VoucherTransactionsFilters.md +1 -1
  327. data/docs/VoucherWithCategoriesGift.md +3 -2
  328. data/docs/VoucherWithCategoriesLoyaltyCard.md +5 -3
  329. data/docs/VouchersApi.md +16 -14
  330. data/docs/VouchersBalanceUpdateRequestBody.md +1 -1
  331. data/docs/VouchersBalanceUpdateResponseBody.md +2 -2
  332. data/docs/VouchersCreateRequestBody.md +2 -2
  333. data/docs/VouchersCreateResponseBodyGift.md +3 -2
  334. data/docs/VouchersCreateResponseBodyLoyaltyCard.md +5 -3
  335. data/docs/VouchersCreateWithSpecificCodeRequestBody.md +2 -2
  336. data/docs/VouchersDisableResponseBodyGift.md +3 -2
  337. data/docs/VouchersDisableResponseBodyLoyaltyCard.md +5 -3
  338. data/docs/VouchersEnableResponseBodyGift.md +3 -2
  339. data/docs/VouchersEnableResponseBodyLoyaltyCard.md +5 -3
  340. data/docs/VouchersGetResponseBodyGift.md +3 -2
  341. data/docs/VouchersGetResponseBodyLoyaltyCard.md +5 -3
  342. data/docs/VouchersImportCreateItemRequestBody.md +1 -1
  343. data/docs/VouchersTransactionsExportCreateResponseBodyResult.md +1 -1
  344. data/docs/VouchersUpdateRequestBody.md +2 -2
  345. data/docs/VouchersUpdateResponseBodyGift.md +3 -2
  346. data/docs/VouchersUpdateResponseBodyLoyaltyCard.md +5 -3
  347. data/lib/VoucherifySdk/api/async_actions_api.rb +4 -4
  348. data/lib/VoucherifySdk/api/campaigns_api.rb +220 -18
  349. data/lib/VoucherifySdk/api/categories_api.rb +2 -2
  350. data/lib/VoucherifySdk/api/client_side_api.rb +4 -4
  351. data/lib/VoucherifySdk/api/customers_api.rb +14 -14
  352. data/lib/VoucherifySdk/api/exports_api.rb +6 -6
  353. data/lib/VoucherifySdk/api/loyalties_api.rb +277 -72
  354. data/lib/VoucherifySdk/api/management_api.rb +44 -44
  355. data/lib/VoucherifySdk/api/metadata_schemas_api.rb +6 -6
  356. data/lib/VoucherifySdk/api/orders_api.rb +6 -6
  357. data/lib/VoucherifySdk/api/products_api.rb +30 -30
  358. data/lib/VoucherifySdk/api/publications_api.rb +8 -8
  359. data/lib/VoucherifySdk/api/qualifications_api.rb +2 -2
  360. data/lib/VoucherifySdk/api/redemptions_api.rb +6 -6
  361. data/lib/VoucherifySdk/api/referrals_api.rb +14 -14
  362. data/lib/VoucherifySdk/api/segments_api.rb +4 -4
  363. data/lib/VoucherifySdk/api/templates_api.rb +14 -14
  364. data/lib/VoucherifySdk/api/validation_rules_api.rb +6 -6
  365. data/lib/VoucherifySdk/api/validations_api.rb +2 -2
  366. data/lib/VoucherifySdk/api/vouchers_api.rb +25 -22
  367. data/lib/VoucherifySdk/models/access_settings_campaign_assignments_list.rb +1 -1
  368. data/lib/VoucherifySdk/models/applicable_to.rb +192 -16
  369. data/lib/VoucherifySdk/models/applicable_to_order_item_units_item.rb +20 -5
  370. data/lib/VoucherifySdk/models/async_actions_list_response_body.rb +16 -5
  371. data/lib/VoucherifySdk/models/bundle.rb +267 -0
  372. data/lib/VoucherifySdk/models/bundle_identified_item.rb +296 -0
  373. data/lib/VoucherifySdk/models/bundle_missing_item.rb +274 -0
  374. data/lib/VoucherifySdk/models/campaign.rb +4 -4
  375. data/lib/VoucherifySdk/models/campaign_base.rb +4 -4
  376. data/lib/VoucherifySdk/models/campaign_loyalty_card_expiration_rules.rb +53 -10
  377. data/lib/VoucherifySdk/models/campaigns_create_request_body.rb +3 -3
  378. data/lib/VoucherifySdk/models/campaigns_create_response_body.rb +4 -4
  379. data/lib/VoucherifySdk/models/campaigns_get_response_body.rb +4 -4
  380. data/lib/VoucherifySdk/models/campaigns_import_voucher_item.rb +1 -1
  381. data/lib/VoucherifySdk/models/campaigns_summary_get_response_body.rb +673 -0
  382. data/lib/VoucherifySdk/models/campaigns_transactions_export_create_request_body.rb +209 -0
  383. data/lib/VoucherifySdk/models/campaigns_transactions_export_create_request_body_parameters.rb +256 -0
  384. data/lib/VoucherifySdk/models/campaigns_transactions_export_create_response_body.rb +334 -0
  385. data/lib/VoucherifySdk/models/campaigns_transactions_export_create_response_body_parameters.rb +256 -0
  386. data/lib/VoucherifySdk/models/campaigns_transactions_export_create_response_body_parameters_filters.rb +257 -0
  387. data/lib/VoucherifySdk/models/campaigns_transactions_export_create_response_body_parameters_filters_campaign_id.rb +209 -0
  388. data/lib/VoucherifySdk/models/campaigns_transactions_export_create_response_body_parameters_filters_campaign_id_conditions.rb +221 -0
  389. data/lib/VoucherifySdk/models/campaigns_transactions_export_create_response_body_result.rb +210 -0
  390. data/lib/VoucherifySdk/models/campaigns_transactions_list_response_body.rb +286 -0
  391. data/lib/VoucherifySdk/models/campaigns_update_request_body.rb +1 -1
  392. data/lib/VoucherifySdk/models/campaigns_update_response_body.rb +4 -4
  393. data/lib/VoucherifySdk/models/campaigns_vouchers_create_combined_response_body_gift.rb +14 -3
  394. data/lib/VoucherifySdk/models/campaigns_vouchers_create_combined_response_body_loyalty_card.rb +30 -8
  395. data/lib/VoucherifySdk/models/campaigns_vouchers_create_response_body_gift.rb +14 -3
  396. data/lib/VoucherifySdk/models/campaigns_vouchers_create_response_body_loyalty_card.rb +30 -8
  397. data/lib/VoucherifySdk/models/client_qualifications_check_eligibility_request_body.rb +12 -2
  398. data/lib/VoucherifySdk/models/client_qualifications_check_eligibility_request_body_session.rb +236 -0
  399. data/lib/VoucherifySdk/models/client_redemptions_redeem_request_body_options.rb +1 -1
  400. data/lib/VoucherifySdk/models/client_redemptions_redeem_request_body_redeemables_item_gift.rb +1 -1
  401. data/lib/VoucherifySdk/models/client_validations_validate_request_body.rb +1 -1
  402. data/lib/VoucherifySdk/models/client_validations_validate_request_body_options.rb +1 -1
  403. data/lib/VoucherifySdk/models/client_validations_validate_request_body_redeemables_item_gift.rb +1 -1
  404. data/lib/VoucherifySdk/models/client_validations_validate_response_body.rb +12 -1
  405. data/lib/VoucherifySdk/models/client_validations_validate_response_body_redeemables_item_result.rb +11 -1
  406. data/lib/VoucherifySdk/models/client_validations_validate_response_body_redeemables_item_result_discount.rb +5 -2
  407. data/lib/VoucherifySdk/models/client_validations_validate_response_body_redeemables_item_result_gift.rb +14 -3
  408. data/lib/VoucherifySdk/models/client_validations_validate_response_body_redeemables_item_result_loyalty_card.rb +1 -0
  409. data/lib/VoucherifySdk/models/create_publication_campaign.rb +3 -3
  410. data/lib/VoucherifySdk/models/customer_summary_orders.rb +4 -3
  411. data/lib/VoucherifySdk/models/customer_summary_redemptions_gift.rb +2 -2
  412. data/lib/VoucherifySdk/models/customer_with_summary_loyalty_referrals_assets.rb +18 -7
  413. data/lib/VoucherifySdk/models/customers_create_response_body_assets.rb +18 -7
  414. data/lib/VoucherifySdk/models/customers_get_response_body_assets.rb +18 -7
  415. data/lib/VoucherifySdk/models/customers_update_response_body_assets.rb +18 -7
  416. data/lib/VoucherifySdk/models/discount.rb +5 -2
  417. data/lib/VoucherifySdk/models/discount_unit_multiple_one_unit.rb +1 -1
  418. data/lib/VoucherifySdk/models/earning_rule.rb +10 -1
  419. data/lib/VoucherifySdk/models/earning_rule_expiration_rules.rb +313 -0
  420. data/lib/VoucherifySdk/models/earning_rule_loyalty.rb +12 -1
  421. data/lib/VoucherifySdk/models/earning_rule_loyalty_custom_event_metadata.rb +12 -1
  422. data/lib/VoucherifySdk/models/earning_rule_loyalty_customer_metadata.rb +12 -1
  423. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_amount.rb +16 -5
  424. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_items_amount.rb +31 -7
  425. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_items_amount_applicable_to_item.rb +242 -0
  426. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_items_quantity.rb +31 -7
  427. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_items_quantity_applicable_to_item.rb +242 -0
  428. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_items_subtotal_amount.rb +31 -7
  429. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_items_subtotal_amount_applicable_to_item.rb +242 -0
  430. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_metadata.rb +12 -1
  431. data/lib/VoucherifySdk/models/earning_rule_loyalty_order_total_amount.rb +16 -5
  432. data/lib/VoucherifySdk/models/export_campaign_transactions_filters.rb +248 -0
  433. data/lib/VoucherifySdk/models/export_parameters.rb +16 -5
  434. data/lib/VoucherifySdk/models/exports_create_request_body_parameters.rb +16 -5
  435. data/lib/VoucherifySdk/models/exports_create_response_body_parameters.rb +16 -5
  436. data/lib/VoucherifySdk/models/exports_get_response_body.rb +0 -1
  437. data/lib/VoucherifySdk/models/exports_get_response_body_parameters.rb +16 -5
  438. data/lib/VoucherifySdk/models/filter_conditions_date_time.rb +2 -2
  439. data/lib/VoucherifySdk/models/gift.rb +14 -3
  440. data/lib/VoucherifySdk/models/inapplicable_to.rb +192 -16
  441. data/lib/VoucherifySdk/models/inapplicable_to_order_item_units_item.rb +20 -5
  442. data/lib/VoucherifySdk/models/loyalties_create_campaign_request_body.rb +3 -3
  443. data/lib/VoucherifySdk/models/loyalties_create_campaign_response_body.rb +1 -1
  444. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item.rb +22 -3
  445. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty.rb +12 -1
  446. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_custom_event_metadata.rb +12 -1
  447. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_customer_metadata.rb +12 -1
  448. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_order_amount.rb +16 -5
  449. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_order_items_amount.rb +31 -7
  450. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_order_items_amount_applicable_to_item.rb +242 -0
  451. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_order_items_quantity.rb +31 -7
  452. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_order_items_quantity_applicable_to_item.rb +242 -0
  453. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_order_items_subtotal_amount.rb +31 -7
  454. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_order_metadata.rb +12 -1
  455. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_loyalty_order_total_amount.rb +16 -5
  456. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_order_items_subtotal_amount_applicable_to_item.rb +242 -0
  457. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_request_body_item_pending_points.rb +257 -0
  458. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body.rb +10 -1
  459. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty.rb +12 -1
  460. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_custom_event_metadata.rb +12 -1
  461. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_customer_metadata.rb +12 -1
  462. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_order_amount.rb +16 -5
  463. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_order_items_amount.rb +31 -7
  464. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_order_items_amount_applicable_to_item.rb +242 -0
  465. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_order_items_quantity.rb +31 -7
  466. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_order_items_quantity_applicable_to_item.rb +242 -0
  467. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_order_items_subtotal_amount.rb +31 -7
  468. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_order_metadata.rb +12 -1
  469. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_loyalty_order_total_amount.rb +16 -5
  470. data/lib/VoucherifySdk/models/loyalties_earning_rules_create_response_body_order_items_subtotal_amount_applicable_to_item.rb +242 -0
  471. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body.rb +10 -1
  472. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty.rb +12 -1
  473. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_custom_event_metadata.rb +12 -1
  474. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_customer_metadata.rb +12 -1
  475. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_order_amount.rb +16 -5
  476. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_order_items_amount.rb +31 -7
  477. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_order_items_amount_applicable_to_item.rb +242 -0
  478. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_order_items_quantity.rb +31 -7
  479. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_order_items_quantity_applicable_to_item.rb +242 -0
  480. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_order_items_subtotal_amount.rb +31 -7
  481. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_order_metadata.rb +12 -1
  482. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_loyalty_order_total_amount.rb +16 -5
  483. data/lib/VoucherifySdk/models/loyalties_earning_rules_disable_response_body_order_items_subtotal_amount_applicable_to_item.rb +242 -0
  484. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body.rb +10 -1
  485. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty.rb +12 -1
  486. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_custom_event_metadata.rb +12 -1
  487. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_customer_metadata.rb +12 -1
  488. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_order_amount.rb +16 -5
  489. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_order_items_amount.rb +31 -7
  490. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_order_items_amount_applicable_to_item.rb +242 -0
  491. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_order_items_quantity.rb +31 -7
  492. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_order_items_quantity_applicable_to_item.rb +242 -0
  493. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_order_items_subtotal_amount.rb +31 -7
  494. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_order_metadata.rb +12 -1
  495. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_loyalty_order_total_amount.rb +16 -5
  496. data/lib/VoucherifySdk/models/loyalties_earning_rules_enable_response_body_order_items_subtotal_amount_applicable_to_item.rb +242 -0
  497. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body.rb +10 -1
  498. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty.rb +12 -1
  499. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_custom_event_metadata.rb +12 -1
  500. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_customer_metadata.rb +12 -1
  501. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_amount.rb +16 -5
  502. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_items_amount.rb +31 -7
  503. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_items_amount_applicable_to_item.rb +242 -0
  504. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_items_quantity.rb +31 -7
  505. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_items_quantity_applicable_to_item.rb +242 -0
  506. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_items_subtotal_amount.rb +31 -7
  507. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_items_subtotal_amount_applicable_to_item.rb +242 -0
  508. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_metadata.rb +12 -1
  509. data/lib/VoucherifySdk/models/loyalties_earning_rules_get_response_body_loyalty_order_total_amount.rb +16 -5
  510. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body.rb +22 -3
  511. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty.rb +12 -1
  512. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_custom_event_metadata.rb +12 -1
  513. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_customer_metadata.rb +12 -1
  514. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_order_amount.rb +16 -5
  515. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_order_items_amount.rb +31 -7
  516. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_order_items_amount_applicable_to_item.rb +242 -0
  517. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_order_items_quantity.rb +31 -7
  518. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_order_items_quantity_applicable_to_item.rb +242 -0
  519. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_order_items_subtotal_amount.rb +31 -7
  520. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_order_metadata.rb +12 -1
  521. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_loyalty_order_total_amount.rb +16 -5
  522. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_order_items_subtotal_amount_applicable_to_item.rb +242 -0
  523. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_request_body_pending_points.rb +257 -0
  524. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body.rb +10 -1
  525. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty.rb +12 -1
  526. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_custom_event_metadata.rb +12 -1
  527. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_customer_metadata.rb +12 -1
  528. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_order_amount.rb +16 -5
  529. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_order_items_amount.rb +31 -7
  530. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_order_items_amount_applicable_to_item.rb +242 -0
  531. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_order_items_quantity.rb +31 -7
  532. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_order_items_quantity_applicable_to_item.rb +242 -0
  533. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_order_items_subtotal_amount.rb +31 -7
  534. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_order_metadata.rb +12 -1
  535. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_loyalty_order_total_amount.rb +16 -5
  536. data/lib/VoucherifySdk/models/loyalties_earning_rules_update_response_body_order_items_subtotal_amount_applicable_to_item.rb +242 -0
  537. data/lib/VoucherifySdk/models/loyalties_get_campaign_response_body.rb +1 -1
  538. data/lib/VoucherifySdk/models/loyalties_members_create_response_body_loyalty_card.rb +30 -8
  539. data/lib/VoucherifySdk/models/loyalties_members_create_response_body_publish.rb +1 -1
  540. data/lib/VoucherifySdk/models/loyalties_members_get_response_body_loyalty_card.rb +30 -8
  541. data/lib/VoucherifySdk/models/loyalties_members_get_response_body_publish.rb +1 -1
  542. data/lib/VoucherifySdk/models/loyalties_members_pending_points_activate_response_body.rb +1 -1
  543. data/lib/VoucherifySdk/models/loyalties_members_pending_points_balance_request_body.rb +210 -0
  544. data/lib/VoucherifySdk/models/loyalties_members_pending_points_balance_response_body.rb +283 -0
  545. data/lib/VoucherifySdk/models/loyalties_members_pending_points_balance_response_body_related_object.rb +247 -0
  546. data/lib/VoucherifySdk/models/loyalties_members_points_expiration_list_response_body_data_item.rb +1 -1
  547. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_request_body.rb +1 -1
  548. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_response_body.rb +11 -1
  549. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_response_body_related_redemptions_rollbacks_item.rb +38 -4
  550. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_response_body_session.rb +210 -0
  551. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_response_body_voucher_gift.rb +14 -3
  552. data/lib/VoucherifySdk/models/loyalties_members_redemption_redeem_response_body_voucher_loyalty_card.rb +30 -8
  553. data/lib/VoucherifySdk/models/loyalties_members_transfers_create_response_body_loyalty_card.rb +30 -8
  554. data/lib/VoucherifySdk/models/loyalties_points_expiration_export_create_request_body_parameters.rb +1 -1
  555. data/lib/VoucherifySdk/models/loyalties_reward_assignments_reward_get_response_body.rb +1 -1
  556. data/lib/VoucherifySdk/models/loyalties_transactions_export_create_request_body.rb +209 -0
  557. data/lib/VoucherifySdk/models/loyalties_transactions_export_create_request_body_parameters.rb +256 -0
  558. data/lib/VoucherifySdk/models/loyalties_transactions_list_response_body.rb +286 -0
  559. data/lib/VoucherifySdk/models/loyalties_update_campaign_request_body.rb +1 -1
  560. data/lib/VoucherifySdk/models/loyalties_update_campaign_response_body.rb +1 -1
  561. data/lib/VoucherifySdk/models/loyalty_campaign.rb +1 -1
  562. data/lib/VoucherifySdk/models/loyalty_card_transaction.rb +1 -1
  563. data/lib/VoucherifySdk/models/loyalty_card_transaction_details_balance.rb +12 -1
  564. data/lib/VoucherifySdk/models/loyalty_member_loyalty_card.rb +30 -8
  565. data/lib/VoucherifySdk/models/loyalty_member_publish.rb +1 -1
  566. data/lib/VoucherifySdk/models/loyalty_points_bucket.rb +1 -1
  567. data/lib/VoucherifySdk/models/loyalty_tiers_expiration_all.rb +1 -1
  568. data/lib/VoucherifySdk/models/management_projects_stacking_rules.rb +112 -9
  569. data/lib/VoucherifySdk/models/management_projects_stacking_rules_create_request_body.rb +116 -13
  570. data/lib/VoucherifySdk/models/management_projects_stacking_rules_create_response_body.rb +112 -9
  571. data/lib/VoucherifySdk/models/management_projects_stacking_rules_get_response_body.rb +112 -9
  572. data/lib/VoucherifySdk/models/management_projects_stacking_rules_update_request_body.rb +116 -13
  573. data/lib/VoucherifySdk/models/management_projects_stacking_rules_update_response_body.rb +112 -9
  574. data/lib/VoucherifySdk/models/management_projects_users_invite_create_request_body.rb +1 -1
  575. data/lib/VoucherifySdk/models/management_projects_users_update_role_request_body.rb +1 -1
  576. data/lib/VoucherifySdk/models/order.rb +1 -1
  577. data/lib/VoucherifySdk/models/order_calculated_item.rb +1 -1
  578. data/lib/VoucherifySdk/models/order_item.rb +1 -1
  579. data/lib/VoucherifySdk/models/orders_create_request_body.rb +1 -1
  580. data/lib/VoucherifySdk/models/orders_import_create_request_body_item.rb +15 -15
  581. data/lib/VoucherifySdk/models/orders_update_request_body.rb +1 -1
  582. data/lib/VoucherifySdk/models/parameter_filters_list_campaigns_campaign_status.rb +2 -1
  583. data/lib/VoucherifySdk/models/parameter_filters_list_campaigns_campaign_status_conditions.rb +1 -0
  584. data/lib/VoucherifySdk/models/parameter_filters_list_campaigns_category_ids.rb +1 -1
  585. data/lib/VoucherifySdk/models/parameter_filters_list_campaigns_is_referral_code.rb +1 -1
  586. data/lib/VoucherifySdk/models/parameters_filters_list_campaign_transactions.rb +247 -0
  587. data/lib/VoucherifySdk/models/product_collections_create_request_body.rb +2 -4
  588. data/lib/VoucherifySdk/models/products_skus_create_request_body.rb +1 -1
  589. data/lib/VoucherifySdk/models/products_skus_create_response_body.rb +1 -1
  590. data/lib/VoucherifySdk/models/products_skus_list_response_body.rb +1 -1
  591. data/lib/VoucherifySdk/models/products_skus_update_request_body.rb +1 -1
  592. data/lib/VoucherifySdk/models/promotion_tier_campaign.rb +1 -1
  593. data/lib/VoucherifySdk/models/promotions_tiers_create_response_body_campaign.rb +1 -1
  594. data/lib/VoucherifySdk/models/promotions_tiers_disable_response_body_campaign.rb +1 -1
  595. data/lib/VoucherifySdk/models/promotions_tiers_enable_response_body_campaign.rb +1 -1
  596. data/lib/VoucherifySdk/models/promotions_tiers_get_response_body_campaign.rb +1 -1
  597. data/lib/VoucherifySdk/models/promotions_tiers_update_response_body_campaign.rb +1 -1
  598. data/lib/VoucherifySdk/models/qualifications_check_eligibility_request_body.rb +12 -2
  599. data/lib/VoucherifySdk/models/qualifications_check_eligibility_request_body_session.rb +236 -0
  600. data/lib/VoucherifySdk/models/qualifications_option.rb +1 -1
  601. data/lib/VoucherifySdk/models/qualifications_option_filters_resource_type_conditions.rb +1 -1
  602. data/lib/VoucherifySdk/models/qualifications_redeemable.rb +1 -1
  603. data/lib/VoucherifySdk/models/qualifications_redeemable_base.rb +1 -1
  604. data/lib/VoucherifySdk/models/redeemable_gift.rb +18 -7
  605. data/lib/VoucherifySdk/models/redeemable_loyalty_card.rb +2 -2
  606. data/lib/VoucherifySdk/models/redeemable_result.rb +10 -1
  607. data/lib/VoucherifySdk/models/redeemable_voucher_gift.rb +14 -3
  608. data/lib/VoucherifySdk/models/redeemable_voucher_loyalty_card.rb +30 -8
  609. data/lib/VoucherifySdk/models/redeemable_voucher_publish.rb +1 -1
  610. data/lib/VoucherifySdk/models/redemption.rb +11 -1
  611. data/lib/VoucherifySdk/models/redemption_entry.rb +11 -1
  612. data/lib/VoucherifySdk/models/redemption_entry_promotion_tier_campaign.rb +1 -1
  613. data/lib/VoucherifySdk/models/redemption_entry_related_redemptions_rollbacks_item.rb +38 -4
  614. data/lib/VoucherifySdk/models/redemption_entry_session.rb +210 -0
  615. data/lib/VoucherifySdk/models/redemption_entry_voucher_gift.rb +14 -3
  616. data/lib/VoucherifySdk/models/redemption_entry_voucher_loyalty_card.rb +30 -8
  617. data/lib/VoucherifySdk/models/redemption_related_redemptions_rollbacks_item.rb +38 -4
  618. data/lib/VoucherifySdk/models/redemption_reward_result_parameters_campaign.rb +1 -1
  619. data/lib/VoucherifySdk/models/redemption_rollback.rb +15 -15
  620. data/lib/VoucherifySdk/models/redemption_session.rb +210 -0
  621. data/lib/VoucherifySdk/models/redemption_voucher_gift.rb +14 -3
  622. data/lib/VoucherifySdk/models/redemption_voucher_loyalty_card.rb +30 -8
  623. data/lib/VoucherifySdk/models/redemptions_get_response_body.rb +11 -1
  624. data/lib/VoucherifySdk/models/redemptions_get_response_body_promotion_tier_campaign.rb +1 -1
  625. data/lib/VoucherifySdk/models/redemptions_get_response_body_related_redemptions_rollbacks_item.rb +38 -4
  626. data/lib/VoucherifySdk/models/redemptions_get_response_body_session.rb +210 -0
  627. data/lib/VoucherifySdk/models/redemptions_get_response_body_voucher_gift.rb +14 -3
  628. data/lib/VoucherifySdk/models/redemptions_get_response_body_voucher_loyalty_card.rb +30 -8
  629. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item.rb +11 -1
  630. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item_promotion_tier_campaign.rb +1 -1
  631. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item_related_redemptions.rb +0 -1
  632. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item_related_redemptions_rollbacks_item.rb +38 -4
  633. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item_session.rb +210 -0
  634. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item_voucher_gift.rb +14 -3
  635. data/lib/VoucherifySdk/models/redemptions_list_response_body_redemptions_item_voucher_loyalty_card.rb +30 -8
  636. data/lib/VoucherifySdk/models/redemptions_redeem_request_body_options.rb +1 -1
  637. data/lib/VoucherifySdk/models/redemptions_redeem_request_body_redeemables_item_gift.rb +1 -1
  638. data/lib/VoucherifySdk/models/redemptions_rollback_create_response_body.rb +15 -15
  639. data/lib/VoucherifySdk/models/reward.rb +1 -1
  640. data/lib/VoucherifySdk/models/rewards_create_request_body.rb +1 -1
  641. data/lib/VoucherifySdk/models/rewards_create_request_body_parameters_campaign.rb +1 -1
  642. data/lib/VoucherifySdk/models/rewards_create_response_body.rb +1 -1
  643. data/lib/VoucherifySdk/models/rewards_update_request_body.rb +1 -1
  644. data/lib/VoucherifySdk/models/rewards_update_request_body_parameters_campaign.rb +1 -1
  645. data/lib/VoucherifySdk/models/rewards_update_response_body.rb +1 -1
  646. data/lib/VoucherifySdk/models/segments_create_request_body.rb +2 -2
  647. data/lib/VoucherifySdk/models/segments_create_response_body.rb +31 -20
  648. data/lib/VoucherifySdk/models/segments_get_response_body.rb +32 -21
  649. data/lib/VoucherifySdk/models/simple_loyalty_card.rb +30 -8
  650. data/lib/VoucherifySdk/models/simple_voucher_redemption.rb +16 -5
  651. data/lib/VoucherifySdk/models/stacking_rules.rb +72 -20
  652. data/lib/VoucherifySdk/models/templates_campaigns_campaign_setup_create_request_body.rb +3 -3
  653. data/lib/VoucherifySdk/models/trash_bin_item.rb +1 -1
  654. data/lib/VoucherifySdk/models/validation_rule.rb +11 -1
  655. data/lib/VoucherifySdk/models/validation_rules_create_request_body.rb +11 -1
  656. data/lib/VoucherifySdk/models/validation_rules_create_response_body.rb +11 -1
  657. data/lib/VoucherifySdk/models/validation_rules_get_response_body.rb +11 -1
  658. data/lib/VoucherifySdk/models/validation_rules_update_request_body.rb +11 -1
  659. data/lib/VoucherifySdk/models/validation_rules_update_response_body.rb +11 -1
  660. data/lib/VoucherifySdk/models/validations_redeemable_inapplicable_result.rb +14 -5
  661. data/lib/VoucherifySdk/models/validations_validate_request_body.rb +1 -1
  662. data/lib/VoucherifySdk/models/validations_validate_request_body_options.rb +1 -1
  663. data/lib/VoucherifySdk/models/validations_validate_request_body_redeemables_item_gift.rb +1 -1
  664. data/lib/VoucherifySdk/models/validations_validate_response_body.rb +12 -1
  665. data/lib/VoucherifySdk/models/validations_validate_response_body_redeemables_item_result.rb +11 -1
  666. data/lib/VoucherifySdk/models/validations_validate_response_body_redeemables_item_result_discount.rb +5 -2
  667. data/lib/VoucherifySdk/models/validations_validate_response_body_redeemables_item_result_gift.rb +14 -3
  668. data/lib/VoucherifySdk/models/validations_validate_response_body_redeemables_item_result_loyalty_card.rb +1 -0
  669. data/lib/VoucherifySdk/models/validity_hours.rb +1 -1
  670. data/lib/VoucherifySdk/models/validity_hours_daily_item.rb +1 -1
  671. data/lib/VoucherifySdk/models/voucher_balance.rb +12 -1
  672. data/lib/VoucherifySdk/models/voucher_gift.rb +14 -3
  673. data/lib/VoucherifySdk/models/voucher_loyalty_card.rb +30 -8
  674. data/lib/VoucherifySdk/models/voucher_transaction.rb +1 -1
  675. data/lib/VoucherifySdk/models/voucher_transaction_details_balance.rb +12 -1
  676. data/lib/VoucherifySdk/models/voucher_transactions_export_parameters.rb +1 -1
  677. data/lib/VoucherifySdk/models/voucher_transactions_filters.rb +1 -1
  678. data/lib/VoucherifySdk/models/voucher_with_categories_gift.rb +14 -3
  679. data/lib/VoucherifySdk/models/voucher_with_categories_loyalty_card.rb +30 -8
  680. data/lib/VoucherifySdk/models/vouchers_balance_update_request_body.rb +1 -1
  681. data/lib/VoucherifySdk/models/vouchers_balance_update_response_body.rb +2 -2
  682. data/lib/VoucherifySdk/models/vouchers_create_request_body.rb +2 -2
  683. data/lib/VoucherifySdk/models/vouchers_create_response_body_gift.rb +14 -3
  684. data/lib/VoucherifySdk/models/vouchers_create_response_body_loyalty_card.rb +30 -8
  685. data/lib/VoucherifySdk/models/vouchers_create_with_specific_code_request_body.rb +2 -2
  686. data/lib/VoucherifySdk/models/vouchers_disable_response_body_gift.rb +14 -3
  687. data/lib/VoucherifySdk/models/vouchers_disable_response_body_loyalty_card.rb +30 -8
  688. data/lib/VoucherifySdk/models/vouchers_enable_response_body_gift.rb +14 -3
  689. data/lib/VoucherifySdk/models/vouchers_enable_response_body_loyalty_card.rb +30 -8
  690. data/lib/VoucherifySdk/models/vouchers_get_response_body_gift.rb +14 -3
  691. data/lib/VoucherifySdk/models/vouchers_get_response_body_loyalty_card.rb +30 -8
  692. data/lib/VoucherifySdk/models/vouchers_import_create_item_request_body.rb +1 -1
  693. data/lib/VoucherifySdk/models/vouchers_transactions_export_create_response_body_result.rb +1 -1
  694. data/lib/VoucherifySdk/models/vouchers_update_request_body.rb +2 -2
  695. data/lib/VoucherifySdk/models/vouchers_update_response_body_gift.rb +14 -3
  696. data/lib/VoucherifySdk/models/vouchers_update_response_body_loyalty_card.rb +30 -8
  697. data/lib/VoucherifySdk/version.rb +1 -1
  698. data/lib/VoucherifySdk.rb +55 -0
  699. metadata +147 -33
@@ -0,0 +1,673 @@
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
+ class CampaignsSummaryGetResponseBody
18
+ # The type of the object, which is `campaign_summary`.
19
+ attr_accessor :object
20
+
21
+ attr_accessor :campaign
22
+
23
+ # Total number of redemptions, which includes successful and failed redemptions.
24
+ attr_accessor :redemptions
25
+
26
+ # Total number of successful redemptions.
27
+ attr_accessor :redemptions_succeeded
28
+
29
+ # Total number of failed redemptions.
30
+ attr_accessor :redemptions_failed
31
+
32
+ # Total number of rollbacks, which includes successful and failed rollbacks.
33
+ attr_accessor :rollbacks
34
+
35
+ # Total number of successful rollbacks.
36
+ attr_accessor :rollbacks_succeeded
37
+
38
+ # Total number of failed rollbacks.
39
+ attr_accessor :rollbacks_failed
40
+
41
+ # Total number of validations, which includes successful and failed validations.
42
+ attr_accessor :validations
43
+
44
+ # Total number of successful validations.
45
+ attr_accessor :validations_succeeded
46
+
47
+ # Total number of failed validations.
48
+ attr_accessor :validations_failed
49
+
50
+ # Total amount of orders related to the campaign. This amount is not reduced by `orders_rolledback_amount`. The value is multiplied by `100` to precisely represent 2 decimal places. For example, `$10` is represented as `1000`.
51
+ attr_accessor :orders_amount
52
+
53
+ # Total amount of orders that were rolled back and are related to the campaign. The value is multiplied by `100` to precisely represent 2 decimal places. For example, `$10` is represented as `1000`.
54
+ attr_accessor :orders_rolledback_amount
55
+
56
+ # Total number of vouchers created within the campaign. Includes vouchers generated when the campaign was created, vouchers added manually, or vouchers generated automatically when a new customer joined the campaign.
57
+ attr_accessor :vouchers_created
58
+
59
+ # Total number of vouchers deleted within the campaign. Includes vouchers moved to the bin and vouchers deleted permanently. Vouchers moved to the bin and then deleted permanently are counted once.
60
+ attr_accessor :vouchers_deleted
61
+
62
+ # Total number of publications, which includes successful and failed publications.
63
+ attr_accessor :publications
64
+
65
+ # Total number of successful publications.
66
+ attr_accessor :publications_succeeded
67
+
68
+ # Total number of failed publications.
69
+ attr_accessor :publications_failed
70
+
71
+ # Total amount of discounts related to the campaign. This amount is not reduced by the `rolledback_discounted_amount`. The value is multiplied by `100` to precisely represent 2 decimal places. For example, `$10` is represented as `1000`.
72
+ attr_accessor :discounted_amount
73
+
74
+ # Total amount of discounts orders that were rolled back and are related to the campaign. The value is multiplied by `100` to precisely represent 2 decimal places. For example, `$10` is represented as `1000`.
75
+ attr_accessor :rolledback_discounted_amount
76
+
77
+ # The total credit amount for all created gift cards. The value is multiplied by `100` to precisely represent 2 decimal places. For example, `$10` is represented as `1000`.
78
+ attr_accessor :created_vouchers_amount
79
+
80
+ # The total credit amount that was added. The value is multiplied by `100` to precisely represent 2 decimal places. For example, `$10` is represented as `1000`.
81
+ attr_accessor :amount_added
82
+
83
+ # The total credit amount that was deleted by deleting gift cards. The value is multiplied by `100` to precisely represent 2 decimal places. For example, `$10` is represented as `1000`.
84
+ attr_accessor :amount_deleted
85
+
86
+ # The total credit amount that was redeemed. This amount is not reduced by the `amount_rolledback`. The value is multiplied by `100` to precisely represent 2 decimal places. For example, `$10` is represented as `1000`.
87
+ attr_accessor :amount_redeemed
88
+
89
+ # The total credit amount that was rolled back. The value is multiplied by `100` to precisely represent 2 decimal places. For example, `$10` is represented as `1000`.
90
+ attr_accessor :amount_rolledback
91
+
92
+ # The total credit amount that was subtracted. The value is multiplied by `100` to precisely represent 2 decimal places. For example, `$10` is represented as `1000`.
93
+ attr_accessor :amount_subtracted
94
+
95
+ # Total number of points added to newly created loyalty cards. This also counts points added for the loyalty cards which are created by importing a CSV file to a campaign.
96
+ attr_accessor :created_vouchers_points
97
+
98
+ # Total number of points that were deleted.
99
+ attr_accessor :points_deleted
100
+
101
+ # Total number of points that were subtracted.
102
+ attr_accessor :points_subtracted
103
+
104
+ # Total number of points that were added. This includes points added manually or automatically by redeeming a reward that adds loyalty points to cards in this campaign.
105
+ attr_accessor :points_added
106
+
107
+ # Total number of points that were rewarded to loyalty cards through earning rules. This includes pending points that were activated.
108
+ attr_accessor :points_rewarded
109
+
110
+ # Total number of points that were redeemed for rewards.
111
+ attr_accessor :points_redeemed
112
+
113
+ # Total number of points that were rolled back for reward redemptions.
114
+ attr_accessor :points_rolledback
115
+
116
+ # Total number of points that have expired.
117
+ attr_accessor :points_expired
118
+
119
+ # Total number of points transferred out of loyalty cards covered by the campaign.
120
+ attr_accessor :points_transferred_out
121
+
122
+ # Total number of points transferred into loyalty cards covered by the campaign.
123
+ attr_accessor :points_transferred_in
124
+
125
+ # Total number of pending points that were added either as part of earning rules or added manually to an existing pending point bucket. Pending points that were activated manually or automatically or that were canceled do not affect this number.
126
+ attr_accessor :pending_points_added
127
+
128
+ # Total number of pending points that were subtracted from existing pending point buckets.
129
+ attr_accessor :pending_points_subtracted
130
+
131
+ # Total number of pending points that were activated manually or automatically.
132
+ attr_accessor :pending_points_activated
133
+
134
+ # Total number of pending points that were canceled.
135
+ attr_accessor :pending_points_canceled
136
+
137
+ # Total number of all referred customers.
138
+ attr_accessor :referred_customers
139
+
140
+ class EnumAttributeValidator
141
+ attr_reader :datatype
142
+ attr_reader :allowable_values
143
+
144
+ def initialize(datatype, allowable_values)
145
+ @allowable_values = allowable_values.map do |value|
146
+ case datatype.to_s
147
+ when /Integer/i
148
+ value.to_i
149
+ when /Float/i
150
+ value.to_f
151
+ else
152
+ value
153
+ end
154
+ end
155
+ end
156
+
157
+ def valid?(value)
158
+ !value || allowable_values.include?(value)
159
+ end
160
+ end
161
+
162
+ # Attribute mapping from ruby-style variable name to JSON key.
163
+ def self.attribute_map
164
+ {
165
+ :'object' => :'object',
166
+ :'campaign' => :'campaign',
167
+ :'redemptions' => :'redemptions',
168
+ :'redemptions_succeeded' => :'redemptions_succeeded',
169
+ :'redemptions_failed' => :'redemptions_failed',
170
+ :'rollbacks' => :'rollbacks',
171
+ :'rollbacks_succeeded' => :'rollbacks_succeeded',
172
+ :'rollbacks_failed' => :'rollbacks_failed',
173
+ :'validations' => :'validations',
174
+ :'validations_succeeded' => :'validations_succeeded',
175
+ :'validations_failed' => :'validations_failed',
176
+ :'orders_amount' => :'orders_amount',
177
+ :'orders_rolledback_amount' => :'orders_rolledback_amount',
178
+ :'vouchers_created' => :'vouchers_created',
179
+ :'vouchers_deleted' => :'vouchers_deleted',
180
+ :'publications' => :'publications',
181
+ :'publications_succeeded' => :'publications_succeeded',
182
+ :'publications_failed' => :'publications_failed',
183
+ :'discounted_amount' => :'discounted_amount',
184
+ :'rolledback_discounted_amount' => :'rolledback_discounted_amount',
185
+ :'created_vouchers_amount' => :'created_vouchers_amount',
186
+ :'amount_added' => :'amount_added',
187
+ :'amount_deleted' => :'amount_deleted',
188
+ :'amount_redeemed' => :'amount_redeemed',
189
+ :'amount_rolledback' => :'amount_rolledback',
190
+ :'amount_subtracted' => :'amount_subtracted',
191
+ :'created_vouchers_points' => :'created_vouchers_points',
192
+ :'points_deleted' => :'points_deleted',
193
+ :'points_subtracted' => :'points_subtracted',
194
+ :'points_added' => :'points_added',
195
+ :'points_rewarded' => :'points_rewarded',
196
+ :'points_redeemed' => :'points_redeemed',
197
+ :'points_rolledback' => :'points_rolledback',
198
+ :'points_expired' => :'points_expired',
199
+ :'points_transferred_out' => :'points_transferred_out',
200
+ :'points_transferred_in' => :'points_transferred_in',
201
+ :'pending_points_added' => :'pending_points_added',
202
+ :'pending_points_subtracted' => :'pending_points_subtracted',
203
+ :'pending_points_activated' => :'pending_points_activated',
204
+ :'pending_points_canceled' => :'pending_points_canceled',
205
+ :'referred_customers' => :'referred_customers'
206
+ }
207
+ end
208
+
209
+ # Returns all the JSON keys this model knows about
210
+ def self.acceptable_attributes
211
+ attribute_map.values
212
+ end
213
+
214
+ # Attribute type mapping.
215
+ def self.openapi_types
216
+ {
217
+ :'object' => :'String',
218
+ :'campaign' => :'CampaignBase',
219
+ :'redemptions' => :'Integer',
220
+ :'redemptions_succeeded' => :'Integer',
221
+ :'redemptions_failed' => :'Integer',
222
+ :'rollbacks' => :'Integer',
223
+ :'rollbacks_succeeded' => :'Integer',
224
+ :'rollbacks_failed' => :'Integer',
225
+ :'validations' => :'Integer',
226
+ :'validations_succeeded' => :'Integer',
227
+ :'validations_failed' => :'Integer',
228
+ :'orders_amount' => :'Integer',
229
+ :'orders_rolledback_amount' => :'Integer',
230
+ :'vouchers_created' => :'Integer',
231
+ :'vouchers_deleted' => :'Integer',
232
+ :'publications' => :'Integer',
233
+ :'publications_succeeded' => :'Integer',
234
+ :'publications_failed' => :'Integer',
235
+ :'discounted_amount' => :'Integer',
236
+ :'rolledback_discounted_amount' => :'Integer',
237
+ :'created_vouchers_amount' => :'Integer',
238
+ :'amount_added' => :'Integer',
239
+ :'amount_deleted' => :'Integer',
240
+ :'amount_redeemed' => :'Integer',
241
+ :'amount_rolledback' => :'Integer',
242
+ :'amount_subtracted' => :'Integer',
243
+ :'created_vouchers_points' => :'Integer',
244
+ :'points_deleted' => :'Integer',
245
+ :'points_subtracted' => :'Integer',
246
+ :'points_added' => :'Integer',
247
+ :'points_rewarded' => :'Integer',
248
+ :'points_redeemed' => :'Integer',
249
+ :'points_rolledback' => :'Integer',
250
+ :'points_expired' => :'Integer',
251
+ :'points_transferred_out' => :'Integer',
252
+ :'points_transferred_in' => :'Integer',
253
+ :'pending_points_added' => :'Integer',
254
+ :'pending_points_subtracted' => :'Integer',
255
+ :'pending_points_activated' => :'Integer',
256
+ :'pending_points_canceled' => :'Integer',
257
+ :'referred_customers' => :'Integer'
258
+ }
259
+ end
260
+
261
+ # List of attributes with nullable: true
262
+ def self.openapi_nullable
263
+ Set.new([
264
+ :'object',
265
+ :'redemptions',
266
+ :'redemptions_succeeded',
267
+ :'redemptions_failed',
268
+ :'rollbacks',
269
+ :'rollbacks_succeeded',
270
+ :'rollbacks_failed',
271
+ :'validations',
272
+ :'validations_succeeded',
273
+ :'validations_failed',
274
+ :'orders_amount',
275
+ :'orders_rolledback_amount',
276
+ :'vouchers_created',
277
+ :'vouchers_deleted',
278
+ :'publications',
279
+ :'publications_succeeded',
280
+ :'publications_failed',
281
+ :'discounted_amount',
282
+ :'rolledback_discounted_amount',
283
+ :'created_vouchers_amount',
284
+ :'amount_added',
285
+ :'amount_deleted',
286
+ :'amount_redeemed',
287
+ :'amount_rolledback',
288
+ :'amount_subtracted',
289
+ :'created_vouchers_points',
290
+ :'points_deleted',
291
+ :'points_subtracted',
292
+ :'points_added',
293
+ :'points_rewarded',
294
+ :'points_redeemed',
295
+ :'points_rolledback',
296
+ :'points_expired',
297
+ :'points_transferred_out',
298
+ :'points_transferred_in',
299
+ :'pending_points_added',
300
+ :'pending_points_subtracted',
301
+ :'pending_points_activated',
302
+ :'pending_points_canceled',
303
+ :'referred_customers'
304
+ ])
305
+ end
306
+
307
+ # Initializes the object
308
+ # @param [Hash] attributes Model attributes in the form of hash
309
+ def initialize(attributes = {})
310
+ # check to see if the attribute exists and convert string to symbol for hash key
311
+ attributes = attributes.each_with_object({}) { |(k, v), h|
312
+ h[k.to_sym] = v
313
+ }
314
+
315
+ if attributes.key?(:'object')
316
+ self.object = attributes[:'object']
317
+ else
318
+ self.object = 'campaign_summary'
319
+ end
320
+
321
+ if attributes.key?(:'campaign')
322
+ self.campaign = attributes[:'campaign']
323
+ end
324
+
325
+ if attributes.key?(:'redemptions')
326
+ self.redemptions = attributes[:'redemptions']
327
+ end
328
+
329
+ if attributes.key?(:'redemptions_succeeded')
330
+ self.redemptions_succeeded = attributes[:'redemptions_succeeded']
331
+ end
332
+
333
+ if attributes.key?(:'redemptions_failed')
334
+ self.redemptions_failed = attributes[:'redemptions_failed']
335
+ end
336
+
337
+ if attributes.key?(:'rollbacks')
338
+ self.rollbacks = attributes[:'rollbacks']
339
+ end
340
+
341
+ if attributes.key?(:'rollbacks_succeeded')
342
+ self.rollbacks_succeeded = attributes[:'rollbacks_succeeded']
343
+ end
344
+
345
+ if attributes.key?(:'rollbacks_failed')
346
+ self.rollbacks_failed = attributes[:'rollbacks_failed']
347
+ end
348
+
349
+ if attributes.key?(:'validations')
350
+ self.validations = attributes[:'validations']
351
+ end
352
+
353
+ if attributes.key?(:'validations_succeeded')
354
+ self.validations_succeeded = attributes[:'validations_succeeded']
355
+ end
356
+
357
+ if attributes.key?(:'validations_failed')
358
+ self.validations_failed = attributes[:'validations_failed']
359
+ end
360
+
361
+ if attributes.key?(:'orders_amount')
362
+ self.orders_amount = attributes[:'orders_amount']
363
+ end
364
+
365
+ if attributes.key?(:'orders_rolledback_amount')
366
+ self.orders_rolledback_amount = attributes[:'orders_rolledback_amount']
367
+ end
368
+
369
+ if attributes.key?(:'vouchers_created')
370
+ self.vouchers_created = attributes[:'vouchers_created']
371
+ end
372
+
373
+ if attributes.key?(:'vouchers_deleted')
374
+ self.vouchers_deleted = attributes[:'vouchers_deleted']
375
+ end
376
+
377
+ if attributes.key?(:'publications')
378
+ self.publications = attributes[:'publications']
379
+ end
380
+
381
+ if attributes.key?(:'publications_succeeded')
382
+ self.publications_succeeded = attributes[:'publications_succeeded']
383
+ end
384
+
385
+ if attributes.key?(:'publications_failed')
386
+ self.publications_failed = attributes[:'publications_failed']
387
+ end
388
+
389
+ if attributes.key?(:'discounted_amount')
390
+ self.discounted_amount = attributes[:'discounted_amount']
391
+ end
392
+
393
+ if attributes.key?(:'rolledback_discounted_amount')
394
+ self.rolledback_discounted_amount = attributes[:'rolledback_discounted_amount']
395
+ end
396
+
397
+ if attributes.key?(:'created_vouchers_amount')
398
+ self.created_vouchers_amount = attributes[:'created_vouchers_amount']
399
+ end
400
+
401
+ if attributes.key?(:'amount_added')
402
+ self.amount_added = attributes[:'amount_added']
403
+ end
404
+
405
+ if attributes.key?(:'amount_deleted')
406
+ self.amount_deleted = attributes[:'amount_deleted']
407
+ end
408
+
409
+ if attributes.key?(:'amount_redeemed')
410
+ self.amount_redeemed = attributes[:'amount_redeemed']
411
+ end
412
+
413
+ if attributes.key?(:'amount_rolledback')
414
+ self.amount_rolledback = attributes[:'amount_rolledback']
415
+ end
416
+
417
+ if attributes.key?(:'amount_subtracted')
418
+ self.amount_subtracted = attributes[:'amount_subtracted']
419
+ end
420
+
421
+ if attributes.key?(:'created_vouchers_points')
422
+ self.created_vouchers_points = attributes[:'created_vouchers_points']
423
+ end
424
+
425
+ if attributes.key?(:'points_deleted')
426
+ self.points_deleted = attributes[:'points_deleted']
427
+ end
428
+
429
+ if attributes.key?(:'points_subtracted')
430
+ self.points_subtracted = attributes[:'points_subtracted']
431
+ end
432
+
433
+ if attributes.key?(:'points_added')
434
+ self.points_added = attributes[:'points_added']
435
+ end
436
+
437
+ if attributes.key?(:'points_rewarded')
438
+ self.points_rewarded = attributes[:'points_rewarded']
439
+ end
440
+
441
+ if attributes.key?(:'points_redeemed')
442
+ self.points_redeemed = attributes[:'points_redeemed']
443
+ end
444
+
445
+ if attributes.key?(:'points_rolledback')
446
+ self.points_rolledback = attributes[:'points_rolledback']
447
+ end
448
+
449
+ if attributes.key?(:'points_expired')
450
+ self.points_expired = attributes[:'points_expired']
451
+ end
452
+
453
+ if attributes.key?(:'points_transferred_out')
454
+ self.points_transferred_out = attributes[:'points_transferred_out']
455
+ end
456
+
457
+ if attributes.key?(:'points_transferred_in')
458
+ self.points_transferred_in = attributes[:'points_transferred_in']
459
+ end
460
+
461
+ if attributes.key?(:'pending_points_added')
462
+ self.pending_points_added = attributes[:'pending_points_added']
463
+ end
464
+
465
+ if attributes.key?(:'pending_points_subtracted')
466
+ self.pending_points_subtracted = attributes[:'pending_points_subtracted']
467
+ end
468
+
469
+ if attributes.key?(:'pending_points_activated')
470
+ self.pending_points_activated = attributes[:'pending_points_activated']
471
+ end
472
+
473
+ if attributes.key?(:'pending_points_canceled')
474
+ self.pending_points_canceled = attributes[:'pending_points_canceled']
475
+ end
476
+
477
+ if attributes.key?(:'referred_customers')
478
+ self.referred_customers = attributes[:'referred_customers']
479
+ end
480
+ end
481
+
482
+ # Show invalid properties with the reasons. Usually used together with valid?
483
+ # @return Array for valid properties with the reasons
484
+ def list_invalid_properties
485
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
486
+ invalid_properties = Array.new
487
+ invalid_properties
488
+ end
489
+
490
+ # Check to see if the all the properties in the model are valid
491
+ # @return true if the model is valid
492
+ def valid?
493
+ warn '[DEPRECATED] the `valid?` method is obsolete'
494
+ object_validator = EnumAttributeValidator.new('String', ["campaign_summary"])
495
+ return false unless object_validator.valid?(@object)
496
+ true
497
+ end
498
+
499
+ # Checks equality by comparing each attribute.
500
+ # @param [Object] Object to be compared
501
+ def ==(o)
502
+ return true if self.equal?(o)
503
+ self.class == o.class &&
504
+ object == o.object &&
505
+ campaign == o.campaign &&
506
+ redemptions == o.redemptions &&
507
+ redemptions_succeeded == o.redemptions_succeeded &&
508
+ redemptions_failed == o.redemptions_failed &&
509
+ rollbacks == o.rollbacks &&
510
+ rollbacks_succeeded == o.rollbacks_succeeded &&
511
+ rollbacks_failed == o.rollbacks_failed &&
512
+ validations == o.validations &&
513
+ validations_succeeded == o.validations_succeeded &&
514
+ validations_failed == o.validations_failed &&
515
+ orders_amount == o.orders_amount &&
516
+ orders_rolledback_amount == o.orders_rolledback_amount &&
517
+ vouchers_created == o.vouchers_created &&
518
+ vouchers_deleted == o.vouchers_deleted &&
519
+ publications == o.publications &&
520
+ publications_succeeded == o.publications_succeeded &&
521
+ publications_failed == o.publications_failed &&
522
+ discounted_amount == o.discounted_amount &&
523
+ rolledback_discounted_amount == o.rolledback_discounted_amount &&
524
+ created_vouchers_amount == o.created_vouchers_amount &&
525
+ amount_added == o.amount_added &&
526
+ amount_deleted == o.amount_deleted &&
527
+ amount_redeemed == o.amount_redeemed &&
528
+ amount_rolledback == o.amount_rolledback &&
529
+ amount_subtracted == o.amount_subtracted &&
530
+ created_vouchers_points == o.created_vouchers_points &&
531
+ points_deleted == o.points_deleted &&
532
+ points_subtracted == o.points_subtracted &&
533
+ points_added == o.points_added &&
534
+ points_rewarded == o.points_rewarded &&
535
+ points_redeemed == o.points_redeemed &&
536
+ points_rolledback == o.points_rolledback &&
537
+ points_expired == o.points_expired &&
538
+ points_transferred_out == o.points_transferred_out &&
539
+ points_transferred_in == o.points_transferred_in &&
540
+ pending_points_added == o.pending_points_added &&
541
+ pending_points_subtracted == o.pending_points_subtracted &&
542
+ pending_points_activated == o.pending_points_activated &&
543
+ pending_points_canceled == o.pending_points_canceled &&
544
+ referred_customers == o.referred_customers
545
+ end
546
+
547
+ # @see the `==` method
548
+ # @param [Object] Object to be compared
549
+ def eql?(o)
550
+ self == o
551
+ end
552
+
553
+ # Calculates hash code according to all attributes.
554
+ # @return [Integer] Hash code
555
+ def hash
556
+ [object, campaign, redemptions, redemptions_succeeded, redemptions_failed, rollbacks, rollbacks_succeeded, rollbacks_failed, validations, validations_succeeded, validations_failed, orders_amount, orders_rolledback_amount, vouchers_created, vouchers_deleted, publications, publications_succeeded, publications_failed, discounted_amount, rolledback_discounted_amount, created_vouchers_amount, amount_added, amount_deleted, amount_redeemed, amount_rolledback, amount_subtracted, created_vouchers_points, points_deleted, points_subtracted, points_added, points_rewarded, points_redeemed, points_rolledback, points_expired, points_transferred_out, points_transferred_in, pending_points_added, pending_points_subtracted, pending_points_activated, pending_points_canceled, referred_customers].hash
557
+ end
558
+
559
+ # Builds the object from hash
560
+ # @param [Hash] attributes Model attributes in the form of hash
561
+ # @return [Object] Returns the model itself
562
+ def self.build_from_hash(attributes)
563
+ return nil unless attributes.is_a?(Hash)
564
+ attributes = attributes.transform_keys(&:to_sym)
565
+ transformed_hash = {}
566
+ openapi_types.each_pair do |key, type|
567
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
568
+ transformed_hash["#{key}"] = nil
569
+ elsif type =~ /\AArray<(.*)>/i
570
+ # check to ensure the input is an array given that the attribute
571
+ # is documented as an array but the input is not
572
+ if attributes[attribute_map[key]].is_a?(Array)
573
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
574
+ end
575
+ elsif !attributes[attribute_map[key]].nil?
576
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
577
+ end
578
+ end
579
+ new(transformed_hash)
580
+ end
581
+
582
+ # Deserializes the data based on type
583
+ # @param string type Data type
584
+ # @param string value Value to be deserialized
585
+ # @return [Object] Deserialized data
586
+ def self._deserialize(type, value)
587
+ case type.to_sym
588
+ when :Time
589
+ Time.parse(value)
590
+ when :Date
591
+ Date.parse(value)
592
+ when :String
593
+ value.to_s
594
+ when :Integer
595
+ value.to_i
596
+ when :Float
597
+ value.to_f
598
+ when :Boolean
599
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
600
+ true
601
+ else
602
+ false
603
+ end
604
+ when :Object
605
+ # generic object (usually a Hash), return directly
606
+ value
607
+ when /\AArray<(?<inner_type>.+)>\z/
608
+ inner_type = Regexp.last_match[:inner_type]
609
+ value.map { |v| _deserialize(inner_type, v) }
610
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
611
+ k_type = Regexp.last_match[:k_type]
612
+ v_type = Regexp.last_match[:v_type]
613
+ {}.tap do |hash|
614
+ value.each do |k, v|
615
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
616
+ end
617
+ end
618
+ else # model
619
+ # models (e.g. Pet) or oneOf
620
+ klass = VoucherifySdk.const_get(type)
621
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
622
+ end
623
+ end
624
+
625
+ # Returns the string representation of the object
626
+ # @return [String] String presentation of the object
627
+ def to_s
628
+ to_hash.to_s
629
+ end
630
+
631
+ # to_body is an alias to to_hash (backward compatibility)
632
+ # @return [Hash] Returns the object in the form of hash
633
+ def to_body
634
+ to_hash
635
+ end
636
+
637
+ # Returns the object in the form of hash
638
+ # @return [Hash] Returns the object in the form of hash
639
+ def to_hash
640
+ hash = {}
641
+ self.class.attribute_map.each_pair do |attr, param|
642
+ value = self.send(attr)
643
+ if value.nil?
644
+ is_nullable = self.class.openapi_nullable.include?(attr)
645
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
646
+ end
647
+
648
+ hash[param] = _to_hash(value)
649
+ end
650
+ hash
651
+ end
652
+
653
+ # Outputs non-array value in the form of hash
654
+ # For object, use to_hash. Otherwise, just return the value
655
+ # @param [Object] value Any valid value
656
+ # @return [Hash] Returns the value in the form of hash
657
+ def _to_hash(value)
658
+ if value.is_a?(Array)
659
+ value.compact.map { |v| _to_hash(v) }
660
+ elsif value.is_a?(Hash)
661
+ {}.tap do |hash|
662
+ value.each { |k, v| hash[k] = _to_hash(v) }
663
+ end
664
+ elsif value.respond_to? :to_hash
665
+ value.to_hash
666
+ else
667
+ value
668
+ end
669
+ end
670
+
671
+ end
672
+
673
+ end