Client Sync Plugin: Administrator Guilde
This guide provides instructions for administrators on how to set up and manage client appointments using the Client Sync plugin.
I. Initial Setup (Client Sync > Calendar & Settings)
This is where you'll configure the core functionality of the plugin.
-
Navigate to Client Sync: In your WordPress admin dashboard, find the "Client Sync" menu item. Click it to go to the main settings page.
-
Calendar & Settings Tab (Default): This is the initial tab.
-
Appointment Calendar: This section displays a visual calendar showing all available time slots and booked appointments. It's a read-only overview here. Booked slots may link directly to the appointment's edit page.
-
Calendar Display Settings: Configure how the frontend appointment calendar appears to users.
-
Visible Start Time: Set the earliest time displayed on the calendar's vertical axis.
-
Visible End Time: Set the latest time displayed.
-
Calendar Grid Precision: Set the time increments shown (e.g., 15 minutes, 30 minutes).
-
Click "Save Display Times" after making changes.
-
-
-
Client List Tab:
-
This tab provides a link to the standard WordPress "Users" list. The plugin enhances this list with columns showing client-specific appointment data (Joined date, Last Appointment, Next Appointment, Total Appts, and optionally a custom field).
-
Click "View Client List (Users)" to go to the Users page.
-
-
Manage Time Slots Tab:
-
This is a crucial tab for defining when clients can book.
-
Availability Calendar Editor: A visual calendar where you can manually add, move, resize, or delete available time slots (marked in green). Booked slots (red/pink) are shown for reference.
-
Click and drag on an empty space in the calendar to create a new available slot.
-
Drag an existing green slot to move it.
-
Drag the top or bottom edge of a green slot to resize it.
-
Click the "×" on a green slot to delete it.
-
Click the "Save Slots" button in the calendar header toolbar to save your changes.
-
-
Bulk Time Slot Creation: (Click "Show Alternatives" to expand) Provides tools to generate multiple slots quickly.
-
Generate Slots for Date Range:
-
Select a Date Range (Start and End dates).
-
Choose a Schedule Type: Use the Standard Day Schedule (recommended) or define a Custom Workday (start/end times, duration, optional break).
-
Select the Days of the Week within the date range where you want to apply the schedule.
-
Apply with Attributes: If you've configured Availability Filtering Dimensions (in the Style tab), select the specific attribute values (e.g., "Practitioner: Dr. Smith", "Treatment Type: Massage") that these generated slots will be associated with. Slots generated without selecting attributes for configured dimensions will not appear when filters are used on the frontend.
-
Click "Generate Slots". This replaces any existing available slots on the selected days within that range that have the same attributes.
-
-
Add Individual Slots (Manual): Manually enter specific dates and times for individual slots.
-
Manage Existing Available Slots (List View): A link to a list table showing all available slots, allowing for sorting, filtering, and bulk deletion of slots.
-
-
-
Standard Day Schedule Tab:
-
Defines a reusable template for a typical day's schedule.
-
Visual Editor Display Settings: Set the visible time range for this specific visual editor (doesn't affect available slots themselves). Click "Save Display Times".
-
Edit Schedule Visually: Use a visual calendar similar to the "Availability Calendar Editor" but specifically for defining the default slot times for a single day template. These slots are saved in the "Standard Day Schedule" option and used by the "Generate Slots" tool.
-
-
Notifications Tab:
-
Configure email notifications sent by the plugin.
-
General Email Settings: Set the "From" name and email address for outgoing notifications, and specify admin recipients.
-
Notification Event Sections: For each event (e.g., New Appointment, Payment Successful, Payment Failed), you can enable/disable notifications for Admin and Client recipients and customize the email subject and body using available placeholders (listed per section).
-
Click "Save Changes" after modifying notification settings.
-
-
Style Tab:
-
Configure the appearance and some core settings for the frontend.
-
Frontend Styles: Customize colors and potentially add custom CSS for the frontend interface.
-
Frontend Calendar Visible Time Range: Set the min/max time and grid precision for the frontend calendar displayed by the [_cs_appointment] shortcode. (This is separate from the times visible in the Standard Day Schedule editor).
-
Frontend Calendar Views: Select the Initial View (Month, Week, Day, List) that the frontend appointment calendar will display by default when a user first visits the page.
-
Frontend Page Links:
-
Login Page URL: Specify the URL of your custom frontend login page. If set, the "Please log in" link in the [_cs_appointment] shortcode will direct users here instead of the default WordPress login page (wp-login.php).
-
-
Availability Filtering Dimensions: Select which of your "Dropdown Select" Appointment Custom Fields will be used as filtering criteria on the frontend [_cs_appointment] calendar. Users will select values for these fields before the calendar is displayed.
-
Click "Save Changes" after modifying style settings.
-
II. Appointment Custom Fields (Client Sync > Custom Fields)
Define additional fields for storing information about your clients or appointments.
-
Navigate to Custom Fields: In the Client Sync menu, click "Custom Fields".
-
Client Custom Fields Tab: Define fields to add to client (User) profiles.
-
Add/Edit Client Custom Field: Create new fields (Text, Textarea, Select, Checkboxes, Radio, Custom HTML, Image Map). You can mark them as Required.
-
Existing Client Custom Fields: View, Edit, Delete, and reorder existing client fields.
-
List Table Column Display: Select one client field to appear as a column on the main WordPress Users list and multiple client fields to appear as columns on the Appointments list (via drag-and-drop or checkboxes, depending on UI version).
-
-
Appointment Custom Fields Tab: Define fields to add to Appointment posts.
-
Add/Edit Appointment Custom Field: Create new fields (Text, Textarea, Select, Checkboxes, Radio, Custom HTML, Image Map). You can mark them as Required.
-
Existing Appointment Custom Fields: View, Edit, Delete, and reorder existing appointment fields. Note: If you want a field to be used for filtering availability on the frontend, it must be a "Dropdown Select" type and also selected in the "Availability Filtering Dimensions" setting under Client Sync > Calendar & Settings > Style.
-
III. Managing Appointments
Appointments are managed through the standard WordPress Posts interface for the "Appointment" custom post type.
-
Navigate to Appointments: In the Client Sync menu, click "Appointments" (or the "All Appointments" submenu). This takes you to the standard WordPress list table for appointments.
-
Viewing Appointments:
-
The list table shows all appointments with default columns (Title, Author, Date) and the custom columns you configured in the Custom Fields tab (Client Name, Appointment Date/Time, Client Custom Fields, Appointment Custom Fields).
-
You can sort by certain columns (Title, Date, Appointment Date/Time, etc.) and filter by status.
-
-
Adding a New Appointment (Admin):
-
In the Client Sync menu, click "Add New Appointment".
-
This takes you to the standard WordPress editor for the Appointment CPT.
-
Fill in the default editor area (this is often used for internal notes).
-
Meta Boxes (Right Sidebar):
-
Assign Client: Select a registered user to assign the appointment to (sets the post author).
-
Appointment Time Slot: Select a date (using the date picker) to load available slots for that date. Choose an available slot from the list. Hidden fields capture the selected date, time identifier, and duration.
-
Appointment Details: Fill in any custom appointment fields you defined in the Custom Fields tab.
-
-
Publish/Update: Click "Publish" (or "Update") to save the appointment. The Title will be automatically generated based on the selected client and time slot.
-
-
Editing an Existing Appointment (Admin):
-
From the Appointments list table, click on the title of an appointment to edit it.
-
Modify the editor content (internal notes).
-
Modify details in the meta boxes (Client, Time Slot, Custom Fields).
-
Click "Update" to save changes.
-
IV. Frontend Shortcodes
Ensure these shortcodes are placed on public-facing pages.
-
[_cs_appointment]: Displays the calendar and form for clients to book appointments.
-
[_cs_registration]: Displays a form for new users to register.
-
[_cs_user_account]: Displays a form for logged-in users to update their profile and custom fields.
-
[_cs_view_notes]: Displays a list of the logged-in user's appointments with links to view details.
-
[_cs_appointment_detail]: Displays details for a single appointment based on a URL parameter (should be on a dedicated page).
-
[_cs_display_user_info]: Displays basic info about the logged-in user.
-
[_cs_display_user_name]: Displays just the logged-in user's name.
-
[_cs_calendar] / [_cs_manager_calendar]: (Likely removed or for manager roles only) Displays a calendar overview.
Key Workflow Summary:
-
Define Filters: Decide what criteria (Practitioner, Type, Location) appointments can be filtered by on the frontend, create them as "Dropdown Select" Appointment Custom Fields, and select these fields in Client Sync > Calendar & Settings > Style > Availability Filtering Dimensions.
-
Define Standard Schedule: Create the basic daily time blocks in Client Sync > Calendar & Settings > Standard Day Schedule.
-
Generate Available Slots: Use the Client Sync > Calendar & Settings > Manage Time Slots > Generate Slots tool to create future availability based on your standard schedule, ensuring you select the correct Attributes (Practitioner, Type, Location, etc.) for the slots you are creating.
-
Client Booking: Clients visit the page with the [_cs_appointment] shortcode, select filters, choose an available slot, fill in any required custom fields, select a payment option (if applicable), and submit.
-
Admin Management: Review and edit appointments in the Appointments list table. Use the "Add New Appointment" screen to book appointments manually for clients.
This overview should cover the main administrative tasks for managing the Client Sync plugin.
Link For appointment Paramiters
Define URL Parameters: We'll use URL query parameters to specify the filter values. For example, yoursite.com/appointments-page/?cs_filter_service_type=Consultation&cs_filter_location=MainOffice. I'll use the prefix cs_filter_ followed by the field key of your availability dimension.
How to use it:
-
Find your Availability Dimension Keys: Go to your Client Sync settings where you define "Availability Filtering Dimensions" (likely under Styles or a dedicated Availability tab if you've created one). Note the "Field Key" for each dimension (e.g., service_type, location, practitioner_name).
-
Construct your links:
-
Get the URL of the page where your [_cs_appointment] shortcode is located.
-
Append query parameters using the prefix cs_filter_ followed by the field key, and set its value.
-
Example:
-
If your page is https://example.com/book-appointment/
-
And you have a dimension with key service_type and options "Massage", "Consultation".
-
And another dimension with key practitioner and options "Jane Doe", "John Smith".
-
To link to pre-filter for "Massage" with "Jane Doe":
https://example.com/book-appointment/?cs_filter_service_type=Massage&cs_filter_practitioner=Jane%20Doe
(Note: Jane Doe becomes Jane%20Doe because spaces in URLs are encoded as %20). -
To link to pre-filter only for "Consultation":
https://example.com/book-appointment/?cs_filter_service_type=Consultation
-
-