defmodule ISO20022.Camt053.EntryDetails do
@moduledoc """
Optional transaction-level detail block from `<NtryDtls>`.
An entry may carry multiple `EntryDetails` (rare) and each may carry multiple
`TransactionDetails` — this is the standard way banks represent batch payments
where one entry covers many underlying transactions.
`batch` is present when `<Btch>` is included, indicating this is a grouped entry.
"""
alias ISO20022.Camt053.TransactionDetails
@type batch :: %{
message_id: String.t() | nil,
payment_info_id: String.t() | nil,
number_of_transactions: non_neg_integer() | nil,
total_amount: Decimal.t() | nil
}
@type t :: %__MODULE__{
batch: batch() | nil,
transaction_details: [TransactionDetails.t()]
}
defstruct [:batch, transaction_details: []]
end