WPLMS Appointments Help

Welcome to Appointments addon for WPLMS.

Support Forums | Support Forums

Help Index

A

  • Appointments : An Appointment in simple language is defined as an arrangement to meet someone at a particular time and place. The main objective of this plugin is to set a time for a task. Instructors can set the date and time of their availability so that students can find their favourite instructors according to their availability and book the instructors

B

  • Booking : A booking is the arrangement that you make when you book something. It allows students to book appointments for instructors's lessons directly from your website giving users/students a seamless booking experience.

  • Buffer Time : Buffer time is extra time added to a service duration. If a meeting is about to start and say you'll get notification about that meeting 60 minutes before. So that, 60 minutes is considered as Buffer Time

C

  • Cancel Schedule/Booking : In the addon, we have this feature also to cancel the appointment booking. If instructor is not available at that moment of time. He can cancel his booking. A notification will be sent to the user. Similarly, this feature is alos available for the user to cancel his appointment.

D

  • Directory : Directory or Appointments Directory will show all the instructors who are available for booking. Those instructors will not be visible here whose timeslots are already passed. Only the instructors with upcoming timeslots will be visible here.

  • Default Presentation : A setting we have added in the LMS > Settings > Appointments > General Settings. When a new meeting starts, BigBlueButton displays a default presentation. You can replace the contents of this file with your presentation. Whenever a meeting is created, BigBlueButton will automatically load, convert, and display this presentation for all users. The pdf uploaded here will act as a default presentation for bigbluebutton

I

  • Instructors : Instructors are generally the course administrators/authors. Students can book a appointments with instructors

M

  • Meeting : A meeting is when two or more people come together to discuss one or more topics. Similarly this feature is added in this plugin so a user can join a meeting to discuss about something with instructors

P

  • Promotional Video : It is nothing to do with any kind of promotions. This is actually a featured video which will be visible in the course directory calendar.So when an instructor uploads a video here or set a link in the promotional video setting. That video will be displayed in the appointments directory page

S

  • Schedule : A Schedule is defined as a sequence of events in chronological order. The process of creating a schedule and deciding how to order these tasks and how to commit resources between the variety of possible tasks, is called scheduling.

  • Slot : Slot is a defined time interval. Using appointments plugin you can book a schedule and you can break those schedules into smaller time intervals. For example, A schedule is booked for two days for 10 hours each. Then you can break those slots for 1 hour or 15 minutes.

T

  • Time Format : The format in which the time will be visible. We have given three types of format to choose from. The setting is added in LMS > Settings > Appointments

W

  • Walkthrough : A new feature is added which guides the whole process of creating schedules. It will show a step by step tour of how to add a schedule. A user can easily use this feature and can create a schedule. We have introcuced this feature because most of the users are confused about how to create a schedule from the beginning. In this, you need not to do anything. It will automatically create a schedule and trigger the button clicks also. To disable the walkthrough, simply click on skip button

Getting Error 404

Basically, it means that the client (your, or your visitor’s, web browser) was able to successfully connect to the host (your website’s server), but it was unable to find the actual resource that was requested (e.g. a specific URL or filename). For example, if someone tries to access yoursite.com/post-name but you don’t have any content with the slug post-name. Please try the below steps to resolve this issue:
  • Resetting your permalinks from wp-admin > Settings > Permalinks > Save Changes
  • Restoring your .htaccess file
  • Disabling your themes and plugins

Not Getting Emails/Messages/Notifications

If you are not getting any emails/messages/notifications related to appointments then it might be the issue related to touchpoints. Go to wp-admin > LMS > Settings > TouchPoints and enable the touchpoints. Een after enabling touchpoints still, you are not getting any emails then first check the email templates present or not for those touchpoints. If Email Templates are not present then follow this article: Migrate Email Templates

Appointments Directory Button is throwing Error 404

The appointments directory is set. There are two buttons on that page, one is book button and other is view profile. If a user(either logged in or non logged in) click on one of these buttons to book instructor from the list or to check the profile. He lands on 404 error. Then this is not a case of permalinks. Actually, there is a condition if enable appointments checkbox is enabled for that instructor. Only then the profile will be visible. Otherwise, it will land on 404 error

Appointments Directory is not visible

In this case, check whether a pagge is connected as appointments directory page or not in LMS > Settings > Appointments > Appointments Directory Page. The second thing is to check the shortcode is added or not

How to change the position of the Book Tab on Single Course Page

Go to LMS > Settings > General > Course Menu and change the postion here then save settings

Not Able to select only one day schedule

Yes, this is not possible because we consider a one day as an event and more than one day as a schedule. If you still, want to select one day then first select two days and then remove one day

