Warning
This plugin is a WIP and currently testing.
This plugin allows you to add appointment scheduling capabilities to your payload app. It provides:
- Services and Appointments collections.
- An Appointment schedule calendar view.
- Opening times global.
npm i payload-appointments-plugin
pnpm install payload-appointments-plugin
yarn add payload-appointments-plugin
const Users: CollectionConfig = {
// ...
fields: [
{
name: 'firstName',
type: 'text',
label: 'First name',
},
{
name: 'lastName',
type: 'text',
label: 'Last name',
},
{
name: 'roles',
type: 'select',
options: [
{
value: 'admin',
label: 'Admin',
},
{
value: 'customer',
label: 'Customer',
},
],
},
{
name: 'roles',
type: 'select',
options: [
{
label: 'Admin',
value: 'admin',
},
{
label: 'Customer',
value: 'customer',
},
],
},
{
name: 'appointments',
type: 'join',
collection: 'appointments',
defaultLimit: 0,
maxDepth: 999,
on: 'customer',
},
],
};
export default Users;import appointments from 'payload-appointments-plugin';
export default buildConfig({
/* ... */
plugins: [appointmentsPlugin()],
/* ... */
});follow instructions on PayloadCMS Email Docs
- Appointments collection
- Appointment type, Host, Customer, Services, Title, Start date/time, End date/time
- Appointment type is appointment or blockout (lunch, break, interview, meeting, day off? etc.)
- Endpoint for getting available time slots
- Add new properties/attributes to default auth collection
- Taking appointments checkbox
- Preffered name
- Calendar subscription
- Services collection for ...services
- Title
- Description
- Duration
- Cost/Price
- Variable cost (per hour... etc.)
- Emails
- Email config (Will need to be added by the dev)
- React email templates
- Appointment created email
- Add iCal link/file to email
- Appointment updated email
- Add iCal link/file to email
- Customer signed up email
- Appointment created email
- Custom payload views
- Appointments schedule view /appointments/schedule
- Appointments schedule view for loggined in user /appointments/schedule/me
- Charts /appointments/charts
- Marketing Campaigns /appointments/marketing-campaigns
- ...more to come
- Endpoints
- Get available timeslots for given date, services, host
- ...more to come
- Calendar schedule view
- Ability to update appointment from calendar view
- Ability to add appointments by clicking/tapping slot in calendar
- Add appointments using Payload Drawer
- Get start date and time from clicked slot
- Get host from clicked slot
- Opening times global
- Monday...Sunday
- Set times for different days of week
- Define if closed on that day
- Add properties for showing/hiding navItems and beforeDashboard
- Add overrides for collections
A lot more I want to add. But may need some help.


