INTERFACE types in the ACMC schema provide a way to define a fixed set of values for specific fields, ensuring data consistency and improving query efficiency. These types, such as Accrual
, Allocatable
, and BusinessProcess
, represent predefined sets of options that can be used across various parts of the schema.
Examples of how INTERFACE types can be used in the ACMC schema:
Accrual
:- Use case: Represents an accrual event in the system.
- Include fields such as amounts, currency, customer and etc
Allocatable
:- Use case: Represents an allocatable item in the system.
- Include fields such as allocationState, instructions, valueDate and etc
BusinessProcess
:- Use case: Represents a business process in the system.
- Include fields such as createdTimestamp, valueDate and etc
INTERFACE TYPES EXAMPLES
Name | Description | Fields |
---|---|---|
Accrual | Represents an accrual event in the system. This interface is used to track and manage accruals, which are accumulations of financial items over time. | amounts, currency, customer, destination, endDate, id, pool, product, realisation, source, type, valueDate |
Allocatable | Represents an allocatable item in the system. This interface is used for managing items that can be allocated to accounts, including their allocation state, history, and associated processes. | accountAllocatedTo, allocation, allocationState, amount, businessProcess, createdTimestamp, deleteApprovalTimestamp, deleteApprovalUserId, deleteApprovalUserName, deleteMessage, deleteRequestTimestamp, deleteRequestUserId, deleteRequestUserName, directDebit, history, hold, holdHistory, id, instructions, pool, remainingUnallocated, restoreApprovalTimestamp, restoreApprovalUserId, restoreApprovalUserName, restoreMessage, restoreRequestTimestamp, restoreRequestUserId, restoreRequestUserName, reversal, split, unallocatable, unallocatedReason, unallocatedReasonCode, valueDate |
BusinessProcess | Represents a business process in the system. This interface is used to track and manage various business processes, including their associated transactions and timelines. | createdTimestamp, id, transactions, valueDate |
Command | Detailed information on a previously executed command. This interface provides a comprehensive view of command execution, including approval status, input data, and execution state. | approval, createdTimestamp, id, inputJson, invalid, operation, state, step, userInfo |
FeatureConfig | Represents a feature configuration in the system. This interface is used to manage and track various system features and their configurations. | id, name |
Instruction | Represents an instruction within a business process. This interface is used to manage individual instructions that make up larger business processes. | businessProcess, id |
NamedRate | Represents a named rate in the system. This interface is used to manage and track various rates, including their history and current or next values. | currentOrNext, history, id |
NamedRateEntry | Represents an entry for a named rate. This interface provides detailed information about specific rate entries, including currency and start date. | currency, id, name, namedRate, startDate |
Node | Represents a basic node in the system. This interface is a fundamental building block for other more complex types that require a unique identifier. | id |
Party | Represents a party in the system. This interface is used to manage various types of parties, including individuals and organizations, with their associated details and relationships. | customer, dateOfResidencyChange, id, kycInformation, linkedAccounts, previousDomesticTin, previousSelfCertified, reference, roles, selfCertified, shortId |
PartyCompanyInterface | Represents a company party in the system. This interface extends the basic Party interface with additional fields specific to company entities. | alternateAddress, businessNumber, clientClassification, controllingPersons, countryOfEffectiveManagement, customer, customerNode, email, fullName, giin, kycInformation, noTaxResidency, reference, registeredOfficeAddress, roles, selfCertified, taxReportingType, taxResidencies, tradingName, workPhone |
PartyTrustInterface | Represents a trust party in the system. This interface extends the basic Party interface with additional fields specific to trust entities. | alternateAddress, businessNumber, clientClassification, controllingPersons, countryOfEffectiveManagement, countryOfEstablishment, customer, customerNode, email, fullName, giin, kycInformation, noTaxResidency, reference, registeredOfficeAddress, roles, selfCertified, taxReportingType, taxResidencies, workPhone |
Pool | Represents a pool of accounts or resources in the system. This interface is used to manage groups of related accounts or resources, including their allocation and reversal status. | accounts, deleted, id, matchedReversals, movedToCLA, name, sourceType, unallocated |
Product | Represents a product in the system. This interface is used to manage various financial products, including their features, associated accounts, and status. | accounts, activeFeatures, availableFeatures, billingId, code, codeSuffix, costCentre, currencies, description, governmentGuaranteeApplies, grantedToCustomers, id, name, parent, retailLookThrough, rmSet, state |
Source | Represents a source of funds or transactions in the system. This interface is used to manage various sources, including their balances and associated accounts. | balances, bankCode, currency, id, internalAccounts, name, sourceType |
Transaction | Represents a financial transaction in the system. This interface is used to manage individual transactions, including their associated entries, currency, and status. | businessProcess, currency, entries, id, initiatedTimestamp, splitElement, state, transactionType, valueDate |
TransactionEntry | Represents an entry within a transaction. This interface provides detailed information about individual entries that make up a transaction, including account, value, and status. | account, balance, businessProcess, creditDebit, currency, id, initiatedTimestamp, instruction, state, transaction, transactionType, unallocatable, value |
UserWithScopes | Description of a user, including their permissions (scopes). Both `name` and `displayName` are optional as not all users have them. In particular, API users will likely not have either. | displayName, scopes, sub, username |
WithholdingTaxAUEntry | Represents an entry for Australian withholding tax. This interface is used to manage withholding tax details specific to the Australian tax system. | apcaId, effectiveTimestamp, financialYearStart, nominatedAccount, nonResidentRate, resident |
This overview provides a summary of key INTERFACE types available in the ACMC GraphQL API, including their descriptions and basic use cases. For more comprehensive information, detailed usage examples, and the complete set of available INTERFACE types, please refer to the full ACMC GraphQL schema documentation and dedicated sample pages.