"""manual_slots.json に手で書いた予約済み枠を読む。書いていない枠は空きとみなす。 形式: { "uen": { "2026-11-03": {"1st": [18, 19, 20], "2nd": [21]} } } """ import json from pathlib import Path PATH = Path(__file__).resolve().parent.parent / "manual_slots.json" def fetch(studio, date): data = json.loads(PATH.read_text(encoding="utf-8")) if PATH.exists() else {} booked = data.get(studio["id"], {}).get(date.isoformat(), {}) return [ { "room": room, "hour": hour, "status": "booked" if hour in booked.get(room, []) else "free", } for room in studio["rooms"] for hour in range(studio["open"], studio["close"]) ]