ivms101

package
v0.3.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 26, 2022 License: MIT Imports: 8 Imported by: 9

Documentation

Overview

Package ivms101 extends the Go protocol buffers generated by the ivms101 protobuf package with JSON loading utilities, validation helpers, short constants, etc.

Index

Constants

Short form natural person name type codes.

Short form legal person name type codes.

Short form address type codes.

Short form national identifier type codes.

Variables

View Source
var (
	NaturalPersonNameTypeCode_name = map[int32]string{
		0: "NATURAL_PERSON_NAME_TYPE_CODE_MISC",
		1: "NATURAL_PERSON_NAME_TYPE_CODE_ALIA",
		2: "NATURAL_PERSON_NAME_TYPE_CODE_BIRT",
		3: "NATURAL_PERSON_NAME_TYPE_CODE_MAID",
		4: "NATURAL_PERSON_NAME_TYPE_CODE_LEGL",
	}
	NaturalPersonNameTypeCode_value = map[string]int32{
		"NATURAL_PERSON_NAME_TYPE_CODE_MISC": 0,
		"NATURAL_PERSON_NAME_TYPE_CODE_ALIA": 1,
		"NATURAL_PERSON_NAME_TYPE_CODE_BIRT": 2,
		"NATURAL_PERSON_NAME_TYPE_CODE_MAID": 3,
		"NATURAL_PERSON_NAME_TYPE_CODE_LEGL": 4,
	}
)

Enum value maps for NaturalPersonNameTypeCode.

View Source
var (
	LegalPersonNameTypeCode_name = map[int32]string{
		0: "LEGAL_PERSON_NAME_TYPE_CODE_MISC",
		1: "LEGAL_PERSON_NAME_TYPE_CODE_LEGL",
		2: "LEGAL_PERSON_NAME_TYPE_CODE_SHRT",
		3: "LEGAL_PERSON_NAME_TYPE_CODE_TRAD",
	}
	LegalPersonNameTypeCode_value = map[string]int32{
		"LEGAL_PERSON_NAME_TYPE_CODE_MISC": 0,
		"LEGAL_PERSON_NAME_TYPE_CODE_LEGL": 1,
		"LEGAL_PERSON_NAME_TYPE_CODE_SHRT": 2,
		"LEGAL_PERSON_NAME_TYPE_CODE_TRAD": 3,
	}
)

Enum value maps for LegalPersonNameTypeCode.

View Source
var (
	AddressTypeCode_name = map[int32]string{
		0: "ADDRESS_TYPE_CODE_MISC",
		1: "ADDRESS_TYPE_CODE_HOME",
		2: "ADDRESS_TYPE_CODE_BIZZ",
		3: "ADDRESS_TYPE_CODE_GEOG",
	}
	AddressTypeCode_value = map[string]int32{
		"ADDRESS_TYPE_CODE_MISC": 0,
		"ADDRESS_TYPE_CODE_HOME": 1,
		"ADDRESS_TYPE_CODE_BIZZ": 2,
		"ADDRESS_TYPE_CODE_GEOG": 3,
	}
)

Enum value maps for AddressTypeCode.

View Source
var (
	NationalIdentifierTypeCode_name = map[int32]string{
		0: "NATIONAL_IDENTIFIER_TYPE_CODE_MISC",
		1: "NATIONAL_IDENTIFIER_TYPE_CODE_ARNU",
		2: "NATIONAL_IDENTIFIER_TYPE_CODE_CCPT",
		3: "NATIONAL_IDENTIFIER_TYPE_CODE_RAID",
		4: "NATIONAL_IDENTIFIER_TYPE_CODE_DRLC",
		5: "NATIONAL_IDENTIFIER_TYPE_CODE_FIIN",
		6: "NATIONAL_IDENTIFIER_TYPE_CODE_TXID",
		7: "NATIONAL_IDENTIFIER_TYPE_CODE_SOCS",
		8: "NATIONAL_IDENTIFIER_TYPE_CODE_IDCD",
		9: "NATIONAL_IDENTIFIER_TYPE_CODE_LEIX",
	}
	NationalIdentifierTypeCode_value = map[string]int32{
		"NATIONAL_IDENTIFIER_TYPE_CODE_MISC": 0,
		"NATIONAL_IDENTIFIER_TYPE_CODE_ARNU": 1,
		"NATIONAL_IDENTIFIER_TYPE_CODE_CCPT": 2,
		"NATIONAL_IDENTIFIER_TYPE_CODE_RAID": 3,
		"NATIONAL_IDENTIFIER_TYPE_CODE_DRLC": 4,
		"NATIONAL_IDENTIFIER_TYPE_CODE_FIIN": 5,
		"NATIONAL_IDENTIFIER_TYPE_CODE_TXID": 6,
		"NATIONAL_IDENTIFIER_TYPE_CODE_SOCS": 7,
		"NATIONAL_IDENTIFIER_TYPE_CODE_IDCD": 8,
		"NATIONAL_IDENTIFIER_TYPE_CODE_LEIX": 9,
	}
)

Enum value maps for NationalIdentifierTypeCode.

View Source
var (
	TransliterationMethodCode_name = map[int32]string{
		0:  "TRANSLITERATION_METHOD_CODE_OTHR",
		1:  "TRANSLITERATION_METHOD_CODE_ARAB",
		2:  "TRANSLITERATION_METHOD_CODE_ARAN",
		3:  "TRANSLITERATION_METHOD_CODE_ARMN",
		4:  "TRANSLITERATION_METHOD_CODE_CYRL",
		5:  "TRANSLITERATION_METHOD_CODE_DEVA",
		6:  "TRANSLITERATION_METHOD_CODE_GEOR",
		7:  "TRANSLITERATION_METHOD_CODE_GREK",
		8:  "TRANSLITERATION_METHOD_CODE_HANI",
		9:  "TRANSLITERATION_METHOD_CODE_HEBR",
		10: "TRANSLITERATION_METHOD_CODE_KANA",
		11: "TRANSLITERATION_METHOD_CODE_KORE",
		12: "TRANSLITERATION_METHOD_CODE_THAI",
	}
	TransliterationMethodCode_value = map[string]int32{
		"TRANSLITERATION_METHOD_CODE_OTHR": 0,
		"TRANSLITERATION_METHOD_CODE_ARAB": 1,
		"TRANSLITERATION_METHOD_CODE_ARAN": 2,
		"TRANSLITERATION_METHOD_CODE_ARMN": 3,
		"TRANSLITERATION_METHOD_CODE_CYRL": 4,
		"TRANSLITERATION_METHOD_CODE_DEVA": 5,
		"TRANSLITERATION_METHOD_CODE_GEOR": 6,
		"TRANSLITERATION_METHOD_CODE_GREK": 7,
		"TRANSLITERATION_METHOD_CODE_HANI": 8,
		"TRANSLITERATION_METHOD_CODE_HEBR": 9,
		"TRANSLITERATION_METHOD_CODE_KANA": 10,
		"TRANSLITERATION_METHOD_CODE_KORE": 11,
		"TRANSLITERATION_METHOD_CODE_THAI": 12,
	}
)

Enum value maps for TransliterationMethodCode.

View Source
var (
	ErrNoNaturalPersonNameIdentifiers        = errors.New("one or more natural person name identifiers is required")
	ErrInvalidNaturalPersonName              = errors.New("natural person name required with max length 100 chars")
	ErrInvalidNaturalPersonNameTypeCode      = errors.New("invalid natural person name type code")
	ErrNoLegalPersonNameIdentifiers          = errors.New("one or more legal person name identifiers is required")
	ErrInvalidLegalPersonName                = errors.New("legal person name required with max length 100 chars")
	ErrInvalidLegalPersonNameTypeCode        = errors.New("invalid legal person name type code")
	ErrLegalNamesPresent                     = errors.New("at least one name identifier must have a LEGL name identifier type")
	ErrInvalidCustomerNumber                 = errors.New("customer number can be at most 50 chars")
	ErrInvalidCustomerIdentification         = errors.New("customer identification can be at most 50 chars")
	ErrInvalidCountryCode                    = errors.New("invalid ISO-3166-1 alpha-2 country code")
	ErrValidNationalIdentifierLegalPerson    = errors.New("a legal person must have a national identifier of type RAID, MISC, LEIX, or TXID")
	ErrInvalidLEI                            = errors.New("national identifier required with max length 35")
	ErrInvalidNationalIdentifierTypeCode     = errors.New("invalid national identifier type code")
	ErrCompleteNationalIdentifierLegalPerson = errors.New("a legal person must not have a value for country and must have value for registration authority if identifier type is not LEIX")
	ErrInvalidDateOfBirth                    = errors.New("date of birth must be a valid date in YYYY-MM-DD format")
	ErrInvalidPlaceOfBirth                   = errors.New("place of birth required with at most 70 characters")
	ErrDateInPast                            = errors.New("date of birth must be a historic date, prior to current date")
	ErrValidAddress                          = errors.New("address must have at least one address line or street name + building name or number")
	ErrInvalidAddressTypeCode                = errors.New("invalid address type code")
	ErrInvalidAddressLines                   = errors.New("an address can contain at most 7 address lines")
)

