{"id":9876,"date":"2025-10-13T10:54:00","date_gmt":"2025-10-13T10:54:00","guid":{"rendered":"https:\/\/qxaccounting.com\/uk\/?page_id=9876"},"modified":"2026-01-23T10:55:39","modified_gmt":"2026-01-23T10:55:39","slug":"holiday-pay-overtime-calculator","status":"publish","type":"page","link":"https:\/\/qxaccounting.com\/uk\/tools-for-accountants\/holiday-pay-overtime-calculator\/","title":{"rendered":"Holiday Pay &amp; Overtime Calculator UK (2025\/2026)"},"content":{"rendered":"              <section class=\"bannerstyle2\" style=\"min-height: 250px;\">\r\n                    <div class=\"container\">\r\n                    <div class=\"row d-flex align-items-start justify-content-between\">\r\n                    <div class=\"col-xxl-6 col-lg-7 d-flex flex-column align-items-start content\">\r\n                     <h1>Holiday Pay &amp; Overtime Calculator UK (2025\/2026)<\/h1>\n<p>Easily work out overtime pay and compliant holiday pay for variable hour or seasonal staff. Based on Working Time Regulations and current UK rules including the 52 week pay reference and the 12.07 percent accrual for irregular hours.<\/p>\n                <\/div>\r\n                    <div class=\"col-lg-5 d-none d-lg-block align-self-baseline\"><div class=\"imagebox\">\r\n                        <img decoding=\"async\" src=\"https:\/\/qxaccounting.com\/uk\/wp-content\/uploads\/sites\/2\/2025\/10\/calculator.webp\" alt=\"\"><\/div><\/div>\r\n                    <\/div>\r\n                    <\/div>\r\n            <\/section>\r\n       \r\n\n\n\n<!DOCTYPE html> \n\n<html lang=\"en\"> \n\n<head> \n\n  <meta charset=\"UTF-8\" \/> \n\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" \/> \n\n  <title>Holiday Pay &#038; Overtime Calculator UK | QX Accounting Services<\/title> \n\n  <style> \n\n    :root{ \n\n      \/* Approximated QX palette from the provided screenshot *\/ \n\n      --qx-primary:#4F46E5;   \/* indigo *\/ \n\n      --qx-secondary:#7C3AED; \/* violet *\/ \n\n      --qx-accent:#FF6B5B;    \/* coral button seen in header *\/ \n\n      --qx-dark:#0F172A;      \/* slate-900 *\/ \n\n      --qx-mid:#334155;       \/* slate-700 *\/ \n\n      --qx-border:#E5E7EB;    \/* gray-200 *\/ \n\n      --qx-bg:#F8FAFC;        \/* gray-50 *\/ \n\n      --radius:14px; \n\n    } \n\n    *{box-sizing:border-box} \n\n    body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;margin:0;background:var(--qx-bg);color:var(--qx-dark)} \n\n    #newk.container{max-width:1100px;margin:0 auto;padding:24px} \n\n   \n\n    .badge{position:absolute;right:18px;top:18px;background:rgba(255,255,255,.14);padding:8px 12px;border-radius:999px;font-size:12px} \n\n \n\n    .grid{display:grid;grid-template-columns:1fr;gap:18px} \n\n    @media(min-width:900px){.grid{grid-template-columns:1fr 1fr}} \n\n \n\n    .card{background:#fff;border:1px solid var(--qx-border);border-radius:var(--radius);padding:18px} \n\n    .card h3{margin:0 0 10px 0;font-size:18px;color:var(--qx-mid)} \n\n    label{display:block;margin:10px 0 6px 0;font-weight:600;color:var(--qx-mid)} \n\n    input[type=\"number\"],input[type=\"text\"],select{width:100%;padding:12px 14px;border:1px solid var(--qx-border);border-radius:10px;font-size:14px;background:#fff} \n\n    input[type=\"checkbox\"]{transform:scale(1.15)} \n\n   \/* .row{display:grid;grid-template-columns:1fr 1fr;gap:12px} *\/\n\n    .muted{color:#64748B;font-size:12px} \n\n \n\n   #newk .btn{display:inline-block;border:0;background:var(--qx-primary);color:#fff;padding:12px 16px;border-radius:12px;font-weight:700;cursor:pointer} \n\n   #newk .btn.secondary{background:var(--qx-accent)} \n\n   #newk .btn.ghost{background:#fff;color:var(--qx-primary);border:1px solid var(--qx-primary)} \n\n   #newk .actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px} \n\n \n\n    table{width:100%;border-collapse:separate;border-spacing:0 8px} \n\n    th,td{text-align:left;padding:10px 12px} \n\n    thead th{font-size:12px;color:#475569} \n\n    tbody tr{background:#fff;border:1px solid var(--qx-border)} \n\n    tbody tr td:first-child, thead tr th:first-child{border-top-left-radius:10px;border-bottom-left-radius:10px} \n\n    tbody tr td:last-child, thead tr th:last-child{border-top-right-radius:10px;border-bottom-right-radius:10px} \n\n \n\n    .summary{background:#fff;border:1px solid var(--qx-border);border-radius:var(--radius);padding:16px} \n\n    .summary h2{margin:0 0 10px 0} \n\n    .pill{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(79,70,229,.1);color:var(--qx-primary);font-weight:700;font-size:12px} \n\n    .note{background:#fff;border:1px dashed var(--qx-secondary);border-radius:12px;padding:12px;font-size:13px} \n\n    .footer-note{font-size:12px;color:#64748B;margin-top:10px} \n\n  <\/style> \n\n<\/head> \n\n<body> \n\n  <div class=\"container\" id=\"newk\"> \n\n        <div class=\"grid\"> \n\n      <div class=\"card\"> \n\n        <h3>Employee details<\/h3> \n\n        <label>Contract type<\/label> \n\n        <select id=\"contractType\"> \n\n          <option value=\"regular\">Regular hours<\/option> \n\n          <option value=\"irregular\">Irregular hours<\/option> \n\n          <option value=\"partyear\">Part year<\/option> \n\n        <\/select> \n\n \n\n        <div class=\"row\"> \n\n          <div> \n\n            <label>Pay frequency<\/label> \n\n            <select id=\"frequency\"> \n\n              <option value=\"weekly\">Weekly<\/option> \n\n              <option value=\"fortnightly\">Fortnightly<\/option> \n\n              <option value=\"fourweekly\">Four weekly<\/option> \n\n              <option value=\"monthly\" selected>Monthly<\/option> \n\n            <\/select> \n\n          <\/div> \n\n          <div> \n\n            <label>Hourly base rate (\u00a3)<\/label> \n\n            <input id=\"hourlyRate\" type=\"number\" min=\"0\" step=\"0.01\" value=\"15\" \/> \n\n          <\/div> \n\n        <\/div> \n\n \n\n        <div class=\"row\" id=\"regularBlock\"> \n\n          <div> \n\n            <label>Contracted hours this period<\/label> \n\n            <input id=\"contractedHours\" type=\"number\" min=\"0\" step=\"0.01\" value=\"140\" \/> \n\n          <\/div> \n\n          <div> \n\n            <label>Standard weekly hours (for entitlement)<\/label> \n\n            <input id=\"weeklyHours\" type=\"number\" min=\"0\" step=\"0.01\" value=\"35\" \/> \n\n            <div class=\"muted\">Used to calculate the 5.6 weeks statutory entitlement for regular hours.<\/div> \n\n          <\/div> \n\n        <\/div> \n\n \n\n        <div class=\"row\"> \n\n          <div> \n\n            <label>Leave hours taken in this period<\/label> \n\n            <input id=\"leaveHours\" type=\"number\" min=\"0\" step=\"0.01\" value=\"0\" \/> \n\n          <\/div> \n\n          <div> \n\n            <label>Reference weeks actually paid (max 52)<\/label> \n\n            <input id=\"refWeeks\" type=\"number\" min=\"1\" max=\"52\" step=\"1\" value=\"52\" \/> \n\n            <div class=\"muted\">Exclude any weeks with no earnings.<\/div> \n\n          <\/div> \n\n        <\/div> \n\n \n\n        <div class=\"row\"> \n\n          <div> \n\n            <label>Custom average hourly rate (\u00a3) (optional)<\/label> \n\n            <input id=\"customAvgRate\" type=\"number\" min=\"0\" step=\"0.01\" placeholder=\"Leave blank to auto compute\" \/> \n\n            <div class=\"muted\">If provided, this overrides the auto average for holiday pay.<\/div> \n\n          <\/div> \n\n          <div><\/div> \n\n        <\/div> \n\n      <\/div> \n\n \n\n      <div class=\"card\"> \n\n        <h3>Overtime this period<\/h3> \n\n        <div class=\"muted\">Mark overtime as <b>Regular<\/b> if it is paid often enough to be part of normal pay. Regular overtime is included when averaging holiday pay.<\/div> \n\n        <div class=\"actions\"> \n\n          <button class=\"btn ghost\" id=\"addRow\">Add overtime line<\/button> \n\n          <button class=\"btn\" id=\"clearRows\" type=\"button\">Clear overtime<\/button> \n\n        <\/div> \n\n        <table> \n\n          <thead> \n\n            <tr> \n\n              <th style=\"width:28%\">Label<\/th> \n\n              <th style=\"width:16%\">Hours<\/th> \n\n              <th style=\"width:18%\">Multiplier<\/th> \n\n              <th style=\"width:18%\">Include as Regular?<\/th> \n\n              <th style=\"width:20%\">Remove<\/th> \n\n            <\/tr> \n\n          <\/thead> \n\n          <tbody id=\"otBody\"><\/tbody> \n\n        <\/table> \n\n      <\/div> \n\n    <\/div> \n\n \n\n    <div class=\"actions\"> \n\n      <button id=\"calcBtn\" class=\"btn\">Calculate<\/button> \n\n      <button id=\"downloadCsv\" class=\"btn secondary\" type=\"button\">Download breakdown CSV<\/button> \n\n    <\/div> \n\n \n\n    <section class=\"summary\" id=\"results\" style=\"display:none;margin-top:16px;\"> \n\n      <h2>Results<\/h2> \n\n      <div id=\"resultGrid\" class=\"grid\"><\/div> \n\n      <p class=\"footer-note\">This tool supports two lawful approaches: <span class=\"pill\">52 week average holiday pay<\/span> for all workers, and <span class=\"pill\">12.07 percent accrual<\/span> for irregular and part year workers as permitted by current UK regulations. Always apply your firm\u2019s policy and any contractual terms.<\/p> \n\n    <\/section> \n\n \n\n    <div class=\"note\" style=\"margin-top:16px\"> \n\n      <strong>Compliance notes for accountants<\/strong> \n\n      <ul> \n\n        <li>Holiday entitlement for regular hours is 5.6 weeks per year. For irregular or part year workers, entitlement may accrue at 12.07 percent of hours worked in the pay period.<\/li> \n\n        <li>Holiday pay must reflect <em>normal remuneration<\/em>. Regular overtime and allowances should be included in the average pay rate using a pay reference period up to 52 paid weeks, skipping weeks with no pay.<\/li> \n\n        <li>Rolled up holiday pay can be used for irregular hours if shown separately on the payslip and calculated at 12.07 percent, but workers must still be able to take leave.<\/li> \n\n      <\/ul> \n\n    <\/div> \n\n  <\/div> \n\n \n\n<script> \n\n(function(){ \n\n  const otBody = document.getElementById('otBody'); \n\n  const addRowBtn = document.getElementById('addRow'); \n\n  const clearBtn = document.getElementById('clearRows'); \n\n \n\n  function addRow(defaults={}){ \n\n    const tr = document.createElement('tr'); \n\n    tr.innerHTML = ` \n\n      <td><input type=\"text\" value=\"${defaults.label||'Overtime'}\"\/><\/td> \n\n      <td><input type=\"number\" min=\"0\" step=\"0.01\" value=\"${defaults.hours||0}\"\/><\/td> \n\n      <td> \n\n        <select> \n\n          <option value=\"1\">x1.0<\/option> \n\n          <option value=\"1.25\">x1.25<\/option> \n\n          <option value=\"1.5\" selected>x1.5<\/option> \n\n          <option value=\"2\">x2.0<\/option> \n\n        <\/select> \n\n      <\/td> \n\n      <td style=\"text-align:center\"><input type=\"checkbox\" ${defaults.regular? 'checked':''}\/><\/td> \n\n      <td><button class=\"btn ghost\" type=\"button\">Remove<\/button><\/td> \n\n    `; \n\n    tr.querySelector('td:last-child button').addEventListener('click',()=>tr.remove()); \n\n    otBody.appendChild(tr); \n\n  } \n\n \n\n  addRowBtn.addEventListener('click', ()=> addRow({hours:0,label:'Overtime'})); \n\n  clearBtn.addEventListener('click', ()=> otBody.innerHTML=''); \n\n \n\n  \/\/ seed a sample row \n\n  addRow({label:'Saturday OT', hours:6, regular:true}); \n\n \n\n  function val(id){return parseFloat(document.getElementById(id).value||0)} \n\n \n\n  function freqDivisor(freq){ \n\n    switch(freq){ \n\n      case 'weekly':return 52; \n\n      case 'fortnightly':return 26; \n\n      case 'fourweekly':return 13; \n\n      case 'monthly':return 12; \n\n    } \n\n  } \n\n \n\n  function currency(n){return '\u00a3'+(isFinite(n)? n.toFixed(2):'0.00')} \n\n \n\n  function buildCsv(rows){ \n\n    const header = Object.keys(rows[0]).join(','); \n\n    const lines = rows.map(r=>Object.values(r).map(v=>`\"${String(v).replaceAll('\"','\"\"')}\"`).join(',')); \n\n    return [header,...lines].join('\\n'); \n\n  } \n\n \n\n  function download(filename, text){ \n\n    const el = document.createElement('a'); \n\n    el.setAttribute('href','data:text\/csv;charset=utf-8,'+encodeURIComponent(text)); \n\n    el.setAttribute('download',filename); \n\n    el.style.display='none'; \n\n    document.body.appendChild(el); \n\n    el.click(); \n\n    document.body.removeChild(el); \n\n  } \n\n \n\n  function calculate(){ \n\n    const contractType = document.getElementById('contractType').value; \n\n    const frequency = document.getElementById('frequency').value; \n\n    const hourlyRate = val('hourlyRate'); \n\n    const contractedHours = val('contractedHours'); \n\n    const weeklyHours = val('weeklyHours'); \n\n    const leaveHours = val('leaveHours'); \n\n    const refWeeks = Math.min(52, Math.max(1, val('refWeeks'))); \n\n    const customAvgRate = val('customAvgRate'); \n\n \n\n    \/\/ Overtime capture \n\n    let otLines = []; \n\n    otBody.querySelectorAll('tr').forEach(tr=>{ \n\n      const tds = tr.querySelectorAll('td'); \n\n      const label = tds[0].querySelector('input').value.trim(); \n\n      const hours = parseFloat(tds[1].querySelector('input').value||0); \n\n      const mult = parseFloat(tds[2].querySelector('select').value||1); \n\n      const regular = tds[3].querySelector('input').checked; \n\n      otLines.push({label,hours,mult,regular}); \n\n    }); \n\n \n\n    const periodDivisor = freqDivisor(frequency); \n\n \n\n    \/\/ Base and overtime pay for the period \n\n    const basePay = (contractType==='regular'? contractedHours*hourlyRate : 0); \n\n \n\n    const baseHoursWorked = (contractType==='regular'? contractedHours:0); \n\n \n\n    let otPay = 0, otRegularHours = 0, otRegularPay = 0, otTotalHours = 0; \n\n    otLines.forEach(l=>{ \n\n      const pay = l.hours * hourlyRate * l.mult; \n\n      otPay += pay; \n\n      otTotalHours += l.hours; \n\n      if(l.regular){ \n\n        otRegularHours += l.hours; \n\n        otRegularPay += pay; \n\n      } \n\n    }); \n\n \n\n    const totalHoursWorked = baseHoursWorked + otTotalHours; \n\n    const totalPay = basePay + otPay; \n\n \n\n    \/\/ Average hourly rate for holiday pay \n\n    \/\/ If custom average supplied, use it. Otherwise compute as (base + regular overtime) \/ (hours that generated that pay) \n\n    let avgHourlyForHoliday; \n\n    if(customAvgRate>0){ \n\n      avgHourlyForHoliday = customAvgRate; \n\n    }else{ \n\n      const payForAverage = (contractType==='regular'? basePay:0) + otRegularPay; \/\/ include regular overtime \n\n      const hoursForAverage = (contractType==='regular'? baseHoursWorked:0) + otRegularHours; \n\n      avgHourlyForHoliday = hoursForAverage>0 ? payForAverage\/hoursForAverage : hourlyRate; \n\n    } \n\n \n\n    \/\/ Holiday entitlement and pay logic \n\n    let holidayEntitlementHours = 0; \/\/ for the whole year if regular; or accrued this period if irregular\/part-year \n\n    let accruedThisPeriod = 0;       \/\/ 12.07 percent method for irregular \n\n \n\n    if(contractType==='regular'){ \n\n      \/\/ 5.6 weeks * weekly hours for annual entitlement \n\n      holidayEntitlementHours = 5.6 * weeklyHours; \n\n      \/\/ Pro-rate entitlement for this pay period \n\n      const entitlementThisPeriod = holidayEntitlementHours \/ periodDivisor; \n\n      accruedThisPeriod = entitlementThisPeriod; \/\/ show what accrues each period in hours \n\n    }else{ \n\n      \/\/ irregular or part-year: entitlement accrues at 12.07 percent of hours actually worked in the pay period \n\n      accruedThisPeriod = 0.1207 * totalHoursWorked; \n\n      holidayEntitlementHours = accruedThisPeriod; \/\/ we show as accrual for this period \n\n    } \n\n \n\n    \/\/ Holiday pay due for leave taken now (hours * average hourly rate) \n\n    const holidayPayForLeave = leaveHours * avgHourlyForHoliday; \n\n \n\n    \/\/ Build results cards \n\n    const res = [ \n\n      {title:'Base pay this period', value: currency(basePay), hint: contractType==='regular'? `${contractedHours.toFixed(2)} hrs \u00d7 ${currency(hourlyRate)}` : 'Not applicable for irregular hours'}, \n\n      {title:'Overtime pay this period', value: currency(otPay), hint:`${otTotalHours.toFixed(2)} hrs at multipliers`}, \n\n      {title:'Total gross pay this period', value: currency(totalPay), hint:'Base plus overtime'}, \n\n      {title:'Average hourly rate for holiday pay', value: currency(avgHourlyForHoliday), hint: customAvgRate>0? 'Custom override' : 'Includes regular overtime'}, \n\n      {title: (contractType==='regular'? 'Annual holiday entitlement' : 'Holiday entitlement accrued this period'), value: (contractType==='regular'? `${holidayEntitlementHours.toFixed(2)} hours` : `${holidayEntitlementHours.toFixed(2)} hours`), hint: (contractType==='regular'? '5.6 weeks \u00d7 weekly hours' : '12.07 percent of hours worked')}, \n\n      {title:'Holiday pay for leave taken now', value: currency(holidayPayForLeave), hint:`${leaveHours.toFixed(2)} hrs \u00d7 ${currency(avgHourlyForHoliday)}`} \n\n    ]; \n\n \n\n    const grid = document.getElementById('resultGrid'); \n\n    grid.innerHTML = ''; \n\n    res.forEach(block=>{ \n\n      const c = document.createElement('div'); \n\n      c.className = 'card'; \n\n      c.innerHTML = `<h3>${block.title}<\/h3><div style=\"font-size:28px;font-weight:800;color:var(--qx-primary)\">${block.value}<\/div><div class=\"muted\">${block.hint}<\/div>`; \n\n      grid.appendChild(c); \n\n    }); \n\n \n\n    \/\/ expose results \n\n    document.getElementById('results').style.display='block'; \n\n \n\n    \/\/ attach to download \n\n    const csvRows = [ \n\n      {Field:'Contract type', Value: contractType}, \n\n      {Field:'Pay frequency', Value: frequency}, \n\n      {Field:'Hourly base rate', Value: hourlyRate}, \n\n      {Field:'Contracted hours', Value: contractedHours}, \n\n      {Field:'Weekly hours', Value: weeklyHours}, \n\n      {Field:'Leave hours in period', Value: leaveHours}, \n\n      {Field:'Reference weeks used', Value: refWeeks}, \n\n      {Field:'Custom average hourly rate', Value: customAvgRate||''}, \n\n      {Field:'Base pay this period', Value: totalPay? currency(basePay):currency(0)}, \n\n      {Field:'Overtime pay this period', Value: currency(otPay)}, \n\n      {Field:'Total gross pay this period', Value: currency(basePay+otPay)}, \n\n      {Field:'Average hourly for holiday pay', Value: currency(avgHourlyForHoliday)}, \n\n      {Field:(contractType==='regular'? 'Annual holiday entitlement hours' : 'Accrued entitlement this period hours'), Value: holidayEntitlementHours.toFixed(2)}, \n\n      {Field:'Holiday pay for leave taken', Value: currency(holidayPayForLeave)} \n\n    ]; \n\n \n\n    \/\/ Add OT detail rows \n\n    otLines.forEach((l,i)=>{ \n\n      csvRows.push({Field:`Overtime ${i+1} label`, Value:l.label}); \n\n      csvRows.push({Field:`Overtime ${i+1} hours`, Value:l.hours}); \n\n      csvRows.push({Field:`Overtime ${i+1} multiplier`, Value:l.mult}); \n\n      csvRows.push({Field:`Overtime ${i+1} regular`, Value:l.regular?'Yes':'No'}); \n\n    }); \n\n \n\n    document.getElementById('downloadCsv').onclick = ()=>{ \n\n      download('qx-holiday-overtime-breakdown.csv', buildCsv(csvRows)); \n\n    }; \n\n  } \n\n \n\n  document.getElementById('calcBtn').addEventListener('click', calculate); \n\n \n\n  \/\/ UI behaviours \n\n  const regularBlock = document.getElementById('regularBlock'); \n\n  function toggleBlocks(){ \n\n    const type = document.getElementById('contractType').value; \n\n    regularBlock.style.display = (type==='regular')? 'grid' : 'none'; \n\n  } \n\n  document.getElementById('contractType').addEventListener('change', toggleBlocks); \n\n  toggleBlocks(); \n\n})(); \n\n<\/script> \n\n<\/body> \n\n<\/html>\n\n\n<section class=\"cussto-ctabox calculator-cta\">\r\n<div class=\"container\">\r\n<div class=\"row justify-content-center text-start text-sm-center\">\r\n<div class=\"col-lg-9 col-xxl-8 position-relative z-1\">\r\n    <h3>Your Next Move Starts Here<\/h3>\n<p>Book a short call to explore how our specialist teams can help you turn these results into stronger outcomes for your clients and your firm.<\/p>\n<div class=\"bookmytime gap-4 flex-column flex-sm-row text-start d-flex mx-auto\">\r\n<div class=\"photobox\">\r\n  <div class=\"photo\">\r\n    <img decoding=\"async\" src=\"https:\/\/qxaccounting.com\/uk\/wp-content\/uploads\/sites\/2\/2025\/10\/Swati-Yadav.webp\" alt=\"\">\r\n<\/div>\r\n<a target=\"_blank\" href=\"https:\/\/www.linkedin.com\/in\/sy05\/\" class=\"linkedin\"><img decoding=\"async\" src=\"https:\/\/qxaccounting.com\/uk\/wp-content\/themes\/qxaccount\/assets\/images\/common\/Linkedin.png\" alt=\"\"><\/a><\/div>\r\n<div class=\"d-flex flex-column align-items-start\">\r\n<h5>Swati Yadav<\/h5>\r\n<h6>Business Development Manager QXAS<\/h6>\r\n  <a target=\"_blank\" href=\"https:\/\/meetings.hubspot.com\/swati-yadav\">Book My Time <i><img decoding=\"async\" src=\"https:\/\/qxaccounting.com\/uk\/wp-content\/themes\/qxaccount\/assets\/images\/SVG\/calendar_month_30.svg\" alt=\"\"><\/i>\r\n<\/a> <\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/section>\r\n","protected":false},"excerpt":{"rendered":"<p>Holiday Pay &#038; Overtime Calculator UK | QX Accounting Services Employee details Contract type Regular hoursIrregular hoursPart year Pay frequency WeeklyFortnightlyFour weeklyMonthly Hourly base rate (\u00a3) Contracted hours this period Standard weekly hours (for entitlement) Used to calculate the 5.6 weeks statutory entitlement for regular hours. Leave hours taken in this period Reference weeks actually [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":9880,"parent":9868,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template\/home-new.php","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-9876","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/qxaccounting.com\/uk\/wp-json\/wp\/v2\/pages\/9876","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qxaccounting.com\/uk\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/qxaccounting.com\/uk\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/qxaccounting.com\/uk\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/qxaccounting.com\/uk\/wp-json\/wp\/v2\/comments?post=9876"}],"version-history":[{"count":0,"href":"https:\/\/qxaccounting.com\/uk\/wp-json\/wp\/v2\/pages\/9876\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/qxaccounting.com\/uk\/wp-json\/wp\/v2\/pages\/9868"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/qxaccounting.com\/uk\/wp-json\/wp\/v2\/media\/9880"}],"wp:attachment":[{"href":"https:\/\/qxaccounting.com\/uk\/wp-json\/wp\/v2\/media?parent=9876"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}