# frozen_string_literal: true module YouCanBookMe class Purchase include ModelUtils ASSOCIATION = { account: Account, nameAndAddress: NameAndAddress, transactions: Transaction, transactionsSorted: Transaction }.freeze # @return [YouCanBookMe::Account] attr_accessor :account # @return [Integer] attr_accessor :accountDiscount # @return [String] attr_accessor :accountId # @return [Boolean] attr_accessor :active # @return [Integer] attr_accessor :additionalDiscount # @return [Integer] attr_accessor :additionalDiscountPermyriadRequested # @return [String] attr_accessor :addressHibernate # @return [Integer] attr_accessor :afterDiscounts # @return [Integer] attr_accessor :balance # @return [Integer] attr_accessor :beforeDiscounts # @return [String] attr_accessor :cardId # @return [String] attr_accessor :cityHibernate # @return [String] attr_accessor :countryHibernate # @return [String] attr_accessor :createdAt # @return [String] attr_accessor :currency # @return [Integer] attr_accessor :currencyFactor # @return [String] attr_accessor :date # @return [String] attr_accessor :displayLocale # @return [String] attr_accessor :familyNameHibernate # @return [String] attr_accessor :givenNameHibernate # @return [Integer] attr_accessor :gross # @return [Boolean] attr_accessor :hasTax # @return [String] attr_accessor :id # @return [Boolean] attr_accessor :liableForVAT # @return [String] attr_accessor :localAccountId # @return [Integer] attr_accessor :longPeriodDiscount # @return [Integer] attr_accessor :months # @return [YouCanBookMe::NameAndAddress] attr_accessor :nameAndAddress # @return [Boolean] attr_accessor :needsPayment # @return [Integer] attr_accessor :net # @return [String] attr_accessor :number # @return [String] attr_accessor :organizationNameHibernate # @return [Integer] attr_accessor :payment # @return [String] attr_accessor :paymentIntentId # @return [String] attr_accessor :postalCodeHibernate # @return [Integer] attr_accessor :proRataPermyriadUsed # @return [String] attr_accessor :product # @return [String] attr_accessor :provisionEnd # @return [String] attr_accessor :provisionStart # @return [Integer] attr_accessor :quantity # @return [String] attr_accessor :refundCode # @return [String] attr_accessor :regionHibernate # @return [String] # ['setUpDispute', 'writeOff', 'retryPayment', 'refund'] attr_accessor :requestedAction # @return [Boolean] attr_accessor :retryPayment # @return [String] # ['ONGOING', 'PREVIEW', 'PERSIST', 'DAEMON', 'CHECKOUT', 'REAL', 'ONGOING_PREVIEW', 'RAW'] attr_accessor :setUpMode # @return [Integer] attr_accessor :shortPeriodDiscount # @return [String] attr_accessor :status # @return [Integer] attr_accessor :tax # @return [String] attr_accessor :taxNumber # @return [Integer] attr_accessor :totalDiscount # @return [Array] attr_accessor :transactions # @return [Array] attr_accessor :transactionsSorted # @return [String] # ['PURCHASE', 'RETURN', 'CASH_OUT', 'REVERSED_CHARGE', 'UNKNOWN'] attr_accessor :type # @return [Integer] attr_accessor :unitPrice # @return [String] attr_accessor :updatedAt # @return [Integer] attr_accessor :volumeDiscount end end