203 lines
5.2 KiB
JSON
203 lines
5.2 KiB
JSON
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["ACTIVE", "INACTIVE", "SUSPENDED", "DELETED"]
|
|
},
|
|
"is_main": {
|
|
"type": "boolean"
|
|
},
|
|
"valid_from": {
|
|
"type": "string",
|
|
"format": "date",
|
|
"description": "Date from which this record is valid"
|
|
},
|
|
"assigned_employees": {
|
|
"type": "object",
|
|
"properties": {
|
|
"active": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"description": "Number of active employees"
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"description": "Total number of employees"
|
|
}
|
|
},
|
|
"required": ["active", "total"],
|
|
"additionalProperties": false
|
|
},
|
|
"country": {
|
|
"type": "string",
|
|
"pattern": "^[A-Z]{2}$",
|
|
"description": "Country code in ISO 3166-1 alpha-2 format"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Legal name of the company"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["GMBH", "AG", "UG", "KG", "OHG", "EV", "VV"],
|
|
"description": "Legal form of the company"
|
|
},
|
|
"registration_number": {
|
|
"type": "string",
|
|
"description": "Official registration number of the company"
|
|
},
|
|
"industry_sector": {
|
|
"type": "string",
|
|
"enum": [
|
|
"COMPUTER_SOFTWARE",
|
|
"MANUFACTURING",
|
|
"FINANCIAL_SERVICES",
|
|
"HEALTHCARE",
|
|
"RETAIL",
|
|
"TELECOMMUNICATIONS",
|
|
"CONSTRUCTION",
|
|
"EDUCATION"
|
|
],
|
|
"description": "Primary industry sector of the company"
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"format": "email",
|
|
"description": "Primary email address of the company"
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "Primary phone number of the company"
|
|
},
|
|
"address": {
|
|
"type": "object",
|
|
"required": [
|
|
"street_name",
|
|
"house_number",
|
|
"postal_code",
|
|
"city"
|
|
],
|
|
"properties": {
|
|
"street_name": {
|
|
"type": "string",
|
|
"description": "Name of the street"
|
|
},
|
|
"house_number": {
|
|
"type": "string",
|
|
"description": "House/building number"
|
|
},
|
|
"postal_code": {
|
|
"type": "string",
|
|
"description": "Postal/ZIP code"
|
|
},
|
|
"city": {
|
|
"type": "string",
|
|
"description": "City name"
|
|
},
|
|
"state": {
|
|
"type": "string",
|
|
"description": "State or region code"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"contact_person": {
|
|
"type": "object",
|
|
"properties": {
|
|
"salutation": {
|
|
"type": "string",
|
|
"enum": ["MR", "MRS", "MS", "DR", "PROF"],
|
|
"description": "Salutation of the contact person"
|
|
},
|
|
"full_name": {
|
|
"type": "string",
|
|
"description": "Full name of the contact person"
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"format": "email",
|
|
"description": "Email address of the contact person"
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "Phone number of the contact person"
|
|
},
|
|
"fax": {
|
|
"type": "string",
|
|
"description": "Fax number of the contact person"
|
|
}
|
|
},
|
|
"required": ["full_name"],
|
|
"additionalProperties": false
|
|
},
|
|
"bank_details": {
|
|
"type": "object",
|
|
"properties": {
|
|
"iban": {
|
|
"type": "string",
|
|
"pattern": "^[A-Z]{2}[0-9]{2}[a-zA-Z0-9]{1,30}$",
|
|
"description": "International Bank Account Number"
|
|
},
|
|
"bic": {
|
|
"type": "string",
|
|
"pattern": "^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$",
|
|
"description": "Bank Identifier Code"
|
|
},
|
|
"account_holder": {
|
|
"type": "string",
|
|
"description": "Name of the account holder"
|
|
}
|
|
},
|
|
"required": ["iban", "bic", "account_holder"],
|
|
"additionalProperties": false
|
|
},
|
|
"mailing_address": {
|
|
"type": "object",
|
|
"required": [
|
|
"street_name",
|
|
"house_number",
|
|
"postal_code",
|
|
"city",
|
|
"address_type"
|
|
],
|
|
"properties": {
|
|
"street_name": {
|
|
"type": "string",
|
|
"description": "Name of the street"
|
|
},
|
|
"house_number": {
|
|
"type": "string",
|
|
"description": "House/building number"
|
|
},
|
|
"postal_code": {
|
|
"type": "string",
|
|
"description": "Postal/ZIP code"
|
|
},
|
|
"city": {
|
|
"type": "string",
|
|
"description": "City name"
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Name for this address (e.g., 'Headquarters')"
|
|
},
|
|
"additional_info": {
|
|
"type": "string",
|
|
"description": "Additional address information"
|
|
},
|
|
"address_type": {
|
|
"type": "string",
|
|
"enum": ["REGULAR_ADDRESS", "PO_BOX", "PACKSTATION"],
|
|
"description": "Type of mailing address"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
} |