Vue Scheduler Component for Building Calendar & Scheduling Apps
- A Vue Scheduler is an event calendar UI component that allows you to display, create, edit, and manage appointments, meetings, and events in Vue applications.
- It supports multiple calendar views, recurring events, drag-and-drop scheduling, resource scheduling, and time zone handling.
Trusted by the world’s leading companies
Overview
The Syncfusion Vue Scheduler is a flexible and high-performance event calendar component built for managing time-based data and resources in Vue applications. It is commonly used to build booking systems, appointment scheduling solutions, and resource planning applications where accuracy, usability, and scalability matter. Designed to handle complex scheduling scenarios, it helps teams deliver rich, user-friendly calendar experiences without extensive custom UI work.
Why choose Syncfusion Vue Scheduler?
High performance
Optimized rendering and efficient data handling ensure fast load times and smooth scheduling, even when managing large volumes of events in enterprise applications.
Flexible data binding
Connect easily to REST APIs, JSON, or cloud data sources. Supports real-time updates and seamless integration with modern application backends.
Accessibility compliant
Built with accessibility best practices, including keyboard navigation and screen reader support, ensuring inclusive user experiences.
Fully responsive
Adaptive layout delivers a consistent scheduling experience across desktops, tablets, and mobile devices without additional configuration.
Customizable themes
Personalize the scheduler’s appearance using built-in themes or custom styling to match your application’s design and branding. Utilize the online Theme Studio tool to customize themes of Scheduler easily.
Globalization support
Supports multiple languages, time zones, and regional formats, enabling developers to build scheduling applications for global users.
Installation & Quick Start
Follow these three steps to integrate the Scheduler into your Vue application.
1
Install the Scheduler Package
Install the Syncfusion Vue Scheduler package using npm.
npm install @syncfusion/ej2-vue-schedule --save2
Import the required CSS styles
Import the required Syncfusion CSS files in the <style> section of src/App.vue to apply proper layout and theme styling.
<style>
@import "/node_modules/@syncfusion/ej2-base/styles/material3.css";
@import "/node_modules/@syncfusion/ej2-buttons/styles/material3.css";
@import "/node_modules/@syncfusion/ej2-calendars/styles/material3.css";
@import "/node_modules/@syncfusion/ej2-dropdowns/styles/material3.css";
@import "/node_modules/@syncfusion/ej2-inputs/styles/material3.css";
@import "/node_modules/@syncfusion/ej2-lists/styles/material3.css";
@import "/node_modules/@syncfusion/ej2-navigations/styles/material3.css";
@import "/node_modules/@syncfusion/ej2-popups/styles/material3.css";
@import "/node_modules/@syncfusion/ej2-vue-schedule/styles/material3.css";
</style>3
Initialize the Scheduler component
Import and render the Scheduler component in src/App.vue. Inject the desired calendar views such as Day, Week, WorkWeek, Month, or Agenda to enable flexible scheduling capabilities.
<template>
<div id='app'><ejs-schedule></ejs-schedule></div>
</template>
<script>
import { ScheduleComponent, Day, Week, WorkWeek, Month, Agenda } from '@syncfusion/ej2-vue-schedule';
export default {
components: {
'ejs-schedule': ScheduleComponent
},
provide: {
schedule: [Day, Week, WorkWeek, Month, Agenda]
}
}
</script>No credit card required.
AI Scheduler for Smarter Planning
The AI Scheduler organizes your calendar with ease. Just type instructions like, “Meet the team every Friday at 10 AM”, and it handles the rest. It checks for conflicts, suggests optimal times, and organizes your calendar visually.
Multiple scheduler views
Multiple built-in view modes are available: day, week, workweek, month, agenda, month-agenda, year, and timeline. Easily configure each view with different, view-specific options.

Day, week, and workweek views
Display appointments for a single day or across multiple days.

Month view
Display events and appointments on a single day or multiple days for an entire month.

Agenda view
Load events virtually and display them as a list in a sequential order grouped by day. There is an option exists to specify the number of days to load initially in the agenda view.

Month agenda view
Display the calendar layout and the events of the currently selected date. A round indicator at the bottom of a date shows the presence of one or more events on that day.

Year view
The year view displays all the months of a particular year in a calendar view format. In that calendar view, dates containing events and appointments are highlighted with dots placed under the individual date. When you click on the date, the event pop-up will be displayed with the list events.

