miot-calendar
Original:🇺🇸 English
Translated
Query and manage ModularIoT Calendar services via the miot CLI. List calendars, check slot availability, create bookings, manage time windows, and run slot managers. Use when the user asks about schedules, appointments, bookings, availability, calendar configuration, time slots, capacity, or calendar services in their ModularIoT organization.
4installs
Sourcemicroboxlabs/modulariot
Added on
NPX Install
npx skill4agent add microboxlabs/modulariot miot-calendarTags
Translated version includes tags in frontmatterSKILL.md Content
View Translation Comparison →ModularIoT Calendar Skill
Prerequisites
The CLI must be available. Run commands via:
miot- (no install needed), or
npx @microboxlabs/miot-cli <command> - (if globally installed)
miot <command>
Configuration requires one of:
- and
--base-urlflags on every call--token - and
MIOT_BASE_URLenvironment variablesMIOT_TOKEN - A profile (selected via
~/.miotrc.json)--profile <name>
Always add to CLI calls and parse the JSON result.
--output jsonDomain Model
Organization
└── Groups ← organize calendars by category
└── Calendars ← represent a bookable resource (room, vehicle, service)
├── Time Windows ← define when slots are available (hours, days, capacity)
├── Slots ← generated from time windows; bookable time units
│ └── status: OPEN | CLOSED
├── Bookings ← consume a slot, linked to a resource (vehicle, room…)
└── Slot Managers ← automate slot generation on a rolling basisKey relationships:
- Time windows define the rules; slots are the instances generated from those rules.
- A slot has and
capacity;currentOccupancy.availableCapacity = capacity - currentOccupancy - A booking ties a resource to a specific slot. It requires the slot to be OPEN with remaining capacity.
Common Workflows
"What's available next week for X?"
- Find the calendar:
miot calendar list --output json - List available slots:
miot calendar slots list --calendar <id> --from <monday> --to <friday> --available --output json - Present results grouped by date with times and remaining capacity.
"Book a slot for resource Y"
- Find available slots (workflow above).
- Present options to the user — let them choose.
- Create the booking:
miot calendar bookings create --calendar <id> --resource-id <rid> --date <date> --hour <h> --minutes <m> --output json
"How full is calendar X this month?"
- List all slots for the date range:
miot calendar slots list --calendar <id> --from <start> --to <end> --output json - Compute: total slots, occupied (capacity - availableCapacity), available, occupancy %.
"Generate slots for the next 2 weeks"
miot calendar slots generate --calendar <id> --from <today> --to <today+14> --output json"What bookings does resource Z have?"
miot calendar bookings by-resource <resourceId> --output json"Run the slot managers"
miot calendar slot-managers run --output jsonRun a specific one:
miot calendar slot-managers run <managerId> --output json"Show me the calendar setup"
miot calendar get <id> --output jsonmiot calendar time-windows list --calendar <id> --output json- Summarize: calendar details + active time windows with their schedules.
Error Handling
CLI errors return . Common codes:
{ "error": { "statusCode": N, "message": "..." } }| Code | Meaning |
|---|---|
| 400 | Invalid parameters (date range > 90 days, invalid hours, etc.) |
| 404 | Resource not found |
| 409 | Slot full / no capacity remaining |
Explain the error in plain language to the user.
Business Rules
- Slot generation is limited to 90-day ranges.
- Time window hours: , both 0–23.
startHour < endHour - Days of week: where 1 = Monday, 7 = Sunday.
"1,2,3,4,5" - Slot status: or
OPEN.CLOSED - Booking requires an OPEN slot with .
availableCapacity > 0 - Hour: 0–23, Minutes: 0–59.
Full CLI Reference
For the complete list of commands, flags, and JSON output shapes, read references/reference.md.