Action Hooks

  • wplms_course_action_point_permalink_settings :Executes to set the appointment slug
  • bp_profile_after_member_header_meta : Executes on user profile below member header
  • wplms_appointments_booking_form :
    @param: $type, $id The type parameter is used to check whether it is a type of course or profile
  • wplms_front_end_generate_fields_default :
    @param: $field, $course_id
  • wplms_front_end_save_course_pricing : This action executes before saving the pricing of a course in front end
    @param: $course_id, $settings $settings is used to check the type of setting whether it is a appointment_hidden_product or not
  • woocommerce_remove_cart_item :Execute at the time of removing cart item
    @param: $cart_item_key, $cart These parameters are used to fetch the appointment_ids
  • woocommerce_check_cart_items :When we process the checkout, lets ensure cart items are rechecked to prevent checkout. So this hook executes at that time
  • woocommerce_add_order_item_meta :Executes when we want to add custom meta to the order items
    @param: $item_id, $values Here $item_id is the id of the item and $values is used top fetch the valuies of the form
  • woocommerce_order_status_completed :Runs to check the order status is completed or not
    @param: $order_id
  • wplms_appointment_booked : Executes at the time when activity related to appointment booking is saving in the activity meta table
    @param: $appointment_id,$user_id,$course_id
  • wplms_appointments_update_appointment :Executes to update the appointment status
    @param: $id,$type,$args
  • bp_after_messages_compose_content :Fires after the display of message compose content.
  • messages_message_sent :The WordPress Core messages message sent hook.
    @param: $message
  • init :Fires after WordPress has finished loading but before any headers are sent.
  • wplms_appointments_meeting_ended :Executes when the meeting is going to end
    @param: $schedule_id
  • rest_api_init :Fires when preparing to serve an API request.
  • wplms_set_schedule_meeting :Executes for setting meeting schedule
    @param: $schedule_id,$meta_value
  • wplms_appointments_booking_rejected :Fires when appointments booking rejected
    @param: $post['booker_id'],$post
  • wplms_appointments_appointment_cancelled :Fires when appointments cancelled
    @param: $args,$metas,$order_details
  • wplms_appointments_appointment_updated :Fires when appointments are updated
    @param: $schedule,$details
  • wplms_appointments_appointment_rescheduled :Fires when appointments booking rescheduled
    @param: $post
  • wplms_insert_appointment : Executes while inserting the appointments in database with all the arguments
    @param: $parent_appointment_id,$appointment_id
  • wplms_update_appointment :Executes while updating the appointments schedule in database with all the arguments
    @param: $parent_appointment_id,$appointment['appointment_id']
  • wplms_appointment_schedule_id :Executes before setting the timestamp of next available schedule
    @param: $schedule_id
  • wplms_set_schedule_meeting : This action is executed before setting bbb meeting when next schedule event for setting is setting. Using these parameters $schedule_id,$meta_value you can change the message of meeting set also
    @param: $schedule_id,$slot_timings
  • wplms_meeting_schedule : Fires at the time when next schedule event is going to set for meeting schedule when the current time passed
    @param: $schedule_id,$event_id,$slot_timings
  • wplms_update_availability :Executes to update the appointment meta with the meta value of scheduled queues
    @param: $return,$args
  • wplms_instructor_meta :This hook will execute below the intructor meta on single course page
    @param: $meta,$instructor_id
  • wplms_front_end_save_course_components :Runs before saving the component section of the course in the frontend
    @param: $course_id,$settings
  • woocommerce_after_calculate_totals :The WordPress Core woocommerce after calculate totals hook.

