シフト希望をCSVでインポートする
複数のスタッフのシフト希望をCSVファイルで一括登録する方法を説明します。組織のオーナーまたはマネージャー向けです。対象スタッフがインポート先の店舗に配属されていることが前提です。
1件ずつシフトを作成したい場合はシフトを作成するをご覧ください。インポートしたシフト希望の承認はシフト申請・休暇申請を承認するをご覧ください。
-
サイドメニューから「シフト管理」をクリック
シフト管理画面が開きます。
-
インポート先の店舗を選択
ヘッダーの店舗スイッチャーで選びます。スタッフ登録のないオーナーは、シフト管理画面上部の「表示店舗」で選びます。インポート先は、選択している店舗に固定されます。
-
「作成」をクリックし、「CSVインポート」タブを選択
画面幅が狭い場合は「+作成」と表示されます。
-
「ダウンロード」をクリック
CSVテンプレートがダウンロードされます。2行目以降に入力例の行が入っているため、実際の内容に書き換えてください。
-
テンプレートに内容を入力し、「ファイルを選択」でアップロード
ドラッグ&ドロップでも読み込めます。
-
「インポート実行」をクリック
CSVファイルの形式
Section titled “CSVファイルの形式”| 列 | 説明 |
|---|---|
employee_name | スタッフの氏名(Lシフトに登録されている氏名と照合します)。インポート先の店舗に氏名が同じスタッフが複数いると、インポートを実行できません |
date | 勤務日(YYYY-MM-DD形式)。当日以降の日付だけを登録できます |
work_type | 勤務の指定方法。fullDayと入力すると終日勤務、timeSpecifiedと空欄は時間指定になります。fullDayの行はstart_timeとend_timeを空欄にします。timeSpecifiedとfullDay以外の値を入力するとエラーになります |
start_time | 開始時刻(HH:mm形式、00:00から23:59まで)。当日の日付の行では、現在時刻より後の時刻だけを登録できます |
end_time | 終了時刻(HH:mm形式、00:00から48:00まで) |
notes | 備考(任意、500文字以内) |
employee_nameの照合では、全角・半角の違いは区別されません。氏名の前後にある空白は取り除かれ、途中に空白が連続している場合は1つの空白として扱われます。ただし氏名の途中に空白があるかないかは区別されるため、「田中 太郎」と「田中太郎」は別のスタッフとして扱われます。
fullDayは、その日の00:00から翌日00:00まで(00:00〜24:00)の希望として登録します。インポートした申請も、スタッフ本人の申請と同じく組織あてに登録され、そのスタッフの配属店舗すべてに表示されます。インポート先の店舗は、対象スタッフがその日の配属を持つことの確認と、インポート履歴の記録に使います。
日付が変わるまで続く夜勤は、end_timeを24時以降の表記で入力します。たとえば22時から翌朝6時までの勤務は、start_timeを22:00、end_timeを30:00とします。end_timeに06:00と入力すると開始時刻より前の時刻になり、エラーになります。
インポートに成功すると「○件のシフトリクエストをインポートしました」という通知が表示されます。インポートで登録されるのは承認待ちのシフト希望であり、確定シフトにはなりません。シフト申請・休暇申請を承認するの手順で承認すると確定シフトになります。過去のインポート結果は、CSVインポート画面下部の「インポート履歴」で日時・成功件数・実行者を確認できます。実行者には、インポートを実行したスタッフの現在登録されている氏名を表示します。そのスタッフの氏名を変更すると、過去の履歴にも変更後の氏名が表示されます。退職やアカウント統合の後も、実行したスタッフの氏名を確認できます。実行の時点でスタッフとして登録されていなかった場合や、そのスタッフが削除された場合、氏名が未設定の場合は「不明」と表示されます。失敗した回の履歴をクリックすると、エラーの詳細を確認できます。特定の行に紐づかないエラー(ファイルサイズの超過やヘッダーの不備、引用符の閉じ忘れなど行を特定できない解析エラー)は「ファイル全体」と表示されます。列数が1行目の列名の数と一致しないなどの行を特定できるエラーは、「行○」と行番号を付けて表示されます。
うまくいかないとき
Section titled “うまくいかないとき”CSVに1件でもエラーがある行が含まれると、その回のインポートは中止されます。保存処理の途中で不適合が見つかった場合も、その回の新規登録と上書きをすべて取り消します。それ以前の実行で成功した登録は保持されます。
「店舗を選択してからインポートしてください」と表示される
Section titled “「店舗を選択してからインポートしてください」と表示される”店舗を選択していないと表示されます。ヘッダーの店舗スイッチャーでインポート先の店舗を選んでから、あらためて実行してください。スタッフ登録のないオーナーは、シフト管理画面上部の「表示店舗」で選びます。
「従業員名が入力されていません」と表示される
Section titled “「従業員名が入力されていません」と表示される”employee_name列が空になっている行があります。スタッフの氏名を入力してください。
「該当する従業員が見つかりません: ○○」と表示される
Section titled “「該当する従業員が見つかりません: ○○」と表示される”employee_name列に入力した氏名と一致するスタッフが見つからないと表示されます。Lシフトに登録されているスタッフの氏名と一致するように、入力し直してください。氏名の途中に空白があるかないかは区別されるため、「田中 太郎」と「田中太郎」のどちらで登録されているかもあわせて確認してください。
「同名の従業員が複数存在します: ○○」と表示される
Section titled “「同名の従業員が複数存在します: ○○」と表示される”インポート先の店舗に、氏名が同じスタッフが複数配属されていると表示されます。氏名の照合では全角・半角の違いを区別しないため、見た目が異なる氏名でも同じ氏名として扱われることがあります。
このエラーは、CSVに該当のスタッフの行が入っていなくても表示されます。表示された場合、その回のインポートは1件も登録されずに中止されます。
サイドメニューの「スタッフ管理」から該当のスタッフを開き、「編集」をクリックしてください。「氏名」を区別できる表記に変更して保存し、店舗内で氏名が重複しない状態にします。そのうえで、あらためて「インポート実行」をクリックしてください。
「日付形式が正しくありません (YYYY-MM-DD)」と表示される
Section titled “「日付形式が正しくありません (YYYY-MM-DD)」と表示される”date列の形式がYYYY-MM-DDと異なると表示されます。日付の形式を確認してください。
「work_typeの値が正しくありません: ○○(timeSpecified または fullDay を指定してください)」と表示される
Section titled “「work_typeの値が正しくありません: ○○(timeSpecified または fullDay を指定してください)」と表示される”work_type列にtimeSpecifiedとfullDay以外の値が入っていると表示されます。大文字・小文字は区別されません。該当の行のwork_typeをtimeSpecifiedかfullDayに直すか、時間指定の勤務では空欄にしてください。修正したら、あらためて「インポート実行」をクリックしてください。
「終了時刻の形式が正しくありません (HH:mm, 最大48:00)」と表示される
Section titled “「終了時刻の形式が正しくありません (HH:mm, 最大48:00)」と表示される”end_time列の形式がHH:mmと異なるか、48:00を超えていると表示されます。終了時刻に入力できるのは48:00までです。
「開始時刻は終了時刻より前である必要があります」と表示される
Section titled “「開始時刻は終了時刻より前である必要があります」と表示される”start_timeがend_timeと同じか、それより後になっている行があります。日付が変わるまで続く夜勤でend_timeに06:00のような翌日の時刻を入力した場合も表示されます。30:00のように24時以降の表記に直してください。
「過去の日時には申請できません」と表示される
Section titled “「過去の日時には申請できません」と表示される”昨日以前の日付や、現在時刻以前の開始時刻を指定すると表示されます。日付と開始時刻を未来の日時に直してください。fullDayの開始は00:00のため、当日の終日勤務は登録できません。
「既存の申請があります」と表示される
Section titled “「既存の申請があります」と表示される”同じスタッフの既存の申請と希望時間が重なる場合に表示されます。別の店舗でインポートした申請も重複の対象です。あわせて「既存の申請があるため、インポートをキャンセルしました」と表示され、この回のインポートは1件も登録されていません。
該当行の「上書き」をクリックすると、その行だけを上書き対象として実行します。上書きできる既存申請は、次の条件をすべて満たすものに限ります。
- 確定している勤務が1件もない
- その申請が却下されていない
却下した申請や、一部でも勤務を確定した申請は上書きできません。この上書きはCSVインポート専用です。スタッフの通常の申請送信では、重複した申請を上書きしません。
登録するのは「上書き」をクリックした行だけです。 成功すると「選択した ○ 行を上書きしました」という通知が表示されます。結果欄には「未取込は ○ 行です。」と、まだ取り込んでいない行数が表示されます。
エラーがなかった行も自動では登録されません。残りの行は、登録に成功した行をCSVから取り除いてから、あらためて「インポート実行」をクリックしてください。
「CSV上書きは確定勤務がなく却下されていない申請に限ります」と表示される
Section titled “「CSV上書きは確定勤務がなく却下されていない申請に限ります」と表示される”既存申請が上書きの条件を満たしていません。既存申請の確定勤務と却下の状態を確認してください。上書きせずに希望を追加する場合は、既存申請と重ならない時間帯へCSVを修正します。
「ファイルサイズが上限(5120KB)を超えています」と表示される
Section titled “「ファイルサイズが上限(5120KB)を超えています」と表示される”CSVファイルが5MBを超えていると表示されます。ファイルを分割してインポートしてください。
「行数が上限(1000行)を超えています」と表示される
Section titled “「行数が上限(1000行)を超えています」と表示される”CSVの行数が1000行を超えていると表示されます。ファイルを分割してインポートしてください。
「CSVの解析に失敗しました」と表示される
Section titled “「CSVの解析に失敗しました」と表示される”CSVの書式に問題があると表示されます。行を特定できるエラーには「行○」という行番号が付きます。エラー詳細の主な文言と対処は次のとおりです。
| エラー詳細の文言 | 対処 |
|---|---|
列数(○列)がヘッダの列数(○列)と一致しません | 指定の行の列数が1行目の列名の数と異なります。列の抜けや余分なカンマを確認してください |
引用符(")が閉じていません | 値を囲む"の閉じ忘れです。閉じる"を追加してください |
引用符(")の使い方が正しくありません | "の付け方に誤りがあります。値を囲む"の位置を確認してください |
区切り文字を判定できません(カンマ区切りで保存してください) | ファイルがカンマ区切りでありません。カンマ区切りのCSVで保存し直してください |
該当の行またはファイル全体を修正してから、あらためて「インポート実行」をクリックしてください。