Entur · Schema
EmployeeResponse
All items for this page
CompanyPublic TransportJourney PlanningMobilityOpen DataNorwayTransitGraphQL
Properties
| Name | Type | Description |
|---|---|---|
| id | integer | The id of the employee |
| employeeNo | string | Employee number |
| company | object | |
| employmentType | object | |
| dateOfBirth | string | When the employee was born |
| ssn | string | The employee's social security number |
| firstName | string | The employee's first name |
| surname | string | The employee's surname |
| addressLine | string | The employee's postal address |
| postalCode | string | The employee's postal code |
| preferredProduct | object | |
| abstainFromTicket | boolean | Whether a ticket should be created |
| sendTicketToPrivateAddress | boolean | Unused |
| jobDescription | string | Unused |
| hireStartDate | string | When the employee was hired |
| payType | string | Pay type - see the codes in the API documentation |
| hireEndDate | string | When the employee left the company |
| hireEndCause | string | Why the employee left the company |
| disabilityGrade | integer | The employee's degree of disability. Default 0. |
| disabilityFromDate | string | Unused |
| disabilityProofRegistered | boolean | Deprecated. Use disability proofs. |
| disabilityProofRegisteredDate | string | Unused |
| employmentPercentage | integer | Employment percentage |
| employmentPercentageDate | string | Date for registered employment percentage |
| paidPercentage | integer | The pay level. This is calculated based on the employment percentage and the type of employment. Typically holds the same value as employment percentage, unless special circumstances apply |
| paidPercentageDate | string | Date for last change to paidPercentage |
| leaveFromDate | string | When the employee starts a leave |
| isOnWaitPay | boolean | Unused |
| waitPayDate | string | Unused |
| isFeePaid | boolean | Deprecated. Use yearlyFees |
| note | string | Any additional information |
| isDeleted | boolean | Whether the employee has been marked for deletion |
| lastUpdate | string | When the imported employee was last updated |
| sourceLastUpdate | string | The source for the last update |
| familyMembers | array | The employee's family members |
| ticketRights | array | The employee's ticket rights |
| ticketHolderCode | string | The employee's ticket holder code |
| createdAt | string | The date of creation. |
| createdBy | string | The source for the first creation |
| categories | array | The registered categories on this employee |
| yearlyFees | array | The status of yearly fees for the current and the next year |
| disabilityProofs | array | The status of disability proofs for the current and the next year |
| customerNumber | integer | The employees customer number in ESS. Note this profile is owned by JBD and is the profile connected to the ticket right. A 'null'-value here may indicate that the ticket right is not yet synced to ES |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/entur/main/json-schema/entur-employee-response-schema.json",
"title": "EmployeeResponse",
"description": "All items for this page",
"x-generated": "2026-10-09",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/entur-personnel-tickets-openapi.yml#/components/schemas/EmployeeResponse",
"required": [
"employeeNo",
"firstName",
"id",
"isDeleted",
"postalCode",
"surname",
"ticketHolderCode"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The id of the employee",
"format": "int64"
},
"employeeNo": {
"type": "string",
"description": "Employee number"
},
"company": {
"$ref": "#/$defs/CompanyResponse"
},
"employmentType": {
"$ref": "#/$defs/EmploymentType"
},
"dateOfBirth": {
"type": "string",
"description": "When the employee was born",
"format": "date"
},
"ssn": {
"type": "string",
"description": "The employee's social security number"
},
"firstName": {
"type": "string",
"description": "The employee's first name"
},
"surname": {
"type": "string",
"description": "The employee's surname"
},
"addressLine": {
"type": "string",
"description": "The employee's postal address"
},
"postalCode": {
"type": "string",
"description": "The employee's postal code"
},
"preferredProduct": {
"$ref": "#/$defs/Product"
},
"abstainFromTicket": {
"type": "boolean",
"description": "Whether a ticket should be created"
},
"sendTicketToPrivateAddress": {
"type": "boolean",
"description": "Unused",
"deprecated": true
},
"jobDescription": {
"type": "string",
"description": "Unused",
"deprecated": true
},
"hireStartDate": {
"type": "string",
"description": "When the employee was hired",
"format": "date"
},
"payType": {
"type": "string",
"description": "Pay type - see the codes in the API documentation"
},
"hireEndDate": {
"type": "string",
"description": "When the employee left the company",
"format": "date"
},
"hireEndCause": {
"type": "string",
"description": "Why the employee left the company"
},
"disabilityGrade": {
"type": "integer",
"description": "The employee's degree of disability. Default 0.",
"format": "int32"
},
"disabilityFromDate": {
"type": "string",
"description": "Unused",
"format": "date",
"deprecated": true
},
"disabilityProofRegistered": {
"type": "boolean",
"description": "Deprecated. Use disability proofs.",
"deprecated": true
},
"disabilityProofRegisteredDate": {
"type": "string",
"description": "Unused",
"format": "date",
"deprecated": true
},
"employmentPercentage": {
"type": "integer",
"description": "Employment percentage",
"format": "int32"
},
"employmentPercentageDate": {
"type": "string",
"description": "Date for registered employment percentage",
"format": "date"
},
"paidPercentage": {
"type": "integer",
"description": "The pay level. This is calculated based on the employment percentage and the type of employment. Typically holds the same value as employment percentage, unless special circumstances apply",
"format": "int32"
},
"paidPercentageDate": {
"type": "string",
"description": "Date for last change to paidPercentage",
"format": "date",
"deprecated": true
},
"leaveFromDate": {
"type": "string",
"description": "When the employee starts a leave",
"format": "date"
},
"isOnWaitPay": {
"type": "boolean",
"description": "Unused",
"deprecated": true
},
"waitPayDate": {
"type": "string",
"description": "Unused",
"format": "date",
"deprecated": true
},
"isFeePaid": {
"type": "boolean",
"description": "Deprecated. Use yearlyFees",
"deprecated": true
},
"note": {
"type": "string",
"description": "Any additional information"
},
"isDeleted": {
"type": "boolean",
"description": "Whether the employee has been marked for deletion"
},
"lastUpdate": {
"type": "string",
"description": "When the imported employee was last updated",
"format": "date-time"
},
"sourceLastUpdate": {
"type": "string",
"description": "The source for the last update"
},
"familyMembers": {
"type": "array",
"description": "The employee's family members",
"items": {
"$ref": "#/$defs/FamilyMemberResponse"
}
},
"ticketRights": {
"type": "array",
"description": "The employee's ticket rights",
"items": {
"$ref": "#/$defs/TicketRightResponse"
}
},
"ticketHolderCode": {
"type": "string",
"description": "The employee's ticket holder code"
},
"createdAt": {
"type": "string",
"description": "The date of creation.",
"format": "date-time"
},
"createdBy": {
"type": "string",
"description": "The source for the first creation"
},
"categories": {
"type": "array",
"description": "The registered categories on this employee",
"items": {
"$ref": "#/$defs/EmployeeCategoryResponse"
}
},
"yearlyFees": {
"type": "array",
"description": "The status of yearly fees for the current and the next year",
"items": {
"$ref": "#/$defs/EmployeeYearlyFeeResponse"
}
},
"disabilityProofs": {
"type": "array",
"description": "The status of disability proofs for the current and the next year",
"items": {
"$ref": "#/$defs/EmployeeDisabilityProofResponse"
}
},
"customerNumber": {
"type": "integer",
"description": "The employees customer number in ESS. Note this profile is owned by JBD and is the profile connected to the ticket right. A 'null'-value here may indicate that the ticket right is not yet synced to ESS.",
"format": "int64"
}
},
"$defs": {
"CompanyResponse": {
"required": [
"addressLine",
"allowETickets",
"allowLocalEmployees",
"companyId",
"employeeNoPrefix",
"isDeleted",
"name",
"postalCode",
"reportSeparator"
],
"type": "object",
"properties": {
"companyId": {
"type": "integer",
"description": "The company ID",
"format": "int64"
},
"name": {
"type": "string",
"description": "The company name"
},
"addressLine": {
"type": "string",
"description": "The company postal address"
},
"postalCode": {
"type": "string",
"description": "The company postal code"
},
"employeeNoPrefix": {
"type": "string",
"description": "A prefix to be prepended to all employee numbers connected to this company"
},
"allowLocalEmployees": {
"type": "boolean",
"description": "Whether local employees are allowed"
},
"allowETickets": {
"type": "boolean",
"description": "Whether the company allows the usage of e-tickets for its personnel tickets"
},
"isDeleted": {
"type": "boolean",
"description": "Whether the company is deleted"
},
"reportSeparator": {
"type": "string",
"description": "Which character to separate elements within tax report: ','(default) or ';'"
},
"deleted": {
"type": "boolean",
"writeOnly": true
}
},
"description": "Companies are where employees are hired"
},
"EmployeeCategoryResponse": {
"required": [
"year"
],
"type": "object",
"properties": {
"year": {
"type": "integer",
"description": "The year this category is valid",
"format": "int32"
},
"category": {
"$ref": "#/$defs/Product"
}
},
"description": "Category information"
},
"EmployeeDisabilityProofResponse": {
"required": [
"isRegistered",
"year"
],
"type": "object",
"properties": {
"year": {
"type": "integer",
"description": "The year this information is valid for",
"format": "int32"
},
"isRegistered": {
"type": "boolean",
"description": "Whether a disability proof has been registered this year"
}
},
"description": "Yearly disability proof information"
},
"EmployeeYearlyFeeResponse": {
"required": [
"isPaid",
"year"
],
"type": "object",
"properties": {
"year": {
"type": "integer",
"description": "The year this fee is valid",
"format": "int32"
},
"isPaid": {
"type": "boolean",
"description": "Whether this yearly fee has been paid"
}
},
"description": "Yearly fee information"
},
"EmploymentType": {
"required": [
"code",
"description"
],
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The code used for input",
"readOnly": true
},
"description": {
"type": "string",
"description": "A description of the particular code's meaning",
"readOnly": true
}
},
"description": "Employment type. Examples include Employee, Part time, Temp"
},
"FamilyMemberLowIncomeResponse": {
"required": [
"isRegistered",
"year"
],
"type": "object",
"properties": {
"year": {
"type": "integer",
"description": "Year of registered low income",
"format": "int32"
},
"isRegistered": {
"type": "boolean",
"description": "Whether low income is registered"
}
},
"description": "Low income information"
},
"FamilyMemberResponse": {
"required": [
"employeeId",
"firstName",
"id",
"isDeleted",
"relation",
"surname"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The ID of the family member",
"format": "int64"
},
"employeeId": {
"type": "integer",
"description": "The ID of the employee",
"format": "int64"
},
"relation": {
"$ref": "#/$defs/FamilyRelation"
},
"dateOfBirth": {
"type": "string",
"description": "When the family member was born",
"format": "date"
},
"ssn": {
"type": "string",
"description": "The family members social security number"
},
"firstName": {
"type": "string",
"description": "The family member's first name"
},
"surname": {
"type": "string",
"description": "The family member's surname"
},
"abstainFromTicket": {
"type": "boolean",
"description": "Whether a ticket should be created"
},
"note": {
"type": "string",
"description": "Any additional information"
},
"isDeleted": {
"type": "boolean",
"description": "Whether the family member has been marked for deletion"
},
"ticketRights": {
"type": "array",
"description": "A list of the family member's ticket rights",
"items": {
"$ref": "#/$defs/TicketRightResponse"
}
},
"ticketHolderCode": {
"type": "string",
"description": "The family members ticket holder code"
},
"createdAt": {
"type": "string",
"description": "The date of creation.",
"format": "date-time"
},
"createdBy": {
"type": "string",
"description": "The source for the first creation"
},
"updatedAt": {
"type": "string",
"description": "The date the last time the family member was updated",
"format": "date-time"
},
"updatedBy": {
"type": "string",
"description": "The source for the last update"
},
"lowIncomes": {
"type": "array",
"description": "The low income registrations for the current and the next year",
"items": {
"$ref": "#/$defs/FamilyMemberLowIncomeResponse"
}
},
"customerNumber": {
"type": "integer",
"description": "The employees customer number in ESS. Note this profile is owned by JBD and is the profile connected to the ticket right. A 'null'-value here may indicate that the ticket right is not yet synced to ESS.",
"format": "int64"
}
},
"description": "A family member must be connected to an employee"
},
"FamilyRelation": {
"required": [
"code",
"description"
],
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "The code used for input",
"readOnly": true
},
"description": {
"type": "string",
"description": "A description of the particular code's meaning",
"readOnly": true
}
},
"description": "The relation a family member has to an employee"
},
"ManualOrderResponse": {
"required": [
"fromDate",
"id",
"isDeleted",
"issueDate",
"ticketType",
"toDate"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Id of this manual order.",
"format": "int64"
},
"ticketType": {
"$ref": "#/$defs/TicketTypeResponse"
},
"issueDate": {
"type": "string",
"description": "When this manual order was first issued.",
"format": "date-time"
},
"fromDate": {
"type": "string",
"description": "First date the ticket right should be available.",
"format": "date"
},
"toDate": {
"type": "string",
"description": "Last date the ticket right should be available.",
"format": "date"
},
"stations": {
"uniqueItems": true,
"type": "array",
"description": "Any station pairs for this manual order.",
"items": {
"$ref": "#/$defs/StationPairResponse"
}
},
"isDeleted": {
"type": "boolean",
"description": "Whether this manual order is deleted or not."
}
},
"description": "A manual order. This may contain a list of station pairs."
},
"Product": {
"required": [
"id",
"name",
"validFrom",
"validUntil"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The product id",
"format": "int64"
},
"name": {
"type": "string",
"description": "Human readable product name"
},
"validFrom": {
"type": "string",
"description": "When the product is valid from",
"format": "date"
},
"validUntil": {
"type": "string",
"description": "When the product is valid to",
"format": "date"
}
},
"description": "A personnel ticket product"
},
"SimpleRule": {
"required": [
"id",
"name"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Rule id",
"format": "int64"
},
"name": {
"type": "string",
"description": "Rule name"
}
},
"description": "Rule describing who are eligible for what ticket right"
},
"StationPairResponse": {
"required": [
"fromStation",
"id",
"toStation"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Id of this station pair",
"format": "int64"
},
"fromStation": {
"$ref": "#/$defs/StationResponse"
},
"toStation": {
"$ref": "#/$defs/StationResponse"
}
},
"description": "A set of stations on NetEX format."
},
"StationResponse": {
"required": [
"id"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Station in NetEX format."
},
"name": {
"type": "string",
"description": "Station name"
}
},
"description": "Station with NetEX and name"
},
"SyncStatus": {
"type": "object",
"properties": {
"isReadyToSync": {
"type": "boolean",
"description": "Whether the ticket right is ready to be sent to the ticketing system"
},
"syncTimestamp": {
"type": "string",
"description": "When the ticket right was sync'ed",
"format": "date-time"
},
"errorMessage": {
"type": "string",
"description": "If the system has failed in sending the ticket right to the ticketing system, this will hold the error message. Default is null"
}
},
"description": "Status fields related to synchronization with other services"
},
"TicketRightResponse": {
"required": [
"calculationTimestamp",
"employeeId",
"ticketHolderId",
"ticketType",
"ticketrightId",
"validFrom",
"validUntil"
],
"type": "object",
"properties": {
"ticketrightId": {
"type": "integer",
"description": "The ticket right id",
"format": "int64"
},
"ticketHolderId": {
"type": "integer",
"description": "The id of the ticket holder, either an employee or a family member",
"format": "int64"
},
"employeeId": {
"type": "integer",
"description": "The id of the employee who is responsible",
"format": "int64"
},
"validFrom": {
"type": "string",
"description": "The date from when the ticket right is valid",
"format": "date"
},
"validUntil": {
"type": "string",
"description": "The date from when the ticket right stops being valid",
"format": "date"
},
"ticketType": {
"$ref": "#/$defs/TicketTypeResponse"
},
"note": {
"type": "string",
"description": "Any additional information"
},
"canSendTicket": {
"type": "boolean",
"description": "This field will be discontinued in the next vesion of the API.",
"deprecated": true
},
"ticketCreated": {
"type": "string",
"description": "This field will be discontinued in the next vesion of the API.",
"format": "date-time",
"deprecated": true
},
"errorMessage": {
"type": "string",
"description": "This field will be discontinued in the next vesion of the API.",
"deprecated": true
},
"createdByRule": {
"$ref": "#/$defs/SimpleRule"
},
"calculationTimestamp": {
"type": "string",
"description": "When the ticketright was calculated",
"format": "date-time"
},
"ticketRightsHolder": {
"$ref": "#/$defs/TicketRightsHolderResponse"
},
"legacySyncStatus": {
"$ref": "#/$defs/SyncStatus"
},
"essSyncStatus": {
"$ref": "#/$defs/SyncStatus"
},
"manualOrder": {
"$ref": "#/$defs/ManualOrderResponse"
}
},
"description": "A ticket right granted to an employee or a family member"
},
"TicketRightsHolderResponse": {
"required": [
"id",
"ticketHolderCode"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The ticket right holder id",
"format": "int64"
},
"ticketHolderCode": {
"type": "string",
"description": "The personnel ticket code for the ticket rights holder"
},
"ticketRight": {
"$ref": "#/$defs/TicketRightResponse"
},
"firstName": {
"type": "string",
"description": "Unused. This field is populated by employee / family member data and will be removed in future versions.",
"deprecated": true
},
"surname": {
"type": "string",
"description": "Unused. This field is populated by employee / family member data and will be removed in future versions.",
"deprecated": true
},
"addressLine": {
"type": "string",
"description": "Unused. This field is populated by employee / family member data and will be removed in future versions.",
"deprecated": true
},
"postalCode": {
"type": "string",
"description": "Unused. This field is populated by employee / family member data and will be removed in future versions.",
"deprecated": true
},
"postalPlace": {
"type": "string",
"description": "Unused. This field is populated by employee / family member data and will be removed in future versions.",
"deprecated": true
},
"countryCode": {
"type": "string",
"description": "Unused. This field is populated by employee / family member data and will be removed in future versions.",
"deprecated": true
},
"dateOfBirth": {
"type": "string",
"description": "Unused. This field is populated by employee / family member data and will be removed in future versions.",
"format": "date",
"deprecated": true
}
},
"description": "All items for this page"
},
"TicketTypeResponse": {
"required": [
"canHaveStationPairs",
"code",
"countryCode",
"description",
"generatesTicketRights",
"id",
"isDeleted"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Ticket type id",
"format": "int64"
},
"code": {
"type": "string",
"description": "Ticket type"
},
"description": {
"type": "string",
"description": "Ticket type description"
},
"countryCode": {
"type": "string",
"description": "Country code"
},
"generatesTicketRights": {
"type": "boolean",
"description": "Whether or not this this ticket type is relevant for sending as input to a Manual order. If this = false (the default), it will not generate new tickets rights by manual order."
},
"canHaveStationPairs": {
"type": "boolean",
"description": "Whether or not this ticket type is compatible with station pairs when placing a manual order. The default = false. "
},
"isDeleted": {
"type": "boolean",
"description": "Whether the ticket type is deleted."
}
},
"description": "The Ticket type informs of which country it is valid in and what train class it covers."
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/entur-employee-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.