ローテシフト勤務表
4勤4休のサイクルで2026年1月1日から16日までを組むと、勤務日は1〜4日と9〜12日の8日、休日も8日です。各日付が勤務か休みかで示されます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 開始日
- 2026-01-01
- 終了日
- 2026-01-16
- 勤務日数
- 4
- 休みの日数
- 4
- サイクルのずれ
- 0
- 作業者名
- Alex Rivera
- サイクルの長さ
- 8
- パターン
- 4-on/4-off
- 合計日数
- 16
- 出勤日
- 8
ローテシフト勤務表プランナーは、連続する勤務日のあと連続する休暇日が続くといった単純なサイクルパターンを、任意の両端含むカレンダー期間における一人の就業者向けの日次勤務表に展開します。現場責任者、拠点管理者、給与担当は、どの日付が勤務でどれが休暇か、月内の勤務日数はいくらか、入社日がローテーション途中から始まる場合にサイクルがどこに位置するか、という同じ問いに繰り返し答える必要があります。本機能はISO形式の開始日・終了日、正の勤務ブロック長、休暇ブロック長、任意の位相オフセットを受け取り、週末ルールや祝日、複数クルー最適化なしで決定論的な剰余系列を展開します。
一人の就業者にとっての勤務/休暇ローテサイクルの意味
4勤4休、2勤2休、7勤7休などのローテシフトは、毎週同じ曜日に固定せずカレンダー日全体で均等にカバレッジを回す必要がある連続操業でよく使われます。ここでのモデルは意図的に単純で透明です。各サイクルは連続する勤務日のブロックのあとに連続する休暇日のブロックが続き、その組が要求ウィンドウの先頭から繰り返されます。
2勤2休は2と2です。 5勤2休は5と2を使い、比率はおおよそ7分の5となり、純粋な半々ローテより勤務密度を高めたいときに有用です。本ツールは複数の指名クルーを割り当てず、祝日を飛ばさず、夜勤/日勤ラベルをon/offの二値状態以上には符号化せず、労働法の上限に対する時間再調整もしません—それらの層は貴社の人事システムに属します。
提供するのは、スプレッドシート、タイムクロック取込み、給与プレビューへエクスポートできる再現可能な単一就業者の展開であり、各クライアントで剰余演算を再実装する必要はありません。
よくある質問
週末や祝日はスキップしますか?
いいえ。 両端含む範囲の各グレゴリオ暦日は純粋なサイクルのみでonまたはoffが付きます。祝日・週末の例外は人事層の役割です。
期間はどのくらいの長さまで指定できますか?
開始日と終了日を含めて最大366日までです。終了日は開始日と同じかそれ以降である必要があり、実在しない日付は受け付けません。
ローテーションの途中から始まる人はどうしますか?
サイクルのずれを指定します。0は最初の日付が勤務ブロックの初日であることを意味し、数を大きくすると、その人がすでにいる位置に合わせて並びがずれます。
4勤4休以外のパターンも作れますか?
はい。連続する勤務日数を1〜90日、休日数を0〜90日の範囲で選べます。二勤二休、五勤二休、七勤七休なども同じように展開できます。
勤務日数は数えてくれますか?
はい。2026年1月1日から16日まで4勤4休で組むと、勤務日8日、休日8日、勤務の割合0.5となり、各日付の状態も一覧で表示されます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/biz/rotating-shift \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start_date":"2026-01-01","end_date":"2026-01-16","on_days":4,"off_days":4}'const res = await fetch("https://api.kit.forhosting.com/biz/rotating-shift", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start_date": "2026-01-01",
"end_date": "2026-01-16",
"on_days": 4,
"off_days": 4
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/biz/rotating-shift",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start_date": "2026-01-01",
"end_date": "2026-01-16",
"on_days": 4,
"off_days": 4
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/biz/rotating-shift", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start_date":"2026-01-01","end_date":"2026-01-16","on_days":4,"off_days":4}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start_date":"2026-01-01","end_date":"2026-01-16","on_days":4,"off_days":4}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/biz/rotating-shift", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"start_date": "2026-01-01",
"end_date": "2026-01-16",
"on_days": 4,
"off_days": 4
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "biz.rotating_shift",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無効な範囲、存在しない暦日、範囲外のサイクル項目はinvalid_inputで失敗し、課金されません。
一人の就業者にとっての勤務/休暇ローテサイクルの意味
cycle_offsetが0のとき、サイクルの0日目は勤務ブロックの初日です。start_dateから数えた0始まりの日インデックスiについて、day_in_cycleはiにcycle_offsetを加えた値をcycle_lengthで割った余りであり、cycle_lengthはon_daysとoff_daysの和です。その余りがon_days未満ならその日はon、そうでなければoffです。典型的な4勤4休はon_daysが4、off_daysが4で8日周期となり、長期の労働比率は2分の1です。off_daysを0にすると期間内の全日がonとなり、常時出勤の基準表として使うことがあります。
入力契約、応答形状、検証規則
formula欄は監査用に剰余規則を平文で再掲します。必須4項目と任意2項目を含むJSONボディをPOSTしてください。start_dateとend_dateは厳密なYYYY-MM-DD形式の実在するグレゴリオ暦日で、範囲は両端含み、end_dateはstart_dateより前であってはなりません。両端含む期間は最大366日までとし、ブラウザとAPIクライアントの応答サイズを抑えます。on_daysは1から90の正の整数、off_daysは0から90の整数です。cycle_offsetの既定は0で、指定時は0からcycle_length-1の間にあり、入社途中の位相がサイクル末尾を超えないようにします。worker_nameは成功時に返す最大120文字の任意ラベルです。利便のための別名として、start_dateにfrom/begin、end_dateにto/until、on_daysにwork_days、off_daysにrest_days、cycle_offsetにoffset/phase、worker_nameにname/employeeを受け付けます。成功時は正規化した日付とサイクルパラメータ、four-on slash four-offのような短いpattern、total_days、days_on、days_off、6桁までhalf-up丸めしたwork_ratio、date・day_in_cycle・status(on/off)を持つroster配列、素早い絞り込み用のon_datesとoff_datesを返します。4月31日のような不可能日、負の期間、上限超過、0や非整数のon_days、cycle_length以上のcycle_offsetはフィールド名付きのinvalid_inputとなり、前払い残高は消費しません。成功呼び出しの料金は単位itemの定額$0.002です。
ローテ勤務表展開が役立つ場面
4勤4休の月を組む現場監督は、掲示板を出す前に技術者がどの暦日に勤務するかをすぐ一覧したいと考えます。ローテシフト勤務表や4勤4休で検索されるSEOランディングは、共有lib上で有料自動化経路とバイト一致するライブ無料計算機の恩恵を受けます。問いが一人分の純粋なサイクル展開であるときに本機能を選び、複数クルーの公平性、労使規則、スキル混合、休暇カレンダーはより本格的なworkforce管理製品が必要です。検証失敗は無料なので、探索用クライアントは無効なオフセットや不正日付を安全に試せます。人事の入社フローでは、入社日をstart_dateとし、0でないcycle_offsetを渡すことで、新規者が日0からやり直すのではなく既存ローテの途中位相に合流できます。給与前処理は支払期間内のdays_onを数え、残業規則の前に想定通常日数を突合します。人員シミュレータは2勤2休・4勤4休・5勤2休など候補パターンのwork_ratioを、毎回専用スクリプトを書かずに比較します。連携チームはAPIを社内ツールに埋め込み、計画者が剰余表を手入力しないようにします。要求は366日上限内に保ち、複数年計画では年ウィンドウごとにエンドポイントを呼びクライアント側で結合してください。
連携の活用例
月次4勤4休の掲示用一覧
古典的な4-on/4-offサイクルを1か月分に展開し、手作業の表を作らずに技術者一人分のon_datesリストを掲示します。
サイクル途中入社の位相合わせ
cycle_offsetを設定し、新規者の初日が日0にリセットせず既存ローテの位相に合流するようにします。
給与の勤務日数事前チェック
ローテ就業者の支払ウィンドウ内のdays_onを数え、残業や割増規則の前に想定通常日数と比較します。
技術的な質問
4勤4休の勤務表をどう作りますか?
YYYY-MM-DDのstart_dateとend_date、on_days 4、off_days 4を送ってください。任意のcycle_offsetは初日をサイクル途中に置きます。APIはstatusがonまたはoffの日次勤務表を返します。
cycle_offsetとは何ですか?
start_date時点のサイクル位相で、0からcycle_length-1です。0はstart_dateが勤務ブロック初日を意味します。ウィンドウがローテ途中から始まるときは0以外のオフセットを使います。
日付範囲はどのくらいまでですか?
start_dateからend_dateまでの両端含む期間は最大366日です。より長い計画は複数回の呼び出しに分割してください。
ローテシフト勤務表プランナーの料金は?
ブラウザツールは無料です。APIは成功した呼び出しごとに前払いKIT残高から$0.002です。無効入力は課金されません。