Observatory
An observatory is the organizational unit that manages one or more telescopes at a single physical site. It carries the institutional metadata, the operational constraints that apply to everything on the site, and the things that aren't telescope-specific (weather sensors, gallery, log book).
If you're an owner: this is the record your organization owns. Every telescope you bring online lives under one observatory.
Site vs. Observatory
The two records are deliberately separate:
- A Site is the geographic location — latitude, longitude, elevation, country, optional IAU code. Sites can host multiple observatories (e.g., a mountain with several independent facilities).
- An Observatory is the institutional facility on that site — ownership, public visibility, weather sensors, the telescopes you operate.
Both records are provisioned by Skynet staff today; editing existing
records uses PATCH /v1/sites/{id} and PATCH /v1/observatories/{id}.
See Onboarding for how to request a new one.
What lives on an observatory record
| Field group | What it controls |
|---|---|
| Name, slug, IAU code | Display and lookup |
| Ownership | Which user or organization owns the observatory |
| Site association | Which site the observatory sits on |
| Public / private visibility | Whether non-members can see the observatory at all |
| Image gallery | Images and webcam feeds shown on the observatory page |
| Weather sensors | Site-wide environmental telemetry (feeds into observing constraints) |
| Operational constraints | Constraints that gate observing for every telescope on the observatory |
| Telescopes | One or more telescopes — each modeled in its own record |
| Log book | Hardware notes and event history at the observatory level |
Operational constraints that live on the observatory apply to every telescope at the site (typical example: a single weather-sensor reading controlling go/no-go for all telescopes under the dome). Telescope-level constraints layer on top — see Telescope.
In the web app
For organization-owned observatories, the relevant React routes are at
apps/website-react/app/routes/entity/org-observatories.tsx
(list view) and the per-observatory detail/settings under
org-observatory-*. The Angular site has the equivalent under
apps/website/src/app/features/entity/observatories/.
Reference
Observatory Schema
Description: A location with one or more telescopes, owned by an Entity.
An Observatory is a *region* (e.g., a campus or part of a mountain) and
typically references a :class:`Site`. Its ``latitude``/``longitude``/
``elevation`` are usually populated from the site but may be tweaked to a
representative point for large sites. Each :class:`Telescope` within an
observatory has its own pier coordinates, which may differ from the
observatory's representative location.
Properties
| Name | Type | Description |
|---|---|---|
| id | Integer |
No description |
| uid | UUID |
No description |
| owner_id | Integer |
The organization or user which owns the observatory |
| site_id | Integer (Optional) |
No description |
| country_code | String(3) |
No description |
| iau_code | String(3) (Optional) |
No description |
| name | String(100) |
No description |
| short_name | String(50) (Optional) |
No description |
| slug | String(100) |
No description |
| description | String(Unbounded) |
No description |
| image_id | UUID (Optional) |
No description |
| is_available | Boolean |
No description |
| is_public | Boolean |
No description |
| location | String(100) |
No description |
| latitude | Float |
No description |
| longitude | Float |
No description |
| elevation | Float |
No description |
Relationships
| Relationship Name | Type |
|---|---|
| site | Site |
| country | Country |
| telescopes | Telescope |
| owner | Entity |
| image | File |
| gallery_items | ObservatoryGalleryItem |
| log | ObservatoryLogEntry |
| devices | Device |
| ip_cameras | IPCamera |
| shutdown_interlocks | ShutdownInterlock |
| sky_node_installations | SkyNodeInstallation |
Site reference
Site Schema
Description: A geographic site that may host one or more :class:Observatory instances.
Sites are the broadest geographic grouping (e.g., "Cerro Tololo"). An
:class:`Observatory` typically inherits its coordinates from its site, and
each :class:`Telescope` within an observatory carries its own pier
coordinates.
Properties
| Name | Type | Description |
|---|---|---|
| id | Integer |
No description |
| uid | UUID (Optional) |
No description |
| owner_id | Integer (Optional) |
The organization or user which created the site. None if the site was created by Skynet |
| name | String(100) |
No description |
| short_name | String(50) (Optional) |
No description |
| slug | String(50) |
No description |
| iau_code | String(3) (Optional) |
No description |
| country_code | String(3) |
No description |
| location | String(100) |
No description |
| latitude | Float |
No description |
| longitude | Float |
No description |
| elevation | Float |
No description |
Relationships
| Relationship Name | Type |
|---|---|
| owner | Entity |
| observatories | Observatory |
| country | Country |