{ "$schema": "http://json-schema.org/draft-07/schema", "$id": "https://schema.erecruiter.net/v2/invoice.schema.json", "title": "eRecruiter V2 Invoice", "description": "An invoice export for usage with external invoicing modules.", "type": "object", "required": [ "transactionId", "job", "applicants" ], "properties": { "transactionId": { "description": "Identifier for the transaction in case of errors or investigation.", "type": "string", "format": "^[a-zA-Z0-9]{32}$" }, "job": { "description": "Information about the job the invoice is generated for.", "type": "object", "required": [ "id", "name", "externalName", "url", "user", "company", "contact" ], "properties": { "id": { "description": "eRecruiter Job ID", "type": "number", "minimum": 0 }, "name": { "description": "The internal name of the job.", "type": "string" }, "externalName": { "description": "The external name of the job used on the job ad.", "type": "string" }, "url": { "description": "The link back to the eRecruiter for the job.", "type": "string", "format": "uri" }, "user": { "description": "The user that is responsible for the job, this may not be the user that generated the invoice.", "type": "object", "required": [ "id", "gender", "title", "firstName", "lastName", "email", "phone", "signature" ], "properties": { "id": { "description": "The eRecruiter ID of the user.", "type": "number", "minimum": 0 }, "gender": { "description": "The gender of the user responsible for the job.", "type": "string", "format": "^m|w|d$" }, "title": { "description": "The academic title of the user responsible for the job.", "type": "string" }, "firstName": { "description": "The first name of the user responsible for the job.", "type": "string" }, "lastName": { "description": "The last name of the user responsible for the job.", "type": "string" }, "email": { "description": "The e-mail address of the user responsible for the job.", "type": "string", "format": "email" }, "phone": { "description": "The phone number of the user responsible for the job.", "type": "string" }, "signature": { "description": "The HTML signature of the user responsible for the job.", "type": "string" } } }, "company": { "description": "Information about the job the invoice is generated for.", "type": "object", "required": [ "id", "name", "shortName", "address", "vatNumber", "termOfPayment", "delivery", "url" ], "properties": { "id": { "description": "eRecruiter Company ID", "type": "number", "minimum": 0 }, "name": { "description": "The full name of the company assoziated with the job and invoice.", "type": "string" }, "shortName": { "description": "The short name of the company assoziated with the job and invoice.", "type": "string" }, "address": { "description": "The main address for the company.", "type": "object", "required": [ "street", "city", "postalCode", "country" ], "properties": { "street": { "description": "The street and building number of the address.", "type": "string" }, "city": { "description": "The city of the address.", "type": "string" }, "postalCode": { "description": "The postal code the address.", "type": "string" }, "country": { "description": "The country of the address.", "type": "string" } } }, "vatNumber": { "description": "The VAT number associated with the company.", "type": "string" }, "termOfPayment": { "description": "The number of days until an invoice for the company needs to be settled.", "type": "number", "minimum": 0 }, "delivery": { "description": "The invoice delivery options for the company.", "type": "object", "required": [ "email", "snailMail" ], "properties": { "email": { "description": "Flag indicating if the delivery by e-mail is allowed.", "type": "boolean" }, "snailMail": { "description": "Flag indicating if the delivery by snail-mail is allowed.", "type": "boolean" } } }, "url": { "description": "The link back to the eRecruiter for the company.", "type": "string", "format": "uri" } } }, "contact": { "description": "The contact person in the company responsible for the job.", "type:": "object", "required": [ "id", "gender", "title", "firstName", "lastName", "email", "phone" ], "properties": { "id": { "description": "The eRecruiter ID of the contact.", "type": "number", "minimum": 0 }, "gender": { "description": "The gender of the contact responsible for the job.", "type": "string", "format": "^m|w|d$" }, "title": { "description": "The academic title of the contact responsible for the job.", "type": "string" }, "firstName": { "description": "The first name of the contact responsible for the job.", "type": "string" }, "lastName": { "description": "The last name of the contact responsible for the job.", "type": "string" }, "email": { "description": "The e-mail address of the contact responsible for the job.", "type": "string", "format": "email" }, "phone": { "description": "The phone number of the contact responsible for the job.", "type": "string" } } }, "qualification": { "descriptions": "Information about the job's order qualification, if the module is enabled.", "type": "object", "properties": { "lumpSum": { "type":"number", "minimum": 0 } } } } }, "applicants": { "description": "An array of hired applicants that are associated with the invoice.", "type": "array", "minItems": 0, "items": { "type": "object", "required": [ "id", "firstName", "lastName", "url" ], "properties": { "id": { "description": "eRecruiter Applicant ID", "type": "number", "minimum": 0 }, "firstName": { "description": "The first name of the applicant as defined in the eRecruiter.", "type": "string" }, "lastName": { "description": "The last name of the applicant as defined in the eRecruiter.", "type": "string" }, "hiredAt": { "description": "The date when the applicant has been transfered in to the hired state.", "type": "string", "format": "date-time" }, "url": { "description": "The link back to the eRecruiter for the applicant profile.", "type": "string", "format": "uri" } } } } } }