Release Notes October, 2019

This release to HandsOn Connect's administrative side (Salesforce) contains more granular control over invitation codes (private opportunities), true time clock capabilities for the check-in kiosk, and a variety of bug fixes. Here's the highlights:

Invitation Codes now available for Events, Volunteer Opportunities and Occurrences (HOCAVV-1243)

The field "Requires Invitation From", which is how you create a 'private' opportunity by associating an invitation code with it, had only been available at the Volunteer Opportunity Level.

Now, the fields "Requires Invitation From", and "Invitation Code" (which is a read only formula field), are available for the Volunteer Event object, and the Occurrence object.

  • If an invitation code is set at the Volunteer Event level - then that invitation code will be automatically applied to all volunteer opportunities (and their occurrences).  
  • If an invitation code is set at the Volunteer Opportunity level - it applies to all occurrences.
  • If an invitation code is not set at the event or volunteer opportunity level - it can be set for individual occurrences.

Administrative Speedup:

If you wish to use invitation codes at either the Event or Occurrence level, you need to do the following:

1) Update the profiles you are using, and give read and write access to the field "Requires Invitation From" and Read Access to the field "Invitation Code" in both he occurrence object and the volunteer event Object.

2) Add the fields to the Event and/or Occurrence Page Layouts:

We recommend creating a section and placing the two fields in it as shown here:

Volunteer Event Layout:

Occurrence Page Layout:


Check-in Kiosk tracking of actual check-in time / check-out time now available (HOCAVV-1254)

When using the check-in, check-out feature of the Check-in Kiosk, the following is how connections and hours served are calculated:

Checking In:

If a volunteer comes early or on time they are checked in at the start time of the occurrence.  (The kiosk does not credit time for early check-in, but assumes they start when their connection is scheduled to start)

If a volunteer comes late, they are checked in at the time they arrive (The start time of their connection is edited, to reflect the time they actually started, after the scheduled start time)

Checking Out: (optional)

If a checked in volunteer enters their email in the kiosk again, they are informed they are already checked in and asked if they wish to check out.

A volunteer who checks out before the connection end time, will have the end time of their connection updated and the 'hours sereved" will be recalculated to reflect the early check-out.

A volunteer who checks out after the scheduled end time, will be credited with extra time in the hours-served of their connection.  (The end time cannot be updated beyond the occurrence end time - but the volunteer will be credited with the extra time reflecting that they stayed beyond the scheduled end time.

The reason for this behavior is that connection start times and end times cannot be altered for Date and Time Specific Opportunities:

But:  What if you want to actually record the actual time a volunteer checked in and checked out?

Up to now this hasn't been possible, but in this release we've added two new fields that actually track the exact time the check-in occurred, and the exact time the check-out occurred.   With these two fields, you can use the kiosk as an actual time clock -- recording the arrival time and exit time of a volunteer checking in for a scheduled connection.

Using these two new fields requires an administrative speedup:

Administrative Speedup for check-in, check-out real-time tracking.

1. Update the profiles you are using for HandsOn Connect. (System Administrator, Staff, and any custom profiles you are using), to grant Read (or Read/Write) access to these two fields in the Connection object:

  • Check-In
  • Check-Out

The fields will be automatically filled in by the check-in kiosk when someone checks in and checks out, so "Read" Access is sufficient.  However, if you want SF admins to be able to manually input or edit check-in/check-out times, then grant read/write access.

2. Add the two new fields to the connections page layout you are using.  Here's a suggested way position for adding these fields to the page layout:


Note:  The Check-in Time and Check-Out time do not affect the Volunteer Hours Served which is always calculated based on the start time of the occurrence/connection.   If you wish to calculate hours (For a true 'time clock' functionality based on arrival time and departure time, you may wish to add a formula field that calculates "Kiosk Hours Served" by subtracting the check-in time from the check-out time, and use that field for reports instead of "Hours Served".

Here's an example of how to create a field that calculates the number of hours between check-out and check-in:

Create a new field on the connection object:

Make it a formula field of type 'number' with two decimal points.  Name it "Kiosk Hours Served" (since it will use the check-in kiosk's check-in times like an actual time clock.

We want a formula that subtracts the check-in time from the check-out time and tells us the number of hours.  Also - if a person checks in but doesn't check-out, we want to assume that the connection ended at the scheduled end date.  A formula that will calculate this in both scenarios is this:


IF( ISNULL(HOC__Check_Out__c) ,( HOC__End_Date_Time__c - HOC__Check_In__c )* 24 , (HOC__Check_Out__c - HOC__Check_In__c )* 24)

Now add this to this field to the page layout in the new 'check-in Kiosk Tracking' section you've created.

In the example above, The connection was scheduled for an occurrence taking place from 8 pm - 10 pm.

The volunteer checked in early at 7:30 pm, and checked out late at 10:45 pm.

The connection schedule remains 8 - 10 (because that was the occurrence scheduled date and time).  It can't be altered to an earlier start time or later end time (because of the rules governing connections and occurrences).

Hours Served: Always calculates the time from the scheduled start time of the connection, (or later if the volunteer checks in late) and adds time if the volunteer checks out late.  (The kiosks adds time IF the volunteers checks out past the scheduled end time of the connection).

In this example: The check-in kiosk calculated the extra 45 minutes the volunteer stayed late, updating the 'hours served' but does not give credit for arriving early, so the 'hours served' on the project is calculated as 2.75. (start time of occurrence until the actual check-out time because the project ran long).

Kiosk Hours Served: Calculates the 'real time' between the actual time the volunteer checks in, and the actual time the volunteer checks out. (Like a time clock would). If the volunteer does not check out, then the scheduled end time of the connection is assumed to be the check-out time for the purposes of calculating 'kiosk hours served".

The Kiosk Hours Served field calculates the hours based on when the volunteer first arrived (7:30) and when they checked out (10:45).

Which you want to use to calculate the actual hours of service depends on your business practices.  Do you credit volunteers for arriving earlier than scheduled?  If not, then use 'hours served'.    If you do count hours that start before the scheduled start time - then "Kiosk Hours Served" will be the actual total time from check-in to check-out. (Be sure to add these new fields to reports if you want to report on actual check-in / check-out and kiosk hours served."

If a volunteer doesn't check-in using the check-in kiosk - there will be no value listed for "Time Clock Hours Served"

If you need help adding these fields, and creating the 'time clock hours served'  (If you want to track actual attendance hours rather than the scheduled volunteer time), just come to lab and we can help you with this administrative speedup!

Bug Fix: Scheduler for Individually Scheduled Opportunities (HOCAVV-1235)

Editing the schedule for an Individually Scheduled Opportunity sometimes resulted in the wrong day being removed.  This has been fixed and schedules can now be edited in Salesforce.


Erin Pavelchak

Can this feature be added on the Sharing Portal as well?

Larry Deckel

Erin: Which feature specifically are you asking about, as to whether it can be in the sharing portal? Would you please open a support case inquiring directly and we'll communicate with you directly as to whether or not it's possible. Thanks.

Add your comment

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.