Standard error values for error type checking

View Source
var File_ivms101_enum_proto protoreflect.FileDescriptor
View Source
var File_ivms101_identity_proto protoreflect.FileDescriptor
View Source
var File_ivms101_ivms101_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Address

type Address struct {

	// Definition: Identifies the nature of the address.
	// Required
	AddressType AddressTypeCode `protobuf:"varint,1,opt,name=address_type,json=addressType,proto3,enum=ivms101.AddressTypeCode" json:"address_type,omitempty"`
	// Definition: Identification of a division of a large organisation or building.
	// Datatype: “Max50Text”
	// Optional
	Department string `protobuf:"bytes,2,opt,name=department,proto3" json:"department,omitempty"`
	// Definition: Identification of a sub-division of a large organisation or building.
	// Datatype: “Max70Text”
	// Optional
	SubDepartment string `protobuf:"bytes,3,opt,name=sub_department,json=subDepartment,proto3" json:"sub_department,omitempty"`
	// Definition: Name of a street or thoroughfare.
	// Datatype: “Max70Text”
	// Optional
	StreetName string `protobuf:"bytes,4,opt,name=street_name,json=streetName,proto3" json:"street_name,omitempty"`
	// Definition: Number that identifies the position of a building on a street.
	// Datatype: “Max16Text”
	// Optional
	BuildingNumber string `protobuf:"bytes,5,opt,name=building_number,json=buildingNumber,proto3" json:"building_number,omitempty"`
	// Definition: Name of the building or house.
	// Datatype: “Max35Text”
	// Optional
	BuildingName string `protobuf:"bytes,6,opt,name=building_name,json=buildingName,proto3" json:"building_name,omitempty"`
	// Definition: Floor or storey within a building.
	// Datatype: “Max70Text”
	// Optional
	Floor string `protobuf:"bytes,7,opt,name=floor,proto3" json:"floor,omitempty"`
	// Definition: Numbered box in a post office, assigned to a person or organisation,
	// where letters are kept until called for.
	// Datatype: “Max16Text”
	// Optional
	PostBox string `protobuf:"bytes,8,opt,name=post_box,json=postBox,proto3" json:"post_box,omitempty"`
	// Definition: Building room number.
	// Datatype: “Max70Text”
	// Optional
	Room string `protobuf:"bytes,9,opt,name=room,proto3" json:"room,omitempty"`
	// Definition: Identifier consisting of a group of letters and/or numbers that is
	// added to a postal address to assist the sorting of mail.
	// Datatype: “Max16Text”
	// Optional
	PostCode string `protobuf:"bytes,10,opt,name=post_code,json=postCode,proto3" json:"post_code,omitempty"`
	// Definition: Name of a built-up area, with defined boundaries and a local government.
	// Datatype: “Max35Text”
	// Optional
	TownName string `protobuf:"bytes,11,opt,name=town_name,json=townName,proto3" json:"town_name,omitempty"`
	// Definition: Specific location name within the town.
	// Datatype: “Max35Text”
	// Optional
	TownLocationName string `protobuf:"bytes,12,opt,name=town_location_name,json=townLocationName,proto3" json:"town_location_name,omitempty"`
	// Definition: Identifies a subdivision within a country subdivision.
	// Datatype: “Max35Text”
	// Optional
	DistrictName string `protobuf:"bytes,13,opt,name=district_name,json=districtName,proto3" json:"district_name,omitempty"`
	// Definition: Identifies a subdivision of a country for example, state, region,
	// province, départment or county.
	// Datatype: “Max35Text”
	// Optional
	CountrySubDivision string `protobuf:"bytes,14,opt,name=country_sub_division,json=countrySubDivision,proto3" json:"country_sub_division,omitempty"`
	// Definition: Information that locates and identifies a specific address, as
	// defined by postal services, presented in free format text.
	// Datatype: “Max70Text”
	// Zero to Seven
	AddressLine []string `protobuf:"bytes,15,rep,name=address_line,json=addressLine,proto3" json:"address_line,omitempty"`
	// Constraint: The value used for the field country must be present on the
	// ISO-3166-1 alpha-2 codes or the value XX.
	// Datatype: “CountryCode”
	// Required
	Country string `protobuf:"bytes,16,opt,name=country,proto3" json:"country,omitempty"`
	// contains filtered or unexported fields
}

Constraint: ValidAddress There must be at least one occurrence of the element addressLine or (streetName and buildingName and/or buildingNumber).

func (*Address) Descriptor deprecated

func (*Address) Descriptor() ([]byte, []int)

Deprecated: Use Address.ProtoReflect.Descriptor instead.

func (*Address) GetAddressLine

func (x *Address) GetAddressLine() []string

func (*Address) GetAddressType

func (x *Address) GetAddressType() AddressTypeCode

func (*Address) GetBuildingName

func (x *Address) GetBuildingName() string

func (*Address) GetBuildingNumber

func (x *Address) GetBuildingNumber() string

func (*Address) GetCountry

func (x *Address) GetCountry() string

func (*Address) GetCountrySubDivision

func (x *Address) GetCountrySubDivision() string

func (*Address) GetDepartment

func (x *Address) GetDepartment() string

func (*Address) GetDistrictName

func (x *Address) GetDistrictName() string

func (*Address) GetFloor

func (x *Address) GetFloor() string

func (*Address) GetPostBox

func (x *Address) GetPostBox() string

func (*Address) GetPostCode

func (x *Address) GetPostCode() string

func (*Address) GetRoom

func (x *Address) GetRoom() string

func (*Address) GetStreetName

func (x *Address) GetStreetName() string

func (*Address) GetSubDepartment

func (x *Address) GetSubDepartment() string

func (*Address) GetTownLocationName

func (x *Address) GetTownLocationName() string

func (*Address) GetTownName

func (x *Address) GetTownName() string

func (*Address) MarshalJSON added in v0.3.4

func (a *Address) MarshalJSON() ([]byte, error)

func (*Address) ProtoMessage

func (*Address) ProtoMessage()

func (*Address) ProtoReflect

func (x *Address) ProtoReflect() protoreflect.Message

func (*Address) Reset

func (x *Address) Reset()

func (*Address) String

func (x *Address) String() string

func (*Address) UnmarshalJSON added in v0.3.4

func (a *Address) UnmarshalJSON(data []byte) error

func (*Address) Validate

func (a *Address) Validate() (err error)

Validate the IVMS101 constraints for a geographic address

type AddressTypeCode

type AddressTypeCode int32

Definition: Identifies the nature of the address.

const (
	// Unspecified
	// An address the category of which the sender is unable to determine.
	// Use GEOG instead of this code in general use.
	// Not an official part of the IVMS 101 Standard
	AddressTypeCode_ADDRESS_TYPE_CODE_MISC AddressTypeCode = 0
	// Residential
	// Address is the home address.
	AddressTypeCode_ADDRESS_TYPE_CODE_HOME AddressTypeCode = 1
	// Business
	// Address is the business address.
	AddressTypeCode_ADDRESS_TYPE_CODE_BIZZ AddressTypeCode = 2
	// Geographic
	// Address is the unspecified physical (geographical) address suitable for
	// identification of the natural or legal person.
	AddressTypeCode_ADDRESS_TYPE_CODE_GEOG AddressTypeCode = 3
)

func (AddressTypeCode) Descriptor

func (AddressTypeCode) Enum

func (x AddressTypeCode) Enum() *AddressTypeCode

func (AddressTypeCode) EnumDescriptor deprecated

func (AddressTypeCode) EnumDescriptor() ([]byte, []int)

Deprecated: Use AddressTypeCode.Descriptor instead.

func (AddressTypeCode) MarshalJSON added in v0.3.4

func (a AddressTypeCode) MarshalJSON() ([]byte, error)

Must be a value receiver to ensure it is marshaled correctly from it's parent struct

func (AddressTypeCode) Number

func (AddressTypeCode) String

func (x AddressTypeCode) String() string

func (AddressTypeCode) Type

func (*AddressTypeCode) UnmarshalJSON added in v0.3.4

func (a *AddressTypeCode) UnmarshalJSON(data []byte) error

Must be a pointer receiver so that we can indirect back to the correct variable

type Beneficiary

type Beneficiary struct {

	// Definition: the natural or legal person or legal arrangement who is identified
	// by the originator as the receiver of the requested VA transfer.
	// One or More
	BeneficiaryPersons []*Person `protobuf:"bytes,1,rep,name=beneficiary_persons,json=beneficiaryPerson,proto3" json:"beneficiary_persons,omitempty"`
	// Definition: Identifier of an account that is used to process the transaction.
	// The value for this element is case-sensitive.
	// Datatype: “Max100Text”
	// Zero or More
	AccountNumbers []string `protobuf:"bytes,2,rep,name=account_numbers,json=accountNumber,proto3" json:"account_numbers,omitempty"`
	// contains filtered or unexported fields
}