Filters

  • request :Filters the array of parsed query variables.
    @param: $vars
  • wplms_course_front_end_save_pricing :Executes at the time of saving price from front end
    @param: $return,$setting
  • wplms_appointments_cart_timer :Execute to fetch the appointments cart timer(Maximum appointment booking time to complete purchase of slot/schedules)
    @param: $timer
  • wplms_appointments_appointment_id_html_activity :
  • wplms_appointments_record_activity :Using this filter we can changes the arguments of recorded activity related to appointments(primary link, component)
  • wplms_appointment_instructor_settings : executes on instructor's appointment settings
  • wplms_appointments_course_book_args :
  • wplms_appointments_schedule_types :On this filter you can add the new types of appointments(currently types are: free, reserved)
  • wplms_appointments_booking_calendar_data :Executes on booking calendar data. If someone wants to change these data then execute a function on this filter
  • wplms_appotintments_date_format :Fires to change the date format
  • wplms_appotintments_time_format :Fires to change the time format
  • wplms_appointments_settings :Executes on wplms appointments settings(backend settings)
    @param: $settings
  • wplms_appointments_instructor_product :Executes at the time of creating the appointments related products
  • wplms_lms_appointments_tabs :On this filter you can add another tab besides help tab of appointments plugin
  • wplms_appointments_search_filters :
    @param: $filters
  • bp_course_all_mails :works for email templates. A function is defned and the function handles the formatting of email templates
    @param: @email
  • bp_course_format_notifications :Execute tob format the message notification
    @param:
  • wplms_appointments_appointment_id_html :Fires where appointment id is showing wth start date and end date. To modify the HTML content of that you can modify the function on this filter
    @param:
  • wplms_appointments_touch_points_array :Executes where touchpoints defined. This filter is executed on the touchpoints array
  • wplms_course_instructor_booking_link :To odify the link of the button present on single course page below instructor name
  • wplms_course_instructors :Executes to check whether a course has a single instructor or more than that
  • wplms_appointments_course_options :Executes to modify the conditional switch parameters. This setting "Enable Course Bookings by Students" can be changed on this filter
  • wplms_appointment_course_non_bookable :Check if someone already added the appointment in cart. If item is present in the cart then it is non bookable
  • wplms_course_nav_menu :Executes to set the book tab menu on single course page
    @param: $menu
  • wplms_save_vibe_course_permalinks :Returns permalinks after saving the appointments slug
    @param: $permalinks
  • wplms_course_creation_tabs :Executes at the of adding appointment pricng setting in wplms front end plugin
    @param: $fields
  • woocommerce_add_cart_item :returns $cart_item_data after checking the cart items
    @param: $cart_item_data,$cart_item_key
  • woocommerce_get_cart_item_from_session :Allow 3rd parties to validate this item before it’s added to cart and add their own notices. Here, executed to get the items of the cart from session and return $item
    @param: $item,$values,$key
  • woocommerce_cart_item_name :This filter, works for each product in cart.
    @param: $product_name,$cart_item
  • woocommerce_cart_item_quantity : works on cart item quantity
    @param: $product_quantity, $cart_item_key, $cart_item
  • wplms_appointment_cancel_booking_woocommerce :If a user cancel his booking. At that time this filter executes for the woocommerce order
    @param: $message,$order_details,$args
  • wplms_appointments_after_data :This is the main filter of instructor booking. It will check whether the item type is instructor_booking or not and return $args
    @param: $args

Functions

All these functions are defined in functions.php
  • get_slots : Returns Slots
  • get_pending_slots($args) : Returns Pending Slots
  • wplms_appointment_get_profile_setting($user_id,$setting) : Returns the profile settings, if nothing is set then it will return 0 otherwise it will return settings
  • wplms_get_approval_time($instructor_id) : Returns the Payment processing Time for Slots if set otherwise return 86400 minutes
  • wplms_appointments_get_max_seats($args) : Returns the maximum number of seats for that particluar appointment
  • wplms_appointments_get_unread_count($user_id) : Return the unread count of the messages related to appointments
  • wplms_appointments_confirm_booking($user_id,$slot_id,$exras=0) : This will check the booker id is present or not. If present then it will return true that booking is confirmed for this user id
  • wplms_appointments_instructor_price_range($instructor_id,$minmax) : Returns the price range of the instructor
  • wplms_get_appointment_bookers($appointment_id) : Returns the array of booker ids of that particular appointment id
  • wplms_appointments_get_active_slots : Returns active slots
  • wplms_appointments_remove_active_slot($slot_id) : If someone removes the active slots from frontend then this function executes which deletes those keys of active slots from database
  • wplms_appointments_record_active_slot($slot) : This will update the database table with all the active slots
  • wplms_appointments_get_pending_slots($args) : Returns Pending Slots
  • wplms_appointments_update_pending_slots($args) : Update Pending Slots for appointments
  • wplms_appointments_convert_utc_local($utc_date,$utc_time,$user_id) : Convert UTC timezone to local and return the date
  • wplms_getdate_appointment_timestamp($appointment) : Returns the start date
  • wplms_appointments_get_course_id_instatus : Returns the course id

Shortcode Available

  • wplms_appointment_booking : This shortcode will show appointment booking calendar wherever you will add. Add the shortcode like this: [wplms_appointment_booking schedule_ids=''] and pass the schedule id for which you want to show the calendar and appointments
  • wplms_appointments : Add the shortcode like this: [wplms_appointments type='',item_id='',instructor_id='',booker_id='',schedule_ids='',slot_ids='',start_date='',end_date='',duration=7]
  • wplms_appointments_directory : Add the shortcode like this: [wplms_appointments_directory type='instructor_booking',status='open',primary_id='',notify_users='',appointments_title='',appointments_subtitle='',welcome_message='',user_id='',class='']. You can pass these parameters in this shortcode