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
View JSON Schema on GitHub

JSON Schema

entur-employee-response-schema.json Raw ↑
{
  "$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.
All 92 tools →

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.