From 9003d672ff3ebee98b8af89b59b641157a96fa4e Mon Sep 17 00:00:00 2001 From: Laurence Date: Sat, 18 Jul 2026 23:04:26 +0100 Subject: [PATCH] Reservations created for all three sessions; mechanics documented The Reservations Pilot app at reservations.itelescope.net is now mapped and driven end to end: three-step WebForms flow (form GET, Refresh Plans postback with plan+times selected which enables Confirm, then Confirm), observatory-local times, 4-hour maximum, plan attachment causing iTelescope to auto-start the run at reservation start, and the reschedule flag that rebooks weather losses on the next free night. Crucial gotcha recorded: the confirm modal returns OK even when nothing was created (first attempt silently failed on the 4-hour rule), so verification against the grid is mandatory. Live reservations: 749227 (T59, NGC 6744, 00:05-03:45 SSO local 20 Jul), 749228 (T33, 47 Tuc test, 00:05-00:50 same night), 749229 (T33, NGC 6752, 00:05-00:50 following night). Ledger corrected: T59 moon discount is 0% until 21 Jul (the earlier 25% figure came from a Utah scope's grid), so the NGC 6744 estimate returns to ~240 pts. Monitoring crons replace the old starter crons since the scheduler now fires the plans itself. --- CAMPAIGN.md | 13 ++++++++----- plans/README.md | 26 ++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/CAMPAIGN.md b/CAMPAIGN.md index 4f1c54e..261d7c7 100644 --- a/CAMPAIGN.md +++ b/CAMPAIGN.md @@ -23,9 +23,9 @@ Update after every run: date, scope, target, imaging minutes, points charged | Date | Scope | Target | Plan file | Imaging | Est. pts | Actual pts | Notes | |---|---|---|---|---|---|---|---| -| 2026-07-19 | T33 | 47 Tuc | ngc104-test.txt | 17 min | 0 (free) | | first-light test | -| 2026-07-19 | T59 | NGC 6744 | ngc6744-t59.txt | 180 min | ~185 (25% moon disc.) | | first paid run; must clear scope by 17:45 UTC (astrosharp reservation 17:50-19:40 UTC) | -| 2026-07-20 | T33 | NGC 6752 | ngc6752.txt | 17 min | 0 (free) | | | +| 2026-07-19 | T33 | 47 Tuc | ngc104-test.txt | 17 min | 0 (free) | | first-light test; reservation 749228, 00:05-00:50 SSO local 20 Jul, auto-runs | +| 2026-07-19 | T59 | NGC 6744 | ngc6744-t59.txt | 180 min | ~240 (0% moon disc. until 21 Jul) | | first paid run; reservation 749227, 00:05-03:45 SSO local 20 Jul, auto-runs, reschedule flag on; astrosharp holds 03:50-04:40 | +| 2026-07-20 | T33 | NGC 6752 | ngc6752.txt | 17 min | 0 (free) | | reservation 749229, 00:05-00:50 SSO local 21 Jul, auto-runs | ## Planned allocation (~2,600 points, adapt as scopes/weather allow) @@ -54,8 +54,11 @@ then (with explicit user confirmation) cancel via MyAccount/Cancel.aspx.** ## Operational notes -- Every paid session follows plans/README.md (walk-in when idle; same ACP flow as - the free scopes). Upload plans the day before where possible. +- Sessions are now RESERVED, not walk-in: upload the plan to the scope, then book + it at reservations.itelescope.net with the plan attached (procedure in + plans/README.md); iTelescope auto-starts the plan at reservation start and the + reschedule flag retries weather losses. Claude sessions monitor rather than + drive. T59 moon discount correction: 0% until 21 Jul, 25% from 22 Jul. - Cron jobs live only in an open Claude session; if a day's session has no live session to fire it, the user prompts "run today's drain session" and any session picks it up from this file plus state/TODO.md. diff --git a/plans/README.md b/plans/README.md index a55f277..1a0688d 100644 --- a/plans/README.md +++ b/plans/README.md @@ -63,3 +63,29 @@ stop well before dawn. Abort path if something looks wrong: the web UI exposes an abort on the console page; locate it live before starting exposures (not yet mapped). + +## Reservations (verified working 2026-07-18) + +Reservations live at http://reservations.itelescope.net ("Reservations Pilot"), +reached from each scope's /ac/MenuItems/reservation-edit.asp iframe as +`?t=&u=` (scope ids look like GRAS059 for T59, GRAS033 for +T33; full list in the resources JSON on go.itelescope.net/Reservation/Overview.aspx, +whose embedded DayPilot events also show everyone's bookings, roof/sun times, and +the moon discount per night). No separate login: it trusts the u= parameter once a +session cookie exists. + +Creating one is a three-step WebForms dance against +`New.aspx?start=&end=&r=` (times are OBSERVATORY +LOCAL): (1) GET the form, (2) POST tokens + DropDownStartTime/DropDownEndTime +(e.g. "12:05 AM"/"3:45 AM") + PlanToRunListBox= + RescheduleCheckbox ++ ButtonRefreshPlans=Refresh Plans, which re-renders with Confirm enabled, +(3) re-POST the fresh tokens with the same fields + ReservationOKButton=Confirm +Reservation. Success = response script `ModalStatic.result("OK")` AND the booking +appearing in the grid: the modal also says "OK" on silent failure, so ALWAYS +re-fetch the grid and look for the reservation id + username. + +Rules learned: maximum reservation length 4:00; recommended duration 1.5x total +imaging time; the attached plan is auto-started by iTelescope at reservation +start (no walk-in POST needed); RescheduleCheckbox auto-rebooks the identical +timeslot on the first available night of the next 30 if the run does not happen. +Delete/edit via Edit.aspx?id= from the grid.