Timeline views
Vue Scheduler provides five built-in timeline views: timeline day, timeline week, timeline workweek, timeline month, and timeline year. Each view displays events accurately across a horizontal time axis for a single day or multiple days. To provide better performance, timeline views load resources, events, and appointments virtually on every scroll action.

Recurring event scheduling
Easily create and manage recurring appointments with flexible recurrence rules. Schedule daily, weekly, monthly, or custom recurring events, and handle exceptions or modifications without affecting the entire series. This makes it ideal for applications such as appointment booking systems, healthcare scheduling, and workforce planning tools.
Resource scheduling
Efficiently manage and schedule multiple resources such as meeting rooms, employees, equipment, or service providers. Group events by resource, track availability, and prevent scheduling conflicts. This is essential for resource planning, workforce management, and reservation systems.


Drag-and-drop scheduling
Enable intuitive scheduling with built-in drag-and-drop and resizing capabilities. Users can quickly move appointments, adjust durations, or update schedules directly from the interface. This improves scheduling efficiency and provides a seamless user experience in calendar and scheduling applications.
Timezone support
Regardless of the system time zone, the Vue Event Calendar supports setting the required time zone for the control itself, as well as events.

Real-time data synchronization
Real-time appointment data accurately synchronizes with the Syncfusion Vue Scheduler.

Outlook and Google Calendar integration
Easily synchronize events between the Syncfusion Vue Event Calendar and Google or Outlook Calendar via the Google Calendar API or Microsoft Outlook’s object library.

Real-time updates
Bidirectional data communication conveys the server-side appointment updates made to the Scheduler to all the connected clients through SignalR.
Advanced event-handling options
The Vue Event Calendar provides clear, vibrant, and exact representations of events and appointments across the Scheduler timeline, based on their assigned time duration.

Add and edit capabilities
There is built-in support for better event handling, such as easier appointment creation and editing using the default event editor or through intuitive drag-and-resize actions. Users can also add custom data fields to both the events and resource data sources.

Multi-event selection
Easily select multiple events at once by pressing and holding the Ctrl key when clicking on events. On mobile devices, select by tapping and holding an event, and continue selecting by single-tapping other events. After successfully selecting events, delete or reposition them.

Tooltip
The customizable tooltip displays event information when the mouse pointer hovers over the event. Do the same on mobile devices by tapping and holding an event.

Appearance customization
Change the look and feel of Vue Scheduler events and appointments by customizing the default appearance and style using HTML or CSS.

Clipboard
The Vue Scheduler supports clipboard functionalities, allowing users to manage events efficiently. Users can copy selected events using the Ctrl+C shortcut, cut events with Ctrl+X, and paste events into different time slots using Ctrl+V.

Inline appointment
With this feature enabled, users can create and edit appointments inline with a single click on the scheduler cells or the existing appointment’s subject. Pressing Enter after the new subject text is typed in the inline text box will update and save the appointment appropriately.
Customizable scheduler views
Real-time appointment data accurately synchronizes with our Vue Scheduler.

Unique view configurations
Easily configure each individual view mode with different calendar settings. For example, you can enable the grouping feature in the month view and apply event templates in the week view.

Extensible view intervals
Display multiple days, weeks, and months by extending each view mode based on the provided interval count.

Block time interval
You can block specific time ranges on the Vue Event Calendar to prevent the creation of events and appointments in that time slot.
Prevent overlap events
With this feature enabled, users can efficiently manage their appointments and avoid double booking.


Row auto height
A built-in option has been added to the Vue Event Calendar to automatically increase the height of the rows in month and timeline views when new concurrent events or appointments are added.
Context menu
Context menu integrated with Vue Scheduler opens when a cell or appointment is right-clicked.

Feature-rich calendar options
The Vue Event Calendar inherits almost all calendar-specific features, such as the first day of the week and timescale.

First day of the week
Customize the first day of the week, which defaults to Sunday, as per the default locale. You can utilize this option for individual views, also.

Custom start and end hours
Display the event scheduler layout with specific time durations by hiding the non-business hours.

Flexible timescale
Use customizable timescale options to view a timeline of events clearly and set a different duration.

Working time
The active cells of the scheduler (displayed in white) visually represent the work days and working hours.

