We’re currently already using the overrides, and some teams have a script to generate them based on a calendar, that isn’t perfect but is somewhat works. We use per-period (month or quarter most of the time) to try to ensure fairness.
Maybe a good way for you to experiment with that would be to provide an external script (part of one of your SDK) that does something similar, see how user use it most of the time, and later implement that in the app itself ?
I think our current script works this way:
- Users define availability in a shared calandar
- The script tries to pick an available user with the least hours oncall during the period, and that was also, if possible, not oncall the last shift
- If none are available, we do the same on admins, not taking availability into account
I’ll try to see if we can put in on github