{"time": "2026-05-13T21:01:37.229882+00:00", "step": "scrape_start", "week_start": "2026-05-11"} {"time": "2026-05-13T21:01:37.666575+00:00", "step": "loaded_session", "file": "storage/sessions/teamhours_state.json"} {"time": "2026-05-13T21:01:37.770732+00:00", "step": "open_rota", "url": "https://greeneking.teamhours.com/ScheduleHotels#/schedule/weekly/"} {"time": "2026-05-13T21:01:42.950475+00:00", "step": "week_selector_not_found", "week_start": "2026-05-11"} {"time": "2026-05-13T21:01:42.957048+00:00", "step": "rota_week_confirmed_from_page_text", "week_start": "2026-05-11"} {"time": "2026-05-13T21:01:46.941378+00:00", "step": "teamhours_dom_rota_collected", "rows": 264, "employees": 48} {"time": "2026-05-13T21:01:46.985405+00:00", "step": "rota_parsed", "rows": 264, "tables": 0} {"time": "2026-05-13T21:01:46.985488+00:00", "step": "open_forecast", "url": "https://greeneking.teamhours.com/Forecast/Weekly/"} {"time": "2026-05-13T21:01:50.449693+00:00", "step": "week_selector_not_found", "week_start": "2026-05-11"} {"time": "2026-05-13T21:01:50.452416+00:00", "step": "forecast_week_confirmed_from_page_text", "week_start": "2026-05-11"} {"time": "2026-05-13T21:01:50.469346+00:00", "step": "forecast_parsed", "rows": 7, "tables": 1} {"time": "2026-05-13T21:01:50.535428+00:00", "step": "scrape_complete", "output_file": "storage/cache/teamhours_2026-05-11.json"}