func (*Beneficiary) Descriptor deprecated

func (*Beneficiary) Descriptor() ([]byte, []int)

Deprecated: Use Beneficiary.ProtoReflect.Descriptor instead.

func (*Beneficiary) GetAccountNumbers

func (x *Beneficiary) GetAccountNumbers() []string

func (*Beneficiary) GetBeneficiaryPersons

func (x *Beneficiary) GetBeneficiaryPersons() []*Person

func (*Beneficiary) MarshalJSON added in v0.3.4

func (b *Beneficiary) MarshalJSON() ([]byte, error)

func (*Beneficiary) ProtoMessage

func (*Beneficiary) ProtoMessage()

func (*Beneficiary) ProtoReflect

func (x *Beneficiary) ProtoReflect() protoreflect.Message

func (*Beneficiary) Reset

func (x *Beneficiary) Reset()

func (*Beneficiary) String

func (x *Beneficiary) String() string

func (*Beneficiary) UnmarshalJSON added in v0.3.4

func (b *Beneficiary) UnmarshalJSON(data []byte) error

type BeneficiaryVasp

type BeneficiaryVasp struct {

	// Definition: the VASP which receives the transfer of a virtual asset from the
	// originating VASP directly or through an intermediary VASP and makes the funds
	// available to the beneficiary.
	// Optional
	BeneficiaryVasp *Person `protobuf:"bytes,1,opt,name=beneficiary_vasp,json=beneficiaryVasp,proto3" json:"beneficiary_vasp,omitempty"`
	// contains filtered or unexported fields
}

func (*BeneficiaryVasp) Descriptor deprecated

func (*BeneficiaryVasp) Descriptor() ([]byte, []int)

Deprecated: Use BeneficiaryVasp.ProtoReflect.Descriptor instead.

func (*BeneficiaryVasp) GetBeneficiaryVasp

func (x *BeneficiaryVasp) GetBeneficiaryVasp() *Person

func (*BeneficiaryVasp) MarshalJSON added in v0.3.4

func (b *BeneficiaryVasp) MarshalJSON() ([]byte, error)

func (*BeneficiaryVasp) ProtoMessage

func (*BeneficiaryVasp) ProtoMessage()

func (*BeneficiaryVasp) ProtoReflect

func (x *BeneficiaryVasp) ProtoReflect() protoreflect.Message

func (*BeneficiaryVasp) Reset

func (x *BeneficiaryVasp) Reset()

func (*BeneficiaryVasp) String

func (x *BeneficiaryVasp) String() string

func (*BeneficiaryVasp) UnmarshalJSON added in v0.3.4

func (b *BeneficiaryVasp) UnmarshalJSON(data []byte) error

type DateAndPlaceOfBirth

type DateAndPlaceOfBirth struct {

	// Definition: Date on which a person is born.
	// Definition: A point in time, represented as a day within the calendar year.
	// Compliant with ISO 8601.
	// Type: Text
	// Format: YYYY-MM-DD
	// Regex: ^([0-9]{4})-([0-9]{2})-([0-9]{2})$
	// Required
	DateOfBirth string `protobuf:"bytes,1,opt,name=date_of_birth,json=dateOfBirth,proto3" json:"date_of_birth,omitempty"`
	// Definition: The town and/or the city and/or the suburb and/or the country
	// subdivision and/or the country where the person was born.
	// Datatype: “Max70Text”
	// Required
	PlaceOfBirth string `protobuf:"bytes,2,opt,name=place_of_birth,json=placeOfBirth,proto3" json:"place_of_birth,omitempty"`
	// contains filtered or unexported fields
}

Constraint: DateInPast If dateOfBirth is specified, the date specified must be a historic date (i.e. a date prior to the current date)

func (*DateAndPlaceOfBirth) Descriptor deprecated

func (*DateAndPlaceOfBirth) Descriptor() ([]byte, []int)

Deprecated: Use DateAndPlaceOfBirth.ProtoReflect.Descriptor instead.

func (*DateAndPlaceOfBirth) GetDateOfBirth

func (x *DateAndPlaceOfBirth) GetDateOfBirth() string

func (*DateAndPlaceOfBirth) GetPlaceOfBirth

func (x *DateAndPlaceOfBirth) GetPlaceOfBirth() string

func (*DateAndPlaceOfBirth) MarshalJSON added in v0.3.4

func (d *DateAndPlaceOfBirth) MarshalJSON() ([]byte, error)

func (*DateAndPlaceOfBirth) ProtoMessage

func (*DateAndPlaceOfBirth) ProtoMessage()

func (*DateAndPlaceOfBirth) ProtoReflect

func (x *DateAndPlaceOfBirth) ProtoReflect() protoreflect.Message

func (*DateAndPlaceOfBirth) Reset

func (x *DateAndPlaceOfBirth) Reset()

func (*DateAndPlaceOfBirth) String

func (x *DateAndPlaceOfBirth) String() string

func (*DateAndPlaceOfBirth) UnmarshalJSON added in v0.3.4

func (d *DateAndPlaceOfBirth) UnmarshalJSON(data []byte) error

func (*DateAndPlaceOfBirth) Validate

func (d *DateAndPlaceOfBirth) Validate() (err error)

Validate the IVMS101 constraints for date and place of birth

type IdentityPayload

type IdentityPayload struct {
	Originator      *Originator      `protobuf:"bytes,1,opt,name=originator,proto3" json:"originator,omitempty"`
	Beneficiary     *Beneficiary     `protobuf:"bytes,2,opt,name=beneficiary,proto3" json:"beneficiary,omitempty"`
	OriginatingVasp *OriginatingVasp `protobuf:"bytes,3,opt,name=originating_vasp,json=originatingVasp,proto3" json:"originating_vasp,omitempty"`
	BeneficiaryVasp *BeneficiaryVasp `protobuf:"bytes,4,opt,name=beneficiary_vasp,json=beneficiaryVasp,proto3" json:"beneficiary_vasp,omitempty"`
	TransferPath    *TransferPath    `protobuf:"bytes,5,opt,name=transfer_path,json=transferPath,proto3" json:"transfer_path,omitempty"`
	PayloadMetadata *PayloadMetadata `protobuf:"bytes,6,opt,name=payload_metadata,json=payloadMetadata,proto3" json:"payload_metadata,omitempty"`
	// contains filtered or unexported fields
}

func (*IdentityPayload) Descriptor deprecated

func (*IdentityPayload) Descriptor() ([]byte, []int)

Deprecated: Use IdentityPayload.ProtoReflect.Descriptor instead.

func (*IdentityPayload) GetBeneficiary

func (x *IdentityPayload) GetBeneficiary() *Beneficiary

func (*IdentityPayload) GetBeneficiaryVasp

func (x *IdentityPayload) GetBeneficiaryVasp() *BeneficiaryVasp

func (*IdentityPayload) GetOriginatingVasp

func (x *IdentityPayload) GetOriginatingVasp() *OriginatingVasp

func (*IdentityPayload) GetOriginator

func (x *IdentityPayload) GetOriginator() *Originator

func (*IdentityPayload) GetPayloadMetadata

func (x *IdentityPayload) GetPayloadMetadata() *PayloadMetadata

func (*IdentityPayload) GetTransferPath

func (x *IdentityPayload) GetTransferPath() *TransferPath

func (*IdentityPayload) MarshalJSON added in v0.3.4

func (i *IdentityPayload) MarshalJSON() ([]byte, error)

func (*IdentityPayload) ProtoMessage

func (*IdentityPayload) ProtoMessage()

func (*IdentityPayload) ProtoReflect

func (x *IdentityPayload) ProtoReflect() protoreflect.Message

func (*IdentityPayload) Reset

func (x *IdentityPayload) Reset()

func (*IdentityPayload) String

func (x *IdentityPayload) String() string

func (*IdentityPayload) UnmarshalJSON added in v0.3.4

func (i *IdentityPayload) UnmarshalJSON(data []byte) error

type IntermediaryVasp

type IntermediaryVasp struct {

	// Definition: the VASP in a serial chain that receives and retransmits a VA
	// transfer on behalf of the originating VASP and the beneficiary VASP, or another
	// intermediary VASP.
	// Required
	IntermediaryVasp *Person `protobuf:"bytes,1,opt,name=intermediary_vasp,json=intermediaryVasp,proto3" json:"intermediary_vasp,omitempty"`
	// Definition: the sequence in a serial chain at which the corresponding
	// intermediary VASP participates in the transfer.
	// Constraints: totalDigits: 18; fractionDigits: 0
	// Required
	Sequence uint64 `protobuf:"varint,2,opt,name=sequence,proto3" json:"sequence,omitempty"`
	// contains filtered or unexported fields
}

func (*IntermediaryVasp) Descriptor deprecated

func (*IntermediaryVasp) Descriptor() ([]byte, []int)

Deprecated: Use IntermediaryVasp.ProtoReflect.Descriptor instead.

func (*IntermediaryVasp) GetIntermediaryVasp

func (x *IntermediaryVasp) GetIntermediaryVasp() *Person