Highlighting current time
Indicate the current date with a highlighted date header. Mark the current time accurately on all views.

Hiding weekend days
Hiding weekend days from the Scheduler allows you to display only working days across all views.

Week number display
Display the week number of the current date range beside the date header in day, week, and workweek views. Also, display the week number in the month view as the first column. The week number is determined by the first day of the week and week rules (first day or first full week, or first four-day week).

Time mode
The Scheduler control supports both 12-hour and 24-hour time formats.
Completely customizable UI
Customize the appearance of any part of the Scheduler interface using HTML and CSS styles.

Date header
Change the default appearance of the header bar by adding any kind of CSS, custom text, or image.

Complete Scheduler UI
A built-in client-side event allows end users to customize any part of the Scheduler user interface.

Header bar
Add custom items to the default header bar options. You can hide or show common header bar options.

Scheduler cells
Out-of-the-box template options allow users to easily customize the cells by adding any kind of text, image, or CSS.

Quick pop-ups
Easily customize pop-ups that open with a single click on cells, events, or appointments with your own UI or template design.

Open event editor externally
The Vue Event Calendar offers a built-in method to open the default event editor window programmatically.
User-friendly interactions
The modern and trendy UI design of the Vue Scheduler makes user interactions simpler and more efficient.

Quick event overview
Clicking or tapping on events displays important details, such as subject and time, along with edit and delete options.

Cell selection
Click and drag the pointer over the Scheduler cells for multiple-cell selection. Users can do the same with keyboard shortcuts.

Event container
Clicking on the text indicator (+n more) in the month and timeline views will open an event container listing all hidden event and appointment details of a day.

Quick navigation
The Vue Scheduler provides an intuitive way to navigate back and forth among the date ranges using an inline calendar, and also navigate between different view modes.

Real-time applications
Many real-time applications use schedulers as an integral part, thus serving different purposes based on the project type. Some of the active applications are: Fare Calendar, Meeting Room Calendar, Doctor’s Appointment planner, and Hotel Room reservation.
Interactive features
The Vue Scheduler allows users to export its events as an Excel file or as an ICS file.

Export to Excel
The Vue Scheduler allows user to export all its events to an Excel document by default. It also provides additional customization options to export custom event data collections.

Export and import ICS
The Vue Event Calendar supports exporting all its event data to iCal format and importing events from an iCal file into the Scheduler.

Developer-friendly APIs
Developers have full control over the UI and behavior of the event calendar through its built-in, developer-friendly APIs. It allows them to customize even the complex Scheduler functionalities easily.
Accessibility
The Vue Scheduler component is easily accessed by screen readers. Complete keyboard interaction support has also been provided.

Completely accessible
The Vue Scheduler component has complete WAI-ARIA accessibility support. The Scheduler UI includes high-contrast visual elements, giving visually impaired people the best viewing experience. Valid UI descriptions are also easily accessible through assistive technologies such as screen readers.

Interactive keyboard
Various keyboard shortcuts are available to perform almost all the Scheduler actions, such as multiple cell or event selection and navigating to other views.

