swagger: '2.0'
info:
description: >-
The eMandate API allows you to access CitiDirect based mandate services in a
light weight message exchange interface. This API supports
`theMandateInitiationRequest` message and `MandateAcceptanceReport` message.
A `MandateInitiationRequestmessage` which is sent by the initiator of the
request to his agent. The initiator can either be the debtor or the
creditor. A MandateAcceptanceReport message is used to confirm the
acceptance or rejection of a Mandate Request message.
version: 1.0.0
title: eMandate API
host: tts.apib2b.citi.com
basePath: /citiconnect/prod
schemes:
- https
paths:
/emandateservices/v1/emandateinitiation:
post:
summary: Initiate An eMandate
description: >-
The eMandate Initiation API is sent by an initiating party (Creditor) to
the receiving party (Debtor) in the collection chain to register an
eMandate. Citi Connect API clients can initiate eMandate Initiation for
the direct debit collections.
payloadType :Currently
Citi supports only “urn:iso:std:iso:20022:tech:xsd: pain.009.001.06”
operationId: EmandateServicesInitiationOperation
consumes:
- application/xml
produces:
- application/xml
parameters:
- name: client_id
in: query
required: true
description: >-
This is your unique identifier shared during your CitiConnect API
onboarding. This is the same `client_id` used for oauth token
generation
schema: null
type: string
- name: Content-Type
in: header
description: Supports "application/xml"
required: true
type: string
- name: payloadType
in: header
description: Supports urn:iso:std:iso:20022:tech:xsd:pain.009.001.06
required: true
type: string
- name: Authorization
in: header
description: The OAuth Token prefixed with "Bearer" and space in between.
required: true
type: string
- in: body
name: Request Body
required: true
schema:
$ref: '#/definitions/MandateInitiationRequest'
responses:
'200':
description: OK. Success.
examples:
application/xml:
MndtAccptncRpt:
GrpHdr:
MsgId: CITIBANK/20200803-PSR/1100977414
CreDtTm: '2020-08-03T04:31:20'
UndrlygAccptncDtls:
OrgnlMsgInf:
MsgId: citiconnect api mandate062303
MsgNmId: pain.009.001.06
CreDtTm: '2001-12-31T12:00:00'
AccptncRslt:
Accptd: 'false'
RjctRsn:
Prtry: PDNG
OrgnlMndt:
OrgnlMndt:
MndtId: Not Available
MndtReqId: userguide03082001
Tp:
LclInstrm:
Cd: DDMU
TrckgInd: 'false'
Cdtr:
Nm: Citiconnect tester
CdtrAcct:
Id:
Othr:
Id: '1192834003'
CdtrAgt:
FinInstnId:
ClrSysMmbId:
MmbId: '12345'
Dbtr:
Nm: payer name
DbtrAcct:
Id:
Othr:
Id: '10897933748'
DbtrAgt:
FinInstnId:
ClrSysMmbId:
MmbId: '147992'
MndtRef: 4FDD231247EA44BA85FA67FEC1024A6F
RfrdDoc:
CdtrRef: payer ref name
schema:
$ref: '#/definitions/Document'
'400':
description: Bad Request. Please try with Valid Request
'401':
description: >-
The request is Unauthorized. Please try again with valid
credentials.
'405':
description: Method Not Allowed. Please try with Valid HTTP Verb.
'415':
description: Unsupported Media Type. Resend the request with valid content-type
'500':
description: Internal Server Error. Check the service of API.
'503':
description: Service Unavailable. Please try again later/ after some time
'504':
description: GatewayTimeout. Look for server connectivity issues.
security:
- clientCredentials: []
/emandateservices/v1/emandatestatusinquiry:
get:
summary: Get The Status Of An eMandate
description: >-
The eMandate Status Inquiry API allows you to access the status of your
eMandate and generates eMandate details with the status of the
eMandatetransaction.
operationId: EmandateServicesStatusInquiryOperation
consumes:
- application/xml
produces:
- application/xml
parameters:
- name: client_id
in: query
required: true
description: >-
This is your unique identifier shared during your CitiConnect API
onboarding. This is the same `client_id` used for oauth token
generation
schema: null
type: string
- name: Accept
in: header
description: Supports "application/xml"
required: true
type: string
- name: x-citi-enc-type
in: header
description: xmlenc
required: true
type: string
- name: mndtReqId
in: header
description: >-
Unique identification assigned by the initiating party to
clearlyidentify the transaction. This Identification is passed on,
unchanged,throughout the entire end-to-end chain
required: false
type: string
- name: mndtId
in: header
description: >-
Unique identification assigned by an institution to clearly identify
the transaction.
required: false
type: string
- name: payerRefNm
in: header
description: >-
Identification assigned by the initiating party to clearly identify
the purpose of transaction.
required: false
type: string
- name: creationDate
in: header
description: Date when mandate is initiated (MM-DD-yyyy).
required: false
type: string
- name: amount
in: header
description: >-
This represents the amount of money for which the eMandate request
has been made.
required: false
type: string
- name: currency
in: header
description: Currency (HKD/CNY).
required: false
type: string
responses:
'200':
description: OK. Success.
examples:
application/xml:
MndtAccptncRpt:
GrpHdr:
MsgId: CITIBANK/20200803-PSR/1245084092
CreDtTm: '2020-08-03T04:34:59'
UndrlygAccptncDtls:
AccptncRslt:
Accptd: 'false'
RjctRsn:
Prtry: PDNG
OrgnlMndt:
OrgnlMndt:
MndtId: Not Available
MndtReqId: userguide03082001
Tp:
LclInstrm:
Cd: DDMU
Ocrncs:
SeqTp: RCUR
Frqcy:
Prd:
Tp: WEEK
CntPerPrd: '100'
Drtn:
FrDt: '2020-08-03'
ToDt: '2020-08-03'
TrckgInd: 'false'
MaxAmt:
_Ccy: HKD
__text: '4086.67'
Cdtr:
Nm: Citiconnect tester
CdtrAcct:
Id:
Othr:
Id: '1192834003'
CdtrAgt:
FinInstnId:
ClrSysMmbId:
MmbId: '006'
Dbtr:
Nm: payer name
Id:
PrvtId: ''
DbtrAcct:
Id:
Othr:
Id: Not Available
SchmeNm:
Prtry: AIIN
DbtrAgt:
FinInstnId:
ClrSysMmbId:
MmbId: '147992'
RfrdDoc:
CdtrRef: payer ref name
schema:
$ref: '#/definitions/Document'
'400':
description: Bad Request. Please try with Valid Request
examples:
application/xml:
statusCode: '400'
statusMessage: Either mndtReqId or mndtId should be provided
schema:
$ref: '#/definitions/Response'
'401':
description: Unauthorized.
examples:
application/xml:
statusCode: '401'
statusMessage: >-
The request is Unauthorized. Please try again with valid
credentials.
schema:
$ref: '#/definitions/Response'
'405':
description: Method Not Allowed.
examples:
application/xml:
statusCode: '405'
statusMessage: Please try with Valid HTTP Verb.
schema:
$ref: '#/definitions/Response'
'415':
description: Unsupported Media Type.
examples:
application/xml:
statusCode: '415'
statusMessage: Resend the request with valid content-type
schema:
$ref: '#/definitions/Response'
'500':
description: Internal Server Error.
examples:
application/xml:
statusCode: '500'
statusMessage: Check the service of API.
schema:
$ref: '#/definitions/Response'
'503':
description: Service Unavailable.
examples:
application/xml:
statusCode: '503'
statusMessage: Please try again later/ after some time
schema:
$ref: '#/definitions/Response'
'504':
description: GatewayTimeout.
examples:
application/xml:
statusCode: '504'
statusMessage: Look for server connectivity issues.
schema:
$ref: '#/definitions/Response'
security:
- clientCredentials: []
securityDefinitions:
clientCredentials:
description: >+
All CitiConnect APIs use the oAuth2 authentication scheme, which requires
a bearer token to authenticate your API call. The Token URL includes the
version of authentication used by this API. See the Citi Authentication API reference for information
on requesting a token.
type: oauth2
tokenUrl: >-
https://tts.sit.apib2b.citi.com/citiconnect/sit5/authenticationservices/v1/oauth/token
flow: application
scopes: null
definitions:
Response:
type: object
properties:
statusCode:
type: string
description: Http Code
minLength: 3
maxLength: 3
statusMessage:
type: string
description: Status Message
MandateInitiationRequest:
type: object
required:
- mandate_initiation_request
properties:
mandate_initiation_request:
type: object
description: >-
The MandateInitiationRequest message is sent by the initiator of the
request to his agent. The initiator can either be the debtor or the
creditor. The MandateInitiationRequest message is forwarded by the
agent of the initiator to the agent of the counterparty. The
MandateInitiationRequest message is used to setup the instruction that
allows the debtor agent to accept instructions from the creditor,
through the creditor agent, to debit the account of the debtor.
allOf:
- $ref: '#/definitions/MandateInitiationRequestV06'
xml:
name: Document
MandateInitiationRequestV06:
type: object
required:
- group_header
properties:
group_header:
type: object
description: >-
Set of characteristics to identify the message and parties playing a
role in the mandate initiation, but which are not part of the mandate.
allOf:
- $ref: '#/definitions/GroupHeader80'
mandate:
type: array
xml:
name: Mndt
description: >-
Set of elements used to provide the details of the mandate signed
between the ultimate creditor and the ultimate debtor. Information
that serves as a basis to debit an account.
items:
$ref: '#/definitions/Mandate13'
supplementary_data:
type: array
xml:
name: SplmtryData
description: >-
Additional information that cannot be captured in the structured
elements and/or any other specific block. The SupplementaryData
building block at message level must not be used to provide additional
information about a transaction. The SupplementaryData element at
transaction level should be used for that purpose.
items:
$ref: '#/definitions/SupplementaryData1'
description: >-
The CreditorPaymentActivationRequestStatusReport message is sent by a
party to the next party in the creditor payment activation request chain.
It is used to inform the latter about the positive or negative status of a
creditor payment activation request (either single or file).
GroupHeader80:
required:
- creation_Date_time
- message_identification
properties:
message_identification:
type: object
description: >-
Point to point reference, as assigned by the instructing party, and
sent to the instructed party, to unambiguously identify the message.
allOf:
- $ref: '#/definitions/Max35Text'
creation_Date_time:
type: object
description: Date and time at which the message was created.
allOf:
- $ref: '#/definitions/ISODateTime'
authorisation:
type: array
xml:
name: Authstn
description: >-
User identification or any user key to be used to check the authority
of the initiating party.
items:
$ref: '#/definitions/Authorisation1Choice'
maxItems: 2
initiating_party:
type: object
description: Party that initiates the mandate message.
allOf:
- $ref: '#/definitions/PartyIdentification135'
instructing_agent:
type: object
description: >-
Agent that is instructed by the previous party in the chain to carry
out an instruction.
allOf:
- $ref: '#/definitions/BranchAndFinancialInstitutionIdentification6'
instructed_agent:
type: object
description: >-
Agent that is instructed by the previous party in the chain to carry
out an instruction. In case of amendment and cancellation request
messages, the instructed agent is the party receiving the amendment
and cancellation request message and not the party that received the
original mandate initiation request message. In case of acceptance
report message, the instructed agent is the party receiving the
acceptance report message and not the party that received the original
mandate request message.
allOf:
- $ref: '#/definitions/BranchAndFinancialInstitutionIdentification6'
BranchAndFinancialInstitutionIdentification6:
type: object
required:
- FinInstnId
properties:
branch_identification:
type: object
allOf:
- $ref: '#/definitions/BranchData3'
FinInstnId:
type: object
allOf:
- $ref: '#/definitions/FinancialInstitutionIdentification18'
FinancialInstitutionIdentification18:
type: object
properties:
bicfi:
type: object
description: >-
Code allocated to a financial institution by the ISO 9362 Registration
Authority as described in ISO 9362 Banking - Banking telecommunication
messages - Business identifier code (BIC).
allOf:
- $ref: '#/definitions/BICFIDec2014Identifier'
ClrSysMmbId:
type: object
description: Information used to identify a member within a clearing system.
allOf:
- $ref: '#/definitions/ClearingSystemMemberIdentification2'
legal_entity:
type: object
description: >-
Legal entity identification for the branch of the
financialinstitution.
allOf:
- $ref: '#/definitions/LEIIdentifier'
name:
type: object
description: >-
Name by which an agent is known and which is usually used to identify
that agent.
allOf:
- $ref: '#/definitions/Max140Text'
postal_address:
type: object
description: >-
Information that locates and identifies a specific address, as defined
by postal services.
allOf:
- $ref: '#/definitions/PostalAddress24'
other:
type: object
description: >-
Unique identification of an agent, as assigned by an institution,
using an identification scheme.
allOf:
- $ref: '#/definitions/GenericFinancialIdentification1'
GenericFinancialIdentification1:
type: object
required:
- identification
properties:
identification:
type: object
description: Unique and unambiguous identification of a person.
allOf:
- $ref: '#/definitions/Max35Text'
issuer:
type: object
description: Entity that assigns the identification.
allOf:
- $ref: '#/definitions/Max35Text'
scheme_name:
type: object
allOf:
- $ref: '#/definitions/FinancialIdentificationSchemeName1Choice'
description: >-
Unique identification of an agent, as assigned by an institution, using an
identification scheme.
FinancialIdentificationSchemeName1Choice:
type: object
properties:
code:
type: string
xml:
name: Cd
description: >-
Name of the identification scheme, in a coded form as published in an
external list.
minLength: 1
maxLength: 4
proprietary:
type: object
description: Name of the identification scheme, in a free text form.
allOf:
- $ref: '#/definitions/Max35Text'
description: >-
Name of the identification scheme. Either Code or Proprietary field value
should be passed on request.
BICFIDec2014Identifier:
type: string
pattern: '[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}'
BranchData3:
type: object
properties:
identification:
type: object
description: >-
Unique and unambiguous identification of a branch of a financial
institution.
allOf:
- $ref: '#/definitions/Max35Text'
legal_entity:
type: object
description: >-
Legal entity identification for the branch of the financial
institution.
allOf:
- $ref: '#/definitions/LEIIdentifier'
name:
type: object
description: >-
Name by which an agent is known and which is usually used to identify
that agent.
allOf:
- $ref: '#/definitions/Max140Text'
postal_address:
type: object
description: >-
Information that locates and identifies a specific address, as defined
by postal services.
allOf:
- $ref: '#/definitions/PostalAddress24'
description: Identifies a specific branch of a financial institution.
LEIIdentifier:
type: string
pattern: '[A-Z0-9]{18,18}[0-9]{2,2}'
Authorisation1Choice:
type: object
properties:
code:
type: object
description: >-
Specifies the level of approval depending on a number of factors,
including payment type, threshold amount or local country or
operations practice.
AUTH: Indicates a file has been
pre-authorized or approved within the originating customer environment
and no further approval is required.
FDET: Indicates
that a file requires additional file level approval, with the ability
to view both the payment information block and supporting customer
credit transaction detail.
FSUM: Indicates that a file
requires additional file level approval, with the ability to view only
the payment information block level information.
ILEV:
Indicates that a file requires all customer transactions to be
authorized or approved.
allOf:
- $ref: '#/definitions/Authorisation1Code'
proprietary:
type: string
xml:
name: Prtry
description: Specifies the proprietary description
minLength: 1
maxLength: 128
description: Either of Code or Proprietary is required.
ClearingSystemMemberIdentification2:
type: object
required:
- MmbId
properties:
clearing_system_identification:
type: object
xml:
name: ClrSysId
description: >-
Specification of a pre-agreed offering between clearing agents or the
channel through which the payment instruction is processed.
properties:
code:
type: string
xml:
name: Cd
description: >-
Identification of a clearing system, in a coded form as published
in an external list.
minLength: 1
maxLength: 5
proprietary:
type: object
description: >-
Identification code for a clearing system, that has not yet been
identified in the list of clearing systems.
allOf:
- $ref: '#/definitions/Max35Text'
MmbId:
type: object
description: Identification of a member of a clearing system.
allOf:
- $ref: '#/definitions/Max35Text'
description: Information used to identify a member within a clearing system.
Authorisation1Code:
type: string
description: >-
AUTH: Indicates a file has been pre authorized or approved
within the originating customer environment and no further approval is
required.
FDET: Indicates that a file requires additional
file-level approval, with the ability to view both the payment information
block and supporting customer credit transaction detail.
FSUM: Indicates that a file requires additional file level
approval, with the ability to view only the payment information block
level information.
ILEV: Indicates that a file requires all
customer transactions to be authorized or approved.
enum:
- AUTH
- FDET
- FSUM
- ILEV
Max35Text:
type: string
minLength: 1
maxLength: 35
ISODateTime:
type: string
format: date-time
PartyIdentification135:
type: object
properties:
Nm:
type: object
description: >-
Name by which a party is known and which is usually used to identify
that party.
allOf:
- $ref: '#/definitions/Max140Text'
postal_address:
type: object
description: >-
Information that locates and identifies a specific address, as defined
by postal services.
allOf:
- $ref: '#/definitions/PostalAddress24'
Id:
type: object
description: >-
Unique and unambiguous identification of a party. Should pass EITHER
OrgId or PrvtId for organisation and private respectively.
allOf:
- $ref: '#/definitions/Party38Choice'
country_of_residence:
type: object
description: >-
Country in which a person resides (the place of a person's home).In
the case of a company, it is the country from which the affairs of
that company are directed.
allOf:
- $ref: '#/definitions/CountryCode'
contact_details:
type: object
description: Set of elements used to indicate how to contact the party.
allOf:
- $ref: '#/definitions/Contact4'
Contact4:
type: object
properties:
name_prefix:
type: object
description: >-
Specifies the terms used to formally address a
person.
DOCT: Title of the person is Doctor or Dr.
MIST: Title of the person is Mister or Mr.
MISS: Title of the person is Miss.
MADM:
Title of the person is Madam.
MIKS: Title of the person
is Gender Neutral.
allOf:
- $ref: '#/definitions/NamePrefix2Code'
name:
type: object
description: >-
Name by which a party is known and which is usually used to identify
that party.
allOf:
- $ref: '#/definitions/Max140Text'
phone_number:
type: object
description: >-
Collection of information that identifies a phone number, as defined
by telecom services.
allOf:
- $ref: '#/definitions/PhoneNumber'
mobile_number:
type: object
description: >-
Collection of information that identifies a mobile phone number, as
defined by telecom services.
allOf:
- $ref: '#/definitions/PhoneNumber'
fax_number:
type: object
description: >-
Collection of information that identifies a FAX number, as defined by
telecom services.
allOf:
- $ref: '#/definitions/PhoneNumber'
email_address:
type: object
description: Address for electronic mail (e-mail).
allOf:
- $ref: '#/definitions/Max2048Text'
email_purpose:
type: object
description: Purpose for which an email address may be used.
allOf:
- $ref: '#/definitions/Max35Text'
job_title:
type: object
description: Title of the function.
allOf:
- $ref: '#/definitions/Max35Text'
responsibility:
type: object
description: Role of a person in an organisation.
allOf:
- $ref: '#/definitions/Max35Text'
department:
type: object
description: Identification of a division of a large organization or building.
allOf:
- $ref: '#/definitions/Max70Text'
other:
type: array
xml:
name: Othr
description: Contact details in another form.
items:
$ref: '#/definitions/OtherContact1'
contact_preferred_method:
type: object
description: >-
Preferred method used to reach the contact.
LETT:
Preferred method used to reach the contact is per letter.
FAXX: Preferred method used to reach the contact is per
fax.
PHON: Preferred method used to reach the contact is
per phone.
MAIL: Preferred method used to reach the
contact is per Email .
CELL: Preferred method used to
reach the contact is per mobile or cell phone.
allOf:
- $ref: '#/definitions/PreferredContactMethod1Code'
description: Set of elements used to indicate how to contact the party.
NamePrefix2Code:
type: string
description: >-
Specifies the terms used to formally address a person.
DOCT:
Title of the person is Doctor or Dr.
MIST: Title of the
person is Mister or Mr.
MISS: Title of the person is
Miss.
MADM: Title of the person is
Madam.
MIKS: Title of the person is Gender Neutral.
enum:
- DOCT
- MADM
- MISS
- MIST
- MIKS
Max2048Text:
type: string
minLength: 1
maxLength: 2048
Max140Text:
type: string
minLength: 1
maxLength: 140
PostalAddress24:
type: object
properties:
AdrLine:
type: array
description: >-
Information that locates and identifies a specific address, as defined
by postal services, presented in free format text.
items:
type: string
maxItems: 7
AdrTp:
type: object
description: >-
Identifies the nature of the postal address. Either Code or
Proprietary is required
allOf:
- $ref: '#/definitions/AddressType3Choice'
BldgNm:
type: string
description: Name of the building or house.
minLength: 1
maxLength: 35
BldgNb:
type: object
description: Number that identifies the position of a building on a street.
allOf:
- $ref: '#/definitions/Max16Text'
Ctry:
$ref: '#/definitions/CountryCode'
CtrySubDvsn:
type: object
description: >-
Identifies a subdivision of a country such as state, region, or
county.
allOf:
- $ref: '#/definitions/Max35Text'
Dept:
type: object
description: Identification of a division of a large organisation or building.
allOf:
- $ref: '#/definitions/Max70Text'
PstCd:
type: object
description: >-
Identifier consisting of a group of letters and/or numbers that is
added to a postal address to assist the sorting of mail.
allOf:
- $ref: '#/definitions/Max16Text'
StrtNm:
type: object
description: Name of a street or thoroughfare.
allOf:
- $ref: '#/definitions/Max70Text'
SubDept:
type: object
description: Identification of a sub-division of a large organization or building.
allOf:
- $ref: '#/definitions/Max70Text'
TwnNm:
type: object
description: >-
Name of a built-up area, with defined boundaries, and a local
government.
allOf:
- $ref: '#/definitions/Max35Text'
TwnLctnNm:
type: string
description: Specific location name within the town.
minLength: 1
maxLength: 35
PstBx:
type: string
description: >-
Name of a built-up area, with defined boundaries, and a local
government.
minLength: 1
maxLength: 16
Flr:
type: string
description: Floor or story within a building.
minLength: 1
maxLength: 70
Room:
type: string
description: Building room number.
minLength: 1
maxLength: 70
DstrctNm:
type: string
description: Identifies a subdivision within a country sub-division.
minLength: 1
maxLength: 35
description: >-
Information that locates and identifies a specific address, as defined by
postal services.
AddressType3Choice:
type: object
properties:
code:
type: object
description: >-
Specifies the type of address.
ADDR: Address is the
complete postal address.
PBOX: Address is a postal
office (PO) box.
HOME: Address is the home address.
BIZZ: Address is the business
address.
MLTO: Address is the address to which mail is
sent.
DLVY: Address is the address to which delivery is
to take place.
allOf:
- $ref: '#/definitions/AddressType2Code'
proprietary:
type: object
description: >-
Information related to an identification, for example, party
identification or account identification.
allOf:
- $ref: '#/definitions/GenericIdentification30'
description: Either from Code or Proprietary is required.
GenericIdentification30:
type: object
required:
- identification
- issuer
properties:
identification:
type: string
xml:
name: Id
description: >-
Proprietary information, often a code, issued by the data source
scheme issuer.
pattern: '[a-zA-Z0-9]{4}'
issuer:
type: string
xml:
name: Issr
description: Entity that assigns the identification.
minLength: 1
maxLength: 35
scheme_name:
type: string
xml:
name: SchmeNm
description: Short textual description of the scheme.
minLength: 1
maxLength: 35
AddressType2Code:
type: string
description: >-
ADDR: Address is the complete postal address.
PBOX: Address is a postal office (PO) box.
HOME: Address is the home address.
BIZZ:
Address is the business address.
MLTO: Address is the
address to which mail is sent.
DLVY: Address is the address
to which delivery is to take place.
enum:
- ADDR
- PBOX
- HOME
- BIZZ
- MLTO
- DLVY
CountryCode:
type: string
pattern: '[A-Z]{2,2}'
description: >-
Nation with its own government. The code is checked against thelist of
country names obtained from the United Nations (ISO 3166, Alpha-2code).
OtherContact1:
type: object
required:
- channel_type
properties:
channel_type:
type: object
description: >-
Method used to contact the financial institution’s contact forthe
specific tax region.
allOf:
- $ref: '#/definitions/Max4Text'
identification:
type: object
description: Communication value such as phone number or email address.
allOf:
- $ref: '#/definitions/Max128Text'
Max128Text:
type: string
minLength: 1
maxLength: 128
Max4Text:
type: string
minLength: 1
maxLength: 4
Max16Text:
type: string
minLength: 1
maxLength: 16
Max70Text:
type: string
minLength: 1
maxLength: 70
PreferredContactMethod1Code:
type: string
description: >-
Preferred method used to reach the individual contact within an
organization.
LETT: Preferred method used to reach the
contact is per letter.
FAXX: Preferred method used to reach
the contact is per fax.
PHON: Preferred method used to reach
the contact is per phone.
MAIL: Preferred method used to
reach the contact is per email .
CELL-
Unambiguous reference to the location where the supplementary data
must be inserted in the message instance.
allOf:
- $ref: '#/definitions/Max350Text'
envelope:
type: string
xml:
name: Envlp
namespace: '##any'
description: >-
Technical element wrapping the supplementary data. Elements from any
namespace is allowed. Process Contents is 'lax' Specifies how the XML
processor should handle validation against the elements specified by
this any element. if the schema cannot be obtained, no errors will
occur.
description: >-
Additional information that cannot be captured in the structured elements
and/or any other specific block. This component may not be used without
the explicit approval of a SEG and submission to the RA of ISO 20022
compliant structure(s) to be used in the envelope element.
Max350Text:
type: string
minLength: 1
maxLength: 350
PhoneNumber:
type: string
pattern: \+[0-9]{1,3}-[0-9()+\-]{1,30}
Party38Choice:
type: object
properties:
organisation_identification:
type: object
description: Unique and unambiguous way to identify an organization.
allOf:
- $ref: '#/definitions/OrganisationIdentification29'
PrvtId:
type: object
description: Unique and unambiguous way to identify a person.
allOf:
- $ref: '#/definitions/PersonIdentification13'
description: >-
Unique and unambiguous identification of a party. Either from
OrganisationIdentification and Private Identification is required.
OrganisationIdentification29:
type: object
properties:
any_bic:
type: object
description: >-
Business identification code of the organisation. Code allocatedto a
financial or non-financial institution by the ISO 9362
RegistrationAuthority, as described in ISO 9362: 2014 - Banking -
Banking telecommunicationmessages - Business identifier code
(BIC).Only a valid Business identifiercode is allowed. Business
identifier codes for financial or non-financialinstitutions are
registered and published by the ISO 9362 RegistrationAuthority in the
ISO directory of BICs, and consists of eight (8) or eleven(11)
contiguous characters.
allOf:
- $ref: '#/definitions/AnyBICDec2014Identifier'
legal_entity:
type: object
description: Legal entity identification as an alternate identification fora party.
allOf:
- $ref: '#/definitions/LEIIdentifier'
other:
type: array
xml:
name: Othr
description: >-
Unique identification of an organization, as assigned by an
institution, using an identification scheme.
items:
$ref: '#/definitions/GenericOrganisationIdentification1'
AnyBICDec2014Identifier:
type: string
pattern: '[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}'
GenericOrganisationIdentification1:
type: object
required:
- identification
properties:
identification:
type: object
description: Identification assigned by an institution.
allOf:
- $ref: '#/definitions/Max35Text'
scheme_name:
type: object
description: Name of the identification scheme.
allOf:
- $ref: '#/definitions/IdentificationSchemeName1Choice'
issuer:
type: object
description: Entity that assigns the identification.
allOf:
- $ref: '#/definitions/Max35Text'
PersonIdentification13:
type: object
properties:
date_and_place_of_birth:
type: object
description: Date and place of birth of a person.
allOf:
- $ref: '#/definitions/DateAndPlaceOfBirth1'
other:
type: array
xml:
name: Othr
description: >-
Unique identification of a person, as assigned by an institution,
using an identification scheme.
items:
$ref: '#/definitions/GenericPersonIdentification1'
GenericPersonIdentification1:
type: object
required:
- identification
properties:
identification:
type: object
description: Unique and unambiguous identification of a person.
allOf:
- $ref: '#/definitions/Max35Text'
scheme_name:
type: object
description: Name of the identification scheme.
allOf:
- $ref: '#/definitions/IdentificationSchemeName1Choice'
issuer:
type: object
description: Entity that assigns the identification.
allOf:
- $ref: '#/definitions/Max35Text'
description: >-
Unique identification of a person, as assigned by an institution,using an
identification scheme.
IdentificationSchemeName1Choice:
type: object
properties:
code:
type: string
xml:
name: Cd
description: >-
Name of the identification scheme, in a coded form as publishedin an
external list.
minLength: 1
maxLength: 4
proprietary:
type: object
description: Name of the identification scheme, in free-form text.
allOf:
- $ref: '#/definitions/Max35Text'
DateAndPlaceOfBirth1:
type: object
required:
- birth_date
- city_of_birth
- country_of_birth
properties:
birth_date:
type: object
description: 'Date on which a person is born allOf: - $ref: '
province_of_birth:
type: object
description: Province where a person was born.
allOf:
- $ref: '#/definitions/Max35Text'
city_of_birth:
type: object
description: City where a person was born.
allOf:
- $ref: '#/definitions/Max35Text'
country_of_birth:
type: object
description: Country where a person was born.
allOf:
- $ref: '#/definitions/CountryCode'
description: Date and place of birth of a person.
ISODate:
type: string
format: date
Mandate13:
type: object
required:
- creditor
- debtor
- debtor_agent
- mandate_request_identification
- tracking_identicator
properties:
mandate_identification:
type: array
xml:
name: MndtId
description: >-
Unique identification, as assigned by the responsible party(such as
the creditor) or agent (such as the debtor agent), to unambiguously
identify the mandate.
items:
$ref: '#/definitions/Max35Text'
mandate_request_identification:
type: object
description: >-
Identification for the mandate request, as assigned by the initiating
party.
allOf:
- $ref: '#/definitions/Max35Text'
authentication:
type: object
description: Specifies the transport authentication details related to the mandate.
allOf:
- $ref: '#/definitions/MandateAuthentication1'
type:
type: object
description: Specifies the type of mandate, such as paper, electronic or scheme.
allOf:
- $ref: '#/definitions/MandateTypeInformation2'
occurences:
type: object
description: >-
Provides details of the duration of the mandate and occurrenceof the
underlying transactions.
allOf:
- $ref: '#/definitions/MandateOccurrences4'
tracking_identicator:
type: boolean
xml:
name: TrckgInd
description: >-
Specifies whether the direct debit instructions should be
automatically re-submitted periodically when bilaterally agreed. A
flag indicating a True or False value.
first_collection_amount:
type: object
description: >-
Amount different from the collection amount, as it includesthe costs
associated with the first debited amount.
allOf:
- $ref: '#/definitions/ActiveCurrencyAndAmount'
collection_amount:
type: object
description: Fixed amount to be collected from the debtor's account.
allOf:
- $ref: '#/definitions/ActiveCurrencyAndAmount'
maximum_amount:
type: object
description: >-
Maximum amount that may be collected from the debtor's account,per
instruction.
allOf:
- $ref: '#/definitions/ActiveCurrencyAndAmount'
adjustment:
type: object
description: >-
Specifies the characteristics of the adjustment applied to
thecollection amount of a direct debit instruction.
allOf:
- $ref: '#/definitions/MandateAdjustment1'
reason:
type: object
description: Provides the reason for the setup of the mandate.
allOf:
- $ref: '#/definitions/MandateSetupReason1Choice'
creditor_scheme_identification:
type: object
description: Credit party that signs the mandate.
allOf:
- $ref: '#/definitions/PartyIdentification135'
creditor:
type: object
description: Party that signs the mandate and to whom an amount of moneyis due.
allOf:
- $ref: '#/definitions/PartyIdentification135'
creditor_account:
type: object
description: >-
Unambiguous identification of the account of the creditor towhich a
credit entry will be posted as a result of the payment transaction.
allOf:
- $ref: '#/definitions/CashAccount38'
creditor_agent:
type: object
description: Financial institution servicing an account for the creditor.
allOf:
- $ref: '#/definitions/BranchAndFinancialInstitutionIdentification6'
ultimate_creditor:
type: object
description: Ultimate party to which an amount of money is due.
allOf:
- $ref: '#/definitions/PartyIdentification135'
debtor:
type: object
description: >-
Party that signs the mandate and owes an amount of money to the
(ultimate) creditor.
allOf:
- $ref: '#/definitions/PartyIdentification135'
debtor_account:
type: object
description: >-
Unambiguous identification of the account of the debtor, towhich a
debit entry will be made as a result of the transaction.
allOf:
- $ref: '#/definitions/CashAccount38'
debtor_agent:
type: object
description: Financial institution servicing an account for the debtor.
allOf:
- $ref: '#/definitions/BranchAndFinancialInstitutionIdentification6'
ultimate_debtor:
type: object
description: >-
Ultimate party that owes an amount of money to the (ultimate)
creditor.
allOf:
- $ref: '#/definitions/PartyIdentification135'
mandate_reference:
type: object
description: >-
Reference assigned by a creditor or ultimate creditor for internal
usage for the mandate.
allOf:
- $ref: '#/definitions/Max35Text'
referred_document:
type: array
xml:
name: RfrdDoc
description: >-
Provides information to identify the underlying documents associated
with the mandate.
items:
$ref: '#/definitions/ReferredMandateDocument1'
supplementary_data:
type: array
xml:
name: SplmtryData
description: >-
Additional information that cannot be captured in the structured
elements within the message component.
items:
$ref: '#/definitions/SupplementaryData1'
description: >-
Information that serves as a basis to debit an account. Set of elements
used to provide the details of the mandate signed between the (ultimate)
creditorand the (ultimate) debtor. Ultimate Debtor may only be present if
different from Debtor. Ultimate Creditor may only be present if different
from Creditor.
MandateOccurrences4:
type: object
required:
- sequence_type
properties:
sequence_type:
type: string
xml:
name: SeqTp
description: >-
Identifies the underlying transaction sequence as either recurring or
one-off. RCUR - Direct debit instruction where the debtor's
authorization is used for regular direct debit transactions initiated
by the creditor. OOFF - Direct debit instruction where the debtor's
authorization is used to initiate one single direct debit transaction.
Frqcy:
type: object
allOf:
- $ref: '#/definitions/Frequency36Choice'
Drtn:
type: object
allOf:
- $ref: '#/definitions/DatePeriodDetails1'
first_collection_date:
type: string
format: date
xml:
name: FrstColltnDt
description: Date of the first collection of a direct debit as per the mandate.
final_collection_date:
type: string
format: date
xml:
name: FnlColltnDt
description: Date of the final collection of a direct debit as per the mandate.
description: >-
Provides details of the duration of the mandate and occurrence ofthe
underlying transactions.
Frequency6Code:
type: string
description: >-
Specifies the regularity of an event.
YEAR: Event takes
place every year or once a year.
MNTH: Event takes
placeevery month or once a month.
QURT: Event takes place
everythree months or four times a year.
MIAN: Event takes
placeevery six months or two times a year.
WEEK: Event takes
place once a week.
DAIL: Event takes place every day.
ADHO: Event takes place on request or as necessary.
INDA: Event takes place several times a day.
FRTN: Event takes place every two weeks.
enum:
- YEAR
- MNTH
- QURT
- MIAN
- WEEK
- DAIL
- ADHO
- INDA
- FRTN
Frequency36Choice:
type: object
required:
- Prd
- point_in_time
- type
properties:
type:
type: object
allOf:
- $ref: '#/definitions/Frequency6Code'
Prd:
type: object
xml:
name: Prd
description: >-
Defines a frequency in terms on counts per period for a specific
period type.
properties:
type:
type: object
description: >-
Period for which the number of instructions are to be created and
processed.
allOf:
- $ref: '#/definitions/Frequency6Code'
count_per_period:
type: string
xml:
name: CntPerPrd
description: >-
Number of instructions to be created and processed during the
specified period. Number of objects represented as a decimal
number, for example 0.75 or 45.6. Fractional Digits up to 17
allowed.
maxLength: 18
required:
- count_per_period
- type
point_in_time:
type: object
allOf:
- $ref: '#/definitions/FrequencyAndMoment1'
description: Regularity with which instructions are to be created and processed.
FrequencyAndMoment1:
type: object
required:
- point_in_time
- type
properties:
type:
type: object
allOf:
- $ref: '#/definitions/Frequency6Code'
point_in_time:
type: string
xml:
name: PtInTm
description: >-
Further information on the exact point in time the event should take
place.
pattern: '[0-9]{2}'
description: >-
Defines a frequency in terms a specific moment within a specified period
type.
DatePeriodDetails1:
type: object
required:
- from_date
properties:
from_date:
type: object
description: Start date of the range.
allOf:
- $ref: '#/definitions/ISODate'
to_date:
type: object
description: End date of the range.
allOf:
- $ref: '#/definitions/ISODate'
description: Length of time for which the mandate remains valid.
MandateSetupReason1Choice:
properties:
code:
type: string
xml:
name: Cd
description: >-
Specifies the external mandate setup reason code in the format of
character string with a maximum length of 4 characters.
minLength: 1
maxLength: 4
proprietary:
type: object
description: Propreitary details
allOf:
- $ref: '#/definitions/Max70Text'
description: >-
Provides the reason for the setup of the mandate. Either from Code or
Proprietary is Required
MandateTypeInformation2:
properties:
service_level:
type: object
description: Agreement under which or rules under which the mandate resides.
allOf:
- $ref: '#/definitions/ServiceLevel8Choice'
LclInstrm:
type: object
description: >-
User community specific instrument. This element is used to specify a
local instrument, local clearing option and/or further qualify the
service or service level.
allOf:
- $ref: '#/definitions/LocalInstrument2Choice'
category_purpose:
type: object
description: >-
Specifies the high level purpose of the mandate based on a set of
pre-defined categories.
allOf:
- $ref: '#/definitions/CategoryPurpose1Choice'
classification:
type: object
description: Type of direct debit instruction.
allOf:
- $ref: '#/definitions/MandateClassification1Choice'
description: Specifies the type of mandate, such as paper, electronic or scheme.
CategoryPurpose1Choice:
type: object
properties:
code:
type: string
xml:
name: Cd
description: >-
Specifies the category purpose, as published in an external category
purpose code list.
minLength: 1
maxLength: 4
proprietary:
type: object
description: Category purpose, in a proprietary form.
allOf:
- $ref: '#/definitions/Max35Text'
description: >-
Specifies the high level purpose of the mandate based on a set of
pre-defined categories. Either Code or Proprietary field value should be
passed in request.
ServiceLevel8Choice:
type: object
properties:
code:
type: object
description: >-
Specifies the external service level code in the format of character
string with a maximum length of 4 characters. The list of valid codes
is an external code list published separately.
allOf:
- $ref: '#/definitions/Max4Text'
proprietary:
type: object
description: >-
Specifies a pre-agreed service or level of service between the
parties, as a proprietary code.
allOf:
- $ref: '#/definitions/Max35Text'
description: >-
Agreement under which or rules under which the transaction should be
processed. Either code or proprietary field values should be sent in
request.
LocalInstrument2Choice:
type: object
properties:
code:
type: object
description: >-
Specifies the external local instrument code in the format of
character string with a maximum length of 35 characters. The list of
valid codes is an external code list published separately.
allOf:
- $ref: '#/definitions/Max35Text'
proprietary:
type: object
description: Specifies the local instrument, as a proprietary code.
allOf:
- $ref: '#/definitions/Max35Text'
description: >-
User community specific instrument. Either Code or Proprietary field value
should be passed in request.
MandateClassification1Choice:
type: object
properties:
code:
type: object
description: Specifies the type of direct debit amount, such as fixed or variable.
allOf:
- $ref: '#/definitions/MandateClassification1Code'
proprietary:
type: object
description: Proprietary Details
allOf:
- $ref: '#/definitions/Max35Text'
description: Either from Code or Proprietary is Required
MandateClassification1Code:
type: string
description: >-
Specifies the type of direct debit amount, such as fixed or variable. FIXE
- Direct debit amount is fixed. USGB - Direct debit amount is based on
usage. VARI - Direct debit amount is variable.
enum:
- FIXE
- USGB
- VARI
CashAccount38:
type: object
properties:
currency:
type: object
description: Identification of the currency in which the account is held.
allOf:
- $ref: '#/definitions/ActiveOrHistoricCurrencyCode'
Id:
type: object
allOf:
- $ref: '#/definitions/AccountIdentification4Choice'
name:
type: object
description: >-
Name of the account, as assigned by the account servicing institution,
in agreement with the account owner in order to provide an additional
means of identification of the account.
allOf:
- $ref: '#/definitions/Max70Text'
type:
type: object
allOf:
- $ref: '#/definitions/CashAccountType2Choice'
proxy:
type: object
xml:
name: Prxy
description: >-
Specifies an alternate assumed name for the identification of the
account.
properties:
type:
type: object
xml:
name: Tp
description: >-
Type of the proxy identification. Either of Code or Proprietary is
required.
properties:
code:
type: string
xml:
name: Cd
description: >-
Specifies the external proxy account type code, as published
in the proxy account type external code set.
minLength: 1
maxLength: 4
proprietary:
type: string
xml:
name: Prtry
description: Proprietary details
minLength: 1
maxLength: 35
identification:
type: string
xml:
name: Id
description: >-
Identification used to indicate the account identification under
another specified name.
minLength: 1
maxLength: 2048
required:
- identification
CashAccountType2Choice:
type: object
properties:
code:
type: string
xml:
name: Cd
description: >-
Specifies the nature, or use, of the cash account in the format of
character string with a maximum length of 4 characters. The list of
valid codes is an external code list published separately.
minLength: 1
maxLength: 4
proprietary:
type: string
xml:
name: Prtry
description: proprietary details
minLength: 1
maxLength: 35
description: >-
Specifies the nature, or use of the account. Either from Code Or
Proprietary is required.
ActiveOrHistoricCurrencyAndAmount:
type: object
properties:
amount:
type: string
xml:
name: amt
description: >-
The number of fractional digits (or minor unit of currency) must
comply with ISO 4217. Note: The decimal separator is a dot. Total18
digits allowed with up to 5 decimal places.
maxLength: 18
Ccy:
type: string
xml:
name: Ccy
attribute: true
description: Currency for the amount. Passed as tag attribute.
pattern: '[A-Z]{3,3}'
ActiveCurrencyAndAmount:
type: object
properties:
amount:
type: string
xml:
name: amt
description: >-
The number of fractional digits (or minor unit of currency) must
comply with ISO 4217. Note: The decimal separator is a dot. Total18
digits allowed with up to 5 decimal places.
currency:
type: string
xml:
name: Ccy
attribute: true
description: Currency for the amount. Passed as Tag Attribute.
pattern: '[A-Z]{3,3}'
ActiveOrHistoricCurrencyCode:
type: object
properties:
currency:
type: string
description: >-
Currency should only be used in case one and the same account number
covers several currencies and the initiating party needs to identify
which currency needs to be used for settlement on the account.
pattern: '[A-Z]{3,3}'
xml:
name: Ccy
description: Identification of the currency in which the account is held.
ReferredMandateDocument1:
type: object
properties:
type:
type: object
description: Specifies the type of referred document.
allOf:
- $ref: '#/definitions/ReferredDocumentType4'
number:
type: object
description: Unique and unambiguous identification of the referred document.
allOf:
- $ref: '#/definitions/Max35Text'
creditor_reference:
type: object
description: >-
Unique and unambiguous identification as assigned by the creditor to
the referred document shared with the debtor for its own reference.
allOf:
- $ref: '#/definitions/Max35Text'
related_date:
type: string
format: date
xml:
name: RltdDt
description: Date associated with the referred document.
description: >-
Provides information to identify the underlying documents associated with
the mandate.
ReferredDocumentType4:
type: object
required:
- code_or_proprietary
properties:
code_or_proprietary:
type: object
allOf:
- $ref: '#/definitions/ReferredDocumentType3Choice'
issuer:
type: object
description: Identification of the issuer of the reference document type.
allOf:
- $ref: '#/definitions/Max35Text'
description: Specifies the type of referred document.
ReferredDocumentType3Choice:
type: object
properties:
code:
type: object
description: Specifies a type of financial or commercial document.
allOf:
- $ref: '#/definitions/DocumentType6Code'
proprietary:
type: object
description: Specifies a proprietary type of financial or commercial document.
allOf:
- $ref: '#/definitions/Max35Text'
description: Either from Code or Proprietary is Required
DocumentType6Code:
type: string
description: >-
Document type in a coded form.
MSIN: Document is an invoice
claiming payment for the supply of metered services, for example gas or
electricity supplied to a fixed meter.
CNFA: Document is a
credit note for the final amount settled for a commercial
transaction.
DNFA: Document is a debit note for the final
amount settled for a commercial transaction.
CINV:
Document is an invoice.
CREN: Document is a credit note.
DEBN: Document is a debit note.
HIRI:
Document is an invoice for the hiring of human resources or renting goods
or equipment.
SBIN: Document is an invoice issued by the
debtor.
SVGS: Account used for savings.
CMCN: Document is an agreement between the parties,
stipulating the terms and conditions of the delivery of goods or
services.
SOAC: Document is a statement of the transactions
posted to the debtor's account at the supplier.
DISP:
Document is a dispatch advice.
BOLD: Document is a shipping
notice.
VCHR: Document is an electronic payment document.
AROI: Document is a payment that applies to a specific
source document.
TSUT: Document is a transaction identifier
as assigned by the Trade Services Utility.
PUOR: Document is
a purchase order.
enum:
- MSIN
- CNFA
- DNFA
- CINV
- CREN
- DEBN
- HIRI
- SBIN
- CMCN
- SOAC
- DISP
- BOLD
- VCHR
- AROI
- TSUT
- PUOR
AccountIdentification4Choice:
type: object
required:
- Othr
- iban
properties:
iban:
type: object
allOf:
- $ref: '#/definitions/IBAN2007Identifier'
Othr:
type: object
allOf:
- $ref: '#/definitions/GenericAccountIdentification1'
description: >-
Unique and unambiguous identification for the account between the account
owner and the account servicer. Either iban or Othr field value should be
passed on request.
IBAN2007Identifier:
type: string
pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$
description: >-
>- International Bank Account Number (IBAN) - identifier used
internationally by financial institutions to uniquely identify the account
of a customer. Further specifications of the format and content of the
IBAN can be found in the standard ISO 13616 "Banking and related financial
services - International Bank Account Number (IBAN)" version 1997-10-01,
or later revisions.
GenericAccountIdentification1:
type: object
required:
- Id
properties:
Id:
type: object
description: Identification assigned by an institution.
allOf:
- $ref: '#/definitions/Max34Text'
issuer:
type: object
description: Entity that assigns the identification.
allOf:
- $ref: '#/definitions/Max35Text'
SchmeNm:
type: object
description: Name of the identification scheme.
allOf:
- $ref: '#/definitions/AccountSchemeName1Choice'
description: Information related to a generic account identification.
AccountSchemeName1Choice:
type: object
properties:
code:
type: string
xml:
name: Cd
description: >-
Specifies the external account identification scheme name code in the
format of character string with a maximum length of 4 characters.
minLength: 1
maxLength: 4
proprietary:
type: string
xml:
name: Prtry
description: Proprietary Details
minLength: 1
maxLength: 35
description: >-
Name of the identification scheme. Either from Code or Proprietary is
Required
Max34Text:
type: string
minLength: 1
maxLength: 34
MandateAuthentication1:
properties:
message_authentication_code:
type: string
xml:
name: MsgAuthntcnCd
description: >-
Specifies a piece of information used to authenticate a message,that
is to confirm that the message came from the stated sender (its
authenticity)and has not been changed in transit (its integrity).
minLength: 1
maxLength: 16
date:
type: string
format: date
xml:
name: Dt
description: Date when the authentication was conducted.
channel:
type: object
description: Channel used to transmit the authentication information
allOf:
- $ref: '#/definitions/AuthenticationChannel1Choice'
AuthenticationChannel1Choice:
properties:
code:
type: string
xml:
name: Cd
description: >-
Specifies the transaction authentication channel, as published in an
external authentication channel code set.
minLength: 1
maxLength: 4
proprietary:
type: string
xml:
name: Prtry
description: Proprietary Details
minLength: 1
maxLength: 35
description: >-
Channel used to transmit the authentication information. Either of Code or
Proprietary is Required.
MandateAdjustment1:
properties:
date_adjustment_rule_indicator:
type: boolean
xml:
name: DtAdjstmntRuleInd
description: >-
Specifies whether an adjustment is to be applied on pre-agreed
collection date or not.
category:
type: object
description: Defines the category of adjustment.
allOf:
- $ref: '#/definitions/Frequency37Choice'
amount:
type: object
description: >-
Pre-agreed amount to increase or decrease the mandate amountas
justified per information in the category
allOf:
- $ref: '#/definitions/ActiveCurrencyAndAmount'
rate:
type: string
xml:
name: Rate
description: >-
Pre-agreed increase or decrease rate that will be applied to the
collection amount. Total Digits 11 are allowed and up to 10 fractional
digits
description: >-
Specifies the characteristics of the adjustment applied to the collection
amount of a direct debit instruction.
Frequency37Choice:
properties:
code:
type: object
description: >-
Specifies the regularity of an event. NEVR - Event does never take
place. YEAR - Event takes place every year or once a year. RATE -Event
takes place based on a change of a rate. MIAN - Event takes place
every six months or two times a year. QURT - Event takes place every
three months or four times a year.
allOf:
- $ref: '#/definitions/Frequency10Code'
proprietary:
type: string
xml:
name: Prtry
description: Proprietary Details
description: >-
Defines the category of adjustment.Either from Code or Proprietaryis
Required.
Frequency10Code:
type: string
description: >-
Specifies the regularity of an event. NEVR - Event does never take place.
YEAR - Event takes place every year or once a year. RATE - Event takes
place based on a change of a rate. MIAN - Event takes place every six
months or two times a year. QURT - Event takes place every three months or
four times a year.
enum:
- NEVR
- YEAR
- RATE
- MIAN
- QURT
Document:
type: object
required:
- MndtAccptncRpt
properties:
MndtAccptncRpt:
type: object
xml:
name: MndtAccptncRpt
description: >-
The MandateAcceptanceReport message is sent from the agent of the
receiver (debtor or creditor) of the MandateRequest message
(initiation,amendment or cancellation) to the agent of the initiator
of the MandateRequestmessage (debtor or creditor). A
MandateAcceptanceReport message is usedto confirm the acceptance or
rejection of a MandateRequest message. Where acceptance is part of the
full process flow, a MandateRequest message only becomes valid after a
confirmation of acceptance is received through a
MandateAcceptanceReport message from the agent of the receiver.
properties:
GrpHdr:
type: object
description: >-
Set of characteristics to identify the message and parties playing
a role in the mandate acceptance, but which are not part of the
mandate.
allOf:
- $ref: '#/definitions/GroupHeader80'
UndrlygAccptncDtls:
type: array
xml:
name: UndrlygAccptncDtls
description: >-
Provides information on the acceptance or rejection of themandate
request.
items:
$ref: '#/definitions/MandateAcceptance6'
SplmtryData:
type: array
xml:
name: SplmtryData
description: >-
Additional information that cannot be captured in the structured
elements and/or any other specific block. The Supplementary Data
building block at message level must not be used to provide
additional information about a transaction. The SupplementaryData
element at transaction level should be used for that purpose.
items:
$ref: '#/definitions/SupplementaryData1'
required:
- GrpHdr
description: >-
Payment Status Response generates payment details with status ofthe
payment transaction.
MandateAcceptance6:
type: object
properties:
OrgnlMsgInf:
type: object
description: Provides information on the original message.
allOf:
- $ref: '#/definitions/OriginalMessageInformation1'
AccptncRslt:
type: object
description: Provides detailed information on the acceptance result
allOf:
- $ref: '#/definitions/AcceptanceResult6'
OrgnlMndt:
type: object
description: Provides the original mandate data.
allOf:
- $ref: '#/definitions/OriginalMandate7Choice'
supplementary_data:
type: object
description: >-
Additional information that cannot be captured in the
structuredelements and/or any other specific block.
allOf:
- $ref: '#/definitions/SupplementaryData1'
description: >-
Identifies the mandate, which is being accepted. When Acceptance
Results/Accepted is true then OriginalMandate or
OriginalMandateIdentification must be present or OriginalMandateor
OriginalMandate or OriginalMandateIdentification must be present.
OriginalMessageInformation1:
type: object
properties:
message_identification:
type: object
description: >-
Point to point reference, as assigned by the original initiating
party, to unambiguously identify the original mandate request message.
allOf:
- $ref: '#/definitions/Max35Text'
message_name_identification:
type: object
description: Specifies the message name identifier to which the message refers.
allOf:
- $ref: '#/definitions/Max35Text'
creation_date_time:
type: string
format: date-time
xml:
name: CreDtTm
description: Date and time at which the message was created.
AcceptanceResult6:
type: object
required:
- accepted
properties:
accepted:
type: boolean
xml:
name: Accptd
description: Indicates whether the mandate request was accepted or rejected.
RjctRsn:
type: object
description: Specifies the reason for the rejection of a mandate request.
allOf:
- $ref: '#/definitions/MandateReason1Choice'
additional_reject_reason_information:
type: array
xml:
name: AddtlRjctRsnInf
description: Additional Reject Reason Information
items:
$ref: '#/definitions/Max105Text'
description: Provides detailed information on the acceptance result.
MandateReason1Choice:
type: object
properties:
code:
xml:
name: Cd
description: >-
Specifies the external mandate processing reason code in the format of
character string with a maximum length of 4 characters. The list of
valid codes is an external code list published separately.
proprietary:
xml:
name: Prtry
description: Proprietary Details
description: >-
Specifies the reason for the rejection of a mandate request. Eitherfrom
Code or Proprietary is Required.
Max105Text:
type: string
minLength: 1
maxLength: 105
OriginalMandate7Choice:
type: object
properties:
original_mandate_information:
type: object
description: original mandate information
allOf:
- $ref: '#/definitions/Max35Text'
OrgnlMndt:
type: object
description: >-
Information that serves as a basis to debit an account. Ultimate
Debtor may only be present if different from Debtor.UltimateCreditor
may only be present if different from Creditor.
allOf:
- $ref: '#/definitions/Mandate15'
description: >-
Provides the original mandate data. Either from original
mandateinformation OR Original Mandate is required.
Mandate15:
type: object
required:
- Cdtr
- Dbtr
- DbtrAgt
- TrckgInd
properties:
MndtId:
type: string
xml:
name: MndtId
description: >-
Unique identification, as assigned by the responsible party(such as
the creditor) or agent (such as the debtor agent), to unambiguously
identify the mandate.
mandate_request_identification:
type: object
description: >-
Identification for the mandate request, as assigned by the initiating
party.
allOf:
- $ref: '#/definitions/Max35Text'
authentication:
type: object
description: Specifies the transport authentication details related to the mandate.
allOf:
- $ref: '#/definitions/MandateAuthentication1'
Tp:
type: object
description: Specifies the type of mandate, such as paper, electronic or scheme.
allOf:
- $ref: '#/definitions/MandateTypeInformation2'
Ocrncs:
type: object
description: >-
Provides details of the duration of the mandate and occurrenceof the
underlying transactions.
allOf:
- $ref: '#/definitions/MandateOccurrences4'
TrckgInd:
type: boolean
xml:
name: TrckgInd
description: >-
Specifies whether the direct debit instructions should be
automatically re-submitted periodically when bilaterally agreed. A
flag indicating a True or False value.
first_collection_amount:
type: object
description: >-
Amount different from the collection amount, as it includesthe costs
associated with the first debited amount.
allOf:
- $ref: '#/definitions/ActiveOrHistoricCurrencyAndAmount'
collection_amount:
type: object
description: Fixed amount to be collected from the debtor's account.
allOf:
- $ref: '#/definitions/ActiveOrHistoricCurrencyAndAmount'
MaxAmt:
type: object
description: >-
Maximum amount that may be collected from the debtor's account, per
instruction.
allOf:
- $ref: '#/definitions/ActiveOrHistoricCurrencyAndAmount'
adjustment:
type: object
description: >-
Specifies the characteristics of the adjustment applied to
thecollection amount of a direct debit instruction.
allOf:
- $ref: '#/definitions/MandateAdjustment1'
reason:
type: object
description: Provides the reason for the setup of the mandate.
allOf:
- $ref: '#/definitions/MandateSetupReason1Choice'
creditor_scheme_identification:
type: object
description: Credit party that signs the mandate.
allOf:
- $ref: '#/definitions/PartyIdentification135'
Cdtr:
type: object
description: Party that signs the mandate and to whom an amount of money is due.
allOf:
- $ref: '#/definitions/PartyIdentification135'
CdtrAcct:
type: object
description: >-
Unambiguous identification of the account of the creditor to which a
credit entry will be posted as a result of the payment transaction.
allOf:
- $ref: '#/definitions/CashAccount38'
CdtrAgt:
type: object
description: Financial institution servicing an account for the creditor.
allOf:
- $ref: '#/definitions/BranchAndFinancialInstitutionIdentification6'
ultimate_creditor:
type: object
description: Ultimate party to which an amount of money is due.
allOf:
- $ref: '#/definitions/PartyIdentification135'
Dbtr:
type: object
description: >-
Party that signs the mandate and owes an amount of money to the
(ultimate) creditor.
allOf:
- $ref: '#/definitions/PartyIdentification135'
DbtrAcct:
type: object
description: >-
Unambiguous identification of the account of the debtor, to which a
debit entry will be made as a result of the transaction.
allOf:
- $ref: '#/definitions/CashAccount38'
DbtrAgt:
type: object
description: Financial institution servicing an account for the debtor.
allOf:
- $ref: '#/definitions/BranchAndFinancialInstitutionIdentification6'
ultimate_debtor:
type: object
description: >-
Ultimate party that owes an amount of money to the (ultimate)
creditor.
allOf:
- $ref: '#/definitions/PartyIdentification135'
mandate_reference:
type: object
description: >-
Reference assigned by a creditor or ultimate creditor for internal
usage for the mandate.
allOf:
- $ref: '#/definitions/Max35Text'
RfrdDoc:
type: array
xml:
name: RfrdDoc
description: >-
Provides information to identify the underlying documents associated
with the mandate.
items:
$ref: '#/definitions/ReferredMandateDocument1'
description: >-
Information that serves as a basis to debit an account. Set of elements
used to provide the details of the mandate signed between the (ultimate)
creditor and the (ultimate) debtor. UltimateDebtor may only be present if
different from Debtor.UltimateCreditor may only be present if different
from Creditor.