出欠の仕組み
勤務スケジュールは、勤務時間と、それに対して打刻する従業員と、結果を読む管理担当者と、打刻が通過すべきルール — GPS、IP、セルフィー、時間帯 — をひとつに束ねます。このオブジェクトさえ理解すれば、モジュールの残りはその画面にすぎません。
出欠は、誰がいつ出勤していたかを記録します。それを担うオブジェクトはひとつだけ — 勤務スケジュール です。勤務スケジュールに載っていない人はそもそも打刻できません — アプリにボタンが一切現れないのです。このモジュールのすべてはスケジュール上で決まるので、最初の意外な事実をはっきり書いておきます。会社全体の出欠設定というものは存在しません。2 つのスケジュールに分かれた 2 つのチームは、まったく別のルールで運用できます。
勤務スケジュールが束ねるもの

スケジュールひとつに 4 つの部分 — いつ働くか、誰が打刻するか、誰が見てよいか、打刻は何を証明すべきか。
- 勤務時間 はいつ働くかを定めます。どの曜日が勤務日か、何時に始まり何時に終わるか、どの日付が休日か。スケジュール自身は時刻を持ちません — 勤務時間を参照するだけなので、複数のスケジュールがひとつを共有でき、開始時刻の変更はそのすべてに伝わります。
- 従業員 はそのスケジュールに対して打刻する人たちです — ひとりずつでも、ユーザーグループ丸ごとでも割り当てられます。グループでの割り当てが実務的な選択です。部門のグループに加えられた新入社員は、その瞬間からスケジュールに載ります。
- 管理担当者 は自分のアプリでこのスケジュールの結果を閲覧できます — コンソールではなくチームの一覧で — そして、それ以上のことはできません。記録の編集はできません。
- ルール は、打刻が数えられる前に通過すべき条件です。どのチャネルが開いているか、どれだけ早く・遅くまで打刻してよいか、どんな証明を伴うべきか — ジオフェンス内の GPS 位置、オフィスネットワーク上の IP アドレス、セルフィー。
打刻はどこから来るか
スタッフは 2 つの場所から打刻します。ユーザーアプリ はホーム画面に 出勤登録 と 退勤登録 を備え、打刻はその場で検証されます。確定する前に、どの条件が通りどれが失敗したかが本人に見えます。キオスク — 出勤を記録 ウィジェットを動かすサイネージ画面やパネル — は代わりにドア口で打刻を受け付けます。本人が画面で自分を証明したあとに。4 つの組み合わせ(出勤か退勤か、アプリかキオスクか) はそれぞれスケジュール上の独立したスイッチなので、「出勤はロビーのキオスクで必須、退勤は携帯から可」という運用ができます。
出欠は、誰もボタンを押さなくても届くことがあります。デスク予約のチェックインや入退室のドア開錠が出勤を自動で記録でき、そうした記録には 手動 ではなく自動 の印が付きます。
反対側から出てくるもの
受理された打刻はすべて 勤怠記録 です。誰が、いつ、出勤か退勤か、どのチャネルから、そしてどんな証明が求められたか。記録は素材にすぎません — 勤怠レポートが 1 か月分の記録を勤務時間と照らし合わせ、人ごと・日ごとの判定を下します。定時、遅刻、早退、欠勤、など。判定は記録ではなくレポートに宿るので、記録を修正するだけで月全体が正されます。
勤務スケジュールを開く勤務スケジュールが決めないこと
誰が職場にいてよいかは決めません — 誰がいたかを測るだけです。予約のチェックインは別の仕組みで、予約管理側でリソースごとに独自の GPS 設定を持ちます。イベントの受付はイベント管理の領分です。そして、どのスケジュールにも載っていない人は 「欠勤」ではありません — このモジュールから単に見えないだけです。

