Okay
  Public Ticket #3168538
Limiting who can book by WordPress user role
Closed

Comments

  • Nathan Wilson started the conversation

    Hi,


    I have multiple user roles on my website that are governed through the Ultimate Membership Pro plugin.

    Is it possible to redirect a user that is not of the appropriate membership level when they click the Book button? This is before the step where they confirm their details and click Confirm.

    I can see the confirmation window is loaded through javascript. If possible, I'd like to use a WP hook to prevent any action being taken by a user.

    To be clear, I would like all members to be able to see the services that are available, but only select WP roles should be able to get to the booking screen.

    Any help would be greatly appreciated.

    Also, do you have a list of WP hooks that I can use? I can't seem to find any in your documentation.


    Thanks!

  •  1,618
    Marko replied


    Hello Nathan,

    Thank you for reaching out to us.

    Amelia doesn't yet have a membership feature, but it will be developed as a part of the Developer license (maybe even as part of the Pro license) in the future. We're not sure if you can achieve this, since we don't work with Membership plugins. 

    As for hooks yes we can send you the list and we hope that this will help you to achieve what you want in case this is possible.

    Amelia currently has the following hooks:

    <script>
    window.ameliaActions = {
      ViewContent: function (success = null, error = null, data) {
        //triggered when the form loads
        console.log('ViewContent HOOK')
        console.log(data)
        console.log('------------')
      },
      SelectService: function (success = null, error = null, data) {
        //triggered when the service is selected/changed in the form
        console.log('SelectService HOOK')
        console.log(data)
        console.log('------------')
      },
      SelectEmployee: function (success = null, error = null, data) {
        //triggered when the employee is selected/changed in the form
        console.log('SelectEmployee HOOK')
        console.log(data)
        console.log('------------')
      },
      SelectLocation: function (success = null, error = null, data) {
        //triggered when the location is selected/changed in the form
        console.log('SelectLocation HOOK')
        console.log(data)
        console.log('------------')
      },
      SelectCategory: function (success = null, error = null, data) {
        //triggered when the category is selected/changed in the form
        console.log('SelectCategory HOOK')
        console.log(data)
        console.log('------------')
      },
      SelectPackage: function (success = null, error = null, data) {
        //triggered when the package is selected/changed in the form
        console.log('SelectPackage HOOK')
        console.log(data)
        console.log('------------')
      },
      InitiateCheckout: function (success = null, error = null, data) {
        //triggered once the customer lands on the "info" page where they fill in their details
        console.log('InitiateCheckout HOOK')
        console.log(data)
        console.log('------------')
      },
      Schedule: function (success = null, error = null, data) {
        //triggered once the 'on-site' booking is completed
        console.log('Schedule HOOK')
        console.log(data)
        console.log('------------')
      },
      Purchased: function (success = null, error = null, data) {
        //triggered once an online booking is completed
        console.log('Purchased HOOK')
        console.log(data)
        console.log('------------')
      },
      beforeBooking: function (success = null, error = null, data) {
        //triggered when the "Confirm" button is clicked but before the booking is completed.
        //This hook currently doesn't work for Mollie and WooCommerce payments
        console.log('Before booking is created HOOK')
        console.log(data)
        console.log('------------')
      },
    }
    </script>

    These are the same hooks used in Google Analytics and Facebook Pixel integrations, but if you need some other hooks added, please let us know which ones and explain what they would contain and when they should be triggered.

    Hope this helps. 

    Kind Regards, 

    Marko Davidovic [email protected]

    Rate my support

    Try our FREE mapping plugin! MapSVG - easy Google maps, interactive SVG maps, floor plans, choropleth maps, and much more - https://wordpress.org/plugins/mapsvg-lite-interactive-vector-maps/

    wpDataTables: FAQ | Facebook | Twitter | Instagram | Front-end and back-end demo | Docs

    Amelia: FAQ | Facebook | Twitter | Instagram | Amelia demo sites | Docs | Discord Community

    You can try wpDataTables add-ons before purchasing on these sandbox sites:

    Powerful Filters | Gravity Forms Integration for wpDataTables | Formidable Forms Integration for wpDataTables | Master-Detail Tables