# frozen_string_literal: true

# This file is generated. Do not edit.

require "structure"

module Peddler
  module Types
    module VendorInvoicesV1
      # References required in order to process a credit note. This information is required only if InvoiceType is
      # CreditNote.
      CreditNoteDetails = Structure.new do
        # @return [String] Identifies the consignor reference number (VRET number), if generated by Amazon.
        attribute?(:consignors_reference_number, String, from: "consignorsReferenceNumber")

        # @return [String] Identifies the COOP reference used for COOP agreement. Failure to provide the COOP reference
        # number or the Debit Note number may lead to a rejection of the Credit Note.
        attribute?(:coop_reference_number, String, from: "coopReferenceNumber")

        # @return [String] Debit Note Number as generated by Amazon. Recommended for Returns and COOP Credit Notes.
        attribute?(:debit_note_number, String, from: "debitNoteNumber")

        # @return [String] Date that a return is received by the vendor. It is mandatory for Returns Credit Note.
        attribute?(:goods_return_date, String, from: "goodsReturnDate")

        # @return [String] Original Invoice Number when sending a credit note relating to an existing invoice. One
        # Invoice only to be processed per Credit Note. This is mandatory for AP Credit Notes.
        attribute?(:reference_invoice_number, String, from: "referenceInvoiceNumber")

        # @return [String] Identifies the Returns Notice Number. Mandatory for all Returns Credit Notes.
        attribute?(:returns_reference_number, String, from: "returnsReferenceNumber")

        # @return [String] Identifies the Returned Merchandise Authorization ID, if generated.
        attribute?(:rma_id, String, from: "rmaId")
      end
    end
  end
end
