Ideas about how to create a site that allows people to list a request an appointment


I am looking at possible methods to create a site that allows people to list a request an appointment and allow other users to offer their time.

In one way this is like jobs and experts - but it is also more of an appointments system I want - but one that allows people to request time slots... not just see the list of available appointment slots for a given user.

An example of how it would work is:
User 1 wants someone to meet them at 9am. This is shared with a selected group of friends (who all have profiles on the site). User 2 sees this and accepts the request. Points based system is used to pay for the booking.

I can't really see an obvious way to achieve this (as i need users to be connecting with each other and displaying their availability via the site) without the need to have to set each users availability up via site admin. Therefore it needs to happen through a frontend form system.

The key issues i am struggling with is in creating a system where :

1. Users can Book/request/accept service
2. Users can create an groups of users within all of your friends to direct specific requests to.
3. Points bank – ability to spend and earn points and have these displayed on account/dashboard and used to book appointments.
4. Ability to receive notifications/reminders on upcoming bookings.
5. Calendar showing availability and availability of members in private friends group

My only solution at the moment involves using the booking system to be able to show when users are available and to ask the person booking the service to manually view their calendar and book directly... but I don't know whether there is any frontend method to allow members to easily set their availability on a day by day basis.

Any ideas how this could be approached.. or is there another plugin I am missing?


  • Adam Czajczyk

    Hello Chris,

    I hope you're well today and thank you for your question!

    I think I'd start with setting up BuddyPress first. This will let you create a "user zone", meaning that users will have access to their profiles via front-end site and will also be able to e.g. view other users' profiles, join groups etc. There are many extensions that will allow you to build a nice and useful "community site". This would be a great base I think.

    Next step would be to implement our own "Events+" plugin:

    This is a tool dedicated to booking events but with a few add-ons enabled it should do the trick here. What would you need then?

    - BuddyPress: MyEvents - this adds an Events tab to user profile
    - BuddyPress: Group Events (optional) - allows you to connect Events with BuddyPress groups
    - Capabilities: that would be a "core" add-on because it allows you to grant Events-related capabilities to WP user roles, e.g. let subscribers create their events!
    - Front-page editing: adds a shortcode that you may put on any page of your site in order to display event editing form

    All those add-ons are built-in into our Events+ plugin and I think this should let you create the setup you're wishing to create.

    As for binding this all to a "point system". The "myCRED" plugin (or a system) sounds like a solution here:

    Although there's no direct integration with Events+ it does play well with BuddyPress and also features a lot of add-ons and quite an extensive API so I'm pretty sure it can be used here.

    Best regards,

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.