func (*IntermediaryVasp) GetSequence

func (x *IntermediaryVasp) GetSequence() uint64

func (*IntermediaryVasp) MarshalJSON added in v0.3.4

func (v *IntermediaryVasp) MarshalJSON() ([]byte, error)

func (*IntermediaryVasp) ProtoMessage

func (*IntermediaryVasp) ProtoMessage()

func (*IntermediaryVasp) ProtoReflect

func (x *IntermediaryVasp) ProtoReflect() protoreflect.Message

func (*IntermediaryVasp) Reset

func (x *IntermediaryVasp) Reset()

func (*IntermediaryVasp) String

func (x *IntermediaryVasp) String() string

func (*IntermediaryVasp) UnmarshalJSON added in v0.3.4

func (v *IntermediaryVasp) UnmarshalJSON(data []byte) error

type LegalPerson

type LegalPerson struct {

	// Definition: The name of the legal person.
	// Constraint: LegalNamePresentLegalPerson
	// At least one occurrence of legalPersonNameIdentifier must have the value ‘LEGL’
	// specified in the element legalPersonNameIdentifierType.
	Name *LegalPersonName `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Definition: The address of the legal person.
	// Zero or more
	GeographicAddresses []*Address `protobuf:"bytes,2,rep,name=geographic_addresses,json=geographicAddress,proto3" json:"geographic_addresses,omitempty"`
	// Definition: The unique identification number applied by the VASP to customer.
	// NOTE The specification has a descrepency in that 5.2.9.3.3 specifies an element
	// name as "customerNumber", while the table in 5.2.9.1 calls that element
	// "customerIdentification"
	// Datatype: “Max50Text”
	// Optional
	CustomerNumber string `protobuf:"bytes,3,opt,name=customer_number,json=customerNumber,proto3" json:"customer_number,omitempty"`
	// Definition: A distinct identifier used by governments of countries to uniquely
	// identify a natural or legal person.
	// Optional
	NationalIdentification *NationalIdentification `` /* 127-byte string literal not displayed */
	// Definition: The country in which the legal person is registered.
	// Constraint: The value used for the field country must be present on the
	// ISO-3166-1 alpha-2 codes or the value XX.
	// Datatype: “CountryCode”
	// Optional
	CountryOfRegistration string `` /* 126-byte string literal not displayed */
	// contains filtered or unexported fields
}

Definition: refers to any entity other than a natural person that can establish a permanent customer relationship with an affected entity or otherwise own property. This can include companies, bodies corporate, foundations, anstalt, partnerships, or associations and other relevantly similar entities. Constraint: OriginatorInformationLegalPerson If the originator is a LegalPerson either geographicAddress (with an addressType value of ‘GEOG’) and/or nationalIdentification and/or customerNumber is required.

func (*LegalPerson) Descriptor deprecated

func (*LegalPerson) Descriptor() ([]byte, []int)

Deprecated: Use LegalPerson.ProtoReflect.Descriptor instead.

func (*LegalPerson) GetCountryOfRegistration

func (x *LegalPerson) GetCountryOfRegistration() string

func (*LegalPerson) GetCustomerNumber

func (x *LegalPerson) GetCustomerNumber() string

func (*LegalPerson) GetGeographicAddresses

func (x *LegalPerson) GetGeographicAddresses() []*Address

func (*LegalPerson) GetName

func (x *LegalPerson) GetName() *LegalPersonName

func (*LegalPerson) GetNationalIdentification

func (x *LegalPerson) GetNationalIdentification() *NationalIdentification

func (*LegalPerson) MarshalJSON added in v0.3.4

func (l *LegalPerson) MarshalJSON() ([]byte, error)

func (*LegalPerson) Names

func (p *LegalPerson) Names() []string

Names returns a list of strings that collects all of the names from the LegalPerson including name identifiers, local name identifiers, and phonetic name identifiers, in that order. No identifier codes or sorting are returned.

func (*LegalPerson) Person

func (p *LegalPerson) Person() *Person

Person converts a LegalPerson into a Person protobuf message type.

func (*LegalPerson) ProtoMessage

func (*LegalPerson) ProtoMessage()

func (*LegalPerson) ProtoReflect

func (x *LegalPerson) ProtoReflect() protoreflect.Message

func (*LegalPerson) Reset

func (x *LegalPerson) Reset()

func (*LegalPerson) String

func (x *LegalPerson) String() string

func (*LegalPerson) UnmarshalJSON added in v0.3.4

func (l *LegalPerson) UnmarshalJSON(data []byte) (err error)

func (*LegalPerson) Validate

func (p *LegalPerson) Validate() (err error)

Validate the IVMS101 constraints for a legal person data definition. On the first invalid constraint found an error is returned. No error is returned for valid data.

type LegalPersonName

type LegalPersonName struct {

	// Definition: The name and type of name by which the legal person is known.
	// Constraint: LegalNamePresent
	// At least one occurrence of legalPersonNameIdentifier must have the value
	// ‘LEGL’ specified in the element legalPersonNameIdentifierType.
	// One or more
	NameIdentifiers []*LegalPersonNameId `protobuf:"bytes,1,rep,name=name_identifiers,json=nameIdentifier,proto3" json:"name_identifiers,omitempty"`
	// Definition: The name and type of name by which the legal person is known using
	// local characters.
	// Zero or more
	LocalNameIdentifiers []*LocalLegalPersonNameId `protobuf:"bytes,2,rep,name=local_name_identifiers,json=localNameIdentifier,proto3" json:"local_name_identifiers,omitempty"`
	// Definition: The name and type of name by which the legal person is known using
	// local characters.
	// Zero or more
	PhoneticNameIdentifiers []*LocalLegalPersonNameId `` /* 131-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*LegalPersonName) Descriptor deprecated

func (*LegalPersonName) Descriptor() ([]byte, []int)

Deprecated: Use LegalPersonName.ProtoReflect.Descriptor instead.

func (*LegalPersonName) GetLocalNameIdentifiers

func (x *LegalPersonName) GetLocalNameIdentifiers() []*LocalLegalPersonNameId

func (*LegalPersonName) GetNameIdentifiers

func (x *LegalPersonName) GetNameIdentifiers() []*LegalPersonNameId

func (*LegalPersonName) GetPhoneticNameIdentifiers

func (x *LegalPersonName) GetPhoneticNameIdentifiers() []*LocalLegalPersonNameId

func (*LegalPersonName) MarshalJSON added in v0.3.4

func (l *LegalPersonName) MarshalJSON() ([]byte, error)

func (*LegalPersonName) ProtoMessage

func (*LegalPersonName) ProtoMessage()

func (*LegalPersonName) ProtoReflect

func (x *LegalPersonName) ProtoReflect() protoreflect.Message

func (*LegalPersonName) Reset

func (x *LegalPersonName) Reset()

func (*LegalPersonName) String

func (x *LegalPersonName) String() string

func (*LegalPersonName) UnmarshalJSON added in v0.3.4

func (l *LegalPersonName) UnmarshalJSON(data []byte) error

func (*LegalPersonName) Validate

func (n *LegalPersonName) Validate() (err error)

Validate the IVMS101 constraints for legal person name.

type LegalPersonNameId

type LegalPersonNameId struct {

	// Definition: Name by which the legal person is known.
	// Datatype: “Max100Text”
	// Required
	LegalPersonName string `protobuf:"bytes,1,opt,name=legal_person_name,json=legalPersonName,proto3" json:"legal_person_name,omitempty"`
	// Definition: The nature of the name specified.
	// Required
	LegalPersonNameIdentifierType LegalPersonNameTypeCode `` /* 192-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*LegalPersonNameId) Descriptor deprecated

func (*LegalPersonNameId) Descriptor() ([]byte, []int)

Deprecated: Use LegalPersonNameId.ProtoReflect.Descriptor instead.

func (*LegalPersonNameId) GetLegalPersonName

func (x *LegalPersonNameId) GetLegalPersonName() string

func (*LegalPersonNameId) GetLegalPersonNameIdentifierType

func (x *LegalPersonNameId) GetLegalPersonNameIdentifierType() LegalPersonNameTypeCode

func (*LegalPersonNameId) MarshalJSON added in v0.3.4

func (p *LegalPersonNameId) MarshalJSON() ([]byte, error)

func (*LegalPersonNameId) ProtoMessage

func (*LegalPersonNameId) ProtoMessage()

func (*LegalPersonNameId) ProtoReflect

func (x *LegalPersonNameId) ProtoReflect() protoreflect.Message

func (*LegalPersonNameId) Reset

func (x *LegalPersonNameId) Reset()

func (*LegalPersonNameId) String

func (x *LegalPersonNameId) String() string

func (*LegalPersonNameId) UnmarshalJSON added in v0.3.4

func (p *LegalPersonNameId) UnmarshalJSON(data []byte) error

func (*LegalPersonNameId) Validate

func (n *LegalPersonNameId) Validate() (err error)

Validate the IVMS101 constraints for legal person name identifier

type LegalPersonNameTypeCode

type LegalPersonNameTypeCode int32
Definition: A single value corresponding to the nature of name being specified

for the legal person.

const (
	// Unspecified
	// A name by which a legal person may be known but which cannot otherwise be
	// categorized or the category of which the sender is unable to determine.
	// Not an official part of the IVMS 101 Standard
	LegalPersonNameTypeCode_LEGAL_PERSON_NAME_TYPE_CODE_MISC LegalPersonNameTypeCode = 0
	// Legal name
	// Official name under which an organisation is registered.
	LegalPersonNameTypeCode_LEGAL_PERSON_NAME_TYPE_CODE_LEGL LegalPersonNameTypeCode = 1
	// Short name
	// Specifies the short name of the organisation.
	LegalPersonNameTypeCode_LEGAL_PERSON_NAME_TYPE_CODE_SHRT LegalPersonNameTypeCode = 2
	// Trading name
	// Name used by a business for commercial purposes, although its registered legal
	// name, used for contracts and other formal situations, may be another.
	LegalPersonNameTypeCode_LEGAL_PERSON_NAME_TYPE_CODE_TRAD LegalPersonNameTypeCode = 3
)

func (LegalPersonNameTypeCode) Descriptor

func (LegalPersonNameTypeCode) Enum

func (LegalPersonNameTypeCode) EnumDescriptor deprecated

func (LegalPersonNameTypeCode) EnumDescriptor() ([]byte, []int)

Deprecated: Use LegalPersonNameTypeCode.Descriptor instead.

func (LegalPersonNameTypeCode) MarshalJSON added in v0.3.4

func (l LegalPersonNameTypeCode) MarshalJSON() ([]byte, error)

Must be a value receiver to ensure it is marshaled correctly from it's parent struct

func (LegalPersonNameTypeCode) Number

func (LegalPersonNameTypeCode) String

func (x LegalPersonNameTypeCode) String() string

func (LegalPersonNameTypeCode) Type

func (*LegalPersonNameTypeCode) UnmarshalJSON added in v0.3.4

func (l *LegalPersonNameTypeCode) UnmarshalJSON(data []byte) error

Must be a pointer receiver so that we can indirect back to the correct variable

type LocalLegalPersonNameId

type LocalLegalPersonNameId struct {

	// Definition: Name by which the legal person is known.
	// Datatype: "LocalMax100Text"
	// Required
	LegalPersonName string `protobuf:"bytes,1,opt,name=legal_person_name,json=legalPersonName,proto3" json:"legal_person_name,omitempty"`
	// Definition: The nature of the name specified.
	// Required
	LegalPersonNameIdentifierType LegalPersonNameTypeCode `` /* 192-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*LocalLegalPersonNameId) Descriptor deprecated

func (*LocalLegalPersonNameId) Descriptor() ([]byte, []int)

Deprecated: Use LocalLegalPersonNameId.ProtoReflect.Descriptor instead.

func (*LocalLegalPersonNameId) GetLegalPersonName

func (x *LocalLegalPersonNameId) GetLegalPersonName() string

func (*LocalLegalPersonNameId) GetLegalPersonNameIdentifierType

func (x *LocalLegalPersonNameId) GetLegalPersonNameIdentifierType() LegalPersonNameTypeCode

func (*LocalLegalPersonNameId) MarshalJSON added in v0.3.4

func (p *LocalLegalPersonNameId) MarshalJSON() ([]byte, error)

func (*LocalLegalPersonNameId) ProtoMessage

func (*LocalLegalPersonNameId) ProtoMessage()

func (*LocalLegalPersonNameId) ProtoReflect

func (x *LocalLegalPersonNameId) ProtoReflect() protoreflect.Message

func (*LocalLegalPersonNameId) Reset

func (x *LocalLegalPersonNameId) Reset()

func (*LocalLegalPersonNameId) String

func (x *LocalLegalPersonNameId) String() string

func (*LocalLegalPersonNameId) UnmarshalJSON added in v0.3.4

func (p *LocalLegalPersonNameId) UnmarshalJSON(data []byte) error

func (*LocalLegalPersonNameId) Validate

func (n *LocalLegalPersonNameId) Validate() (err error)

Validate the IVMS101 constraints for local legal person name identifier

type LocalNaturalPersonNameId

type LocalNaturalPersonNameId struct {

	// Definition: This may be the family name, the maiden name or the married name,
	// the main name, the surname, and in some cases, the entire name where the natural
	// person’s name cannot be divided into two parts, or where the sender is unable to
	// divide the natural person’s name into two parts.
	// Datatype: “LocalMax100Text”
	// Required
	PrimaryIdentifier string `protobuf:"bytes,1,opt,name=primary_identifier,json=primaryIdentifier,proto3" json:"primary_identifier,omitempty"`
	// Definition: These may be the forenames, familiar names, given names, initials,
	// prefixes, suffixes or Roman numerals (where considered to be legally part of
	// the name) or any other secondary names.
	// Datatype: “LocalMax100Text”
	// Optional
	SecondaryIdentifier string `protobuf:"bytes,2,opt,name=secondary_identifier,json=secondaryIdentifier,proto3" json:"secondary_identifier,omitempty"`
	// Definition: The nature of the name specified.
	// Required
	NameIdentifierType NaturalPersonNameTypeCode `` /* 157-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*LocalNaturalPersonNameId) Descriptor deprecated

func (*LocalNaturalPersonNameId) Descriptor() ([]byte, []int)

Deprecated: Use LocalNaturalPersonNameId.ProtoReflect.Descriptor instead.

func (*LocalNaturalPersonNameId) GetNameIdentifierType

func (x *LocalNaturalPersonNameId) GetNameIdentifierType() NaturalPersonNameTypeCode

func (*LocalNaturalPersonNameId) GetPrimaryIdentifier

func (x *LocalNaturalPersonNameId) GetPrimaryIdentifier() string

func (*LocalNaturalPersonNameId) GetSecondaryIdentifier

func (x *LocalNaturalPersonNameId) GetSecondaryIdentifier() string

func (*LocalNaturalPersonNameId) MarshalJSON added in v0.3.4

func (p *LocalNaturalPersonNameId) MarshalJSON() ([]byte, error)

func (*LocalNaturalPersonNameId) ProtoMessage

func (*LocalNaturalPersonNameId) ProtoMessage()

func (*LocalNaturalPersonNameId) ProtoReflect

func (x *LocalNaturalPersonNameId) ProtoReflect() protoreflect.Message

func (*LocalNaturalPersonNameId) Reset

func (x *LocalNaturalPersonNameId) Reset()

func (*LocalNaturalPersonNameId) String

func (x *LocalNaturalPersonNameId) String() string

func (*LocalNaturalPersonNameId) UnmarshalJSON added in v0.3.4

func (p *LocalNaturalPersonNameId) UnmarshalJSON(data []byte) error

func (*LocalNaturalPersonNameId) Validate

func (n *LocalNaturalPersonNameId) Validate() (err error)

Validate the IVMS101 constraints for local natural person anme identifiers

type NationalIdentification

type NationalIdentification struct {

	// Definition: An identifier issued by an appropriate issuing authority.
	// Constraint: ValidLEI
	// Datatype: “Max35Text”
	// Required
	NationalIdentifier string `protobuf:"bytes,1,opt,name=national_identifier,json=nationalIdentifier,proto3" json:"national_identifier,omitempty"`
	// Definition: Specifies the type of identifier specified.
	// Required
	NationalIdentifierType NationalIdentifierTypeCode `` /* 170-byte string literal not displayed */
	// Definition: Country of the issuing authority.
	// Datatype: “CountryCode”
	// Optional
	CountryOfIssue string `protobuf:"bytes,3,opt,name=country_of_issue,json=countryOfIssue,proto3" json:"country_of_issue,omitempty"`
	// Definition: A code specifying the registration authority.
	// Constraint: The value used for the applicable element must be present on the
	// GLEIF Registration Authorities List.
	// Datatype: “RegistrationAuthority”
	// Optional
	RegistrationAuthority string `protobuf:"bytes,4,opt,name=registration_authority,json=registrationAuthority,proto3" json:"registration_authority,omitempty"`
	// contains filtered or unexported fields
}

Constraint: ValidNationalIdentifierLegalPerson A legal person must have a value for nationalIdentifierType of either ‘RAID’ or ‘MISC’ or ‘LEIX’ or ‘TXID’. Constraint: CompleteNationalIdentifierLegalPerson A LegalPerson must not have a value for countryOfIssue and must have a value for the element RegistrationAuthority if the value for nationalIdentifierType is not ‘LEIX’ Constraint: ValidLEI A LegalPerson with a nationalIdentifierType of ‘LEIX’ must have a value for the element nationalIdentifier that adheres to the convention as stated in datatype ‘LEIText’.

func (*NationalIdentification) Descriptor deprecated

func (*NationalIdentification) Descriptor() ([]byte, []int)

Deprecated: Use NationalIdentification.ProtoReflect.Descriptor instead.

func (*NationalIdentification) GetCountryOfIssue

func (x *NationalIdentification) GetCountryOfIssue() string

func (*NationalIdentification) GetNationalIdentifier

func (x *NationalIdentification) GetNationalIdentifier() string

func (*NationalIdentification) GetNationalIdentifierType

func (x *NationalIdentification) GetNationalIdentifierType() NationalIdentifierTypeCode

func (*NationalIdentification) GetRegistrationAuthority

func (x *NationalIdentification) GetRegistrationAuthority() string

func (*NationalIdentification) MarshalJSON added in v0.3.4

func (n *NationalIdentification) MarshalJSON() ([]byte, error)

func (*NationalIdentification) ProtoMessage

func (*NationalIdentification) ProtoMessage()

func (*NationalIdentification) ProtoReflect

func (x *NationalIdentification) ProtoReflect() protoreflect.Message

func (*NationalIdentification) Reset

func (x *NationalIdentification) Reset()

func (*NationalIdentification) String

func (x *NationalIdentification) String() string

func (*NationalIdentification) UnmarshalJSON added in v0.3.4

func (n *NationalIdentification) UnmarshalJSON(data []byte) error

func (*NationalIdentification) Validate

func (id *NationalIdentification) Validate() (err error)

Validate the IVMS101 constraints for a national identification

type NationalIdentifierTypeCode

type NationalIdentifierTypeCode int32

Definition: Identifies the national identification type. NationalIdentifierTypeCode applies a restriction over the codes present in ISO20022 datatype ‘TypeOfIdentification4Code’.

const (
	// Unspecified
	// A national identifier which may be known but which cannot otherwise be
	// categorized or the category of which the sender is unable to determine.
	NationalIdentifierTypeCode_NATIONAL_IDENTIFIER_TYPE_CODE_MISC NationalIdentifierTypeCode = 0
	// Alien registration number
	// Number assigned by a government agency to identify foreign nationals.
	NationalIdentifierTypeCode_NATIONAL_IDENTIFIER_TYPE_CODE_ARNU NationalIdentifierTypeCode = 1
	// Passport number
	// Number assigned by a passport authority.
	NationalIdentifierTypeCode_NATIONAL_IDENTIFIER_TYPE_CODE_CCPT NationalIdentifierTypeCode = 2
	// Registration authority identifier
	// Identifier of a legal entity as maintained by a registration authority.
	NationalIdentifierTypeCode_NATIONAL_IDENTIFIER_TYPE_CODE_RAID NationalIdentifierTypeCode = 3
	// Driver license number
	// Number assigned to a driver's license.
	NationalIdentifierTypeCode_NATIONAL_IDENTIFIER_TYPE_CODE_DRLC NationalIdentifierTypeCode = 4
	// Foreign investment identity number
	// Number assigned to a foreign investor (other than the alien number).
	NationalIdentifierTypeCode_NATIONAL_IDENTIFIER_TYPE_CODE_FIIN NationalIdentifierTypeCode = 5
	// Tax identification number
	// Number assigned by a tax authority to an entity.
	NationalIdentifierTypeCode_NATIONAL_IDENTIFIER_TYPE_CODE_TXID NationalIdentifierTypeCode = 6
	// Social security number
	// Number assigned by a social security agency.
	NationalIdentifierTypeCode_NATIONAL_IDENTIFIER_TYPE_CODE_SOCS NationalIdentifierTypeCode = 7
	// Identity card number
	// Number assigned by a national authority to an identity card.
	NationalIdentifierTypeCode_NATIONAL_IDENTIFIER_TYPE_CODE_IDCD NationalIdentifierTypeCode = 8
	// Legal Entity Identifier
	// Legal Entity Identifier (LEI) assigned in accordance with ISO 17442.
	// The LEI is a 20-character, alpha-numeric code that enables clear and unique
	// identification of legal entities participating in financial transactions.
	NationalIdentifierTypeCode_NATIONAL_IDENTIFIER_TYPE_CODE_LEIX NationalIdentifierTypeCode = 9
)

func (NationalIdentifierTypeCode) Descriptor

func (NationalIdentifierTypeCode) Enum

func (NationalIdentifierTypeCode) EnumDescriptor deprecated

func (NationalIdentifierTypeCode) EnumDescriptor() ([]byte, []int)

Deprecated: Use NationalIdentifierTypeCode.Descriptor instead.

func (NationalIdentifierTypeCode) MarshalJSON added in v0.3.4

func (i NationalIdentifierTypeCode) MarshalJSON() ([]byte, error)

Must be a value receiver to ensure it is marshaled correctly from it's parent struct

func (NationalIdentifierTypeCode) Number

func (NationalIdentifierTypeCode) String

func (NationalIdentifierTypeCode) Type

func (*NationalIdentifierTypeCode) UnmarshalJSON added in v0.3.4

func (i *NationalIdentifierTypeCode) UnmarshalJSON(data []byte) error

Must be a pointer receiver so that we can indirect back to the correct variable

type NaturalPerson

type NaturalPerson struct {

	// Definition: the distinct words used as identification for an individual.
	// Required
	Name *NaturalPersonName `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Definition: the particulars of a location at which a person may be communicated with.
	// Zero or More
	GeographicAddresses []*Address `protobuf:"bytes,2,rep,name=geographic_addresses,json=geographicAddress,proto3" json:"geographic_addresses,omitempty"`
	// Definition: a distinct identifier used by governments of countries to uniquely
	// identify a natural or legal person.
	// Optional
	NationalIdentification *NationalIdentification `` /* 127-byte string literal not displayed */
	// Definition: a distinct identifier that uniquely identifies the person to the
	// institution in context.
	// Datatype: “Max50Text”
	// Optional
	CustomerIdentification string `` /* 127-byte string literal not displayed */
	// Definition: date and place of birth of a person.
	// Optional
	DateAndPlaceOfBirth *DateAndPlaceOfBirth `protobuf:"bytes,5,opt,name=date_and_place_of_birth,json=dateAndPlaceOfBirth,proto3" json:"date_and_place_of_birth,omitempty"`
	// Definition: country in which a person resides (the place of a person's home).
	// The value used for the field country must be present on the ISO-3166-1 alpha-2
	// codes or the value XX.
	// Datatype: “CountryCode”
	// Optional
	CountryOfResidence string `protobuf:"bytes,6,opt,name=country_of_residence,json=countryOfResidence,proto3" json:"country_of_residence,omitempty"`
	// contains filtered or unexported fields
}

