同じ時間に、同じキャストを2つの店が入れられた

まず白状しておくと、下のスクショは「止めているはずの重なり」だらけだ。クロス店Aとクロス店Bの両方で、同じ日の 17:00〜01:00 に同じキャストが入っている。 これはデモ用のデータを保存の画面を通さずに直接書き込んでいるからで、しかも片方は、重なりの警告表示を確かめるためにわざと重ねてある。 画面から同じシフトを保存しようとすると、今は止まる。止まるようになったのは8月の頭からだ。

キャスト本人アプリの勤務時間タブ。「勤務時間を保存」ボタンの下に「系列店舗での勤務予定」の枠があり、「同じグループの他店舗に入っているあなたのシフトです。この画面からは変更できません」の説明と、クロス店A 9/13(日) 10:00〜18:00、クロス店B 9/13(日) 17:00〜22:00、クロス店B・クロス店A 9/14(月) 17:00〜01:00 など店舗名の札つきのシフトが並ぶ
デリ本店でログインしたキャストの勤務時間タブ。系列の他店で入っている自分のシフトが、店舗名つきで下に並ぶ(画面はデモデータです)。

入口がひとつだけ守られていた

系列店を掛け持ちするキャストは、店ごとに別のアカウントを持っていて、同じメールアドレスで同一人物だと見なしている。 8月5日に、グループ会社の管理者が系列全店のシフトを1枠ずつ編集できる画面を作り、そこでは他店の勤務と重なる保存を「どの店の何時と重なっているか」を出して断るようにした。 ところがその直後のグループ機能の総点検で、各店の普段のシフト画面はこの確認を一度も通っていないことが分かった。 あちらは「今日以降を全部消して、送られてきた枠を入れ直す」方式で、自店の中の重なりしか見ていない。A店の管理者とB店の管理者がそれぞれ普通に保存すれば、同じ時間に同じ人を入れられた。

そこで、保存の直前に系列の他店の勤務と突き合わせる部品をひとつ作り、キャストの保存、ドライバーの保存、出勤予定ページからの自動取り込みの3つの入口に挟んだ。 対象は、グループ機能を契約しているグループの店だけ。アカウントを発行していない人はメールで名寄せできないので素通りになる。 17:00 に終わる枠と 17:00 から始まる枠は重なりとして扱わない。 エラーには他店の名前を出さないことにした。グループの管理画面なら全店を見る人しか開かないけれど、各店の管理者はグループの管理者とは限らない。 重なっている枠の日時だけを伝えて、「系列の別店舗での勤務と重複しています」までにとどめている。

取り込みで引っかかったときの後始末もひとつあった。出勤予定ページのURLを登録した瞬間に取り込みが重なりで失敗したら、URLは登録しないで元に戻す。 URLが残ると毎晩の巡回がずっと失敗するうえ、URLの連携中は手でシフトを直せない決まりなので、キャストが自分では抜け出せなくなる。

保存で断る前に、見えるようにする

止めるだけだと、キャストは保存を押して初めて重なりに気づく。他店のシフトを確かめるには、店舗を切り替えて1店ずつ見るしかなかった。 それで翌日の8月7日に、このデリヘル管理システムの本人向け画面(キャストとドライバーの勤務時間タブ)に、系列店で入っている自分のシフトを並べる欄を足した。 見るだけで、ここからは変更できない。店舗名を出すのは本人が在籍している店だけなので、在籍を人に知られたくない事情とはぶつからない。

宿題も書いておく。2つの店でまったく同時に保存されたときの取りこぼしは、まだ防いでいない。確実に防ぐにはこの人の保存を1本ずつ順番に通す仕組みが要るが、 売上に直結する予約確定の経路にも待ちを増やすことになるので、起きる確率と比べて見送っている。 もうひとつ、すでに重なった古いデータが残っていると、2週間ぶんの保存がまるごと止まる。スクショのデモデータのように、だ。