Schedule camera missions
Use with AI
Apply a mission during a booking
Bind cameras to a space, then schedule missions for that space. Keep Watch and camera monitoring running for scheduled changes to take effect.
Configure cameras
Add the RTSP URL and a stable spaceUuid for each camera.
Match the space ID
Calendar uses the same space_uuid to find the camera.
Import bookings
Import JSON on the Schedules page, then verify the timed mission changes.
camera.json contains camera connections. Calendar JSON contains booking times and missions. Prepare these as separate files.In v0.39, Schedules changes monitoring missions between specified start and end times. The standard interface has no separate cron scheduler or recurring report jobs. Create or import a separate booking for each time window you need.
Check the camera and schedule space IDs first
New schedule in v0.39 offers CAM selections, but selecting a camera does not bind it to a space. For cameras using room or venue space IDs, import a schedule with the matching ID as shown below. A listed schedule is saved; an Applied status after its start means it has matched a camera that is monitoring.
1. Prepare the camera configuration
The simple camera JSON contains RTSP URLs only. To use calendar switching, add a stable spaceUuid. The missionId is the camera's normal mission when there is no active booking.
{
"cameras": [
{
"name": "Studio A",
"rtspUrl": "rtsp://192.168.1.21:554/stream1",
"spaceUuid": "room-studio-a",
"missionId": "person_count"
}
]
}Add the space ID to your complete camera configuration and choose Import Camera Config. Import replaces the existing list: keep the complete previous file and follow the batch import checks. Do not import the single-camera example above directly into an existing multi-camera setup.
2. Prepare the bookings
The calendar's space_uuid must exactly match the camera's spaceUuid. Choose preset_id from Watch's mission library, or provide a custom prompt.
{
"events": [
{
"id": "booking-001",
"space_uuid": "room-studio-a",
"start": "2026-09-28T21:00:00+08:00",
"end": "2026-09-28T22:00:00+08:00",
"title": "Private booking",
"preset_id": "elder_fall_detect"
}
]
}Replace the illustrative dates with an upcoming test window and keep the timezone. After the booking ends, a configured vacant-space mission takes priority; otherwise the camera’s original mission is restored. Verify both the start and the end.
3. Import and verify the switch
- Open Schedules, select Import JSON, and choose the booking file. Check the accepted and skipped counts, then confirm the booking, times, and mission appear in the list.
- Keep the matching camera monitoring. After the start time, refresh and check for Applied, then verify the mission in that camera’s fresh analyses.
- After the end, verify that the original or vacant-space mission resumes. Use the edit button to change times and missions, or Pause / Resume to disable and enable the schedule. Delete it only when it is no longer needed.
For Waiting for monitoring, check that the camera is monitoring, both space IDs match exactly, and the computer time and booking timezone are correct. When editing an imported schedule, keep its space ID; selecting a CAM changes the match. If import fails, check the JSON format and start/end times before retrying. For a camera with no analyses, start with troubleshooting.
API and Trainge booking format
Use sentinel.booking.v1 for direct integrations. Raw Trainge JSON is also accepted.
{
"schema": "sentinel.booking.v1",
"events": [{ "id": "booking-001", "space_uuid": "room-studio-a",
"start": "2026-09-28T21:00:00+08:00", "end": "2026-09-28T22:00:00+08:00",
"title": "Private booking", "preset_id": "elder_fall_detect" }]
}Which cameras does one booking affect?
This example uses v0.39 space binding: multiple cameras sharing the same spaceUuid switch together, while different spaces can use different missions. First confirm that the cameras are bound to the matching space ID. After saving a booking, check the actual mission at both its start and end to verify the switch.