{
  "employee": {
    "title": "Employee",
    "direction": "request",
    "endpoint": "POST /employee",
    "groups": [
      {
        "name": "Identity",
        "intro": "These three fields decide which record PayCaptain creates or updates. See [Identity and payroll codes](/rules#identity-and-payroll-codes).",
        "fields": [
          {
            "name": "company",
            "type": "string",
            "required": true,
            "rule": "Must match your PayCaptain company code exactly.",
            "description": "Company code issued by the PayCaptain team.",
            "example": "ABC"
          },
          {
            "name": "hrEmployeeId",
            "type": "string",
            "required": true,
            "rule": "Unique per person. Never changes, and is the same across all of that person's employments.",
            "description": "Your system's identifier for the person. PayCaptain upserts on this value.",
            "example": "9876543210"
          },
          {
            "name": "payrollCode",
            "type": "string",
            "required": true,
            "rule": "Unique per employment. Never changed once assigned, never reused. A returning employee gets a new code.",
            "description": "Identifier for one employment period. HMRC uses this code.",
            "example": "123"
          }
        ]
      },
      {
        "name": "Personal details",
        "fields": [
          {
            "name": "firstName",
            "type": "string",
            "required": true,
            "minLength": 1,
            "rule": "Must not be empty.",
            "description": "First name.",
            "example": "Jason"
          },
          {
            "name": "middleName",
            "type": "string",
            "required": false,
            "description": "Middle name.",
            "example": "Z"
          },
          {
            "name": "lastName",
            "type": "string",
            "required": true,
            "minLength": 1,
            "rule": "Must not be empty.",
            "description": "Last name.",
            "example": "Smith"
          },
          {
            "name": "dateOfBirth",
            "type": "string",
            "format": "date",
            "required": true,
            "rule": "A valid date in the past.",
            "description": "Date of birth.",
            "example": "2000-01-01"
          },
          {
            "name": "gender",
            "type": "string",
            "required": true,
            "enum": [
              "Male",
              "Female"
            ],
            "rule": "Exactly one of the allowed values. This is an HMRC requirement.",
            "description": "Gender as reported to HMRC.",
            "example": "Male"
          },
          {
            "name": "email",
            "type": "string",
            "format": "email",
            "required": true,
            "rule": "Valid email format.",
            "description": "Home email address.",
            "example": "jason@example.com"
          },
          {
            "name": "phone",
            "type": "string",
            "required": false,
            "description": "Phone number. Mobile preferred.",
            "example": "08000885262"
          },
          {
            "name": "photoUrl",
            "type": "string",
            "format": "uri",
            "required": false,
            "description": "URL of a photo of the employee.",
            "example": "https://example.com/jason.jpg"
          },
          {
            "name": "niNumber",
            "type": "string",
            "required": false,
            "pattern": "^(?!BG|GB|KN|NK|NT|TN|ZZ)[A-CEGHJ-PR-TW-Z][A-CEGHJ-NPR-TW-Z][0-9]{6}[A-D]$",
            "rule": "A valid UK National Insurance number, no spaces. If unknown, omit the field. Never send a placeholder.",
            "description": "National Insurance number.",
            "example": "AB123456C"
          }
        ]
      },
      {
        "name": "Home address",
        "intro": "All five fields are required together and must form a complete UK residential address.",
        "fields": [
          {
            "name": "mailingStreet",
            "type": "string",
            "required": true,
            "minLength": 1,
            "rule": "Must not be empty.",
            "description": "Street.",
            "example": "1 Main Street"
          },
          {
            "name": "mailingCity",
            "type": "string",
            "required": true,
            "minLength": 1,
            "rule": "Must not be empty.",
            "description": "Town or city.",
            "example": "Green City"
          },
          {
            "name": "mailingStateProvince",
            "type": "string",
            "required": true,
            "minLength": 1,
            "rule": "Must not be empty.",
            "description": "County.",
            "example": "Happy County"
          },
          {
            "name": "mailingPostalCode",
            "type": "string",
            "required": true,
            "pattern": "^(?:[Gg][Ii][Rr] 0[Aa]{2}|(?:[A-Za-z][0-9]{1,2}|[A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2}|[A-Za-z][0-9][A-Za-z]|[A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]) [0-9][A-Za-z]{2})$",
            "rule": "A valid UK postcode, with the single space between outward and inward parts. Trim before testing.",
            "description": "Postcode.",
            "example": "SW1A 1AA"
          },
          {
            "name": "mailingCountry",
            "type": "string",
            "required": true,
            "enum": [
              "United Kingdom"
            ],
            "rule": "Must be exactly \"United Kingdom\".",
            "description": "Country.",
            "example": "United Kingdom"
          }
        ]
      },
      {
        "name": "Employment",
        "intro": "Date relationships are enforced across fields. See [Date rules](/rules#dates).",
        "fields": [
          {
            "name": "startDate",
            "type": "string",
            "format": "date",
            "required": true,
            "rule": "Employment periods for the same hrEmployeeId must not overlap.",
            "description": "Date this employment started.",
            "example": "2023-12-01"
          },
          {
            "name": "leaveDate",
            "type": "string",
            "format": "date",
            "required": false,
            "nullable": true,
            "rule": "If set, must be on or after startDate.",
            "description": "Date this employment ended. Omit or send null while employed.",
            "example": null
          }
        ]
      },
      {
        "name": "Pay",
        "intro": "Any change to payBasis, salary or rateOfPay must move payEffectiveDate to the date of that change. See [Pay changes](/rules#pay-changes).",
        "fields": [
          {
            "name": "payBasis",
            "type": "string",
            "required": true,
            "enum": [
              "Hourly",
              "Salaried"
            ],
            "rule": "Exactly one of the allowed values. Decides whether salary or rateOfPay is required.",
            "description": "How the employee is paid.",
            "example": "Salaried"
          },
          {
            "name": "salary",
            "type": "number",
            "required": false,
            "requiredIf": {
              "payBasis": "Salaried"
            },
            "rule": "Annual figure.",
            "description": "Annual salary.",
            "example": 12000
          },
          {
            "name": "rateOfPay",
            "type": "number",
            "required": false,
            "requiredIf": {
              "payBasis": "Hourly"
            },
            "rule": "Rate per hour.",
            "description": "Hourly rate of pay.",
            "example": 15.25
          },
          {
            "name": "payEffectiveDate",
            "type": "string",
            "format": "date",
            "required": true,
            "rule": "Between startDate and leaveDate inclusive. Must equal startDate when the employee is first created.",
            "description": "Date the current salary or rate took effect.",
            "example": "2023-12-01"
          },
          {
            "name": "payGroup",
            "type": "string",
            "required": true,
            "rule": "Must match the name of a Pay Group configured in PayCaptain.",
            "description": "Pay Group the employee is paid in.",
            "example": "Monthly"
          }
        ]
      },
      {
        "name": "Job",
        "fields": [
          {
            "name": "location",
            "type": "string",
            "required": false,
            "description": "Work location.",
            "example": "Baker Street"
          },
          {
            "name": "department",
            "type": "string",
            "required": false,
            "description": "Department.",
            "example": "Marketing"
          },
          {
            "name": "team",
            "type": "string",
            "required": false,
            "description": "Team.",
            "example": "Content"
          },
          {
            "name": "jobGrade",
            "type": "string",
            "required": false,
            "description": "Job grade.",
            "example": "A1"
          },
          {
            "name": "jobTitle",
            "type": "string",
            "required": false,
            "description": "Job title.",
            "example": "Content Marketing"
          },
          {
            "name": "jobEffectiveDate",
            "type": "string",
            "format": "date",
            "required": false,
            "description": "Date the job title took effect.",
            "example": "2023-12-01"
          },
          {
            "name": "probationEndDate",
            "type": "string",
            "format": "date",
            "required": false,
            "description": "Date the probation period ends.",
            "example": "2024-02-01"
          },
          {
            "name": "contractType",
            "type": "string",
            "required": false,
            "enum": [
              "Full Time",
              "Part Time"
            ],
            "description": "Contract type.",
            "example": "Full Time"
          }
        ]
      },
      {
        "name": "Working pattern",
        "fields": [
          {
            "name": "normalWeeklyHours",
            "type": "number",
            "required": false,
            "minimum": 0,
            "rule": "Hours as a whole or decimal number (40 or 37.5). If your source system stores hundredths (4000), divide by 100 first.",
            "description": "Normal weekly hours.",
            "example": 40
          },
          {
            "name": "daysWorkedPerWeek",
            "type": "number",
            "required": false,
            "minimum": 0,
            "maximum": 7,
            "description": "Working days per week.",
            "example": 5
          },
          {
            "name": "monday",
            "type": "boolean",
            "required": false,
            "description": "Works on a Monday.",
            "example": true
          },
          {
            "name": "tuesday",
            "type": "boolean",
            "required": false,
            "description": "Works on a Tuesday.",
            "example": true
          },
          {
            "name": "wednesday",
            "type": "boolean",
            "required": false,
            "description": "Works on a Wednesday.",
            "example": true
          },
          {
            "name": "thrursday",
            "type": "boolean",
            "required": false,
            "rule": "The field name is spelled this way in API v1.0.1. Send it exactly as shown.",
            "description": "Works on a Thursday.",
            "example": true
          },
          {
            "name": "friday",
            "type": "boolean",
            "required": false,
            "description": "Works on a Friday.",
            "example": true
          },
          {
            "name": "saturday",
            "type": "boolean",
            "required": false,
            "description": "Works on a Saturday.",
            "example": false
          },
          {
            "name": "sunday",
            "type": "boolean",
            "required": false,
            "description": "Works on a Sunday.",
            "example": false
          }
        ]
      },
      {
        "name": "Bank account",
        "fields": [
          {
            "name": "bankName",
            "type": "string",
            "required": false,
            "description": "Name of the bank.",
            "example": "Monzo"
          },
          {
            "name": "bankAccountName",
            "type": "string",
            "required": false,
            "description": "Name on the account.",
            "example": "Jason Smith"
          },
          {
            "name": "bankAccountNumber",
            "type": "string",
            "required": false,
            "pattern": "^[0-9]{8}$",
            "rule": "Exactly 8 digits, sent as a string so leading zeros survive.",
            "description": "UK bank account number.",
            "example": "87654321"
          },
          {
            "name": "bankAccountSortCode",
            "type": "string",
            "required": false,
            "pattern": "^[0-9]{6}$",
            "rule": "Exactly 6 digits, no hyphens, sent as a string so leading zeros survive.",
            "description": "UK sort code.",
            "example": "123456"
          }
        ]
      },
      {
        "name": "HMRC starter details",
        "fields": [
          {
            "name": "starterDeclaration",
            "type": "string",
            "required": false,
            "enum": [
              "A",
              "B",
              "C"
            ],
            "rule": "Exactly one of the allowed values, per the HMRC starter checklist.",
            "description": "HMRC starter declaration.",
            "example": "A"
          },
          {
            "name": "studentLoanPlanOne",
            "type": "boolean",
            "required": false,
            "default": false,
            "description": "Repays Student Loan Plan 1.",
            "example": false
          },
          {
            "name": "studentLoanPlanTwo",
            "type": "boolean",
            "required": false,
            "default": false,
            "description": "Repays Student Loan Plan 2.",
            "example": false
          },
          {
            "name": "studentLoanPlanFour",
            "type": "boolean",
            "required": false,
            "default": false,
            "description": "Repays Student Loan Plan 4.",
            "example": false
          },
          {
            "name": "studentLoanPostGraduate",
            "type": "boolean",
            "required": false,
            "default": false,
            "description": "Repays a Postgraduate Loan.",
            "example": false
          }
        ]
      }
    ]
  },
  "shift": {
    "title": "Shift",
    "direction": "request",
    "endpoint": "POST /shift",
    "groups": [
      {
        "name": "Identity",
        "fields": [
          {
            "name": "shiftId",
            "type": "string",
            "required": true,
            "minLength": 1,
            "rule": "Unique in your system. Resubmitting the same shiftId updates the record.",
            "description": "Your identifier for the shift record.",
            "example": "SH-000481"
          },
          {
            "name": "company",
            "type": "string",
            "required": true,
            "rule": "Must match your PayCaptain company code exactly.",
            "description": "Company code issued by the PayCaptain team.",
            "example": "ABC"
          },
          {
            "name": "hrEmployeeId",
            "type": "string",
            "required": true,
            "rule": "Must match an employee already sent to PayCaptain.",
            "description": "The person who worked the shift.",
            "example": "9876543210"
          },
          {
            "name": "payrollCode",
            "type": "string",
            "required": true,
            "rule": "Must match that person's active employment.",
            "description": "The employment the shift belongs to.",
            "example": "123"
          }
        ]
      },
      {
        "name": "Shift",
        "fields": [
          {
            "name": "date",
            "type": "string",
            "format": "date",
            "required": true,
            "description": "Date of the shift.",
            "example": "2026-11-02"
          },
          {
            "name": "type",
            "type": "string",
            "required": true,
            "enum": [
              "Working",
              "Holiday",
              "Sickness",
              "Unpaid Leave"
            ],
            "rule": "Exactly one of the allowed values.",
            "description": "What the record represents.",
            "example": "Working"
          },
          {
            "name": "payBasis",
            "type": "string",
            "required": true,
            "enum": [
              "Hourly",
              "Daily"
            ],
            "rule": "Exactly one of the allowed values. Decides whether units are hours or days.",
            "description": "How the shift is paid.",
            "example": "Hourly"
          },
          {
            "name": "units",
            "type": "number",
            "required": true,
            "minimum": 0,
            "rule": "Hours when payBasis is \"Hourly\", days when \"Daily\".",
            "description": "Quantity worked.",
            "example": 7.5
          },
          {
            "name": "rate",
            "type": "number",
            "required": true,
            "minimum": 0,
            "rule": "Per hour or per day, matching payBasis.",
            "description": "Rate of pay for this shift.",
            "example": 15.25
          },
          {
            "name": "sicknessDayType",
            "type": "string",
            "required": false,
            "enum": [
              "Qualifying",
              "Q",
              "Y",
              "Non Qualifying",
              "N"
            ],
            "rule": "Only meaningful when type is \"Sickness\". \"Qualifying\", \"Q\" and \"Y\" mean a qualifying day; \"Non Qualifying\" and \"N\" mean it is not.",
            "description": "Whether a sickness day is a qualifying day.",
            "example": "Qualifying"
          },
          {
            "name": "reason",
            "type": "string",
            "required": false,
            "description": "Reason for an absence, mainly for sickness records.",
            "example": "Flu"
          },
          {
            "name": "archived",
            "type": "boolean",
            "required": false,
            "default": false,
            "rule": "Send true with the same shiftId to remove the shift from payroll. Records are archived, never deleted.",
            "description": "Archive the shift so it is not paid.",
            "example": false
          }
        ]
      },
      {
        "name": "Cost allocation",
        "fields": [
          {
            "name": "location",
            "type": "string",
            "required": false,
            "description": "Location worked.",
            "example": "Baker Street"
          },
          {
            "name": "department",
            "type": "string",
            "required": false,
            "description": "Department worked.",
            "example": "Marketing"
          },
          {
            "name": "team",
            "type": "string",
            "required": false,
            "description": "Team worked.",
            "example": "Content"
          },
          {
            "name": "job",
            "type": "string",
            "required": false,
            "description": "Job worked.",
            "example": "Content Marketing"
          }
        ]
      }
    ]
  },
  "payment": {
    "title": "Payment",
    "direction": "request",
    "endpoint": "POST /payment",
    "groups": [
      {
        "name": "Identity",
        "fields": [
          {
            "name": "paymentId",
            "type": "string",
            "required": true,
            "minLength": 1,
            "rule": "Unique in your system. Resubmitting the same paymentId updates the record.",
            "description": "Your identifier for the payment record.",
            "example": "PM-000912"
          },
          {
            "name": "company",
            "type": "string",
            "required": true,
            "rule": "Must match your PayCaptain company code exactly.",
            "description": "Company code issued by the PayCaptain team.",
            "example": "ABC"
          },
          {
            "name": "hrEmployeeId",
            "type": "string",
            "required": true,
            "rule": "Must match an employee already sent to PayCaptain.",
            "description": "The person being paid.",
            "example": "9876543210"
          },
          {
            "name": "payrollCode",
            "type": "string",
            "required": true,
            "rule": "Must match that person's active employment.",
            "description": "The employment the payment belongs to.",
            "example": "123"
          }
        ]
      },
      {
        "name": "Payment",
        "fields": [
          {
            "name": "payCode",
            "type": "string",
            "required": true,
            "minLength": 1,
            "rule": "Must match a Pay Code Name configured in PayCaptain.",
            "description": "Pay Code for this pay element.",
            "example": "Bonus"
          },
          {
            "name": "date",
            "type": "string",
            "format": "date",
            "required": true,
            "description": "Date of the payment.",
            "example": "2026-11-28"
          },
          {
            "name": "units",
            "type": "number",
            "required": true,
            "description": "Quantity, for example hours.",
            "example": 1
          },
          {
            "name": "rate",
            "type": "number",
            "required": true,
            "description": "Rate per unit.",
            "example": 250
          },
          {
            "name": "description",
            "type": "string",
            "required": false,
            "description": "Text shown on the payslip.",
            "example": "Quarterly bonus"
          },
          {
            "name": "information",
            "type": "string",
            "required": false,
            "description": "Extra detail shown behind the help icon on the payslip.",
            "example": "Q3 performance bonus"
          },
          {
            "name": "archived",
            "type": "boolean",
            "required": false,
            "default": false,
            "rule": "Send true with the same paymentId to remove the payment from payroll. Records are archived, never deleted.",
            "description": "Archive the payment so it is not paid.",
            "example": false
          }
        ]
      },
      {
        "name": "Cost allocation",
        "fields": [
          {
            "name": "location",
            "type": "string",
            "required": false,
            "description": "Location worked.",
            "example": "Baker Street"
          },
          {
            "name": "department",
            "type": "string",
            "required": false,
            "description": "Department worked.",
            "example": "Marketing"
          },
          {
            "name": "team",
            "type": "string",
            "required": false,
            "description": "Team worked.",
            "example": "Content"
          },
          {
            "name": "job",
            "type": "string",
            "required": false,
            "description": "Job worked.",
            "example": "Content Marketing"
          }
        ]
      }
    ]
  },
  "payslip": {
    "title": "Payslip",
    "direction": "response",
    "endpoint": "GET /payslips",
    "groups": [
      {
        "name": "payslip",
        "object": "payslip",
        "fields": [
          {
            "name": "id",
            "type": "string",
            "description": "Payslip identifier."
          },
          {
            "name": "payeReference",
            "type": "string",
            "description": "Employer PAYE reference."
          },
          {
            "name": "companyName",
            "type": "string",
            "description": "Company name."
          },
          {
            "name": "payPeriod",
            "type": "string",
            "description": "Pay Period reference."
          },
          {
            "name": "published",
            "type": "boolean",
            "description": "Whether the payslip is published to the employee."
          },
          {
            "name": "payPeriodStatus",
            "type": "string",
            "description": "Status of the pay period."
          },
          {
            "name": "payGroup",
            "type": "string",
            "description": "Pay Group name."
          },
          {
            "name": "taxCode",
            "type": "string",
            "description": "Tax code applied."
          },
          {
            "name": "w1m1",
            "type": "boolean",
            "description": "Tax calculated on a week 1 / month 1 basis."
          },
          {
            "name": "niCategory",
            "type": "string",
            "description": "National Insurance category letter."
          },
          {
            "name": "date",
            "type": "string",
            "description": "Pay date."
          },
          {
            "name": "periodNumber",
            "type": "integer",
            "description": "Tax period number."
          },
          {
            "name": "pensionNotice",
            "type": "string",
            "description": "Pension notice text."
          },
          {
            "name": "message",
            "type": "string",
            "description": "Message shown on the payslip."
          },
          {
            "name": "taxYear",
            "type": "string",
            "description": "Tax year."
          },
          {
            "name": "url",
            "type": "string",
            "description": "Link to the payslip."
          }
        ]
      },
      {
        "name": "employee",
        "object": "employee",
        "fields": [
          {
            "name": "hrEmployee_Id",
            "type": "string",
            "description": "Your identifier for the person. Note the spelling differs from hrEmployeeId on requests."
          },
          {
            "name": "payrollCode",
            "type": "string",
            "description": "Payroll code of the employment."
          },
          {
            "name": "firstName",
            "type": "string",
            "description": "First name."
          },
          {
            "name": "middleName",
            "type": "string",
            "description": "Middle name."
          },
          {
            "name": "lastName",
            "type": "string",
            "description": "Last name."
          },
          {
            "name": "email",
            "type": "string",
            "description": "Email address."
          },
          {
            "name": "mailingStreet",
            "type": "string",
            "description": "Home address: street."
          },
          {
            "name": "mailingCity",
            "type": "string",
            "description": "Home address: town or city."
          },
          {
            "name": "mailingState",
            "type": "string",
            "description": "Home address: county."
          },
          {
            "name": "mailingPostalCode",
            "type": "string",
            "description": "Home address: postcode."
          },
          {
            "name": "MailingCountry",
            "type": "string",
            "description": "Home address: country. Note the capital M."
          },
          {
            "name": "phone",
            "type": "string",
            "description": "Phone number."
          },
          {
            "name": "niNumber",
            "type": "string",
            "description": "National Insurance number."
          }
        ]
      },
      {
        "name": "totals",
        "object": "totals",
        "fields": [
          {
            "name": "gross",
            "type": "number",
            "description": "Gross pay this period."
          },
          {
            "name": "taxable",
            "type": "number",
            "description": "Taxable pay this period."
          },
          {
            "name": "net",
            "type": "number",
            "description": "Net pay this period."
          },
          {
            "name": "benefits",
            "type": "number",
            "description": "Benefits this period."
          },
          {
            "name": "tax",
            "type": "number",
            "description": "Income tax this period."
          },
          {
            "name": "employerNationalInsurance",
            "type": "number",
            "description": "Employer National Insurance this period."
          },
          {
            "name": "employeeNationalInsurance",
            "type": "number",
            "description": "Employee National Insurance this period."
          },
          {
            "name": "employeePensoin",
            "type": "number",
            "description": "Employee pension this period. Spelled this way in API v1.0.1."
          },
          {
            "name": "employerPensoin",
            "type": "number",
            "description": "Employer pension this period. Spelled this way in API v1.0.1."
          }
        ]
      },
      {
        "name": "ytd",
        "object": "ytd",
        "fields": [
          {
            "name": "gross",
            "type": "number",
            "description": "Gross pay, year to date."
          },
          {
            "name": "taxable",
            "type": "number",
            "description": "Taxable pay, year to date."
          },
          {
            "name": "net",
            "type": "number",
            "description": "Net pay, year to date."
          },
          {
            "name": "benefits",
            "type": "number",
            "description": "Benefits, year to date."
          },
          {
            "name": "tax",
            "type": "number",
            "description": "Income tax, year to date."
          },
          {
            "name": "employeePension",
            "type": "number",
            "description": "Employee pension, year to date."
          },
          {
            "name": "employerPension",
            "type": "number",
            "description": "Employer pension, year to date."
          }
        ]
      },
      {
        "name": "previousEmployment",
        "object": "previousEmployment",
        "fields": [
          {
            "name": "taxable",
            "type": "number",
            "description": "Taxable pay from previous employment this tax year."
          },
          {
            "name": "tax",
            "type": "number",
            "description": "Tax paid in previous employment this tax year."
          }
        ]
      },
      {
        "name": "thisEmployment",
        "object": "thisEmployment",
        "fields": [
          {
            "name": "taxable",
            "type": "number",
            "description": "Taxable pay in this employment this tax year."
          },
          {
            "name": "tax",
            "type": "number",
            "description": "Tax paid in this employment this tax year."
          }
        ]
      },
      {
        "name": "payslipLines[]",
        "object": "payslipLines",
        "array": true,
        "fields": [
          {
            "name": "payslipLineId",
            "type": "string",
            "description": "Line identifier."
          },
          {
            "name": "payslipId",
            "type": "string",
            "description": "Parent payslip identifier."
          },
          {
            "name": "units",
            "type": "integer",
            "description": "Units."
          },
          {
            "name": "amount",
            "type": "number",
            "description": "Amount per unit."
          },
          {
            "name": "total",
            "type": "number",
            "description": "Line total."
          },
          {
            "name": "code",
            "type": "string",
            "description": "Pay Code."
          },
          {
            "name": "description",
            "type": "string",
            "description": "Text shown on the payslip."
          },
          {
            "name": "locationCode",
            "type": "string",
            "description": "Location."
          },
          {
            "name": "departmentCode",
            "type": "string",
            "description": "Department."
          },
          {
            "name": "teamCode",
            "type": "string",
            "description": "Team."
          },
          {
            "name": "jobCode",
            "type": "string",
            "description": "Job."
          },
          {
            "name": "isDeduction",
            "type": "boolean",
            "description": "Line is a deduction."
          },
          {
            "name": "isBenefit",
            "type": "boolean",
            "description": "Line is a benefit."
          },
          {
            "name": "excludedfromPayslip",
            "type": "boolean",
            "description": "Line is hidden on the employee's payslip."
          },
          {
            "name": "information",
            "type": "string",
            "description": "Extra detail shown behind the help icon."
          }
        ]
      }
    ]
  }
}
