Merge pull request 'Reservations created and reservation system documented' (#9) from reservations into main

This commit is contained in:
laurence 2026-07-18 23:04:27 +01:00
commit 36cc26d7fa
2 changed files with 34 additions and 5 deletions

View file

@ -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.

View file

@ -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=<scope-id>&u=<username>` (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=<ISO local>&end=<ISO local>&r=<scope-id>` (times are OBSERVATORY
LOCAL): (1) GET the form, (2) POST tokens + DropDownStartTime/DropDownEndTime
(e.g. "12:05 AM"/"3:45 AM") + PlanToRunListBox=<plan file> + 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=<reservation id> from the grid.