Feature docs

Calendar app on Vareons: install, events, and bookings

The calendar app is the id calendar marketplace card opening /dashboard/calendar: it merges bookings, staff, orders, and tasks into one view with a date picker, search, type filters, a create-event dialog, and booking moves and cancellations.

Last verified: 2026-09-19

The app installs from the /dashboard/apps marketplace with an Install button on the "Calendar" card described as managing appointments and events, after which an Open button leads to /dashboard/calendar. The card carries a Free badge.

The unified page has a localized title and description plus a Create Event button with a plus icon: on the left a calendar picker, search, and type filter (all, meeting, task, review, training, internal, or booking); on the right the selected day's list with its counter, each item showing title, type, status, start-to-end time, and participants with edit and delete.

Data loads through GET /api/calendar/data returning events, staff, recent orders, customers, and tasks, then filters locally by text, type, and day. Saving branches automatically: a booking moves through PATCH /api/dashboard/bookings/[id] with start and end times, while an internal event saves through POST or PUT /api/calendar/internal-events followed by a reload. Deleting cancels a booking through PATCH cancel or removes an internal event through DELETE internal-events/[id].

The enhanced version at /dashboard/calendar-enhanced is a demo with six tabs — calendar, search, drag-and-drop, staff view, colors, and settings — with booking cards showing customer, service, staff, time, status, color, payment, and rating, moving bookings through PATCH /api/bookings/{id}/move and deleting through DELETE.

Internal events are stored in the InternalEvent model with tenant, title, type, start, end, participants, description, status, priority, related link (order, customer, staff, or task), location, and reminders, while bookings live in UnifiedBooking alongside staff, time slots, and recurrence rules.

Setup steps in Vareons

  1. Install the app from the marketplace

    Open /dashboard/apps, press Install on the calendar card, then press Open to reach /dashboard/calendar.

  2. Create an event

    Press Create Event, fill title, type, time, participants, and description, then save so it appears on its day.

  3. Filter and search

    Use the date picker, search, and type filter to reach a meeting, booking, or task quickly.

  4. Move or cancel a booking

    From the booking item, edit the time to move it through PATCH, or delete to cancel through the cancel route.

  5. Try the enhanced view

    Open /dashboard/calendar-enhanced for staff view, colors, and drag-and-drop as an advanced trial.

Frequently asked questions

What feeds the calendar events?

Bookings, staff, recent orders, customers, and tasks through GET /api/calendar/data with local filtering.

How do I move a booking to another slot?

By editing start and end times, which sends PATCH to the booking route; the enhanced version supports dragging to a new time and staff.

Can an event link to an order?

Yes, the related field supports an order, customer, staff member, or task with name and id.

What event types exist?

Meeting, task, review, training, internal, and booking, with scheduled, in-progress, completed, and cancelled states.

Are there reminders?

Yes, internal events carry a reminders list plus location and priority alongside staff participants.

Troubleshooting

1) Bookings missing: confirm bookings exist; data comes from /api/calendar/data. 2) Save not working: bookings move by PATCH and internal events by POST/PUT depending on item kind. 3) Delete failing: bookings cancel through cancel rather than direct removal. 4) Empty filter: reset type to all, clear search, then pick the day from the picker.

Important limitations

• The calendar is a unified view for reading and basic editing, not a full standalone booking system. • The enhanced version is a demo with display data, not the operational source. • Reminders and notifications follow the global alert settings. • Links are referential and do not transfer record ownership.

Related links

تواصل معنا على واتساب