{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://www.computop-paygate.com/schemas/customerInfo.json",
"title": "customerInfo",
"description": "Customer Information",
"type": "object",
"properties": {
"customerNumber": {
"type": "string",
"maxLength": 30
},
"consumer": {
"type": "object",
"additionalProperties": false,
"properties": {
"salutation": {
"type": "string",
"enum": [
"Mr",
"Mrs",
"Miss"
]
},
"firstName": {
"type": "string",
"maxLength": 30
},
"lastName": {
"type": "string",
"maxLength": 30
},
"birthDate": {
"description": "YYYY-MM-DD",
"type": "string",
"format": "full-date"
}
},
"required": [
"firstName",
"lastName"
]
},
"business": {
"type": "object",
"additionalProperties": false,
"properties": {
"legalName": {
"type": "string",
"maxLength": 999
},
"dbaName": {
"description": "Doing business as. Name of the company as usually known to consumers.",
"type": "string",
"maxLength": 50
},
"registrationNumber": {
"type": "string",
"maxLength": 20
}
},
"required": [
"legalName"
]
},
"phone": {
"type": "object",
"additionalProperties": false,
"properties": {
"countryCode": {
"type": "string",
"minLength": 1,
"maxLength": 3
},
"subscriberNumber": {
"type": "string",
"maxLength": 15
}
},
"required": [
"countryCode",
"subscriberNumber"
]
},
"mobilePhone": {
"type": "object",
"additionalProperties": false,
"properties": {
"countryCode": {
"type": "string",
"minLength": 1,
"maxLength": 3
},
"subscriberNumber": {
"type": "string",
"maxLength": 15
}
},
"required": [
"countryCode",
"subscriberNumber"
]
},
"email": {
"type": "string",
"maxLength": 256,
"format": "idn-email"
}
},
"oneOf": [
{
"required": [
"consumer"
]
},
{
"required": [
"business"
]
}
],
"additionalProperties": false
} |