仕様と根拠

空き区間の求め方

営業時間の開始から終了までを時刻順にたどり、予約の開始までの間を空き、予約の終了からまた空き、という順に区間を切り出します。重なった予約は和集合にまとめ、営業時間の外にはみ出した部分は切り取ります。

半開区間の扱い

時間帯は「開始を含み、終了を含まない」半開区間として扱います。10:00-11:00 と 11:00-12:00 は 11:00 で隣り合うだけで重なりません。区間が重ならないことを両立の条件とする考え方は、Interval scheduling で説明されています。

検算

営業時間の分数が、予約済みの合計と空きの合計の和に一致することを毎回確かめて表示します。一致しないときは入力の読み違いがあるので、表の各行を見直してください。

根拠にした仕様・資料

仕様・資料と確認日
仕様・資料確認日使った箇所
Interval scheduling(Wikipedia)2026年10月28日区間が重ならない(compatible)の定義。空き区間の求め方の記載はなく、一般的な区間の差集合として実装している

指摘の段階

入力の扱い(送信しない仕組み)

処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。

このツールでできないこと(制約)

ご利用にあたって

  • 予約の確定や空きの保証をするものではありません。入力された時間帯だけから計算した目安です。