Variable workers tend to be assigned working patterns that use the schedule named Variable Work Day. This schedule is a special schedule on the system that allows employees to request an exact number of hours they will have off per day when booking an absence.
However, the schedule itself is set to 0.00 hours - meaning that the day is treated as 0 hours because the employee is not guaranteed to work.
As a result, if you tick the use public holidays option within the working pattern, and have public holiday compensation turned on in their holiday rule, you will notice that their public holiday adjustment will likely allocate a number of additional hours, but not take them back off again.
To compound this issue, as the use public holidays option is ticked, the employee is also unable to book annual leave on any of the public holidays, as they are considered non-work days.
This leaves any employee with this setup with a public holiday addition that they are not necessarily entitled to.
Best practice advice
For variable workers, the best way to set them up in these scenarios is to give them their own holiday rule entirely.
In the holiday rule, you should increase the basic entitlement value by the number of public holidays.
So, for example, if your employees usually would get 25 days on the holiday rule + 8 public holidays, you would set the basic entitlement to 33 days (25 + 8).
Once this is done, you would need to set the public holiday compensation to do not make any adjustments for public holidays. This is because you have already added them as part of the basic entitlement, which will get pro-rated for the employee accordingly.
With this in mind, you would also need to disable the use public holidays option in the working pattern so that the days are not automatically considered as annual leave.
This will allow the employee to book off any of the public holidays.
Due to system limitations regarding public holiday compensation for variable workers, employees who are variable workers in this way need to book their public holidays off manually, in the same way you would with any other absence.