10. 業務の流れ(全体図)¶
契約から請求までを、だれが・どの順で・なぜ行うかを 1 本につないだ図です。
画面ごとの使い方は 03 画面仕様 に、 細かい決まりは 04 業務ルール に書いてあります。 この章はその間をつなぐ地図で、「いまどのあたりの話をしているのか」を 確かめるために使います。
この図は社内のポスター「シフネク Platform Blueprint」をもとにしています。 ただしいまのコードに合わせて書き直しているため、ポスターと違うところが あります。違いは最後の ポスターと違うところ に まとめました。
読み方¶
- 番号は進む順番です。上から下へ進みます。
- 同じ段に並ぶものは、状況によって分かれる別々の道です(例:確定/却下)。
- 枝番の英字は分かれ道の枝です。
Xは例外、Pは招待を使わない道、Rはやり直しに使っています。 - 点線の矢印は、例外やもう一度やり直すときの流れです。
| 見た目 | 意味 |
|---|---|
| 青 | 運営者(Gipple 管理者)が行うこと |
| 緑 | クライアント(企業・事業所)が行うこと |
| 黄 | スタッフが行うこと |
| 赤 | 例外(想定外の状況) |
| 六角形 | システムが自動で行うこと(人は操作しません) |
カードを押すと、その画面の仕様に飛びます。 画面のない段階(システムが自動で行うものと、例外)には飛び先がありません。 仕様書サイトでだけ働きます(GitHub の画面では図は絵として出ます)。
全体図¶
元のポスターと同じ並びです。横に長い図なので、枠の中を横に動かして 見てください(画像だけを開く と、ブラウザの拡大縮小が使えます)。
この図を作っている元データ(矢印のつなぎ方)
上の図は、このページのフェーズの表(カードの文言と飛び先)と、
下の記述(矢印)から python manage.py spec_flow --write が作ります。
手で直さないでください。
flowchart TD
subgraph P1["01 契約・初期設定"]
direction TB
s1["<b>1</b><br/>法人を登録する<br/>目的:契約した会社をシステムで扱<br/>えるようにするため<br/>法人番号から名前・住所を自動で入<br/>れます。URL に使う会社の識別<br/>…"]
s2["<b>2</b><br/>事業所を登録する<br/>目的:募集や勤怠を事業所ごとに分<br/>けて管理するため<br/>1 つの法人に複数作れます"]
s3A["<b>3A</b><br/>企業アカウントを発行する<br/>目的:会社全体を任せる担当者に使<br/>ってもらうため<br/>その法人のすべての事業所を扱えま<br/>す"]
s3B["<b>3B</b><br/>事業所アカウントを発行する<br/>目的:決まった事業所だけを任せる<br/>ため<br/>選んだ事業所だけを扱えます"]
s4["<b>4</b><br/>ログインする<br/>目的:自分の事業所の仕事を始める<br/>ため<br/>会社ごとの URL から入ります"]
s5["<b>5</b><br/>初回のパスワードを変更する<br/>目的:仮パスワードを本人だけが知<br/>るものにするため<br/>変更するまで他の画面は使えません"]
s6A["<b>6A</b><br/>事業所を選ぶ<br/>目的:どの事業所の仕事をするか決<br/>めるため<br/>扱える事業所が複数のとき"]
s6B{{"<b>6B</b><br/>事業所が自動で決まる<br/>目的:選ぶ手間を省くため<br/>扱える事業所が 1 つのとき"}}
s1 --> s2
s2 --> s3A
s2 --> s3B
s3A --> s4
s3B --> s4
s4 --> s5
s5 -->|"扱える事業所が複数"| s6A
s5 -->|"扱える事業所が 1 つ"| s6B
end
subgraph P2["02 スタッフの登録"]
direction TB
s7["<b>7</b><br/>招待リンクを発行する<br/>目的:スタッフに自分で登録しても<br/>らうため<br/>選んでいる事業所あてに作られます"]
s7P["<b>7P</b><br/>スタッフを代わりに登録する<br/>目的:招待を待たずにすぐ登録する<br/>ため<br/>写真も登録できます。年齢の下限は<br/>下の注を見てください"]
s8A["<b>8A</b><br/>URL をコピーして送る<br/>目的:ふだん使っている連絡手段で<br/>届けるため<br/>QR コードを表示して読み取らせ<br/>ることもできます"]
s8B["<b>8B</b><br/>招待メールを送る<br/>目的:システムからメールで届ける<br/>ため<br/>停止中のリンクは送れません"]
s8P["<b>8P</b><br/>ID と仮パスワードを受け取る<br/>目的:クライアントから登録を知ら<br/>されるため<br/>伝え方は事業所との間で決めます。<br/>メールは送りません"]
s9A["<b>9A</b><br/>送られた URL を開く<br/>目的:登録の画面に進むため<br/>スマートフォンで開けます"]
s9B["<b>9B</b><br/>メールのリンクを開く<br/>目的:登録の画面に進むため"]
s9P["<b>9P</b><br/>初回ログインしてパスワードを変更<br/>する<br/>目的:仮パスワードを本人のものに<br/>するため<br/>代わりに登録してもらった場合"]
s9Q["<b>9Q</b><br/>いまのパスワードでログインする<br/>目的:別の事業所の所属を追加する<br/>ため<br/>すでに登録のあるメールアドレスの<br/>とき。11 へ進みます"]
s10["<b>10</b><br/>自分で登録する<br/>目的:その事業所で働けるスタッフ<br/>になるため<br/>氏名・カナ・生年月日・パスワード<br/>を入れます"]
s10X["<b>10X</b><br/>停止されたリンクと表示される<br/>目的:停止したリンクから登録させ<br/>ないため<br/>7 に戻って発行し直してもらいま<br/>す"]
s11["<b>11</b><br/>プロフィールと口座を登録する<br/>目的:本人確認と給与の振込に必要<br/>な情報をそろえるため"]
s7 --> s8A
s7 --> s8B
s7P --> s8P
s8A --> s9A
s8B --> s9B
s8P --> s9P
s9A --> s10
s9B --> s10
s9A -.->|"リンクが停止されている"| s10X
s9B -.->|"リンクが停止されている"| s10X
s10 -->|"初めてのメールアドレス"| s11
s10 -->|"すでにあるメールアドレス"| s9Q
s9Q --> s11
s9P --> s11
s10X -.->|"発行し直しを頼む"| s7
end
subgraph P3["03 求人の準備・公開"]
direction TB
s12["<b>12</b><br/>業務テンプレートを作る<br/>目的:同じ仕事を毎回入力せずに出<br/>稿するため<br/>勤務地を空にすると、事業所の所在<br/>地が使われます"]
s13["<b>13</b><br/>お仕事を出稿する<br/>目的:必要な日時に働く人を募集す<br/>るため<br/>確定方法(手動/応募即確定)をこ<br/>こで選びます"]
s14A["<b>14A</b><br/>全員に公開する<br/>目的:事業所のスタッフ全員に見せ<br/>るため<br/>公開範囲を指定しなかったとき"]
s14B["<b>14B</b><br/>選んだスタッフに限定公開する<br/>目的:特定の人にだけ募集するため<br/>出稿と同時にも設定できます"]
s15B["<b>15B</b><br/>限定公開を知らせる<br/>目的:選んだ人に募集を伝えるため<br/>いまは送った記録が残るだけで、ま<br/>だ届きません(09 参照)"]
s16A["<b>16A</b><br/>お仕事を探す<br/>目的:働ける日の仕事を見つけるた<br/>め<br/>日付とキーワードで探します。全員<br/>に公開された分だけが出ます"]
s16B["<b>16B</b><br/>自分あての募集を開く<br/>目的:自分あての募集に気づくため<br/>限定公開の対象のとき"]
s12 --> s13
s13 -->|"公開範囲を指定しない"| s14A
s13 -->|"対象を選ぶ"| s14B
s14B --> s15B
s14A --> s16A
s15B --> s16B
end
subgraph P4["04 応募・確定"]
direction TB
s17["<b>17</b><br/>お仕事の内容を確かめる<br/>目的:条件を確かめてから応募する<br/>ため<br/>時給・持ち物・勤務地"]
s18["<b>18</b><br/>応募する<br/>目的:その仕事で働きたいと伝える<br/>ため"]
s19["<b>19</b><br/>応募を確認する<br/>目的:誰に働いてもらうか判断する<br/>ため<br/>確定方法が「手動」のとき"]
s19A{{"<b>19A</b><br/>応募と同時に確定する<br/>目的:確定の手間を省くため<br/>確定方法が「応募即確定」のとき"}}
s19X["<b>19X</b><br/>応募できない<br/>目的:同じ時間に 2 つの仕事を<br/>入れないため<br/>同じ時間帯に確定済みの仕事がある<br/>とき"]
s19W["<b>19W</b><br/>応募を辞退する<br/>目的:都合が悪くなった応募を取り<br/>消すため<br/>応募中のあいだだけ。確定後はでき<br/>ません"]
s20A["<b>20A</b><br/>確定する<br/>目的:働く人を決めるため<br/>募集人数まで。下の注を見てくださ<br/>い"]
s20B["<b>20B</b><br/>却下する<br/>目的:今回はお願いしないと伝える<br/>ため<br/>1 件ずつでも、まとめてでもでき<br/>ます"]
s21{{"<b>21</b><br/>勤怠の入れ物が作られる<br/>目的:当日の打刻を受け付けられる<br/>ようにするため<br/>確定と同時。時刻は空のままです"}}
s22A["<b>22A</b><br/>確定した予定を確認する<br/>目的:働く日時と場所を知るため<br/>予定確認の「確定」に出ます"]
s22B["<b>22B</b><br/>不採用を確認する<br/>目的:結果を知って次を探すため"]
s17 --> s18
s18 -->|"確定方法が手動"| s19
s18 -->|"確定方法が応募即確定"| s19A
s18 -.->|"同じ時間帯に確定済みの仕事がある"| s19X
s18 -.->|"都合が悪くなった"| s19W
s19 --> s20A
s19 --> s20B
s20A --> s21
s19A --> s21
s21 --> s22A
s20B --> s22B
end
subgraph P5["05 勤務・勤怠の記録"]
direction TB
s23A["<b>23A</b><br/>出勤を打刻する<br/>目的:働き始めた時刻を記録するた<br/>め<br/>予定開始の 60 分前から、予定<br/>終了まで"]
s23B["<b>23B</b><br/>打刻し忘れる<br/>目的:(打刻漏れ)<br/>打刻できる時間を過ぎた場合も含み<br/>ます"]
s23C["<b>23C</b><br/>出勤しない<br/>目的:(無断欠勤)<br/>連絡なく来なかったとき"]
s24["<b>24</b><br/>退勤を打刻する<br/>目的:働き終えた時刻を記録するた<br/>め<br/>予定終了の 3 時間後まで"]
s25["<b>25</b><br/>勤怠を確認する<br/>目的:打刻が正しいか確かめるため<br/>日ごとの一覧で見ます"]
s25B["<b>25B</b><br/>時刻を手で入れる<br/>目的:打刻漏れを正しい記録に直す<br/>ため<br/>夜勤は翌日扱い。手で入れたあとは<br/>打刻できません"]
s25C["<b>25C</b><br/>無断欠勤として記録する<br/>目的:来なかったことを残すため<br/>誤りなら取り消せます"]
s26["<b>26</b><br/>勤怠を承認する<br/>目的:給与と請求のもとになる時間<br/>を確定させるため"]
s26R["<b>26R</b><br/>承認したあとに直す<br/>目的:誤りを正すため<br/>承認待ちに戻ります。課金を確定し<br/>た月はできません"]
s23A --> s24
s24 --> s25
s23B -.-> s25B
s23C -.-> s25C
s25 --> s26
s25B --> s26
s25C --> s26
s26 -.->|"誤りに気づいた"| s26R
s26R -.->|"もう一度承認する"| s26
end
subgraph P6["06 締め・請求"]
direction TB
s27["<b>27</b><br/>月次課金を確定する<br/>目的:その月の利用料金を決めるた<br/>め<br/>稼働したスタッフの人数で計算しま<br/>す。確定した月は変えられません"]
s28["<b>28</b><br/>請求書を発行する<br/>目的:利用料金を請求するため"]
s29A["<b>29A</b><br/>入金を記録する<br/>目的:回収を終わらせるため<br/>状態が 入金済 になります"]
s29B["<b>29B</b><br/>支払期限を過ぎる<br/>目的:未入金に気づいて対応するた<br/>め<br/>状態が 期限超過 になります"]
s29C["<b>29C</b><br/>請求書を取り消す<br/>目的:誤った請求をなくすため<br/>28 に戻って発行し直します"]
s27 --> s28
s28 --> s29A
s28 -.->|"期限までに入金がない"| s29B
s28 -.->|"誤って発行した"| s29C
s29C -.->|"発行し直す"| s28
end
s6A --> s7
s6B --> s7
s6A --> s7P
s6B --> s7P
s11 --> s12
s16A --> s17
s16B --> s17
s19X -.-> s16A
s19W -.-> s16A
s22B -.-> s16A
s22A --> s23A
s22A -.->|"打刻を忘れた"| s23B
s22A -.->|"連絡なく来なかった"| s23C
s26 --> s27
%% フェーズの帯は無彩色にする。帯に色を付けると、立場 (青・緑・黄) の
%% 違いが読めなくなる。元のポスターも帯は白地で、色はカードだけ。
classDef phase fill:#fbfbfa,stroke:#d9d7d2,color:#4a4843
class P1,P2,P3,P4,P5,P6 phase
classDef admin fill:#e4ecf7,stroke:#41618f,color:#13233a
classDef client fill:#e3efe7,stroke:#2f6b4c,color:#12271b
classDef staff fill:#fbf0dd,stroke:#9c6f28,color:#33240c
classDef exception fill:#f9e4e4,stroke:#9d4040,color:#331313
classDef auto fill:#ece6f7,stroke:#604290,color:#1f1433
class s1,s2,s3A,s3B,s27,s28,s29A,s29C admin
class s4,s5,s6A,s7,s7P,s8A,s8B,s12,s13,s14A,s14B,s15B,s19,s20A,s20B,s25,s25B,s25C,s26,s26R client
class s8P,s9A,s9B,s9P,s9Q,s10,s11,s16A,s16B,s17,s18,s19W,s22A,s22B,s23A,s24 staff
class s10X,s19X,s23B,s23C,s29B exception
class s6B,s19A,s21 auto
01 契約・初期設定¶
運営者が会社を受け入れて、クライアントが使い始められる状態にするまでです。
| 番号 | だれが | 何をする | なぜ | 条件・補足 |
|---|---|---|---|---|
| 1 | 運営者 | 法人を登録する | 契約した会社をシステムで扱えるようにするため | 法人番号から名前・住所を自動で入れます。URL に使う会社の識別名もここで決めます |
| 2 | 運営者 | 事業所を登録する | 募集や勤怠を事業所ごとに分けて管理するため | 1 つの法人に複数作れます |
| 3A | 運営者 | 企業アカウントを発行する | 会社全体を任せる担当者に使ってもらうため | その法人のすべての事業所を扱えます |
| 3B | 運営者 | 事業所アカウントを発行する | 決まった事業所だけを任せるため | 選んだ事業所だけを扱えます |
| 4 | クライアント | ログインする | 自分の事業所の仕事を始めるため | 会社ごとの URL から入ります |
| 5 | クライアント | 初回のパスワードを変更する | 仮パスワードを本人だけが知るものにするため | 変更するまで他の画面は使えません |
| 6A | クライアント | 事業所を選ぶ | どの事業所の仕事をするか決めるため | 扱える事業所が複数のとき |
| 6B | システム | 事業所が自動で決まる | 選ぶ手間を省くため | 扱える事業所が 1 つのとき |
できることの違いは 06 権限一覧、 初回パスワードの決まりは 02 共通ルール にあります。
02 スタッフの登録¶
働く人をその事業所のスタッフにするまでです。2 通りの道があります。
- 招待リンクを使う道(7 → 8A/8B → 9A/9B → 10 → 11) スタッフが自分で入力します。
- クライアントが代わりに登録する道(7P → 8P → 9P → 11) 招待を待たずにその場で登録できます。
| 番号 | だれが | 何をする | なぜ | 条件・補足 |
|---|---|---|---|---|
| 7 | クライアント | 招待リンクを発行する | スタッフに自分で登録してもらうため | 選んでいる事業所あてに作られます |
| 7P | クライアント | スタッフを代わりに登録する | 招待を待たずにすぐ登録するため | 写真も登録できます。年齢の下限は下の注を見てください |
| 8A | クライアント | URL をコピーして送る | ふだん使っている連絡手段で届けるため | QR コードを表示して読み取らせることもできます |
| 8B | クライアント | 招待メールを送る | システムからメールで届けるため | 停止中のリンクは送れません |
| 8P | スタッフ | ID と仮パスワードを受け取る | クライアントから登録を知らされるため | 伝え方は事業所との間で決めます。メールは送りません |
| 9A | スタッフ | 送られた URL を開く | 登録の画面に進むため | スマートフォンで開けます |
| 9B | スタッフ | メールのリンクを開く | 登録の画面に進むため | |
| 9P | スタッフ | 初回ログインしてパスワードを変更する | 仮パスワードを本人のものにするため | 代わりに登録してもらった場合 |
| 9Q | スタッフ | いまのパスワードでログインする | 別の事業所の所属を追加するため | すでに登録のあるメールアドレスのとき。11 へ進みます |
| 10 | スタッフ | 自分で登録する | その事業所で働けるスタッフになるため | 氏名・カナ・生年月日・パスワードを入れます |
| 10X | 例外 | 停止されたリンクと表示される | 停止したリンクから登録させないため | 7 に戻って発行し直してもらいます |
| 11 | スタッフ | プロフィールと口座を登録する | 本人確認と給与の振込に必要な情報をそろえるため |
年齢の下限について¶
満 15 歳に達した日より後の、最初の 3 月 31 日が終わるまでは登録できません。 労働基準法が、そこまでを原則として働けない期間としているためです。 7P(クライアントが代わりに登録する)と 10(スタッフが自分で登録する)の どちらも同じ扱いです。くわしくは 02 共通ルール にあります。
03 求人の準備・公開¶
募集を作って、スタッフに見える状態にするまでです。
| 番号 | だれが | 何をする | なぜ | 条件・補足 |
|---|---|---|---|---|
| 12 | クライアント | 業務テンプレートを作る | 同じ仕事を毎回入力せずに出稿するため | 勤務地を空にすると、事業所の所在地が使われます |
| 13 | クライアント | お仕事を出稿する | 必要な日時に働く人を募集するため | 確定方法(手動/応募即確定)をここで選びます |
| 14A | クライアント | 全員に公開する | 事業所のスタッフ全員に見せるため | 公開範囲を指定しなかったとき |
| 14B | クライアント | 選んだスタッフに限定公開する | 特定の人にだけ募集するため | 出稿と同時にも設定できます |
| 15B | クライアント | 限定公開を知らせる | 選んだ人に募集を伝えるため | いまは送った記録が残るだけで、まだ届きません(09 参照) |
| 16A | スタッフ | お仕事を探す | 働ける日の仕事を見つけるため | 日付とキーワードで探します。全員に公開された分だけが出ます |
| 16B | スタッフ | 自分あての募集を開く | 自分あての募集に気づくため | 限定公開の対象のとき |
04 応募・確定¶
スタッフが手を挙げて、働く人が決まるまでです。
| 番号 | だれが | 何をする | なぜ | 条件・補足 |
|---|---|---|---|---|
| 17 | スタッフ | お仕事の内容を確かめる | 条件を確かめてから応募するため | 時給・持ち物・勤務地 |
| 18 | スタッフ | 応募する | その仕事で働きたいと伝えるため | |
| 19 | クライアント | 応募を確認する | 誰に働いてもらうか判断するため | 確定方法が「手動」のとき |
| 19A | システム | 応募と同時に確定する | 確定の手間を省くため | 確定方法が「応募即確定」のとき |
| 19X | 例外 | 応募できない | 同じ時間に 2 つの仕事を入れないため | 同じ時間帯に確定済みの仕事があるとき |
| 19W | スタッフ | 応募を辞退する | 都合が悪くなった応募を取り消すため | 応募中のあいだだけ。確定後はできません |
| 20A | クライアント | 確定する | 働く人を決めるため | 募集人数まで。下の注を見てください |
| 20B | クライアント | 却下する | 今回はお願いしないと伝えるため | 1 件ずつでも、まとめてでもできます |
| 21 | システム | 勤怠の入れ物が作られる | 当日の打刻を受け付けられるようにするため | 確定と同時。時刻は空のままです |
| 22A | スタッフ | 確定した予定を確認する | 働く日時と場所を知るため | 予定確認の「確定」に出ます |
| 22B | スタッフ | 不採用を確認する | 結果を知って次を探すため |
勤務日を過ぎた応募について¶
勤務日を過ぎていても確定できます。 確定の処理が見ているのは
「応募中であること」「同じ時間帯に確定済みでないこと」「募集人数を超えないこと」の
3 つだけで、勤務日も応募の締切も見ていません。
画面には 勤務日を過ぎています と添えて知らせるだけです。
この挙動の経緯は 04 業務ルール にあります。
05 勤務・勤怠の記録¶
実際に働いて、働いた時間を確定させるまでです。
| 番号 | だれが | 何をする | なぜ | 条件・補足 |
|---|---|---|---|---|
| 23A | スタッフ | 出勤を打刻する | 働き始めた時刻を記録するため | 予定開始の 60 分前から、予定終了まで |
| 23B | 例外 | 打刻し忘れる | (打刻漏れ) | 打刻できる時間を過ぎた場合も含みます |
| 23C | 例外 | 出勤しない | (無断欠勤) | 連絡なく来なかったとき |
| 24 | スタッフ | 退勤を打刻する | 働き終えた時刻を記録するため | 予定終了の 3 時間後まで |
| 25 | クライアント | 勤怠を確認する | 打刻が正しいか確かめるため | 日ごとの一覧で見ます |
| 25B | クライアント | 時刻を手で入れる | 打刻漏れを正しい記録に直すため | 夜勤は翌日扱い。手で入れたあとは打刻できません |
| 25C | クライアント | 無断欠勤として記録する | 来なかったことを残すため | 誤りなら取り消せます |
| 26 | クライアント | 勤怠を承認する | 給与と請求のもとになる時間を確定させるため | |
| 26R | クライアント | 承認したあとに直す | 誤りを正すため | 承認待ちに戻ります。課金を確定した月はできません |
打刻を受け付ける時間帯の決まりは 04 業務ルール にあります。
06 締め・請求¶
その月の利用料金を決めて、回収するまでです。
| 番号 | だれが | 何をする | なぜ | 条件・補足 |
|---|---|---|---|---|
| 27 | 運営者 | 月次課金を確定する | その月の利用料金を決めるため | 稼働したスタッフの人数で計算します。確定した月は変えられません |
| 28 | 運営者 | 請求書を発行する | 利用料金を請求するため | |
| 29A | 運営者 | 入金を記録する | 回収を終わらせるため | 状態が 入金済 になります |
| 29B | 例外 | 支払期限を過ぎる | 未入金に気づいて対応するため | 状態が 期限超過 になります |
| 29C | 運営者 | 請求書を取り消す | 誤った請求をなくすため | 28 に戻って発行し直します |
状態の変わり方は 05 状態の移り変わり にあります。
ポスターと違うところ¶
社内のポスター(シフネク Platform Blueprint)を見ている人のために、 この章がポスターと違う 3 点を残します。いずれもポスターを作ったあとに コードが変わった部分で、この章の方が新しいです。
| 番号 | ポスターの書き方 | いまの実装 |
|---|---|---|
| 7P | 「15 歳未満は不可」 | 満 15 歳に達した日より後の、最初の 3 月 31 日が終わるまで登録できません(上の注を参照) |
| 8A | 「QR コードでの案内は現状なし」 | QR コードを表示できます(C-16 招待リンク) |
| 19W | 「応募を取り下げる」 | 画面の言い方は 辞退 に統一しました |
また、ポスターの 20A「勤務日経過は確認あり」は、 実際には「確定を止める」ではなく「画面に注意を添える」だけです (上の 勤務日を過ぎた応募について を参照)。