Right to left (RTL)
Render the event scheduler in the right-to-left direction for users working with languages like Hebrew, Arabic, or Persian.
Not sure how to create your first Vue Scheduler? Our documentation can help.
I’d love to read it now145+ VUE UI COMPONENTS
Frequently Asked Questions
Why should you choose Syncfusion Essential Studio® Vue Scheduler?
- Highly responsive layout and a finely optimized design for desktops, tablets, and mobile phones.
Different basic views like day, week, workweek, month, and year of calendar mode and timeline mode.
Virtual scrolling allows users to load large numbers of resources and events dynamically.
- Adapts to different time zones instantly.
Multiple resource grouping based on the timeline, horizontal, hierarchical, and date views.
- One of the best Vue Scheduler in the market that offers feature-rich UI to interact with the software.
- Easy synchronization of events with Google and Outlook Calendars.
Simple configuration and API.
- Support for all modern browsers.
Expansive learning resources such as demos and documentation to learn quickly and get started with Vue Scheduler.
Where can I find the Syncfusion Vue Scheduler demo?
You can find our Vue Scheduler demo, which demonstrates how to render and configure the Scheduler.
How do I add events and appointments to a Vue Scheduler?
You can programmatically add events to the Syncfusion Vue Scheduler component using the addEvent() method. This method allows you to add either a single event or a collection of events simultaneously to the schedule. For more information, refer to our detailed documentation on adding, editing, and removing events in Vue Scheduler.
You can also perform CRUD operations on events using these methods:
- addEvent() - To add new events
- saveEvent() - To update existing events
- deleteEvent() - To remove events
These methods enable you to programmatically manage events in your Vue Schedule component without directly manipulating the data source.
How do I implement drag-and-drop scheduling in Vue?
You can reschedule appointments by simply dragging and dropping them. To enable this functionality, inject the DragAndDrop module and set the allowDragAndDrop property to true.
On mobile devices, events can be moved by tapping and holding an appointment, then dragging it to the desired time or location.
To learn more about dragging external items and advanced drag-and-resize capabilities, watch this video. For additional details, refer to our comprehensive documentation on drag-and-drop appointments in the Vue Scheduler.
How do I handle recurring events in the Vue Scheduler?
The Syncfusion Vue Scheduler fully supports recurring appointments, allowing you to easily create events that repeat on a daily, weekly, monthly, or yearly basis with integrated recurrence options.To configure recurring appointments in the Vue Scheduler component, set the RecurrenceRule property in your event data. The RecurrenceRule follows the iCalendar (RFC 5545) specifications.For additional details, refer to our comprehensive documentation on recurring events in the Vue Scheduler.
Can a Vue Scheduler support multiple resources like rooms, people, and equipment?
Resource and grouping support enables the Scheduler to be shared across multiple resources. Appointments associated with each resource are displayed under their corresponding resource.
Resources in the Scheduler are arranged in rows or columns, with dedicated spacing to ensure all related appointments are clearly visible on a single page. The Scheduler also supports multilevel resource grouping, allowing for hierarchical organization of resources.
Depending on the view, resources can be displayed as expandable groups in timeline views or as a vertical hierarchy in calendar views, providing flexible and intuitive scheduling layouts.
For additional details, refer to the comprehensive documentation on resources and grouping in the Vue Scheduler.
How can I optimize performance for large datasets using virtual scrolling in the vue Scheduler?
Virtual scrolling is a powerful feature in the Syncfusion Vue Schedule component that significantly improves performance when working with large datasets. This feature allows the component to load only visible items in the viewport and load remaining items as you scroll, which is especially beneficial when handling numerous resources and appointments.
To enable virtual scrolling in your Vue Schedule component, set the allowVirtualScrolling property to true within view-specific settings.
For more information, refer to our detailed documentation available on Virtual scrolling in Vue Scheduler.
Can I download and utilize the Syncfusion Vue Scheduler for free?
No, this is a commercial product and requires a paid license. However, a free community license is also available for companies and individuals whose organizations have less than $1 million USD in annual gross revenue, 5 or fewer developers, and 10 or fewer total employees.
How do I get started with Syncfusion Vue Scheduler?
A good place to start would be our comprehensive getting started documentation.
How do I enable day/week/month views in a Vue Scheduler?
To configure day, week, and month views in the Vue Scheduler component, you need to properly import and inject the required modules for each view. For more information, refer to our detailed documentation on module injection in the Vue Schedule component.
How do I resize appointments in a Vue Scheduler?
To enable resizing functionality in the Vue Scheduler, inject the resize module and ensure that the allowResizing property is set to true. For more information, refer to our detailed documentation appointment resizing in the Vue Scheduler.
How do I manage time zones?
By default, the Vue Scheduler component operates using the system’s current timezone. To schedule appointments in a different timezone, set the timezone property in the Scheduler.In addition to configuring a global timezone, you can assign timezones to individual appointments by specifying the startTimezone and endTimezone properties within the event fields collection.For additional details, refer to our comprehensive documentation on timezones in the Vue Scheduler.
Is it possible to reorder events in the Syncfusion Vue Scheduler?
Yes, events can be reordered using the sortComparer property. By default, the Scheduler renders overlapping events based on their start and end times. You can customize the display order of overlapping events by defining a custom sorting logic through the sortComparer property within eventSettings, allowing events to be ordered based on custom fields. For more information, refer to our detailed documentation on reordering events in the vue Scheduler.
Our Customers Love Us
Awards
Greatness—it’s one thing to say you have it, but it means more when others recognize it. Syncfusion® is proud to hold the following industry awards.