Added Version 22.214.171.124
Make sure the Business owner is a vendor first, then when adding a new Time Slot in Calendar, Business owner will be able to input Price of particular Time Slot, as it appears in the following image:
The price currency will be same currency set in WooCommerce Settings.
If Price is not set or set to be zero, the appointment will be for free.
On the client side, when a client chooses a specific booking timeslot, he will be presented with the following pop up
After the client clicks Requests an appointment, he will be redirected to WooComemrce Checkout Page to pay, where a product is automatically created and assigned to Vendor as its owner and linked to this specific Time Slot.
Make sure WooCommerce Checkout Page is properly configured. Read more
After clients pays, the client can visit Appointments section in his account and the Appointment will appear as Processing if the WooCommerce Order is still in Processing mode.
After the WooCommerce order changes state to Completed, the appointment on Client Side will show Order Completed, as it appears in the following image:
If you wish the order to appear directly paid, then you have to set the order to be auto completed, you can do this by various way, like this plugin here.
Vendor Side Again
Vendor will first see the Appointment as Order Processing first and when order is completed, the notice change into Order Paid, as it appears in the following images:
Also Notice that Vendors have the capability to Approve the Appointment, but not to reject the appointment, while free appointments they can reject.
Vendors will see a new Product in their product list specific to appointment having the appointment title and date and time slots assigned to it, as it appears in the following image.
And finally Vendors will see their commission part in their user Dashbaord that will be automatically calculated in accordance to commissions settings Admin set in WCMP settings payment. The following images show 2 Appointments for this Vendor, with 81% Commission: