IRM: "shift swap" is one-way, but the name implies a reciprocal trade

Feedback on naming, not a bug report — the behaviour below is by design and
documented. The problem is that the name works against the design.

A “shift swap” in IRM is one-way. The requester gives away their own shift;
whoever accepts takes it on. The accepter’s own shifts are untouched. There is
no reciprocal leg — nothing comes back the other way.

That is a coverage handoff, not a swap. Everywhere else the word “swap” is used,
it means a two-sided trade.

What this causes

Someone accepts what they read as a mutual trade and is surprised to find they
have simply absorbed an extra day. The Slack notification reinforces it: it
announces a “shift swap request” and then says the teammate “has taken the shift
swap request”, which reads like a completed exchange rather than one person
picking up another’s shift.

A genuine two-way trade requires two separate requests, one filed by each
person. That is not obvious from the UI.

Suggestions

  • Rename the action to something one-directional: “request cover”, “give away
    shift”, “coverage request”.
  • Or keep the name and make the notification copy explicit about direction, e.g.
    “X is covering Y’s shift on . Y’s other shifts are unchanged.”
  • Either way, a line in the request dialog noting that taking someone else’s
    shift needs an override would help, since that is the adjacent thing people
    are usually trying to do.