ACEweb Quick Pick Module
The Quick Pick Registration Module is an optional module for ACEweb that simplifies the registration process for your customers and speeds up those high volume registration periods. The module will organize your courses by assigned grouping codes and will display all courses on a single web page. Your customers select one or many courses then advance to the check out process.
Features include:
- Support for course Main and *Optional fees
- Support for Membership programs
- Courses organized based on identified grouping code(s)
- Supports Waitlisting
- Essential course information displayed with the course description in a pop-up when customer hovers over the title
- Checkout pages allow customers to toggle between their cart and registration page to make purchase revisions
- Templates allow customized wording and styling (requires advanced template editing skills)
- Supports Proxy Registration
The Quick Pick Module does NOT support these ACEweb features:
- Coupon discounts are only supported on the Membership course. No Coupon support for other courses.
- No Package courses
- No BOGO
- No Workshops
- No Supplemental Data Capture pages
Special Notes
- Users can add themselves to the waiting list without completing the registration process, which may allow them to bypass membership requirements.
- Do not use hyphens in course codes if the courses are to be used on the QuickPick form.
- Expiration dates are NOT enforced on supplemental memberships.
Installation
The Quick Pick module requires additional files for ACEweb. Please contact your ACEware technician for installation files/instructions.
Settings
- Most Quick Pick settings are in the QuickPick.ini file.
- Course Group (called Boxes for Quick Pick) are in the QuickPickBoxes.txt file.
- If you are using the Consent form, the text is from the QuickPickConsent.txt file.
- Quick Pick uses the QuickRegister.htm instead of the standard customregister.htm for the Checkout page.
QuickPick Version
Determine your QuickPick version by adding about=ON parameter added to the URL, e.g. where yourACEwebURL is your web domain:
https://*yourACEwebURL*/quickpick.awp?about=ON
Browse Only
There is a browse only option for the Quick Pick page that displays the page for viewing only, without checkboxes or the login form.
It is implemented by adding a Browse=ONLY querystring parameter, e.g. where ACEwebURL is your web domain:
https://<ACEwebURL>/wconnect/quickpick.awp?&Browse=ONLY
QuickPick.ini
The following INI entries can be used in the QuickPick.ini. Entries are sorted in alphabetical order.
allowProxy - setting to OFF disables proxy registrations.
alreadyReg - Status message displayed if user is already registered in the course. By default, the same message is used for all courses, but it can be configured to use different wording for memberships vs standard classes. Specify the 2 entries using a pipe character as a divider, with the membership message shown first (e.g., alreadyReg=Membership Purchased|Already Registered).
alreadySelectedMsg - Status message for courses already in the Enrollment Cart, displayed when re-entering the QP form to make changes before checking out.
baseMembership -- intended to ensure that the system processes all codes in a multiple membership scenario, so you may want to add that setting (baseMembership=22FTERM,OLLI).
checkboxClass - style class used for the individual course boxes. Can be overridden on course groups with the tableClass parameter in QuickPickBoxes.txt.
contingentMsg - for use with supplemental memberships. Message displays if user selects supplemental membership without having purchased the main membership.
costLabel - field to use for fee label.
CourseCutoffNotice – Message that displays if the user’s membership expires before the value in lastRegDate.
courseLimitMsg - message displayed if a course limit has been set on the course group.
courseOrder - default course order for course groups. Can be overridden with courseOrder parameter in QuickPickBoxes.txt.
coursePopup - enable course popup details. can slow down page rendering so we suggest this setting be disabled during heavy registration periods.
cutoffRegDate - by default, a user whose membership is current as of today's date will be allowed to register for any members-only course listed, even if their membership might expire before the course starts. By setting a cutoff date (say, to a date at the end of the semester), you can ensure that only those whose memberships are good for the whole term can register.
dateField - field to use for Dates/Time value.
deferredFill - ON enables the page to load before all courses are loaded; you’ll receive a message when expanding a course group that the courses are loading.
dateLabel - label for Dates/Time value.
donationCourse - course code(s) for donations. 1-4 entries (depending on above value), separated by commas.
donationOptions - determines how many donation courses are enabled. Maximum is 4. Can set to 0 (zero) to disable and hide the donations area on quickpick.awp.
extendedLogging - If ON, enables more detailed logging of QP operations, intended for setup and debugging purposes. If OFF, only basic steps are logged. (Assumes that the application INI entry for DebugFlag has the default TABLE: setting.)
hoursLimitMsg - message displayed if there is an hours limit in a course group.
incompleteMsg - Status message for membership courses shown when the user is registered but does not have a Namecode record for the associated membership code. Or conversely, if they have the Namecode membership codes but are not enrolled in an associated course.*
lastRegDate - YYYY-MM-DD format; optional entry used to indicate the end of the term so that if the membership extends beyond this date, we don't have to check each individual course. The date must be at least one greater than the membership’s expiration date.
longFullMsg - full course message displayed after membership is selected.
memberDiscountMsg - displayed for groups that do not require a membership, but do offer different fees for members and non-members.
membershipCodes - membership codes used with quick pick form. If a membership is contingent upon another one, preface the code with ! (e.g. !OLLISPRING). If multiple memberships, the Base Membership is the first one listed, and extended memberships are listed after the Base Membership. For example, if you have a spring and an annual membership, the spring membership should be listed first then the annual is listed next.
nodateLabel - value to display if a course has no dates. can be overridden in quickpickboxes.txt using the dateField label.
noCourseMsg - message displayed if there are no current courses in a course group.
noMemberRegMsg – Status message for membership courses that are currently unavailable.
noMembReqMsg - message displayed if the courses in the group do not require a membership.
noRegisterMsg - not open for registration yet message.
onWaitlist - Status message displayed if user is already added to the waitlist.
openMembershipMsg - allows you to customize the Status wording. If missing or blank, defaults to Status: Open. Setting to :HIDE removes the line entirely.
pastExpirationNotice - message displayed if the logged user's membership has expired.
pendingExpirationNotice - not currently used.
pendingMsg -Status message shown if user is registered for a course but the reg record is flagged as Pending (i.e. the Reg Note contains the AW-PENDING flag).*
shortFullMsg - full course message displayed before membership is selected.
showConsentForm - OFF disables the and hides the consent form.
showCrseCode - determines if the course code is including in the individual courses listed.
tableClass - if a value is entered, a table is used for columns in course boxes and the listed style class is used for the tables. Can be overridden on course groups with the chkBoxClass parameter in QuickPickBoxes.txt.
toWaitlist - status message if the user was waitlist in the current session.
The following are not currently used, but are reserved for possible future application:
- openCourseMsg
- activeMember
*Incomplete and pending registrations will only be flagged if values are specified for the incompleteMSG and pendingMSG INI entries. If left blank, the selections will be treated as standard registrations.
QuickPickBoxes.txt
QuickPickBoxes.txt defines the membership and course groups.
Syntax
- Entire expression is enclosed in curly brackets {}
- All boxes are listed inside the ITEMS property. The entire ITEMS expression is enclosed in straight brackets []
- Each box within the ITEMS property is enclosed in curly brackets {}
- Boxes are separated by commas ,
- Properties listed in the boxes are separated by commas ,
- Property values are enclosed in double quotations " ".
Group Property
The group property is required in All Boxes:
- group – leave blank for the membership item. For course boxes, list the grouping code for the set of courses in the group. All active courses in the specified group will be shown in its corresponding box on the form.
Membership Box Only
- memberships - set to true on the memberships item.
- courses - list of membership courses. Parameters inside should be enclosed in [ ], with each membership course enclosed in { }. You specify the membership courseID and associated membership code (membcode) for each membership course.
- couponCode – set to true if the membership has a coupon. Otherwise, you can leave it out.
- cutoff - specifies date after which membership options will no longer be offered.
- supplement – if true, indicates a supplemental membership that does not stand alone; you need to already have a membership in order to purchase it. This setting goes inside the Courses object. Note: Expiration dates are NOT enforced on supplemental memberships
- memberPRQ – lists the memberships that qualify you to register for the supplemental membership. This setting goes inside the Courses object.
- contingentmsg - custom contingency notice for a specific course. Overrides the contingentMsg value in QuickPick.ini.
- extension – flags courses that are extensions/renewals for existing memberships.
- nonCritical - If true, an incomplete or pending status will not affect other memberships
- showI - typically used when dealing with installment memberships. Determines whether a membership displays based on one or more of the following ITEMS:
- everMember - the registrant has had a specific membership code in the past.
- notMember - the registrant does not have a specific membership code.
- notRegistered - the registrant is not registered for a specific course.
- hideFrom - used to prevent people who already have a membership from seeing different membership courses. In the example below, users can buy either Fall or Spring memberships, or an annual option that covers both. Since the Spring and Fall courses would be superfluous to users who already have the annual membership, we don't even want to show them those options. So, we add a hideFrom property (set to the Annual code) to the Spring and Fall course properties, which prevents them from displaying to Annual members.
- complement – implements a new course category called complementary memberships. This can act as an extension to an existing membership, but unlike the supplementary option which requires the other membership as a prerequisite, a complement can also be purchased as a stand-alone option. In the above example, a user could buy the Fall membership in September, then come back in January and get the Spring option. Or if they don't like the fall offerings, they could just buy the Spring membership on its own.
- urlFlag – allows you to still view a membership course even if it is set to no publish/register in Student Manager, by setting the value to true and adding the following: ?UNHFQP=CourseCode
Course Group Boxes Only
- MEMBFLAG - membership type needed to register for courses in the box. Set to NONE! if the courses in the group don't require membership.
- FEECOUNT – indicates how many course fees to display.
- BESTDEALFIRST - Set to true for groups where the lowest fee is listed first. ACEweb defaults to assuming the best price will be the last one shown, so you only need to add this if you want to override that behavior.
- hoursLimit - set a limit on the maximum number of course hours allowed.
- courseLimit - set a limit on the maximum number of courses allowed.
- limitsIncludeWaits - If true, any course/hours limits will include waitlisted registrations. If false, they won’t be included.
- optionalFees - if true, optional fees are displayed.
- userSelectable - if true, the user can select their main fee. Must also be set to true for groups with hybrid courses if registrants are allowed to choose between physical and virtual seats.
Any Boxes
- colcount - number of columns in box.
- courseorder - order of courses in box. Overrides the courseOrder value in QuickPick.ini.
- title - title of box. This should be the name of your grouping code.
- footnote - footnote to be displayed after box contents.
- chkboxclass - style class used for individual courses.
- tableclass - if a value is entered, a table is used for columns in course boxes and the listed style class is used for the tables. Overrides the tableClass value in QuickPick.ini.
Coupon Code Support
You can use a coupon code on the Membership course ONLY, and only 1 coupon discount is supported on the Membership course.
For coupon support, you must add the ShowCouponNotce parameter to the ##-Config-## section on the ecTable.htm template.
Add the couponCode parameter to the membership box on QuickPickBoxes.txt, and set it to true:
Verify that the couponFields div box exists on the QuickPick.awp template. It should be under the <%=This.Page.cMembershipBox %>
expression:
<div id="couponFields" style="display:none" class="awQPCoupon">
<p><label for="txtCouponX">Promotional Code:</label>
<input type="text" name="txtCouponX" id="txtCouponX" value="" size="12" /></p>
<div id="badCouponMsg" class="awInvalid" style="display:none">Invalid Code. Enter a valid code or leave field blank.</div>
</div>
Verify that the awCouponNotes message exists on the QuickPick.awp template, just after the qpAmountDue div box:
<span class="awCouponNotes awSmall" style="display:none">(coupon discounts are calculated at checkout)</span>
If you made changes to quickpick.awp, save the changes then recompile the quickpick_page.prg.
Donation Support
QuickPick will support up to 4 donation type courses.
- Donation courses are read from thedonationCourse and donationOptions parameters in the quickpick.ini.
- To disable the Donation section, change the donationOptions setting to 0 in the quickpick.ini.
To enable Donations:
- Set the donationOptions INI to the number of donation courses.
- Enter the course number(s) in the donationCourse INI.
- If you have more than one donation course, you will need to copy the donation section on quickpick.awp and replace the highlighted portions with the number of the donation entry (i.e., donationRequest2, etc.).
Code of Conduct
QuickPick supports a Code of Conduct section, which can also be used for things like cancellation policies, or to collect additional name information (i.e. UDFs, demographics, etc.).
The Code of Conduct section is enabled by default. To disable the Code of Conduct section, set the showConsentForm parameter to OFF in quickpick.ini.
You may make the following changes to the Code of Conduct section on the quickpick.awp template:
- Section titles, field names, and notices on the quickpick.awp template.
- Add, remove, or change fields. The default field used us the RUDFL1 field from the Registration UDFs table, that logs the 'I agree… ' statement.
The text for the Code of Conduct section comes from the QuickPickConsent.txt file.
Proxy Registrations
To allow proxy registrations, set the allowProxy parameter to ON in the quickpick.ini.
IMPORTANT
- The proxy routine assumes that your first round of selections on the page are for the proxy, not the logged in user. If the logged in user wants to enroll, we recommend that they do that and proceed to checkout, and use the Add Another Person button on that page.
- Quickpick does not support the Multi Proxy feature.
- Name UDFs cannot be used when proxies are allowed.
Who Else is a Member
If enabled, logged on users can view who else is a member.
To enable this option, add a link pointing to the MembershipList.awp, in the postLogon div.
- The URL must include the membership code.
- If you have multiple memberships, a link must be created for each membership.
Example links:
html<p><a href="/wconnect/MembershipList<%=MapExt%>?memcode=OLLI">See Who Else is an OLLI Member</a></p> <p><a href="/wconnect/MembershipList<%=MapExt%>?memcode=MCC">See Who Else is an MCC Member</a></p>
- The radRgpublish checkbox must be added to the consentDiv div box, below the acknowledgement of understanding checkbox.
html<p><ww:wwWebCheckBox runat="server" ID="radRgpublish" runat="server" UserFieldName="List Opt In"></ww:wwWebCheckBox> <label for="radRgpublish">Add my name to the Who Else is a Member list.</label></p>
The list defaults to Name, City, and State:
To edit the fields, create an optional file called membershipList.ini in the Templates folder (e.g. wconnect\ace), with the Fields parameter. For example:
Fields=name:Name;Address:Address;Street:Street;City:City;email:EMail;phone:Phone