HAPI Forms - Now You're In Control

With HAPI Forms you can completely customize and simplify the experience of creating and updating items in PeopleVine.


Your client and/or your users are going to be happy for HAPI Forms : )  

With HAPI Forms you can setup completely custom forms to replace our out of the box create screens.  With the ability to render both in the Control Panel and on your website (with page based permissions), you can truly customize the entire experience.

For example, if you wanted to simplify the event create flow, you could simply write something like this:

<div class="container">
  <div id="pvForm">
    <input type="textbox" id="event_title" placeholder="Event Title"/><br>
    <input type="textbox" id="event_month" placeholder="MM"/><br>
    <input type="textbox" id="event_day" placeholder="DD"/><br>
    <input type="textbox" id="event_year" placeholder="YYYY"/><br>
    <select id="event_type">
        <option value="register">Registration Required</option>
        <option value="ticket">Tickets</option>
    </select>
    <br>
    <textarea id="event_summary" placeholder="Enter Summary Here"></textarea><br>
    <input type="checkbox" id="allow_cancel"/>Allow people to cancel their tickets.<br>
    <input type="button" id="submitPVForm" value="Submit" class="btn"/>
  </div>
</div>

Then include the following Javascript with your forms specific details:

pvReady(function(){    
    HAPIform({
        trigger: '#submitPVForm ', // The ID of the button that will submit the form
        wrapper: '#pvForm', // The ID of the element that contains all of the form input items
        reference_type: 'customer',
        action: 'edit',
        // List of element ID or Name to skip when compiling the form data
        // More details in the `before` method
        skip: ['event_month', 'event_day', 'event_year'],
        triggered: function(){
        /* HapiForm Trigger button clicked
           Do anything you want as soon as the form is submitted, here we are using our standard loading animation
        */
            myApp.showPleaseWait();
        },
        before: function(settings, data){
        /* Add custom data before submitting
          In our example we have the event date split into 3 separate inputs (Month/Day/Year) but event_date needs to be stored as one value (MM/DD/YYYY)
          First we add the month/day/year element IDs into the `skip` property (see above)
          We can push this into the compiled form data before it gets submitted
        */
            data.push({
                'key' : 'event_date',
                'value' : $('#event_month').val() + '/' + $('#event_day').val() + '/' + $('#event_year').val()
            });
            return data;
        },
        success: function(settings, response){
        /* Form was successfully submitted
           Do anything you want after the form is successfully submitted
       */
            var alert_elem = $(' ', {
                'class' : 'row',
                'id' : 'profile_alert',
                'html' : '  Your profile has been updated.  '
            });
            $(settings.wrapper).prepend(alert_elem);
            window.scrollTo({top: 0, behavior: 'smooth'});
        },
        fail: function(settings, response){
        // Error submitting Form - Handle form errors
            var alert_elem = $(' ', {
                'class' : 'row',
                'id' : 'profile_alert',
                'html' : '  There was a problem updating your profile.  '
            });
            $(settings.wrapper).prepend(alert_elem);
            window.scrollTo({top: 0, behavior: 'smooth'});
        },
        always: function(settings){
            // Always method can be used to hide any animations regardless of success or failure
            myApp.hidePleaseWait();
        }
    });
});

In this case we are prompting the user to enter the event title, date, select event type, enter a summary and enable or disable self cancel.  This is to show you the various inputs that are currently supported.  

The only pre-requisite to leveraging HAPI Forms is to enable jQuery (sorry we got lazy... too much programming to do, but what's wrong with jQuery, thanks to them our life is easier and the latest speeds can handle a few extra KB - 5G will be at GB/s).

Additional Help Tutorials

Find more ways to grow on PeopleVine.

Configure Salto to Work with Peoplevine Check-In

Follow these steps to configure your Salto to auto Check-In members when they use a Salto keycard.

Posted January 12, 2024

Detailed Member Statements & Billing

Unveiling Peoplevine's Member Statements & Billing feature: a comprehensive tool ensuring utmost transparency, simplicity, and efficiency in every financial transaction for both members and operators.

Posted September 28, 2023

New and Improved Timeline View

Dive into Peoplevine's My Schedule Timeline View: a feature designed to bring unmatched convenience and clarity to members' and guests' schedules, centralizing everything from dining to events.

Posted September 28, 2023

Spa & Wellness Booking with Book4Time Integration

Experience the perfect synergy of Peoplevine and Book4Time: a collaboration that transforms spa and wellness bookings, merging front-end engagement with backend efficiency.

Posted September 28, 2023

Going Global

Discover how PeopleVine's "Global Network" solution is set to revolutionize the hospitality industry by unifying brand experiences across multiple properties, whether globally or within a local region, offering members a seamless digital experience and granting operators unparalleled insights.

Posted September 28, 2023

Override the Guest Pass E-mail with Template

You can replace the e-mail sent to a guest when a guest pass is issued while retaining the necessary links to ensure they can activate it.

Posted September 27, 2023

Transaction Reporting has an Upgrade

We updated the Transaction Reporting screen to provide you with the data necessary to provide a glimpse at your revenue and the necessary data to audit your financials.

Posted September 7, 2023

You Can Set the Time to Process Authorizations

When a charge is processed through your POS, the charge may be Authorized until we capture the tip or at the end of day to handle refunds or changes. In this case, you can now set the time as to when we will process your authorizations.

Posted August 28, 2023

Adding Your Alliants Integration

Follow these steps to connect Peoplevine with your Alliants account for messaging.

Posted August 28, 2023

Setup Your Membership Tiers Based on Age

You can enable your membership tier to be for members between certain ages, when they past that age, they will automatically migrate to the next age tier.

Posted August 22, 2023

Follow these steps to update your Twilio settings to ensure delivery

This article will overview how to setup your brand and campaigns for broader/better delivery.

Posted August 10, 2023

Select Which Transaction Types You Want to Sync with Quickbooks

You're able to select which types of transaction items you want to sync to Quickbooks.

Posted June 14, 2023

Configure your Member Portal to Show Spa and Wellness

Once your Spa and Wellness feature is enabled, you need to configure the following to display on your member portal.

Posted June 14, 2023

Setup a Temporary ID for Hotel Guests

You can allow hotel guests to act as a member during their time at your property by leveraging these settings.

Posted May 23, 2023

© Peoplevine 2024. Powered by PeopleVine. Terms of use | Privacy & cookies