Definition: refers to a uniquely distinguishable individual; one single person

func (*NaturalPerson) Descriptor deprecated

func (*NaturalPerson) Descriptor() ([]byte, []int)

Deprecated: Use NaturalPerson.ProtoReflect.Descriptor instead.

func (*NaturalPerson) GetCountryOfResidence

func (x *NaturalPerson) GetCountryOfResidence() string

func (*NaturalPerson) GetCustomerIdentification

func (x *NaturalPerson) GetCustomerIdentification() string

func (*NaturalPerson) GetDateAndPlaceOfBirth

func (x *NaturalPerson) GetDateAndPlaceOfBirth() *DateAndPlaceOfBirth

func (*NaturalPerson) GetGeographicAddresses

func (x *NaturalPerson) GetGeographicAddresses() []*Address

func (*NaturalPerson) GetName

func (x *NaturalPerson) GetName() *NaturalPersonName

func (*NaturalPerson) GetNationalIdentification

func (x *NaturalPerson) GetNationalIdentification() *NationalIdentification

func (*NaturalPerson) MarshalJSON added in v0.3.4

func (n *NaturalPerson) MarshalJSON() ([]byte, error)

func (*NaturalPerson) Names

func (p *NaturalPerson) Names() []string

Names returns a list of strings that collects all of the names from the NaturalPerson including name identifiers, local name identifiers, and phonetic name identifiers, in that order. The secondary and primary names are joined with a space such that the secondary name is first. No identifier codes or sorting are returned.

