0.0.4-beta-3 • Published 1 month ago

payload-appointments-plugin v0.0.4-beta-3

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

Payload plugin to add appointment scheduling to your Payload app.

This plugin allows you to add appointment scheduling capabilities to your payload app. It provides:

  • Customers, Hosts, Services and Appointments collections
  • An Appointment schedule calendar view.
  • Opening times global.
  • Authentication on Customers collection.

Appointments List day

Appointments List week

Collections

Installation

1. install

npm i payload-appointments-plugin

2. add to config

import appointments from "payload-appointments-plugin";

export default buildConfig({
	/* ... */
	plugins: [appointments()],
	/* ... */
});

3. add email config

follow instructions on PayloadCMS Email Docs

todo?

  • Customers collection
    • Auth on collection
    • Firstname, lastname, username, dob, email, password
  • 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
  • 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
      • Forgot password email
  • Custom payload views
    • Appointments schedule view /appointments-schedule
  • Endpoints
    • Get available timeslots for given date, services, host
  • Calendar schedule view
    • Ability to add appointments by clicking/tapping slot in calendar
      • 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

A lot more I want to add. But may need some help.

testing?

I'm new to testing...