Using the API for it certainly works better (longevity / UX-wise) than asking everyone to manually set overrides (and even then there’s the “I’m always the base - please set an override!” which is easy because you press the schedule entry and hit “override”, and the “just work out what your own start and end time for overrides should be” method which is haphazard and sadface UX).
You situation is probably even easier than mine. I usually have 2 on shift, occasionally 3 and sometimes 1 (due to sickness, poorly planned leave, etc.) so I have two schedules on an EP layer - “left” and “right”.
You should be able to do the same thing - three schedules (basically one for each individual, which is weird, but stay with me…) and all three are on the same Escalation Policy Level (e.g. Level 1).
You use the API to programmatically set an individual’s schedule using Overrides (which will have a start, end time so no choosing from the UI) and whoever is set will be assigned (two will be assigned for the overlap days 3, 11).
If you get stuck creating an empty schedule, populate it with a single person (e.g. the person this schedule is for) initially at Level 1, then fill in some overrides (1-2 weeks worth usually makes it work), then you should be able to delete Level 1, leaving only the overrides. I haven’t had to do this in a long time so the exact thresholds and whether or not you have to create/populate the initial Level 1 may have changed.