func (*NaturalPerson) Person

func (p *NaturalPerson) Person() *Person

Person converts a NaturalPerson into a Person protobuf message type.

func (*NaturalPerson) ProtoMessage

func (*NaturalPerson) ProtoMessage()

func (*NaturalPerson) ProtoReflect

func (x *NaturalPerson) ProtoReflect() protoreflect.Message

func (*NaturalPerson) Reset

func (x *NaturalPerson) Reset()

func (*NaturalPerson) String

func (x *NaturalPerson) String() string

func (*NaturalPerson) UnmarshalJSON added in v0.3.4

func (n *NaturalPerson) UnmarshalJSON(data []byte) error

func (*NaturalPerson) Validate

func (p *NaturalPerson) Validate() (err error)

Validate the IVMS101 constraints for a natural person data definition. ON the first invalid constraint found an error is returned. No error is returned for valid data.

type NaturalPersonName

type NaturalPersonName struct {

	// At least one occurrence of naturalPersonNameID must have the value ‘LEGL’
	// specified in the element naturalPersonNameIdentifierType.
	// Definition: full name separated into primary and secondary identifier.
	// One or more
	NameIdentifiers []*NaturalPersonNameId `protobuf:"bytes,1,rep,name=name_identifiers,json=nameIdentifier,proto3" json:"name_identifiers,omitempty"`
	// Definition: full name separated into primary and secondary identifier using
	// local characters.
	// Zero or more
	LocalNameIdentifiers []*LocalNaturalPersonNameId `protobuf:"bytes,2,rep,name=local_name_identifiers,json=localNameIdentifier,proto3" json:"local_name_identifiers,omitempty"`
	// Definition: Alternate representation of a name that corresponds to the manner
	// the name is pronounced.
	// Zero or more
	PhoneticNameIdentifiers []*LocalNaturalPersonNameId `` /* 131-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*NaturalPersonName) Descriptor deprecated

func (*NaturalPersonName) Descriptor() ([]byte, []int)

Deprecated: Use NaturalPersonName.ProtoReflect.Descriptor instead.

func (*NaturalPersonName) GetLocalNameIdentifiers

func (x *NaturalPersonName) GetLocalNameIdentifiers() []*LocalNaturalPersonNameId

func (*NaturalPersonName) GetNameIdentifiers

func (x *NaturalPersonName) GetNameIdentifiers() []*NaturalPersonNameId

func (*NaturalPersonName) GetPhoneticNameIdentifiers

func (x *NaturalPersonName) GetPhoneticNameIdentifiers() []*LocalNaturalPersonNameId

func (*NaturalPersonName) MarshalJSON added in v0.3.4

func (n *NaturalPersonName) MarshalJSON() ([]byte, error)

func (*NaturalPersonName) ProtoMessage

func (*NaturalPersonName) ProtoMessage()

func (*NaturalPersonName) ProtoReflect

func (x *NaturalPersonName) ProtoReflect() protoreflect.Message

func (*NaturalPersonName) Reset

func (x *NaturalPersonName) Reset()

func (*NaturalPersonName) String

func (x *NaturalPersonName) String() string

func (*NaturalPersonName) UnmarshalJSON added in v0.3.4

func (n *NaturalPersonName) UnmarshalJSON(data []byte) error

func (*NaturalPersonName) Validate

func (n *NaturalPersonName) Validate() (err error)

Validate the IVMS101 constraints for natural person name

type NaturalPersonNameId

type NaturalPersonNameId struct {

	// Definition: This may be the family name, the maiden name or the married name,
	// the main name, the surname, and in some cases, the entire name where the natural
	// person’s name cannot be divided into two parts, or where the sender is unable to
	// divide the natural person’s name into two parts.
	// Datatype: “Max100Text”
	// Required
	PrimaryIdentifier string `protobuf:"bytes,1,opt,name=primary_identifier,json=primaryIdentifier,proto3" json:"primary_identifier,omitempty"`
	// Definition: These may be the forenames, familiar names, given names, initials,
	// prefixes, suffixes or Roman numerals (where considered to be legally part of the
	// name) or any other secondary names.
	// Datatype: “Max100Text”
	// Optional
	SecondaryIdentifier string `protobuf:"bytes,2,opt,name=secondary_identifier,json=secondaryIdentifier,proto3" json:"secondary_identifier,omitempty"`
	// Definition: The nature of the name specified.
	// Required
	NameIdentifierType NaturalPersonNameTypeCode `` /* 157-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*NaturalPersonNameId) Descriptor deprecated

func (*NaturalPersonNameId) Descriptor() ([]byte, []int)

Deprecated: Use NaturalPersonNameId.ProtoReflect.Descriptor instead.

func (*NaturalPersonNameId) GetNameIdentifierType

func (x *NaturalPersonNameId) GetNameIdentifierType() NaturalPersonNameTypeCode

func (*NaturalPersonNameId) GetPrimaryIdentifier

func (x *NaturalPersonNameId) GetPrimaryIdentifier() string

func (*NaturalPersonNameId) GetSecondaryIdentifier

func (x *NaturalPersonNameId) GetSecondaryIdentifier() string

func (*NaturalPersonNameId) MarshalJSON added in v0.3.4

func (p *NaturalPersonNameId) MarshalJSON() ([]byte, error)

func (*NaturalPersonNameId) ProtoMessage

func (*NaturalPersonNameId) ProtoMessage()

func (*NaturalPersonNameId) ProtoReflect

func (x *NaturalPersonNameId) ProtoReflect() protoreflect.Message

func (*NaturalPersonNameId) Reset

func (x *NaturalPersonNameId) Reset()

func (*NaturalPersonNameId) String

func (x *NaturalPersonNameId) String() string

func (*NaturalPersonNameId) UnmarshalJSON added in v0.3.4

func (p *NaturalPersonNameId) UnmarshalJSON(data []byte) error

func (*NaturalPersonNameId) Validate

func (n *NaturalPersonNameId) Validate() (err error)

Validate the IVMS101 constraints for natural person name identifiers

type NaturalPersonNameTypeCode

type NaturalPersonNameTypeCode int32

Definition: A single value corresponding to the nature of name being adopted.

const (
	// Unspecified
	// A name by which a natural person may be known but which cannot otherwise be
	// categorized or the category of which the sender is unable to determine.
	NaturalPersonNameTypeCode_NATURAL_PERSON_NAME_TYPE_CODE_MISC NaturalPersonNameTypeCode = 0
	// Alias name
	// A name other than the legal name by which a natural person is also known.
	NaturalPersonNameTypeCode_NATURAL_PERSON_NAME_TYPE_CODE_ALIA NaturalPersonNameTypeCode = 1
	// Name at birth
	// The name given to a natural person at birth.
	NaturalPersonNameTypeCode_NATURAL_PERSON_NAME_TYPE_CODE_BIRT NaturalPersonNameTypeCode = 2
	// Maiden name
	// The original name of a natural person who has changed their name after marriage.
	NaturalPersonNameTypeCode_NATURAL_PERSON_NAME_TYPE_CODE_MAID NaturalPersonNameTypeCode = 3
	// Legal name
	// Identifies a natural person for legal, official or administrative purposes.
	NaturalPersonNameTypeCode_NATURAL_PERSON_NAME_TYPE_CODE_LEGL NaturalPersonNameTypeCode = 4
)

func (NaturalPersonNameTypeCode) Descriptor

func (NaturalPersonNameTypeCode) Enum

func (NaturalPersonNameTypeCode) EnumDescriptor deprecated

func (NaturalPersonNameTypeCode) EnumDescriptor() ([]byte, []int)

Deprecated: Use NaturalPersonNameTypeCode.Descriptor instead.

func (NaturalPersonNameTypeCode) MarshalJSON added in v0.3.4

func (n NaturalPersonNameTypeCode) MarshalJSON() ([]byte, error)

Must be a value receiver to ensure it is marshaled correctly from it's parent struct

func (NaturalPersonNameTypeCode) Number

func (NaturalPersonNameTypeCode) String

func (x NaturalPersonNameTypeCode) String() string

func (NaturalPersonNameTypeCode) Type

func (*NaturalPersonNameTypeCode) UnmarshalJSON added in v0.3.4

func (n *NaturalPersonNameTypeCode) UnmarshalJSON(data []byte) error

Must be a pointer receiver so that we can indirect back to the correct variable

type OriginatingVasp

type OriginatingVasp struct {

	// Definition: refers to the VASP which initiates the VA transfer, and transfers
	// the VA upon receiving the request for a VA transfer on behalf of the originator.
	// Optional
	OriginatingVasp *Person `protobuf:"bytes,1,opt,name=originating_vasp,json=originatingVasp,proto3" json:"originating_vasp,omitempty"`
	// contains filtered or unexported fields
}

func (*OriginatingVasp) Descriptor deprecated

func (*OriginatingVasp) Descriptor() ([]byte, []int)

Deprecated: Use OriginatingVasp.ProtoReflect.Descriptor instead.

func (*OriginatingVasp) GetOriginatingVasp

func (x *OriginatingVasp) GetOriginatingVasp() *Person

func (*OriginatingVasp) MarshalJSON added in v0.3.4

func (o *OriginatingVasp) MarshalJSON() ([]byte, error)

func (*OriginatingVasp) ProtoMessage

func (*OriginatingVasp) ProtoMessage()

func (*OriginatingVasp) ProtoReflect

func (x *OriginatingVasp) ProtoReflect() protoreflect.Message

func (*OriginatingVasp) Reset

func (x *OriginatingVasp) Reset()

func (*OriginatingVasp) String

func (x *OriginatingVasp) String() string

func (*OriginatingVasp) UnmarshalJSON added in v0.3.4

func (o *OriginatingVasp) UnmarshalJSON(data []byte) error

type Originator

type Originator struct {

	// Definition: the account holder who allows the VA transfer from that account or,
	// where there is no account, the natural or legal person that places the order with
	// the originating VASP to perform the VA transfer.
	// One or More
	OriginatorPersons []*Person `protobuf:"bytes,1,rep,name=originator_persons,json=originatorPersons,omitempty,proto3" json:"originator_persons,omitempty"`
	// Definition: Identifier of an account that is used to process the transaction.
	// The value for this element is case-sensitive.
	// Datatype: “Max100Text”
	// Zero or More
	AccountNumbers []string `protobuf:"bytes,2,rep,name=account_numbers,json=accountNumber,proto3" json:"account_numbers,omitempty"`
	// contains filtered or unexported fields
}

func (*Originator) Descriptor deprecated

func (*Originator) Descriptor() ([]byte, []int)

Deprecated: Use Originator.ProtoReflect.Descriptor instead.

func (*Originator) GetAccountNumbers

func (x *Originator) GetAccountNumbers() []string

func (*Originator) GetOriginatorPersons

func (x *Originator) GetOriginatorPersons() []*Person

func (*Originator) MarshalJSON added in v0.3.4

func (o *Originator) MarshalJSON() ([]byte, error)

func (*Originator) ProtoMessage

func (*Originator) ProtoMessage()

func (*Originator) ProtoReflect

func (x *Originator) ProtoReflect() protoreflect.Message

func (*Originator) Reset

func (x *Originator) Reset()

func (*Originator) String

func (x *Originator) String() string

func (*Originator) UnmarshalJSON added in v0.3.4

func (o *Originator) UnmarshalJSON(data []byte) error

type PayloadMetadata

type PayloadMetadata struct {

	// Definition: the method used to map from a national system of writing to Latin script.
	// Zero or More
	TransliterationMethod []TransliterationMethodCode `` /* 171-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*PayloadMetadata) Descriptor deprecated

func (*PayloadMetadata) Descriptor() ([]byte, []int)

Deprecated: Use PayloadMetadata.ProtoReflect.Descriptor instead.

func (*PayloadMetadata) GetTransliterationMethod

func (x *PayloadMetadata) GetTransliterationMethod() []TransliterationMethodCode

func (*PayloadMetadata) MarshalJSON added in v0.3.4

func (p *PayloadMetadata) MarshalJSON() ([]byte, error)

func (*PayloadMetadata) ProtoMessage

func (*PayloadMetadata) ProtoMessage()

func (*PayloadMetadata) ProtoReflect

func (x *PayloadMetadata) ProtoReflect() protoreflect.Message

func (*PayloadMetadata) Reset

func (x *PayloadMetadata) Reset()

func (*PayloadMetadata) String

func (x *PayloadMetadata) String() string

func (*PayloadMetadata) UnmarshalJSON added in v0.3.4

func (p *PayloadMetadata) UnmarshalJSON(data []byte) error

type Person

type Person struct {

	// Types that are assignable to Person:
	//	*Person_NaturalPerson
	//	*Person_LegalPerson
	Person isPerson_Person `protobuf_oneof:"person"`
	// contains filtered or unexported fields
}

func (*Person) Descriptor deprecated

func (*Person) Descriptor() ([]byte, []int)

Deprecated: Use Person.ProtoReflect.Descriptor instead.

func (*Person) GetLegalPerson

func (x *Person) GetLegalPerson() *LegalPerson

func (*Person) GetNaturalPerson

func (x *Person) GetNaturalPerson() *NaturalPerson

func (*Person) GetPerson

func (m *Person) GetPerson() isPerson_Person

func (*Person) MarshalJSON added in v0.3.4

func (p *Person) MarshalJSON() ([]byte, error)

func (*Person) ProtoMessage

func (*Person) ProtoMessage()

func (*Person) ProtoReflect

func (x *Person) ProtoReflect() protoreflect.Message

func (*Person) Reset

func (x *Person) Reset()

func (*Person) String

func (x *Person) String() string

func (*Person) UnmarshalJSON added in v0.3.4

func (p *Person) UnmarshalJSON(data []byte) error

type Person_LegalPerson

type Person_LegalPerson struct {
	// Definition: any entity other than a natural person that can establish a
	// permanent customer relationship with an affected entity or otherwise own
	// property. This can include companies, bodies corporate, foundations, anstalt,
	// partnerships, or associations and other relevantly similar entities.
	LegalPerson *LegalPerson `protobuf:"bytes,2,opt,name=legal_person,json=legalPerson,proto3,oneof"`
}

type Person_NaturalPerson

type Person_NaturalPerson struct {
	// Definition: a uniquely distinguishable individual; one single person.
	NaturalPerson *NaturalPerson `protobuf:"bytes,1,opt,name=natural_person,json=naturalPerson,proto3,oneof"`
}

type TransferPath

type TransferPath struct {

	// Definition: the intermediary VASP(s) participating in a serial chain that
	// receive and retransmit a VA transfer on behalf of the originating VASP and the
	// beneficiary VASP, or another intermediary VASP, together with their
	// corresponding sequence number.
	// Zero or More
	TransferPath []*IntermediaryVasp `protobuf:"bytes,1,rep,name=transfer_path,json=transferPath,proto3" json:"transfer_path,omitempty"`
	// contains filtered or unexported fields
}

func (*TransferPath) Descriptor deprecated

func (*TransferPath) Descriptor() ([]byte, []int)

Deprecated: Use TransferPath.ProtoReflect.Descriptor instead.

func (*TransferPath) GetTransferPath

func (x *TransferPath) GetTransferPath() []*IntermediaryVasp

func (*TransferPath) MarshalJSON added in v0.3.4

func (p *TransferPath) MarshalJSON() ([]byte, error)

func (*TransferPath) ProtoMessage

func (*TransferPath) ProtoMessage()

func (*TransferPath) ProtoReflect

func (x *TransferPath) ProtoReflect() protoreflect.Message

func (*TransferPath) Reset

func (x *TransferPath) Reset()

func (*TransferPath) String

func (x *TransferPath) String() string

func (*TransferPath) UnmarshalJSON added in v0.3.4

func (p *TransferPath) UnmarshalJSON(data []byte) error

type TransliterationMethodCode

type TransliterationMethodCode int32

Definition: Identifies the national script from which transliteration to Latin script is applied.

const (
	// Script other than those listed below
	// Unspecified Standard
	TransliterationMethodCode_TRANSLITERATION_METHOD_CODE_OTHR TransliterationMethodCode = 0
	// Arabic (Arabic language)
	// ISO 233-2:1993
	TransliterationMethodCode_TRANSLITERATION_METHOD_CODE_ARAB TransliterationMethodCode = 1
	// Arabic (Persian language)
	// ISO 233-3:1999
	TransliterationMethodCode_TRANSLITERATION_METHOD_CODE_ARAN TransliterationMethodCode = 2
	// Armenian
	// ISO 9985:1996
	TransliterationMethodCode_TRANSLITERATION_METHOD_CODE_ARMN TransliterationMethodCode = 3
	// Cyrillic
	// ISO 9:1995
	TransliterationMethodCode_TRANSLITERATION_METHOD_CODE_CYRL TransliterationMethodCode = 4
	// Devanagari & related Indic
	// ISO 15919:2001
	TransliterationMethodCode_TRANSLITERATION_METHOD_CODE_DEVA TransliterationMethodCode = 5
	// Georgian
	// ISO 9984:1996
	TransliterationMethodCode_TRANSLITERATION_METHOD_CODE_GEOR TransliterationMethodCode = 6
	// Greek
	// ISO 843:1997
	TransliterationMethodCode_TRANSLITERATION_METHOD_CODE_GREK TransliterationMethodCode = 7
	// Han (Hanzi, Kanji, Hanja)
	// ISO 7098:2015
	TransliterationMethodCode_TRANSLITERATION_METHOD_CODE_HANI TransliterationMethodCode = 8
	// Hebrew
	// ISO 259-2:1994
	TransliterationMethodCode_TRANSLITERATION_METHOD_CODE_HEBR TransliterationMethodCode = 9
	// Kana
	// ISO 3602:1989
	TransliterationMethodCode_TRANSLITERATION_METHOD_CODE_KANA TransliterationMethodCode = 10
	// Korean
	// Revised Romanization of Korean
	TransliterationMethodCode_TRANSLITERATION_METHOD_CODE_KORE TransliterationMethodCode = 11
	// Thai
	// ISO 11940-2:2007
	TransliterationMethodCode_TRANSLITERATION_METHOD_CODE_THAI TransliterationMethodCode = 12
)

func (TransliterationMethodCode) Descriptor

func (TransliterationMethodCode) Enum

func (TransliterationMethodCode) EnumDescriptor deprecated

func (TransliterationMethodCode) EnumDescriptor() ([]byte, []int)

Deprecated: Use TransliterationMethodCode.Descriptor instead.

func (TransliterationMethodCode) MarshalJSON added in v0.3.4

func (t TransliterationMethodCode) MarshalJSON() ([]byte, error)

Must be a value receiver to ensure it is marshaled correctly from it's parent struct

func (TransliterationMethodCode) Number

func (TransliterationMethodCode) String

func (x TransliterationMethodCode) String() string

func (TransliterationMethodCode) Type

func (*TransliterationMethodCode) UnmarshalJSON added in v0.3.4

func (t *TransliterationMethodCode) UnmarshalJSON(data []byte) error

Must be a pointer receiver so that we can indirect back to the correct variable

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL