Package ch.voev.nova.customer.datatypes

Types / Enumerations:


Types

CKM

Customer-friendly identifier for customers. The CKM e.g. is printed on the SwissPass card.

CKM is represented here including separator and check digit (e.g. 118-089-376-0).


Properties / Associations

Name Type Multiplicity Constraints Description
value String 1..1 @Size(min=13, max=13)


CustomerDomainExtension

NOVA Domain extension to connect information about customer with objects from other domains.


Type Details Details
Parent Class DomainExtension


Properties / Associations

Name Type Multiplicity Constraints Description
customerRoleAssociation CustomerRoleAssociation 0..1
customerInfo PersonInfo 0..1


CustomerRoleAssociation

Type describes the role of a customer in any kind of context.


Properties / Associations

Name Type Multiplicity Constraints Description
customerRoleAssociationType CustomerRoleAssociationType 1..1 Type of the customer role.
customer TKID 1..1 ID of customer that has the role.


Email

Data type is used to have a strong typing for emails instead of just strings.


Properties / Associations

Name Type Multiplicity Constraints Description
value String 1..1 @Email


LegalEntityInfo


Type Details Details
Parent Class PartnerInfo


Properties / Associations

Name Type Multiplicity Constraints Description
name String 1..1
additionalName String 0..1
contactPersonFirstName String 0..1
contactPersonFamilyName String 0..1


PartnerInfo


Type Details Details
Abstract true


Properties / Associations

Name Type Multiplicity Constraints Description
communicationLanguage LanguageCode 1..1 Preferred communication language of the partner.


PersonInfo

Type defines a light weighted representation of persons. So, it only contains its very basic data.


Type Details Details
Parent Class PartnerInfo


Properties / Associations

Name Type Multiplicity Constraints Description
familyName String 1..1
firstName String 1..1
dateOfBirth java.time.LocalDate 0..1
title String 0..1
gender Gender 0..1


TKID

Type is used as a technical identification for customers. TKID objects are also intended to be used by external systems to reference NOVA Customers from the outside world.

NOVA will guarantee that the TKID of a customer will also be usable for lookups. However in cases where multiple customer entities are merged it might happen that there is more than one TKID for a customer.


Properties / Associations

Name Type Multiplicity Constraints Description
id String 1..1 @Size(min=0, max=36)



Enumerations

CommunicationType

Literals

Name Description
EMAIL
MOBILE_PHONE
LANDLINE_PHONE
UNKNOWN Please be aware that this enum is an extensible enum. This means that new literals can be introduced without prior notice.

CustomerDataElementType

Enumeration defines all the customer data elements.

Please be aware that this type is a so called extensible enum. This means that additional literals might be added in the future and that this is considered to be a non-breaking / SemVer compliant change.

Literals

Name Description
POST_OFFICE_BOX
LANGUAGE Literal for language of a partner.
NAME Literal for name of a partner.
GENDER Literal for gender of a partner.
DATE_OF_BIRTH Literal for date of birth of a partner.
POSTAL_ADDRESS Literal for postal address of a partner.
LANDLINE_PHONE Literal for landline phone number of a partner.
EMAIL Literal for email of a partner.
MOBILE_PHONE Literal for mobile phone number of a partner.
UNKNOWN Please be aware that this enum is an extensible enum. This means that new literals can be introduced without prior notice.

CustomerRoleAssociationType

Enumeration defines the different roles associations that a customer might have.

Please be aware that this type is a so called extensible enum. This means that additional literals might be added in the future and that this is considered to be a non-breaking / SemVer compliant change.

Literals

Name Description
BUYER Customer that bought an item e.g. a ticket
PASSENGER Customer that is allowed to use a ticket as passenger.
CONTRACT_OWNER Customer that is the owner of a contract.
PARENT
CONTACT_PERSON
FELLOW_PASSENGER
UNKNOWN Please be aware that this enum is an extensible enum. This means that new literals can be introduced without prior notice.

DataQualityCheck

Literals

Name Description
LANDLINE_PHONE_CHECK
MOBILE_PHONE_CHECK
EMAIL_CHECK
ADDRESS_CHECK
DUPLICATES_CHECK
BIRTHDATE_CHECK
UNKNOWN Please be aware that this enum is an extensible enum. This means that new literals can be introduced without prior notice.

DataQualityLevel

Enumeration defines the data quality levels that are known to NOVA.

Please be aware that this type is a so called extensible enum. This means that additional literals might be added in the future and that this is considered to be a non-breaking / SemVer compliant change.

Literals

Name Description
INVALID We found out that the data is invalid. So it's better not used for any processes.
NOT_CHECKED Data was not checked at all.
NOT_CHECKED_EXTERNAL_SERVICE_NOT_AVAILABLE Data was not checked as an external service that was supposed to do the check was not available.
ENFORCED Data was not checked as an update was enforced by a client.
FORMAT_VALIDATED Data was checked using simple format validation.
REGEX_VALIDATED An regular expression was used to validated the data
CH_REGISTER_VALIDATED Applied for postal addresses using a service from Swiss Post.
DELIVERY_CHECKED This quality level is intended to be used for data elements that are used for communication like phone numbers or email addresses. For such cases it means that a delivery was successful.
TWO_FACTOR_USAGE Data is used fore 2 factor authentication.
MANUAL_ID_CHECK Data was checked using a manual ID check.
DIGITAL_ID_CHECK Data was checked using a digital ID check.
UNKNOWN Please be aware that this enum is an extensible enum. This means that new literals can be introduced without prior notice.

Gender

Enumeration defines the genders as they are supported by NOVA. Currently there are no rules in Switzerland in general about nonbinary persons.

For further details please check: https://www.admin.ch/gov/de/start/dokumentation/medienmitteilungen.msg-id-92335.html

However, as direct neighbor countries of Switzerland already have nonbinary gender, it is also prepared on NOVA side.

Literals

Name Description
FEMALE Literal for female persons.
MALE Literal for male persons.
NONBINARY Literal for persons with nonbinary gender. Currently this gender is not actively used on NOVA. As it is expected to be supported in the future it is available already today to avoid breaking changes in the future.
UNDEFINED Literal for case that gender is undefined / unknown.

PartnerType

Enumeration defines all types of partners.

Literals

Name Description
PERSON Literal for partners of type Person.
LEGAL_ENTITY Literal for partners of type LegalEntity.