go-firefly3/model_transaction_split.go
2024-04-10 12:14:55 +03:00

125 lines
7.4 KiB
Go

/*
* Firefly III API v2.0.12
*
* This is the documentation of the Firefly III API. You can find accompanying documentation on the website of Firefly III itself (see below). Please report any bugs or issues. You may use the \"Authorize\" button to try the API below. This file was last generated on 2024-03-16T05:34:43+00:00 Please keep in mind that the demo site does not accept requests from curl, colly, wget, etc. You must use a browser or a tool like Postman to make requests. Too many script kiddies out there, sorry about that.
*
* API version: 2.0.12
* Contact: james@firefly-iii.org
* Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git)
*/
package firefly3
import (
"time"
)
type TransactionSplit struct {
// User ID
User string `json:"user,omitempty"`
// ID of the underlying transaction journal. Each transaction consists of a transaction group (see the top ID) and one or more journals making up the splits of the transaction.
TransactionJournalId string `json:"transaction_journal_id,omitempty"`
Type_ *TransactionTypeProperty `json:"type"`
// Date of the transaction
Date time.Time `json:"date"`
// Order of this entry in the list of transactions.
Order int32 `json:"order,omitempty"`
// Currency ID. Default is the source account's currency, or the user's default currency. Can be used instead of currency_code.
CurrencyId string `json:"currency_id,omitempty"`
// Currency code. Default is the source account's currency, or the user's default currency. Can be used instead of currency_id.
CurrencyCode string `json:"currency_code,omitempty"`
CurrencySymbol string `json:"currency_symbol,omitempty"`
CurrencyName string `json:"currency_name,omitempty"`
// Number of decimals used in this currency.
CurrencyDecimalPlaces int32 `json:"currency_decimal_places,omitempty"`
// Currency ID of the foreign currency. Default is null. Is required when you submit a foreign amount.
ForeignCurrencyId string `json:"foreign_currency_id,omitempty"`
// Currency code of the foreign currency. Default is NULL. Can be used instead of the foreign_currency_id, but this or the ID is required when submitting a foreign amount.
ForeignCurrencyCode string `json:"foreign_currency_code,omitempty"`
ForeignCurrencySymbol string `json:"foreign_currency_symbol,omitempty"`
// Number of decimals in the currency
ForeignCurrencyDecimalPlaces int32 `json:"foreign_currency_decimal_places,omitempty"`
// Amount of the transaction.
Amount string `json:"amount"`
// The amount in a foreign currency.
ForeignAmount string `json:"foreign_amount,omitempty"`
// Description of the transaction.
Description string `json:"description"`
// ID of the source account. For a withdrawal or a transfer, this must always be an asset account. For deposits, this must be a revenue account.
SourceId string `json:"source_id"`
// Name of the source account. For a withdrawal or a transfer, this must always be an asset account. For deposits, this must be a revenue account. Can be used instead of the source_id. If the transaction is a deposit, the source_name can be filled in freely: the account will be created based on the name.
SourceName string `json:"source_name,omitempty"`
SourceIban string `json:"source_iban,omitempty"`
SourceType *AccountTypeProperty `json:"source_type,omitempty"`
// ID of the destination account. For a deposit or a transfer, this must always be an asset account. For withdrawals this must be an expense account.
DestinationId string `json:"destination_id"`
// Name of the destination account. You can submit the name instead of the ID. For everything except transfers, the account will be auto-generated if unknown, so submitting a name is enough.
DestinationName string `json:"destination_name,omitempty"`
DestinationIban string `json:"destination_iban,omitempty"`
DestinationType *AccountTypeProperty `json:"destination_type,omitempty"`
// The budget ID for this transaction.
BudgetId string `json:"budget_id,omitempty"`
// The name of the budget to be used. If the budget name is unknown, the ID will be used or the value will be ignored.
BudgetName string `json:"budget_name,omitempty"`
// The category ID for this transaction.
CategoryId string `json:"category_id,omitempty"`
// The name of the category to be used. If the category is unknown, it will be created. If the ID and the name point to different categories, the ID overrules the name.
CategoryName string `json:"category_name,omitempty"`
// Optional. Use either this or the bill_name
BillId string `json:"bill_id,omitempty"`
// Optional. Use either this or the bill_id
BillName string `json:"bill_name,omitempty"`
// If the transaction has been reconciled already. When you set this, the amount can no longer be edited by the user.
Reconciled bool `json:"reconciled,omitempty"`
Notes string `json:"notes,omitempty"`
// Array of tags.
Tags []string `json:"tags,omitempty"`
// Reference to internal reference of other systems.
InternalReference string `json:"internal_reference,omitempty"`
// Reference to external ID in other systems.
ExternalId string `json:"external_id,omitempty"`
// External, custom URL for this transaction.
ExternalUrl string `json:"external_url,omitempty"`
// System generated identifier for original creator of transaction.
OriginalSource string `json:"original_source,omitempty"`
// Reference to recurrence that made the transaction.
RecurrenceId string `json:"recurrence_id,omitempty"`
// Total number of transactions expected to be created by this recurrence repetition. Will be 0 if infinite.
RecurrenceTotal int32 `json:"recurrence_total,omitempty"`
// The # of the current transaction created under this recurrence.
RecurrenceCount int32 `json:"recurrence_count,omitempty"`
// Internal ID of bunq transaction. DEPRECATED
BunqPaymentId string `json:"bunq_payment_id,omitempty"`
// Hash value of original import transaction (for duplicate detection).
ImportHashV2 string `json:"import_hash_v2,omitempty"`
// SEPA Clearing Code
SepaCc string `json:"sepa_cc,omitempty"`
// SEPA Opposing Account Identifier
SepaCtOp string `json:"sepa_ct_op,omitempty"`
// SEPA end-to-end Identifier
SepaCtId string `json:"sepa_ct_id,omitempty"`
// SEPA mandate identifier
SepaDb string `json:"sepa_db,omitempty"`
// SEPA Country
SepaCountry string `json:"sepa_country,omitempty"`
// SEPA External Purpose indicator
SepaEp string `json:"sepa_ep,omitempty"`
// SEPA Creditor Identifier
SepaCi string `json:"sepa_ci,omitempty"`
// SEPA Batch ID
SepaBatchId string `json:"sepa_batch_id,omitempty"`
InterestDate time.Time `json:"interest_date,omitempty"`
BookDate time.Time `json:"book_date,omitempty"`
ProcessDate time.Time `json:"process_date,omitempty"`
DueDate time.Time `json:"due_date,omitempty"`
PaymentDate time.Time `json:"payment_date,omitempty"`
InvoiceDate time.Time `json:"invoice_date,omitempty"`
// Latitude of the transaction's location, if applicable. Can be used to draw a map.
Latitude float64 `json:"latitude,omitempty"`
// Latitude of the transaction's location, if applicable. Can be used to draw a map.
Longitude float64 `json:"longitude,omitempty"`
// Zoom level for the map, if drawn. This to set the box right. Unfortunately this is a proprietary value because each map provider has different zoom levels.
ZoomLevel int32 `json:"zoom_level,omitempty"`
// If the transaction has attachments.
HasAttachments bool `json:"has_attachments,omitempty"`
}