salesware e-commerce user guide - accesso technology group

156
E-Commerce User Guide Version 4.4 accesso 302 Camino de la Placita Taos, NM 87571 575.751.0633 www.accesso.com

Upload: others

Post on 03-Nov-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Salesware E-Commerce User Guide - accesso Technology Group

E-Commerce User Guide Version 4.4

accesso 302 Camino de la Placita

Taos, NM 87571

575.751.0633

www.accesso.com

Page 2: Salesware E-Commerce User Guide - accesso Technology Group

Copyright

Copyright 2015 accesso Technology Group, plc. All rights reserved.

NOTICE: All information contained herein is the property of accesso Technology Group, plc. No part of this publication (whether in hardcopy or electronic form) may be reproduced or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written consent of accesso Technology Group, plc. The software, which includes information contained in any databases, described in this document is furnished under a license agreement and may be used or copied only in accordance with the terms of that agreement.

This publication and the information herein is furnished AS IS, is subject to change without notice, and should not be construed as a commitment by accesso Technology Group, plc. accesso Technology Group, plc. assumes no responsibility or liability for any errors or inaccuracies, makes no warranty of any kind (express, implied, or statutory) with respect to this publication, and expressly disclaims any and all warranties of merchantability, fitness for particular purposes, and non-infringement of third party rights.

Page 3: Salesware E-Commerce User Guide - accesso Technology Group

INTRODUCTION ........................................................................................................................................ 6

VISITORS/GUESTS ................................................................................................................................... 6

Guest-related settings in detail ............................................................................................................................................................... 6

Configuring guest verification using web passwords ........................................................................................................................... 11

Configuring guest lookups using username/password ......................................................................................................................... 12

Visitors/guests on first level modifiers ................................................................................................................................................. 13

Configuring fields in the guest record .................................................................................................................................................. 14

Locking out guests after too many failed log-in attempts .................................................................................................................... 15

Minutes to keep guest log-in locked setting .......................................................................................................................................... 15

Uploading guest photos ........................................................................................................................................................................ 16

MEMBERSHIPS AND PASSES ............................................................................................................... 17

Setup steps for selling and renewing memberships and passes ........................................................................................................... 17 Online pass sales ................................................................................................................................................................................ 17 Online pass renewals.......................................................................................................................................................................... 17

Allow guests to view information about their current passes/memberships ....................................................................................... 30

Fulfillment of passes and memberships purchased/renewed with E-Commerce module ................................................................... 31

Member-only products, member discounts and free item modifiers for members ............................................................................. 36 Setting the member log-in and verification fields for the member log-in process ................................................................................. 36 Configuration for member-only products ............................................................................................................................................ 38 Configuration for member discounts................................................................................................................................................... 39 Configuration for free item modifiers for members ............................................................................................................................. 41

Immediate recognition of “Member” status in E-Commerce module transactions ............................................................................ 46 Performance ...................................................................................................................................................................................... 46 Configuration .................................................................................................................................................................................... 47

PassLink validation .............................................................................................................................................................................. 47 Functionality...................................................................................................................................................................................... 47 Configuration .................................................................................................................................................................................... 48

Family Pass ........................................................................................................................................................................................... 49 Configuration .................................................................................................................................................................................... 49

1

Page 4: Salesware E-Commerce User Guide - accesso Technology Group

Benefit Management............................................................................................................................................................................. 51 Introduction ....................................................................................................................................................................................... 51 Configuration .................................................................................................................................................................................... 52 Use 53

E-COMMERCE PASS PACKAGE FUNCTIONALITY ............................................................................. 55

SysManager configuration ................................................................................................................................................................... 56

Results .................................................................................................................................................................................................. 60

GROUP SALES ....................................................................................................................................... 62

Groups, clubs and accounts settings in detail ...................................................................................................................................... 62 Settings used to configure groups ....................................................................................................................................................... 62 Pass renewals using groups and accounts functionality ....................................................................................................................... 63

Group (account) functionality setup .................................................................................................................................................... 63

Results .................................................................................................................................................................................................. 65

CLUB MANAGEMENT............................................................................................................................. 68

Club Management in detail .................................................................................................................................................................. 69

Club Management installation ............................................................................................................................................................. 70

Installing the Club Management Report pages ................................................................................................................................... 71

Customizing Message Priorities and Time values for Group Leader messages .................................................................................. 72

Club Management SysManager configuration .................................................................................................................................... 74 Club Management site configuration settings...................................................................................................................................... 76 Club Management group member log-in............................................................................................................................................. 78 Posting messages from the group administrator in SysManager........................................................................................................... 83

Allow Group Leaders to create their own Club Management Groups (accounts) online ................................................................... 85

IN-HOUSE CARDS .................................................................................................................................. 86

Basic In-House Cards configuration .................................................................................................................................................... 87

Sales and fulfillment of In-House Cards .............................................................................................................................................. 90

Verification code (PIN) ......................................................................................................................................................................... 97 Configuration .................................................................................................................................................................................... 97 Use 97

View In-House Cards information online ............................................................................................................................................ 98

Reload In-House Cards online ............................................................................................................................................................. 99

2

Page 5: Salesware E-Commerce User Guide - accesso Technology Group

Use In-House Cards as form of payment online .................................................................................................................................100

RENTALS ............................................................................................................................................... 101

Product configuration .........................................................................................................................................................................101

Fulfillment process ..............................................................................................................................................................................102

Web page configuration ......................................................................................................................................................................102

Sales Host settings ...............................................................................................................................................................................103

WEB RULES .......................................................................................................................................... 103

Web Rules configuration and online results .......................................................................................................................................105

Recently added Web Rules related functionality ................................................................................................................................109

CART RULES ........................................................................................................................................ 110

Fields in the cartrule table in the SiriusSQL database .......................................................................................................................110

Cart Rules configuration, process, and results ...................................................................................................................................113

Recently added Cart Rules functionality ............................................................................................................................................118

E-COMMERCE SECURITY .................................................................................................................... 119

Passwords for guests and the Sales Host operator ..............................................................................................................................119

Secure web service ...............................................................................................................................................................................119

Securing your site with SSL ................................................................................................................................................................120

Use of regular expressions throughout ................................................................................................................................................122

Use of authentication and encryption..................................................................................................................................................122

Global checking for CVV/AVS field ...................................................................................................................................................122

OTHER SETUP SCENARIOS ................................................................................................................ 122

Liability release configuration ............................................................................................................................................................122 Alternative method of implementing liability forms ...........................................................................................................................124

Configure the linking of the state and country dropdowns on the GuestEdit.aspx ............................................................................125

Settings for using Reservation Headers and reservation tracking .....................................................................................................126

Filtering payment types .......................................................................................................................................................................127

3

Page 6: Salesware E-Commerce User Guide - accesso Technology Group

Settings for using the “Moneris-style” receipt page ............................................................................................................................128

Using multiple pages to display and handle the E-Commerce checkout process ...............................................................................128

Implementing specials .........................................................................................................................................................................130

Configure the WTP reload process for Axess gates ............................................................................................................................131

Selling donation items .........................................................................................................................................................................131

Dealing with international characters in detail ...................................................................................................................................133

Settings for using the web service in detail .........................................................................................................................................133 Using Sales screen action macros ......................................................................................................................................................135 ww.dll and seasons and dates pricing.................................................................................................................................................136

Ability to suppress printing .................................................................................................................................................................136

Miscellaneous site config settings ........................................................................................................................................................138

TROUBLESHOOTING E-COMMERCE ................................................................................................. 139

Initial installation troubleshooting ......................................................................................................................................................139

Re-starting the ww.dll application pool ..............................................................................................................................................140

Re-creating the problem and capturing a ww.dll log file ....................................................................................................................140

Windows Application Event Log.........................................................................................................................................................142

APPENDIX A: DETAILED DESCRIPTION OF SALES HOST OPERATION ........................................ 143

Status codes .........................................................................................................................................................................................143

Elements of an online sale ...................................................................................................................................................................144 Sale generation through ww.dll .........................................................................................................................................................144

Sales Host processing...........................................................................................................................................................................145 General .............................................................................................................................................................................................145 Startup check ....................................................................................................................................................................................145 Main processing................................................................................................................................................................................146 Reprocessing and reprinting ..............................................................................................................................................................146 ww_tix processing ............................................................................................................................................................................146 ww_email processing ........................................................................................................................................................................147

Error handling.....................................................................................................................................................................................148 General .............................................................................................................................................................................................148 Sales Host recognizes when an append fails and provides error messages...........................................................................................148 Error scenarios ..................................................................................................................................................................................149

Closeouts ..............................................................................................................................................................................................150 Configure Sales Host to perform and submit an automatic closeout at a specified time each day .........................................................150

4

Page 7: Salesware E-Commerce User Guide - accesso Technology Group

APPENDIX B: ACCESSO 4.4 E-COMMERCE GENERAL TESTING PROTOCOL .............................. 150

Testing the pages .................................................................................................................................................................................150

Online item testing...............................................................................................................................................................................150

Online guest lookups ...........................................................................................................................................................................151

E-mail confirmations ...........................................................................................................................................................................151

Miscellaneous.......................................................................................................................................................................................151

APPENDIX C: HOW TO REDIRECT E-COMMERCE SHOPPING CART VISITORS/GUESTS WHEN THE SITE IS DOWN FOR MAINTENANCE ........................................................................................... 151

How to redirect E-Commerce shoppers that use specific item or item tree node links ......................................................................152

APPENDIX D: SPEEDING UP YOUR WEB SITE ................................................................................. 152

5

Page 8: Salesware E-Commerce User Guide - accesso Technology Group

Introduction The E-Commerce module user guide gives specific detail on varied uses of the software. This information includes detailed descriptions site config settings within the Site Admin Panel and a description of the files that are provided by accesso with the E-Commerce product.

Note: Settings (including keys and values) labeled as site config are now managed through the Site Admin Panel. Site administrators can log-in to the panel and make changes there as opposed to the site config file directly. For more information on updating your E-Commerce settings and the Site Admin Panel, see the E-Commerce Configuration Guide document.

Visitors/guests

Guest-related settings in detail There are several application settings in the site config file via the Site Admin panel, that dictate how guest records are handled during guest lookup and display. These include (only edit the portion between the double-quotes that follows value=):

Site Admin Panel > Guest Related Settings > LookupChars value = 2 Site Admin Panel > Guest Related Settings > UseEmailUserID value = 0

Site Admin Panel > Guest Related Settings > InfoExpr value = SUBSTRING(phone, 7, 2) Site Admin Panel > Guest Related Settings > InfoHeading value = Last two digits of phone# Site Admin Panel > Guest Related Settings > VerifyField value = passwords

Site Admin Panel > Guest Related Settings > VerifyPrompt value = Password: Site Admin Panel > Guest Related Settings > 1PWEmail value = 1

Site Admin Panel > Guest Related Settings > GuestEditRows value = guest_no, first_name, last_name, address, address2, city, state, zipcode, country, phone, email, birth_date, contact, password"

Site Admin Panel > Guest Related Settings > GuestDispRows value = guest_no, first_name, last_name, address, address2, city, state, zipcode, country, phone, email, birth_date

Site Admin Panel > Guest Related Settings > ExistingGuestHideRows value = "birth_date" Site Admin Panel > Guest Related Settings > ForceEditFields value = "first_name, last_name, address, city, state, zip, country, area_code, phone, birth_date, email" Site Admin Panel > Guest Related Settings > GuestPhotos value = 1

Site Admin Panel > Guest Related Settings > DefAddress value = 1 Site Admin Panel > Checkout Settings > AllowStoredCards value = 1

6

Page 9: Salesware E-Commerce User Guide - accesso Technology Group

Site Admin Panel > Guest Related Settings > UseSameConfirm value = 1 Site Admin Panel > Guest Related Settings > UseSameConfText value = You have chosen to use the same guest ({{guest_name}}) again.\nAre you sure? Site Admin Panel > Guest Related Settings > NoUseSame value = 0

Site Admin Panel > Guest Related Settings > NoPurchTracking value = 0 Site Admin Panel > Guest Related Settings > TransLookups value = 1

Site Admin Panel > Guest Related Settings > TransLookupFile value = 0 Site Admin Panel > Guest Related Settings > TransEdits value = 1

Site Admin Panel > Guest Related Settings > TransEditFile value = 0 Site Admin Panel > Guest Related Settings > TransEditFields value = first_name, last_name, address

When performing a guest lookup via the Guest Lookup link or by way of attaching a guest to an item such as a pass, the minimum number of characters that must be entered into each name field (First Name and Last Name) is defined using the LookupChars key. Normally this is set to a value of 2 so that names such as “Al” or “Ed” can be looked up.

You can enable use of a guest’s e-mail address instead of first and last name for guest lookup by setting the UseEmailUserID to 1. The label for the lookup field is changed directly in GuestLookup.aspx by modifying the value of the lblFirstName label to reflect the field you are using for lookups (i.e., First Name or Email). When Site Admin Panel > Guest Related Settings > UseEmailUserID > value = 1, the web log-on name field on GuestEdit.aspx auto populates with the e-mail address entered on the Guestedit.aspx page when creating a new guest to make it easier for people to use their e-mail address as a log-in ID.

If there are multiple matches from a guest lookup, the InfoExpr key is used to help visitors/guests identify themselves by displaying additional information from the guest records involved. The value for this key can contain any valid VB.NET/ADO.NET expression including a field (or fields) from the address table.

Examples: Values for this field include SUBSTRING(phone, 7, 2), which returns the last two digits of the guest phone number, zip, which returns the guest zip code, and zip+' - '+SUBSTRING(phone, 5, 4), which returns the guest zip code and last four digits of the guest phone number separated by a - .

When there are multiple guest lookup matches to display, the guest names and information returned from the InfoExpr key are displayed in two columns. The heading for the InfoExpr column is set using the InfoHeading key. The value for this key can contain any text you choose.

Once a single guest is identified in the guest lookup process, the guest must enter an additional piece of information as verification of his identity. This is controlled using the VerifyField key, which can contain any field name from the guests table. The key VerifyPrompt displays text prompting the guest for the additional piece of information.

7

Page 10: Salesware E-Commerce User Guide - accesso Technology Group

If you are using the value passwords for the VerifyField key, then the following keys come into play: the 1PWEmail site config setting, which is used to enable (1) or disable (0) one e-mail password resetting and the <RegEx> tag in the dynamicControls.xml file, which is the regular expression for validating the user-supplied password. Please see below for a more detailed discussion on configuring guest verification using web passwords.

The display of guest fields in the GuestSelected and GuestEdit pages is controlled by three keys: GuestEditRows, GuestDispRows and ExistingGuestHideRows. In addition, the dynamicControls.xml file can be used to help configure guest information, as described in the Salesware E-Commerce Reference. The values entered for GuestDispRows are the guest and address on table rows that are displayed on GuestSelected.aspx when a guest is looked up, while the values entered for GuestEditRows are the guest and address table rows displayed on GuestEdit.aspx when a guest is edited. ExistingGuestHideRows are any of the Guest Edit rows that you want hidden for existing guests but available to new guests. Available values for GuestDispRows, GuestEditRows, and ExisitngGuestHideRows are: guest_no, first_name, last_name, firstname2, lastname2, company, address, address2, city, state, zipcode, country, phone, ext, phone2, ext2, fax_phone, ext3, email, username, password, contact, cardonfile, parent, children, group, notes, birth_date, gender, height, weight, shoesize, type_skier, stance, cb1, cb2, cb3, numbers1, numbers2, text1, text2, text3, memo_1, memo_2, memo_3, date_1, datetime_1, ltext_1, ltext_2, ltext_3, ltext_4, ltext_5, tix, last_pass, misc1, misc2, misc3, misc4, misc5. Some of these choices are self-explanatory while others require an explanation.

The cardonfile setting is included when you want to allow guests to be able to see if they have an existing credit card in their guest record, update their guest record with new credit card data, or add credit card information to a new guest record. This can work in conjunction with the key AllowStoredCards described below. The contact setting corresponds to the three check boxes: It's OK to mail me, It's OK to call me and It's OK to e-mail me. The group and notes settings correspond to the Group field on the Group Info tab and the Notes field on the Notes, Security tab on the Guest Edit Form in SysManager.

The cb1, cb2, cb3, numbers1, numbers2, text1, text2, text3, memo_1, memo_2, memo_3, date_1, datetime_1, ltext_1, ltext_2, ltext_3, ltext_4 and ltext_5 values correspond to the user defined check boxes, numbers, text, memo, date and long text fields on the User Def 1 and User Def 2 tabs on the Guest Edit Form in SysManager.

The ForceEditFields key is a list of guest or address fields that stop a visitor/guest from continuing if he is incomplete in the database after a successful lookup. Fields which can be in this key include first_name, last_name, address, city, state, zip, country, area_code, phone, passwords, birth_date and e_mail. If the ForceEditFields key is empty or not present in the site config file for the pages, then, empty fields in the guest record do not force them to edit their record from the GuestSelected.aspx page.

tix is used with GuestDispRows to enable a visitor/guest to download his Print At Home Tickets items simply by logging in.

stance is used display Stance on the GuestSelected.aspx page.

8

Page 11: Salesware E-Commerce User Guide - accesso Technology Group

Note: It is important that you consider the fields you include in ForceEditFields and in the GuestEditRows and ExisitingGuestHideRows settings. You do not include a field in the ForceEditFields key if you also have it in the ExisitingGuestHideRows key or it is not listed in the GuestEditRows key or an error occurs. Under either of these conditions it would be impossible for an existing visitor/guest to update the field in his record, so be careful how these three site config settings are configured.

The display of an existing guest photo that is part of a guest record is controlled by the GuestPhotos key. Setting the value to 1 displays the photo if the guest has one on file. To turn off this feature, the value for this key is set to 0. This can come in handy for cases where limited bandwidth exists between the pages and the web service (wwService)/ww.dll computer.

The DefAddress key does two things:

1. It helps to filter the list of guests during a guest lookup – only those guests with the address type defined by the DefAddress setting are looked at.

2. It defines the default address type used by the pages when displaying and saving a guest address. The values possible for this key and their corresponding address types are as follows: 1=Mailing, 10=Shipping, 20=Billing, 30=Local.

If you want to allow visitors/guests to be able to use a credit card they have stored on file in their guest record for payment on your web site or to be able to update their guest record with the credit card they use for payment on the web sale, set the value of the AllowStoredCards key to 1. This activates two new check boxes: one to charge the sale to the card on file in the paying guest’s record (if valid) and one to save the card being used for payment of the current sale to the guest record of the paying guest. When attaching a guest to an item, you have a couple of options for how the Use Same Guest button on the GuestLookup.aspx page acts. You can have a pop-up message display that can be worded to verify that the web shopper really wants to add the same guest to the item when this button is used or you can disable the button altogether.

The UseSameConfirm key is used to enable or disable the display of the pop-up message window – set to 1 to enable or set to 0 to disable. The value for the key UseSameConfText sets the wording for the popup message.

Example: Site Admin Panel > Guest Related Settings > UseSameConfText > value = WARNING!!\nYou have chosen to use the same guest ({{guest_name}}) again.\nAre you sure? displays that message in a pop-up window with the guest name appearing where {{guest_name}} is in the message. The \n is used to insert a line break into the message. If you want to incorporate an apostrophe into the message text you need to enter them as \'.

If you want to make it so that the Use Same Guest button does not even appear on the GuestLookup.aspx page, you add the following setting to your site config file: Site Admin Panel > Guest Related Settings > NoUseSame > value = 1. If this is set to 0, the Use Same Guest button appears as it always has.

Normally the person who is the online purchaser is either an existing guest in the database or he needs to create himself as a guest in the database. If you want you can configure this so that the online purchaser does not need to

9

Page 12: Salesware E-Commerce User Guide - accesso Technology Group

be a guest in the database or create a new guest record. This is accomplished by setting the value for the key NoPurchTracking to 1. Setting the value for this key to 0 or not including this setting in the site config file maintains the behavior of requiring a guest record in the database for the web purchaser. With the value for this key set to 1, the fields on the Checkout.aspx page become form entry fields that the web purchaser simply fills-in. By default, most of these fields are set as required, but they can be configured to not be required.

Even with this key set to “1”, the purchaser information is still stored in the Sale string, ww_Sales.Sale_text. Once the sale is processed by the Sales Host, the information gets written into the salenote.Notes2 field in this format:

<save><first_name>Tom</first_name><last_name>Thumb</last_name><phone>(555) 555-5555</phone><address>1234 5th Street</address><address2>Apt 367</address2><city>Albuqurque</city><state>NM</state><zip>88888</zip><country>USA</country><email>[email protected]</email></save>

It is possible to designate characters to substitute for other characters entered during a guest lookup or a guest edit using the web pages. This can be useful when visitors/guests are looking themselves up or editing their guest records when using a foreign keyboard and you want to keep the characters in your database consistent. There are several settings that control how this works along with one or more XML files where the character substitutions are designated. The keys TransLookups and TransEdits enable or disable character substitutions during guest lookups or edits, respectively. The TransLookupFile and TransEditFile keys allow you to specify a different file (numbered like StrTrans3.xml) to be used for guest lookups or edits, respectively. The value entered for the TransEditFields key lets you specify the various database fields from the guests and/or address tables that you allow guests to access on the GuestEdit.aspx page and where you want character substitutions to occur. If the value for TransEditFields is empty, the default is first_name, last_name from the guests table.

You are provided with an initial XML file named StrTrans0.xml. This file is located in the XMLFiles folder, which is in the same directory where your pages are located (typically C:\Inetpub\wwwroot\E-Commerce). If you want to use a different file for guest lookups than for guest edits, you can copy StrTrans0.xml and rename it to StrTrans1.xml for example (the general format for naming the StrTrans files is StrTransn.xml where n is a whole number). You would need to change the value for either TransLookupFile or TransEditFile to 1 in order to use StrTrans1.xml. Each of the StrTransn.xml files that you create must be located in the XMLFiles folder.

To set up character substitutions, you need to edit the following part of the StrTrans.xml file, where <oldStr>é</oldStr> contains the character that an online visitor/guest has entered and <newStr>e</newStr> contains the character you want to substitute for é when it is either read from or written into the database:

<StrTrans> <oldStr>é</oldStr> <newStr>e</newStr> </StrTrans>

10

Page 13: Salesware E-Commerce User Guide - accesso Technology Group

<StrTrans> <oldStr>É</oldStr> <newStr>E</newStr> </StrTrans> You can add additional characters in the same format used above with each character added requiring its own section like this: <StrTrans> <oldStr>è</oldStr> <newStr>e</newStr> </StrTrans>

Configuring guest verification using web passwords The default web pages support password verification for visitors/guests logging in to make an online purchase. The following settings need to be in the site config file for this to occur (only edit the portion between the double-quotes that follows value=):

Site Admin Panel > Guest Related Settings > VerifyField > value = passwords

Site Admin Panel > Guest Related Settings > VerifyPrompt >value = Passwords: Site Admin Panel > Guest Related Settings > 1PWEmail > value = 1

In addition, you must set (or can modify) the <RegEx> tag in the dynamicControls.xml file, which is the regular expression for validating the user-supplied password. See the Salesware E-Commerce Reference for more information.

Setting the value for VerifyField to passwords forces visitors/guests to enter their password before proceeding with a web purchase. This happens when performing a guest lookup using the Guest Lookup link, when attaching an existing guest to an item in the shopping cart and when changing the web purchaser on the Checkout.aspx page.

A guest’s web password is encrypted and saved in the passwords field of the guest record. It is not viewable in plain text anywhere. Guest passwords are changed and removed on the Web tab of the guest edit form in SysManager. When a visitor/guest without a password or a guest who has forgotten his password gets to the GuestSelected.aspx page where he is prompted to enter his password, he can click on the link I forgot my password/I don't have a password. He then, is redirected to the ResetPswd.aspx page where he is instructed to click the Reset my password button. What happens next depends on what value you have for the key

11

Page 14: Salesware E-Commerce User Guide - accesso Technology Group

1PWEmail. Setting this value to 1 uses the single e-mail method for getting a new password to the guest, while setting the value to 0 maintains the original two e-mail approach.

If you elect to use the single e-mail approach, you can adjust the wording on the ResetPswd.aspx page to let the guest know that after clicking the Reset my password button he receives an e-mail (using the PasswordReset2.txt template) with his new randomly generated password. He can either click on a link in the ResetPswd.aspx page to log-in with the new password or click on the link in the e-mail to log-in with the new password. At this point he can edit his guest record to change his password to something he can more easily remember (provided you have included password as one of the values for the GuestEditRows key).

If using the two e-mail approach to password resetting, again you can adjust the wording on the ResetPswd.aspx page as appropriate. When clicking the Reset my password button, the guest is sent an initial e-mail (using the PasswordReset1.txt template) letting him know that a request has been made to reset his password. The e-mail contains a link allowing the guest to reset his password by clicking this link. When the link in the e-mail is clicked the password is reset and the guest sees the ResetPswd.aspx page opened in a new browser window. The page notifies the guest that his password has been reset and that he receives a second e-mail (using the PasswordReset2.txt template) shortly with the new password. Once he has his new password, he can either click the link in the ResetPswd.aspx page to log-in, or he can click the link in the second e-mail to log-in. Once the visitors/guest has logged in with his new password, he can edit his guest record and change his password to something he can more easily remember (provided you have included password as one of the values for the GuestEditRows key).

With either method of password resetting, if a visitor/guest does not have a valid e-mail address in his guest record, he'll either have to call your place of business to update his guest record or you'll have to use a different log-in method until you feel that a sufficient number of your visitors/guests have up-to-date guest records. See the section Setting up E-Commerce e-mail for instructions on editing the text in the two password resetting templates (PasswordReset1.txt and PasswordReset2.txt) and using HTML formatted templates.

The value used for the <RegEx> tag in the dynamicControls.xml file is a regular expression that is used to validate the password. The default regular expression can be replaced with another regular expression if you so choose. If you decide to replace the default regular expression, it is advised that you perform thorough testing of the expression before going live with it on your web site.

Configuring guest lookups using username/password

You can configure guest lookups to be done from the GuestLookup.aspx page using Username/Password rather than the standard Firstname/Lastname lookup. When doing Username/Password lookups, the visitor/guest enters both their username and password on the GuestLookup.aspx page, and then clicks the Look Me Up button. To enable this functionality, add the following key to the site config file: Site Admin Panel > Guest Related Settings > GLUseUserID > value = 1.

If the entered username is associated with a guest, but, the password is incorrect, a link saying, “I forgot my password,” appears on the page which if clicked on takes the user through the password resetting process.

If you are using Username/Password guest lookups and you have AllowNoVerify value=“1”, an Add Without Verification check box appears on the GuestLookup.aspx page. If the product being sold allows a guest to be added without verification and the user checks this box, they still are required to enter a guest username and click

12

Page 15: Salesware E-Commerce User Guide - accesso Technology Group

the Look Me Up button, but no password is required. If the product being sold does not allow a guest to be added without verification, e.g., the item has required fields or requires a liability form to be accepted, the guest must be verified in order to add the required information to the guest record. You can use the following site config setting to configure text to display in this situation: Site Admin Panel > Guest Related Settings > GLNoVerifyNoResultsText > No match found OR this guest cannot be added without verification.

Note: Do not use this setting with value=“” as this makes it so that no text displays to inform the guest of what to do. If you do not want to use this setting, either comment it out or remove it from your site config file.

The standard First Name and Last Name text prompts on GuestLookup.aspx can now be overridden using the following two site config keys rather than needing to make the changes in the markup on that page: Site Admin Panel > Guest Related Settings > GLAltFNameTxt > value = Username.

The value from the key “GLAltFNameTxt” overrides the text from the asp:labelis=“lblFirstName” control and the value from the key “GLAltLNameTxt” overrides the text from the asp:labelid=“lblLastName” control.

Note: These two site config keys can be used to override the text on the page whether or not you are using Username/Password guest lookups. Also if you have these two keys in your site config file and you set the value to blank, e.g., GLAltFNameTxt value=“”, no text is displayed for the prompts. Therefore it is best to either leave these out of your site config file or comment them out rather than blanking them out if you are not going to use them.

Visitors/guests on first level modifiers

Visitors/guests are now added to items after the items have already been added to the shopping cart. So, instead of attaching guests to items during the process of adding them to the cart, your online visitors/guests can now add all of their items to a shopping cart, and then just prior to checkout attach guests to the items. This change has helped to make it possible to allow guests to be attached to first level modifiers that require a guest.

Items and modifiers that require a guest displays in the shopping cart with a small image of a head along with a link that says, “Add/Change Guests”, in the Guest column. In addition, “Guest required!” is displayed next to the link (this can be changed using the following key: Site Admin Panel > Guest Related Settings > ItemGuestRequiredText > Guest Required!). When the link is clicked, the user is taken through the guest lookup process for adding a guest to that item or modifier. If a modifier inherits guest information from the main item (configured on the Modifier tab for the main item by checking the Inherits Guest Information from Main Item check box) a modified head image and text that says, “Inherits guest from main item above.” is displayed. The displayed text is configurable using the following site config key: Site Admin Panel > Guest Related Settings > ItemGuestInheritsText > value = Inherits guest from main item above. A sale is not allowed to be finalized until all items and modifiers that require a guest to be attached actually have guests attached to them. Configurable text can be displayed prompting users to add guest to items and modifiers in this situation using the following two keys:

13

Page 16: Salesware E-Commerce User Guide - accesso Technology Group

• Site Admin Panel > Checkout Settings > GuestNotSelectedItemMessage > value = Please add guests to the items in the cart where \’Guest required!\’ is noted!

• Site Admin Panel > Checkout Settings > GuestNotSelectedModifierMessage > value = Please add guest to the modifiers in the cart where \’Guest required!\’ is noted!

Note: There are two exceptions to the change in flow for how guests are added to items and modifiers:

• Pass/Membership renewals – the guest is added to the pass/membership automatically during the renewal process

• Adding funds to In-House Cards items – the guest is added automatically during the process of adding funds to the card.

Configuring fields in the guest record The guest fields associated with the purchaser in an E-Commerce sale can be configured separately from the guest fields associated with guests attached to items. This is done using the following settings in the site config file:

• Site Admin Panel > Guest Related Settings > PurchaserDispRows > value = guest_no, first_name, last_name, address, city, state, zipcode, country, phone, email, username, password

• Site Admin Panel > Guest Related Settings > PurchaserEditRows > value = first_name, last_name, address, city, state, zipcode, country, phone, email, cardonfile, username, password

• Site Admin Panel > Guest Related Settings > ExistingPurchaserHideRows > value = “” • Site Admin Panel > Guest Related Settings > PurchaserForceEditFields > value = first_name,

last_name, address, city, state, zipcode, phone, email, username, password

These settings function in the same manner as the keys “GuestDispRows”, “GuestEditRows”, “ExistingGuestHideRows” and “ForceEditFields”, except that they only affect the guest who is set as the purchaser in the sale. These “Purchaser” keys can take the same values as the corresponding “Guest” keys.

Additional configuration can be done in the DynamicControls.xml file. Each field/section in that file now has <Required_purch>…</Required_purch> tags which can be set to “1” (TRUE) or “0” (FALSE).

Example: <guestEdit> <Name>UCfirst_name</Name> <RowID>first_name</RowID> <dbField>g.first_name</dbField> <Columns>20</Columns> <MaxLength> 15</MaxLength> <Required>1</Required> <Required_purch>1</Required_purch> <RequiredText>Required!</RequiredText> <guestEdit>

14

Page 17: Salesware E-Commerce User Guide - accesso Technology Group

Setting this to “1” makes it so that the field is required if the purchaser edits their guest record or they create a new guest record. A new button appears on either Checkout.aspx or Checkout2.aspx (if using checkout steps) when you set a purchaser. The button has the default wording of Edit this Purchaser which can be changed with a JavaScript include. This button allows easy access for the purchaser to edit their guest record during the checkout process. Also, if the purchaser guest record is missing any of the fields set in the PurchaserForceEditFields key, the message configured with the control asp:labelid= “lblFieldsRequired” displays. The default wording for this control, which can be changed with a JavaScript include, is “Please click on Edit Purchaser to edit all the required fields.”

Locking out guests after too many failed log-in attempts

For any page that someone can log-into to access his guest record using verification (GuestSelected.aspx, DWLookup.aspx, MemberLogin.aspx and RenewPass.aspx), log-in attempts (successful and failed) are logged to the event log and include the IP address of the client. This logging of guest log-ins into the event log only occurs with VerbosityLevel greater than or equal to 4 (e.g., Site Admin Panel > Miscellaneous Settings > VerbosityLevel > value = 5). If the number of failed log-in attempts exceeds the value set in guest preferences (SysManager > Preferences > Guests > Misc tab > Number of failed login attempts before lock) the guest record is locked out.

Note: that if the value in guest preferences is set to 0, the guest record locking mechanism is disabled. Locked out guest records cannot be logged into and need to be reset from within SysManager.

When a locked record is encountered, the E-Commerce pages session is ended and the user is redirected to the error page. To customize the text seen on that page when this action occurs, use the setting: Site Admin Panel > Guest Related Settings > LockoutMessage > value = Your account has been locked due to too many failed login attempts. Please contact us to correct this or try again after the time has elapsed. After the first failed log-in attempt, a delay of three seconds occurs. After each successive failed log-in attempt, this delay doubles until a log-in is successful or the account gets locked. This delay mechanism was added to fend off automated attacks to gain access to a guest record. A successful log-in resets the failed log-in counter provided the guest record is not locked.

Minutes to keep guest log-in locked setting

The SysManager > Preferences > Guests > Misc tab > Minutes to keep guest login locked setting is enforced in the E-Commerce pages. When the number of failed log-in attempts for a guest equals the number set in SysManager > Preferences > Guests > Misc tab > Number of failed login attempts before lock, the guest is redirected to the error.aspx page where the message configured with the LockoutMessage key is displayed. The visitor/guest is locked out of his guest record for the number of minutes set in the Minutes to keep guest login locked setting, and each time that the user attempts to log-in again before the time has elapsed, he is redirected back to that message on the error.aspx page. If a locked out guest tries to log-in again after the time has passed and his log-in is successful, the lockout is removed and the failed log-in attempts get reset to 0 in his guest record. If the

15

Page 18: Salesware E-Commerce User Guide - accesso Technology Group

locked out guest’s log-in attempt is unsuccessful after the time has passed, his guest record is once again locked for the same number of minutes as before, and the failed log-in attempts are increased by 1 in his guest record.

Additionally, the LockoutMessage key supports the variable {{glocktime}}, which is filled with whatever lock time is set in SysManager – e.g., Site Admin Panel > Guest Related Settings > LockoutMessage > value = Your account has been locked for {{glocktime}} minutes due to too many failed login attempts. Please contact us to correct this or try again after the time has elapsed.

Uploading guest photos Perform the following steps to incorporate the guest photo upload capability with an existing installation of E-Commerce module: Set the following keys to “1”.

• Site Admin Panel > Guest Related Settings > GetPassPhoto=1 • Site Admin Panel > Guest Related Settings > GuestPhotos=1

You must give {computer}\ASPNET and/or Network Service Modify permissions to the new Temp folder (the default location is C:\Inetpub\wwwroot\E-Commerce\ − your location may be different) or you receive an, “Access is denied”, error message when trying to upload photos. You also need the following settings for enabling pass photo upload and the corresponding size accepted in pixels in your Site Config file:

• Site Admin Panel > Guest Related Settings > PassPhotoWidth value = 240 • Site Admin Panel > Guest Related Settings > PassPhotoHeight value = 320 • Site Admin Panel > Guest Related Settings > UploadPhotoMaxWidth value = 800

Site Admin Panel > Guest Related Settings > PassPhotoURL is used to specify the URL for your E-Commerce pages. The URL includes everything leading up to the \temp folder and must be used if you are using a hosting service for the E-Commerce pages.

If a visitor/guest tries to upload an image file that is larger than 4Mbytes in size, the GuestPhotoUpload.aspx page displays a message indicating that the image is too large to upload. The default message wording, “Image is too large to upload, please use a smaller photo less than 4 megabytes.” can be changed using the following site config key:

Site Admin Panel > Guest Related Settings > Photo2LargeError value = “Image is too large to upload. Please resize and try again.”

16

Page 19: Salesware E-Commerce User Guide - accesso Technology Group

Memberships and Passes A membership or pass is an item that is associated with a guest record, is valid for a certain length of time and is used to issue various benefits to the pass holder. For detailed information about membership and pass configuration, sales and use, see the Salesware Memberships and Passes document. Because pass products are linked to guests’ records and are often configured for certain age groups, you review the following site config file settings:

• Site Admin Panel > Guest Related Settings > GuestDispRows value = guest_no, first_name, last_name, address, city, state, zipcode, country, phone, email, birth_date, username, password, tix

• Site Admin Panel > Guest Related Settings > GuestEditRows value = first_name, last_name, address, city, state, zipcode, country, phone, email, birth_date, cardonfile, username, password

• Site Admin Panel > Guest Related Settings > ForceEditFields value = first_name, last_name, address, city, state, zip, area_code, phone, email

• Site Admin Panel > Guest Related Settings > ExistingGuestHideRows value = birth_date

Setup steps for selling and renewing memberships and passes Online pass sales To implement online pass sales:

1. Configure pass items. 2. Add them to the E-Commerce item tree.

By default, online pass sales are finalized sales.

Online pass renewals E-Commerce module includes pass/membership renewal functionality that allows a visitor/guest to renew to the same pass, to a different pass, to be able to choose from a configurable list of pass products during renewal or to extend the expiration date of their membership. The renewal process begins with an online visitor/guest following a link to the RenewPass.aspx page. The visitor/guest enters either the pass number of the pass he wants to renew or his pass number and verification information (if you require verification of the guest renewing his pass) and clicks the Lookup Pass button to continue the pass renewal process.

17

Page 20: Salesware E-Commerce User Guide - accesso Technology Group

What happens next depends on how you have things configured and we describe in detail four options for doing online pass renewals below. But first let’s look at how to configure the pages to require verification of a guest doing an online pass renewal.

Requiring verification of the guest renewing his pass You can configure the pages to require verification of the guest renewing his pass. This relies on the RenewVerify site config settings. Example: Site Admin Panel > Pass Renewal Settings > RenewVerifyField value = g.e_mail - the database field from the guests table which the guest must enter as verification of their identity – if left blank no verification is required, and the remaining RenewVerify fields below are ignored.

Site Admin Panel > Pass Renewal Settings > RenewVerifyAll value = 1 - set to 1 to enable full guest verification during a pass renewal lookup, meaning that this is the equivalent of a regular guest log-in.

Site Admin Panel > Pass Renewal Settings > RenewVerifyPrompt value = E-mail address: - the text that the guest is prompted with for verification.

Site Admin Panel > Pass Renewal Settings > RenewVerifyRegEx value = ^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$ - a regular expression used to validate what the guest enters for verification.

Site Admin Panel > Pass Renewal Settings > RenewVerifyRegExMessage value = Invalid email address - please re-enter. - message to display if what the guest enters for verification does not validate according to the RegEx.

18

Page 21: Salesware E-Commerce User Guide - accesso Technology Group

Four options for online pass renewals Option #1 – Renew to the same pass product

1. Update the Starting Values > Pass is Valid dates for the item and add the product to your E-Commerce item tree if it is not already there.

2. Add pass DCI to AllowedRenewals key in site config. The value for this key must have the Department, Category and Item (DCI) nicknames padded with spaces to equal ten characters each (thirty total). Multiple entries must be separated by a comma (no space after the comma).

Site Admin Panel > Pass Renewal Settings > AllowedRenewals value = PASSES ADULTPASS ADLOPRPASS

3. Set the renewal time period via the RenewalSpan key. The value entered for this key sets the number of years counting back from today that a pass is eligible for renewal. So if the value is 2 and today’s date is 4/24/2014, then, only passes that have expired between 4/24/2012 and 4/24/2014 can be renewed via the E-Commerce pages.

Site Admin Panel > Pass Renewal Settings > RenewalSpan value = 2

4. After clicking the Lookup Pass button, the visitor/guest is taken to the ItemShow.aspx page with the appropriate pass product there.

Note: also that in this example the guest is now the Head Guest in the sale as if he had done a normal verified guest lookup – this is because of Site Admin Panel > Pass Renewal Settings > RenewVerifyAll value =1 in the site config file.

19

Page 22: Salesware E-Commerce User Guide - accesso Technology Group

The visitor/guest checks out and pays and when Sales Host processes the sale successfully, the sale is finalized and the new pass is associated with the guest.

Option #2 – Renew to a different pass product.adadmin

1. Create and configure this new pass product and add the product to your E-Commerce item tree. Add the new pass product DCI to the AllowedRenewals key in site config. The value for this key must have the Department, Category and Item (DCI) nicknames padded with spaces to equal ten characters each (thirty total). Multiple entries must be separated by a comma (no space after the comma).

Site Admin Panel > Pass Renewals Settings > AllowedRenewals value = PASSES ADULTPASS 09ADLOPRPS

2. Set the renewal time period via the RenewalSpan key. The value entered for this key sets the number of years counting back from today that a pass is eligible for renewal. So if the value is 2 and today’s date is 4/24/2014, then, only passes that have expired between 4/24/2012 and 4/24/2014 can be renewed via the E-Commerce pages.

Site Admin Panel > Pass Renewals Settings > RenewalSpan value = 3

20

Page 23: Salesware E-Commerce User Guide - accesso Technology Group

3. Configure the DCI2DCI.xml file (located in C:\Inetpub\wwwroot\E-Commerce\XMLFiles) by entering the DCI of the pass you want to have guests be able to renew into the old_dept, old_cat and old_item tags.

Note: DCI nicknames must be padded with spaces to equal ten characters each if necessary. Then, in the same section enter the DCI of the pass you want to be sold to replace the old pass into the new_dept, new_cat and new_item tags.

Note: add additional sections beginning with <Table> and ending with </Table> as needed to the DCI2DCI.xml file.

<Table> <old_dept>PASSES </old_dept> <old_cat>ADULTPASS </old_cat> <old_item>08ADLOPRPS</old_item> <new_dept>PASSES </new_dept> <new_cat>ADULTPASS </new_cat> <new_item>09ADLOPRPS</new_item> <group></group> </Table>

4. After clicking the Lookup Pass button the visitor/guest is taken to the ItemShow.aspx page with the appropriate pass product there.

The visitor/guest checks out and pays and when Sales Host processes the sale successfully, the sale is finalized and the new pass is associated with the guest

21

Page 24: Salesware E-Commerce User Guide - accesso Technology Group

Option #3 – Renew to a configurable list of products. The third way to set up pass renewals is to allow the visitor/guest to choose from a list of products when he goes to renew his pass online. This is accomplished by utilizing a portion of the Group (account) functionality (described in detail in the section Group (account) functionality setup) that allows access to a specified menu of items.

1. Create and configure the pass products as needed. 2. Create a new account in SysManager – it only needs a Nickname and Full Name.

22

Page 25: Salesware E-Commerce User Guide - accesso Technology Group

3. Create a new item tree group within your existing E-Commerce item tree folder and give it the same name

as account Nickname created above. 4. Add the pass products created in step a. above to that item tree group. 5. Set the Available For Sale dates to sometime in the past. This is necessary so that this item tree group is not

displayed to guests who are not renewing their pass.

6. Add the old pass product DCI to the AllowedRenewals key in site config. The value for this key must have the Department, Category and Item (DCI) nicknames padded with spaces to equal ten characters each (thirty total). Multiple entries must be separated by a comma (no space after the comma).

Site Admin Panel > Pass Renewal Settings > AllowedRenewals value = PASSES ADULTPASS 2007ADSEAS

7. Set the renewal time period via the RenewalSpan key. The value entered for this key sets the number of years counting back from today that a pass is eligible for renewal. So if the value is 2 and today’s date is 4/24/2014, then, only passes that have expired between 4/24/2012 and 4/24/2014 can be renewed via the E-Commerce pages.

Site Admin Panel > Pass Renewal Settings > RenewalSpan value = 3

8. Configure the DCI2DCI.xml file (located in C:\Inetpub\wwwroot\E-Commerce\XMLFiles) by entering the DCI of the pass you want to have guests be able to renew into the old_dept, old_cat and old_item tags.

Note: DCI nicknames must be padded with spaces to equal ten characters each if necessary. Then, in the same section leave the new_dept, new_cat and new_item tags empty and enter the account Nickname you created above into the group tag (the account Nickname is not padded out to ten characters).

Note: add additional sections beginning with <Table> and ending with </Table> as needed to the DCI2DCI.xml file.

23

Page 26: Salesware E-Commerce User Guide - accesso Technology Group

<Table> <old_dept>PASSES </old_dept> <old_cat>ADULTPASS </old_cat> <old_item>2007ADSEAS</old_item> <new_dept></new_dept> <new_cat></new_cat> <new_item></new_item> <group>TAOSPASSES</group> </Table>

9. After clicking the Lookup Pass button the guest is redirected to the ItemList.aspx page where the group of items just created in the TaosPasses item tree group is displayed.

The visitor/guest selects the pass he wants from the list, checks out and pays and when Sales Host processes the sale successfully, the sale is finalized and the new pass is associated with the guest.

24

Page 27: Salesware E-Commerce User Guide - accesso Technology Group

Option #4 - Extend the expiration date of an existing membership.

Note: This is a variation of option #3 and allows organizations that offer yearly memberships the ability to renew those memberships by extending the expiration date.

Set up a one-year membership card:

1. Create an item and on the General tab set Time Span to 365 days and check the box for Round time span to end-of-month if desired.

2. On the Action tab set Item Type to Create Pass. 3. Press the Action Specifics button and on the Starting Values tab add any points or uses as desired.

Create the renewal products:

1. Create one or more items and on the Action tab set Item Type to Regular Item and select the Force validation radio button.

2. Press the Template button and on the Validation tab enter 365 for the Extend expiration date (days) and check the Round to end-of-month check box.

25

Page 28: Salesware E-Commerce User Guide - accesso Technology Group

3. Go to the Item/Pass Relationships tab and assign the passes for which this renewal product is valid.

4. Create a new account in SysManager – in this example, TaosExtend. 5. Create a new item tree group within your existing E-Commerce item tree folder and name it the same as the

account Nickname – TaosExtend in this example. 6. Add the renewal products to that item tree group.

26

Page 29: Salesware E-Commerce User Guide - accesso Technology Group

7. Set the Available For Sale dates to sometime in the past. This is necessary so that this item tree group is not displayed to guests who are not extending the expiration date of their membership.

8. Add the old pass product DCI to the AllowedRenewals key in site config. The value for this key must have the Department, Category and Item (DCI) nicknames padded with spaces to equal ten characters each (thirty total). Multiple entries must be separated by a comma (no space after the comma).

Site Admin Panel > Pass Renewal Settings > AllowedRenewals value = MEMBERSHIPMFAH LEVEL2 ,MEMBERSHIPMFAH LEVEL4 ,MEMBERSHIPMFAH LEVEL6

9. Set the renewal time period via the RenewalSpan key. The value entered for this key sets the number of years counting back from today that a pass is eligible for renewal. So if the value is 2 and today’s date is 4/24/2014, then, only passes that have expired between 4/24/2012 and 4/24/2014 can be renewed via the E-Commerce pages.

Site Admin Panel > Pass Renewal Settings > RenewalSpan value = 2

10. Configure the DCI2DCI.xml file (located in C:\Inetpub\wwwroot\E-Commerce\XMLFiles) by entering the DCI of the pass you want to have guests be able to renew into the old_dept, old_cat and old_item tags.

Note: DCI nicknames must be padded with spaces to equal ten characters each if necessary. Then, in the same section leave the new_dept, new_cat and new_item tags empty and enter the account Nickname you created above into the group tag (the account Nickname is not padded out to ten characters).

Note: add additional sections beginning with <Table> and ending with </Table> as needed to the DCI2DCI.xml file.

<Table> <old_dept>MEMBERSHIP</old_dept> <old_cat>MFAH </old_cat>

27

Page 30: Salesware E-Commerce User Guide - accesso Technology Group

<old_item>LEVEL2 </old_item> <new_dept></new_dept> <new_cat></new_cat> <new_item></new_item> <group>TAOSEXTEND</group> </Table> <Table> <old_dept>MEMBERSHIP</old_dept> <old_cat>MFAH </old_cat> <old_item>LEVEL4 </old_item> <new_dept></new_dept> <new_cat></new_cat> <new_item></new_item> <group>TAOSEXTEND</group> </Table> <Table> <old_dept>MEMBERSHIP</old_dept> <old_cat>MFAH </old_cat> <old_item>LEVEL6 </old_item> <new_dept></new_dept> <new_cat></new_cat> <new_item></new_item> <group>TAOSEXTEND</group> </Table>

The visitor/guest enters his membership number and password on the RenewPass.aspx page and clicks the Lookup Pass button to begin the renewal process – in this example the membership being renewed is valid to 11/15/2007.

28

Page 31: Salesware E-Commerce User Guide - accesso Technology Group

Next, the visitor/guest is taken to the ItemList.aspx page, which displays the list of renewal products available.

The visitor/guest selects the 1 Year Extension option, checks out and pays and when Sales Host processes the sale successfully, the sale is finalized and the pass expiration date is, in this case, extended to one year from the date of purchase (7/14/2008) and is rounded to the end of the month.

29

Page 32: Salesware E-Commerce User Guide - accesso Technology Group

Allow guests to view information about their current passes/memberships You can provide visitors/guests with the ability to log-into their guest records to view information about their current (non-expired) passes/memberships in the E-Commerce pages. This is done by adding “misc1” (or whichever table row you use in the Guestselected.aspx page) to the GuestDispRows key in the site config file. The table row that you use looks basically like the following: <tr id=“misc1”> <td class=“guestselectleft”>Passes</td> <td class=“guestselectright”><uc1:Passinfo id=“PassInfo1”runat=“server”> </uc1:PassInfo></td> </tr>

Upon a verified guest lookup, the table row is displayed on GuestSelected.aspx as a link indicating the number of current passes/memberships in the guest record. Clicking that link displays the list of current passes/memberships in the guest record. The following default information is displayed for each pass/membership in the list: pass/membership number (pass_no from the gst_pass table), pass/membership description from the items table and pass/membership expiration date from the gst_pass table. Voided passes also get displayed in the list with a red background, but the color is configurable in the Siriusware.css file using the VoidedRow class.

Note: Most fields from the gst_pass table can be displayed using this functionality. Please contact accesso Siriusware Technical Support for assistance in configuring this.

30

Page 33: Salesware E-Commerce User Guide - accesso Technology Group

Fulfillment of passes and memberships purchased/renewed with E-Commerce module For visitors/guests who either do not have photos in their guest record or who need new photos, E-Commerce pass sale and renewal orders can be fulfilled with either Sales or SysManager. BatchPrint utility can be used to fulfill E-Commerce pass sale and renewal orders for existing guests who have photos in their guest records. BatchPrint utility can also print a mailing label with each pass as well as tickets/vouchers associated with the pass. A few notes on BatchPrint utility:

• The name and address of the guest attached to the pass is printed on both the pass and address label, not the purchaser’s name and address. In other words, if Homer Simpson purchased a pass for Lisa Simpson, it is Lisa’s name and address that prints in BatchPrint utility.

• It is a good idea to include the guest name on the Pass layout − otherwise it can be difficult to figure out which pass goes with which mailing label.

• For information about configuring and using BatchPrint utility, see the Salesware Memberships and Passes document.

• BatchPrint utility in conjunction with the E-Commerce Shipping Address functionality can be used to fulfill pass sale and renewal orders for existing guests who have photos in their guest records.

• The guest who is paying for the sale (the purchaser) can designate that the items in the sale be shipped either to himself or to another person or that the items not be shipped.

• This method requires that Reservation Headers be configured, both for the E-Commerce pages and the Sales Host.

• The purchaser must be a guest in the system and the shipping address fields must be enabled on the Checkout.aspx page.

• BatchPrint utility produces the pass or gift card and a mailing label for the name and address that is populated into the shipping address fields on the Checkout.aspx page.

1. Site config file configuration • Site Admin Panel > Reservation Settings > UseResHeaders value = 1 − Enables

Reservation Headers in the pages • Site Admin Panel > Guest Related Settings > NoPurchTracking value = 0 − Forces

purchaser to be a guest in the system • Site Admin Panel > Guest Related Settings > ShowShippingAddr value = 1 − Enables

shipping address fields on Checkout.aspx

2. Sales Host configuration • [Preferences] • ReservationHeaders=TRUE

3. Pass or gift card item configuration • Create the pass or gift item as you normally would. • Create a Graphic layout named MAILING_LABEL.FRX that contains a 1” x 3” field

containing this expression: alltrim(resrvatn.notes)

31

Page 34: Salesware E-Commerce User Guide - accesso Technology Group

• On the Printing tab, assign MAILING_LABEL.FRX to Ticket 1, Ticket 2, Voucher 1 or Voucher 2 − the example shown below uses Voucher1.

4. Modifications to the wording and layout of Checkout.aspx are required – see the following.

In the following example, Homer Simpson is purchasing passes for Bart and Lisa, but he wants to have them shipped to himself.

32

Page 35: Salesware E-Commerce User Guide - accesso Technology Group

In the following example, Homer decides to pick up the passes in person.

33

Page 36: Salesware E-Commerce User Guide - accesso Technology Group

5. BatchPrint utility setup • The Pass Selection tab in BatchPrint utility needs to be configured to work with passes

or gift cards sold through the WEBSP salespoint and WEBOP operator.

34

Page 37: Salesware E-Commerce User Guide - accesso Technology Group

• The Print Options tab needs to be configured to Print Passes (to print the pass or gift card) and Voucher 1 (to print the mailing label that is stored in the resrvatn.notes field)

Here is the result of the printing with the shipping of the passes going to Homer.

35

Page 38: Salesware E-Commerce User Guide - accesso Technology Group

Member-only products, member discounts and free item modifiers for members

Visitors/guests who are members (pass holders) can have access to member-only products, free item modifiers and member discounted items. Each of these benefits is started with the member log-in process which occurs on the MemberLogin.aspx page. The visitors/guest enters either the pass number or the addit number of their pass/membership along with verification information (if you require verification of the guest logging in as a member) and clicks the Login button to complete the member log-in process.

Setting the member log-in and verification fields for the member log-in process

The following site config file settings need to be configured for the member log-in process:

• Site Admin Panel > Membership Settings > MemberNoField value = pass_no-P - this can be set to "pass_no-P", "addit_no-P" or "pass_no-p,addit_no-P" where “P” is the prefix associated with the gst_pass.pass_no field in Access Control preferences. If you have something other than P in that field, adjust this setting to match what you use. For a blank prefix, use only the field name. If both pass_no and addit_no are specified in this setting, the first is tried and if that lookup fails, then the second is tried.

• Site Admin Panel > Membership Settings > MemberVerifyField value = g.passwords - the database field from the guests or address table which the guest must enter as verification of their identity – if left blank no verification is required and the remaining MemberVerify fields below are ignored.

• Site Admin Panel > Membership Settings > MemberVerifyAll value = 1 - set to 1 to enable full guest verification during a member log-in through the MemberLogin.aspx page, meaning that this is the equivalent of a regular verified guest log-in.

36

Page 39: Salesware E-Commerce User Guide - accesso Technology Group

• Site Admin Panel > Membership Settings > MemberVerifyPrompt value = Password: - the text that the guest is prompted with for verification.

• Site Admin Panel > Membership Settings > MemberVerifyRegEx value = ^.{6,12}$ - a regular expression used to validate what the guest enters for verification.

• Site Admin Panel > Membership Settings > MemberVerifyRegExMessage value = Password invalid, please re-enter. - message to display if what the guest enters for verification does not validate according to the RegEx.

• Site Admin Panel > Membership Settings > MemberFilterDCIs value = MEMBERSHIPMUSEUM LEVEL1 ,MEMBERSHIPMUSEUMLEVEL2 ,PASSES ADULT UNLIMITED ,PASSES ADULT LIMITED - set this to pass/membership DCIs (padded to thirty characters) that are allowed for member log-ins (pass/membership used to log-in must still be valid, i.e., not expired or voided). Separate multiple DCIs with a comma. If you set value = "", then, all valid memberships/passes is allowed for member log-ins.

• Site Admin Panel > Membership Settings > GuestLoginAsMember value = 1 - set this to 1 to allow a guest log-in to also work as a member log-in. This also requires Site Admin Panel > Guest Related Settings > AllowMultiLogin value = 1 to be set. This only works if the guest who is logging in has a valid pass/membership as set in “MemberFilterDCIs” key. If you set value = “” for the MemberFilterDCIs key, than any guest with a valid pass/membership who does a guest log-in is also logged in as a member. Set the value for “GuestLoginAsMember” key to “0” to disable this functionality.

Once the visitor/guest has logged in via the member log-in process, their member number displays in the header as shown below.

37

Page 40: Salesware E-Commerce User Guide - accesso Technology Group

Configuration for member-only products

The items that you want to configure as only being available for guests logged in via the member log-in process must be entered into the following site config file setting using padded DCIs separated with only a comma:

Site Admin Panel > Membership Settings > MembersOnlyDCIs value = MEMBERONLYRETAIL MMBRMUG ,MEMBERONLYRETAIL MMBRPOSTER

Suggested addition to the Help section in the Item Configuration form of the site config: <h3>Available only to members who have logged in!</h3> <p class="small">If you have not logged in as a member yet, please <a href="MemberLogin.aspx">log in here</a></p>

If the visitor/guest gets to the ItemShow.aspx page for a member-only product before logging in, the Add to Cart button is inactive. However, the link to take them to the MemberLogin.aspx page prompts them on how to proceed.

Once the guest logs in as a member they are returned to the ItemShow.aspx page and now the Add to Cart button is active.

38

Page 41: Salesware E-Commerce User Guide - accesso Technology Group

Configuration for member discounts

Create and configure a special that you use to provide member discounts. In the example below I’m configuring a special called Member to give a 50% discount.

Configure the pass template for the passes for which you want the special to work:

In the item edit form go to the Action tab > Action Specifics > Global Settings tab. Enter one of the following macros into the Sales Screen action to execute when this item is validated field along with the special name: SELECTIVESPECIAL(), GLOBALSPECIAL(), ITEMSPECIAL(), or SPECIAL(). In this example I’m using SELECTIVESPECIAL() along with my newly created Member special.

39

Page 42: Salesware E-Commerce User Guide - accesso Technology Group

Configure the items that you want discounted member pricing for via the Member special by linking the special to those items as shown in the screen capture below.

40

Page 43: Salesware E-Commerce User Guide - accesso Technology Group

After the visitor/guest logs in through the member log-in process and selects one of the items configured as shown above, the Member special is automatically applied to the price.

Configuration for free item modifiers for members A members/pass holder can be given access to free item modifiers based on the number of points 1/points 2 and/or money 1/money 2 she has associated with her membership/pass. This section details the configuration required to get this to work.

a. Required site config file setup: • Site Admin Panel > Membership Settings > PointsModDCIs value = EXHIBITS MET_MODS

MEMBERFREE − The items that you want to designate as free modifier items. Enter the DCIs into the value for this key, padded to ten characters each, thirty characters total – multiple DCI entries must be separated with only a comma.

• Site Admin Panel > Email Settings > EXHIBITS MET_MODS MEMBERFREEPtsSel value = Select points1 as uses from gst_pass where pass_no = {{pass_no}} and voided_by='' and voided_for='' and start_date&lt;=GETDATE() and expires&gt;=GETDATE() - This setting requires editing both the key and value portions. The key portion of this setting contains the padded DCI of the free modifier item followed directly by PtsSel. The value portion of this setting contains the select statement which determines whether to deduct points from the points1 or points2 field of the pass that is used, based on the number of free modifiers purchased. Only edit the part that says Select points1 if necessary - set it to Select points2 if you want to use points2 instead of points1 or you can also use money1 or money2 as well. If you enter multiple DCIs into the PointsModDCIs key above, you need to create one of these settings per DCI.

• Site Admin Panel > Membership Settings > Allow0Total value = 1 − If a sale total might be $0 under this scheme (e.g., if a guest only “purchases” free tickets), you have to set Allow0Total to 1 to allow this.

• Site Admin Panel > Membership Settings > 0PmtTxt value = Your membership − If you allow $0 sales, you also add some text to this key to override the default text regarding payment type in email confirmations for $0 sales

• Site Admin Panel > Membership Settings > MembersOnlyDCIs value = MEMBERONLYRETAIL MMBRMUG ,MEMBERONLYRETAIL MMBRPOSTER,EXHIBITS MET_MODS MEMBERFREE,EXHIBITS MET_MODS MEMBER - Add the free modifier DCI along with member discounted DCI to the MembersOnlyDCIs key to ensure that only members can purchase this.

41

Page 44: Salesware E-Commerce User Guide - accesso Technology Group

Note: A member discounted DCI (EXHIBITS MET_MODS MEMBER ) was added.

b. Configure the pass template for the passes for which you want free modifiers to work – in the item edit form go to the Action tab > Action Specifics > Starting Values tab and set either Points1 or Points2 to the number of free modifiers that you want the member to be allowed to purchase.

c. Configure the main ticket item with the free modifiers – enter text in the Help section to tell members to log-in – configure and assign modifiers, and then configure a Dynamic Pricing Rule to price the ticket according to the modifier selected.

42

Page 45: Salesware E-Commerce User Guide - accesso Technology Group

43

Page 46: Salesware E-Commerce User Guide - accesso Technology Group

d. Configure the modifiers – member discount and member free modifiers require validation and the member free modifier is set to deduct Points 1 (-1) when it is validated. Also, in the example screen captures below I’ve restricted the validation to only certain passes.

44

Page 47: Salesware E-Commerce User Guide - accesso Technology Group

Note: Money 1 and Money 2 can also be used for setting validation of passes

The member logs in and selects the main ticket item – the Add to Cart button is enabled for both member discount and member free items (because the member is already logged in) and the Member Free item quantity dropdown gets automatically set to the number of Points1 remaining for the membership used for log-in.

45

Page 48: Salesware E-Commerce User Guide - accesso Technology Group

Points1 get deducted from the pass upon completion of the sale according to the number of Member Free modifiers selected.

Immediate recognition of “Member” status in E-Commerce module transactions This enhancement allows guests/visitors the opportunity to purchase a membership online using E-Commerce module and have it immediately recognized. This then applies the membership discount to other items in the cart.

Performance

In the past, in order to receive a membership discount on goods purchased online, a guest/visitor would have to purchase a membership, receive a member number, and then conduct a secondary purchase of goods to reap the membership discount. accesso has added the feature of automatically applying discounts (Specials) configured for memberships to other items in the cart at the time of a membership purchase through E-Commerce module.

46

Page 49: Salesware E-Commerce User Guide - accesso Technology Group

Configuration

E-Commerce pages automatically apply discounts or specials configured for a membership/ pass item currently in the E-Commerce cart to other eligible items included in the Sales invoice or cart for immediate member benefit recognition. This feature supports the Sales Screen action macro, SELECTIVESPECIAL(“SPECIAL “) in the E-Commerce pages. This Sales screen action macro a is configured on the Action Specifics > Global Settings tab for the membership pass item. The membership pass item must also be configured with the Allow “on-the-fly” discounting box checked on the Pass Template Form > Global Settings tab in SysManager.

PassLink validation This functionality offers the ability to redeem member benefits on-line. These benefits include items such as booking parties, purchasing discounted tickets/ items or complimentary tickets for a member’s guests.

Functionality

PassLink Validation configures an item with either forced or optional validation: Forced validation prevents the item’s purchase unless a valid pass number is entered. The number of uses may be limited based on the validation template configuration. Example: Only two Guest Tickets are allowed per membership. The purchase of a Guest Ticket requires one use (or one point.) The member pass record used for validation must have at least one point or use to purchase a Guest Ticket.

Alternatively, the purchase of items may not be limited to a specific number, but a valid pass must be presented for purchase.

Example: Free IMAX tickets are available for members with no limit on how many can be purchased, but the purchase is only allowed after a membership number is entered for validation.

Additionally, certain actions can take place with a successful validation based on the DCI of the pass item used for validation.

Optional validation has all the same features as Forced validation, except that, if the pass number used for validation fails, the item can still be purchased; just not with any of those special actions applied (uses/points added/deducted, discounts applied, auto-adding of an item, etc.)

47

Page 50: Salesware E-Commerce User Guide - accesso Technology Group

The E-Commerce pages give the pass number to ww.dll. The ww.dll gets a validation response from SalesEZ application and passes the results of the validation back to the E-Commerce pages. In other words, SalesEZ application handles the validation using ww.dll to interpret the validation requests and responses.

Configuration

A Validation Control text box appears in the cart for each line item configured with either Force or Optional validation. Force validation items require the user to populate the text box with a valid pass/membership number and click the Check Validation button next to the text box in order to be able to finalize the sale in the pages. If points or uses are needed for the validation and the pass does not have enough points or uses remaining, the user is not allowed to finalize the sale and the message displayed informs them of this. Items configured with Optional validation allow the user to complete the sale with or without the entry of a valid pass/membership number. If a pass number is entered in this case and the user clicks the Check Validation button, the pass is checked to see if there is a valid special to apply to the item or if upon processing of the sale a use or a point needs to be subtracted. If there is a valid special to apply to the item, the price displayed in the cart reflects the discounted price immediately after the user clicks the Check Validation button. If points or uses are needed for the validation and the pass does not have enough points or uses remaining, the user is not allowed to finalize the sale and the message displayed informs them of this.

The following site config keys along with comments have been added to support informational text that displays during the validation process as well as setting the prefix to use for pass/membership numbers:

• Set ValidationRequiredText to text to display in the cart when hovering over the red X image for line items that require validation

Site Admin Panel > Validation Settings > ValidationRequiredText value = You must enter a valid Membership number in order to purchase this item

• Set ValidationOKText to text to display in the cart when hovering over the green checkmark image

when validation passes for a line item.

Site Admin Panel > Validation Settings > ValidationOKText value = Membership Validation Completed

• Set ValidationEditText to text to display in the cart when hovering over the pencil/notepad image after a line item has been successfully validated.

Site Admin Panel > Validation Settings > ValidationEditText value = Edit Membership Validation Information

48

Page 51: Salesware E-Commerce User Guide - accesso Technology Group

• Set ValidationFailedText to text to display in the cart when validation fails for a line item.

Site Admin Panel > Validation Settings > ValidationFailedText value = Unsuccessful - please try another pass number

• Set ValidationPrefix to the prefix associated with gst_pass.pass_no in your access control preferences.

Site Admin Panel > Validation Settings > ValidationPrefix value = P

Family Pass In order to support Memberships & Passes Family Pass functionality, additions were made to E-Commerce module to allow selling these items through your web site.

Configuration

The following changes have been made to the E-Commerce pages in support of the new Family Pass Package functionality:

• An ItemShowFamilyPass.aspx page based on ItemShow.aspx has been created to handle the components of the pass package

• The user is redirected to the new ItemShowFamilyPass.aspx page if the item selected is a Package Item

• The file PackageConfiguration.xml has been added to define Package Items and the components of the Family Pass Package. This xml file must be in the site root in order to be read and applied.

• The control file PackageItemShow.ascx has been added to the UserControls folder to help in handling the selection of first and second level modifiers on the new ItemShowFamilyPass.aspx page

Package Items and their components are defined and their behavior configured using the PackageConfiguration.xml file. Information about the main family pass package item is entered into the <PackageItem> section of the xml file.

Example: <PackageItem> <MinQty>2</MinQty> <MaxQty>999</MaxQty>

49

Page 52: Salesware E-Commerce User Guide - accesso Technology Group

<QuantityRestrictionExcludes>PASSES|ADDONS|INSURANCE</QuantityRestrictionExcludes> <PackageTitle>Family Pass Package</PackageTitle> <PackageDescription>The Family Pass Package allows you to bundle your family's season passes into one great Package. Choose up to 2 Adults. You may add as many Youth/Child passes as you like, and the 5th and subsequent passes will be free (with a $25 service Fee). Add your family members below:</PackageDescription> <DCI>PASSES|FAMPASPKGS|FAMILYPASS</DCI> </PackageItem>

The <MinQty> and <MaxQty> tags are used to define the minimum and maximum number of modifiers that the main family pass package item can have. The <QuantityRestrictionExcludes> tag indicates which, if any, modifiers are not included when determining if the quantity restrictions have been met or not. Set the <PackageTitle> and <PackageDescription> tags to text that you want to display on the new ItemShowFamilyPass.aspx page to describe the family pass package. And finally enter the DCI of the main family pass package item into the <DCI> tags as shown above.

The next section of the PackageConfiguration.xml file is used to configure the modifiers for the main pass package item and how they behave. You can add as many <PackageItemGroup> sections as you need to define the groups of modifiers that you have in your package. The tags define things in a similar manner as they do in the section above. Example: <PackageItemGroups> <PackageItemGroup> <MinQty>1</MinQty> <MaxQty>2</MaxQty> <PackageGroupName>Adult Passes/Senior Passes</PackageGroupName> <PackageGroupDesc>Please select Adult/Senior family members (Minimum of 1 / Maximum of 2) by clicking the links below. Then select add-ons using the checkboxes.</PackageGroupDesc> <DCIs> <string>PASSES|FAMPASPKGS|ADULT</string> <string>PASSES|FAMPASPKGS|SENIOR</string> </DCIs> <PackageItemGroups /> </PackageItemGroup> <PackageItemGroup> <MinQty>1</MinQty> <MaxQty>999</MaxQty> <PackageGroupName>Youth Passes/Child

50

Page 53: Salesware E-Commerce User Guide - accesso Technology Group

Passes</PackageGroupName> <PackageGroupDesc>Select Youth/Child family members (Minimum of 1 / Maximum unlimited) by clicking the links below. Then select add-ons using the checkboxes.</PackageGroupDesc> <DCIs> <string>PASSES|FAMPASPKGS|YOUTH</string> <string>PASSES|FAMPASPKGS|CHILD</string> </DCIs> <PackageItemGroups /> </PackageItemGroup> <PackageItemGroup> <MinQty>0</MinQty> <MaxQty>1</MaxQty> <PackageGroupName>Insurance</PackageGroupName> <PackageGroupDesc>Select this if you want to add insurance to your pass package.</PackageGroupDesc> <DCIs> <string>PASSES|ADDONS|INSURANCE</string> </DCIs> <PackageItemGroups /> </PackageItemGroup> </PackageItemGroups> Modifiers Functionality was added to the E-Commerce pages to show modifier prices in the cart. The prices are displayed as follows: Modifier Description (+ price) (modifier1 (+ $24.50)) on the description row for each first and second level modifier. The functionality is enabled by setting Site Admin Panel > Item Settings > ShowModPrice value = 1 in the site config file - set the value to 0 to disable.

Benefit Management

Introduction

Cultural clients who offer rolling membership often struggle to administer member benefits using the static Uses and Points fields offered by accesso’s Siriusware Memberships and Passes module. While many of the benefits can easily be handled using existing functionality, adding several concurrent active benefits with limited numbers of redemptions per benefit can be problematic.

For example, a museum has four concurrent ticketed exhibits. One of the exhibits allows a total of four member tickets total, the other three allow up to two member tickets per day. Currently, the accesso Siriusware membership would need to be set up with four total uses for the first exhibit and six daily uses for the other three exhibits. This leaves room for potential benefit abuse as there is no way to restrict the member from using all six daily uses for a single exhibit. This problem is exacerbated as new exhibits for future dates are available for pre-purchase/reservation.

51

Page 54: Salesware E-Commerce User Guide - accesso Technology Group

To alleviate these issues, accesso, has added a new feature to support multiple concurrent member benefits, all with varying levels of redemption, which can be applied to Membership products. Any new member benefits applied to Membership products are retroactive, meaning that any current member who owns one of the Membership products is immediately eligible for the new benefits.

Benefit Management functionality should be employed if you wish to restrict how many times a benefit can be used within a specific period. The approach within the software is to define a list of Benefits, and then per Benefit configure how many, how often and what items the Benefit can be redeemed against. Next, the defined benefits are linked to the eligible memberships. Finally, each time a benefit is redeemed, it is recorded, as opposed to deducting values from a limited number of Uses/Points fields available, on Memberships/Passes records.

Configuration

In order to display member benefit usage summary control, enable add MemberBenefits to the GuestDispRows site config setting.

1. To merge with existing pages, add: UserControls\MemberBenefits.ascx

2. Edit GuestSelected.aspx 3. At the top of the file, add this line:

<%@ Register Src="~/UserControls/MemberBenefits.ascx" TagPrefix="uc1" TagName="MemberBenefits" %>

4. Below this: <uc1:PAHLinks ID="PAHLinks1" runat="server"></uc1:PAHLinks> </td> </tr>

5. Insert this: <tr id="MemberBenefits"> <td> Member Benefits </td> <td> <uc1:MemberBenefits runat="server" ID="MemberBenefits1" /> </td> </tr>

52

Page 55: Salesware E-Commerce User Guide - accesso Technology Group

6. Edit App_Themes\<yourthemename>\style.css: 7. Append this:

table.GuestTable table.plainTable tr td:first-child { font-weight:normal; text-align:left; background:none; width:auto

Use Benefit redemption in E-Commerce module is similar to our existing validation feature, with items that are eligible for Benefit Management functionality, and allows the entry of a membership number. The interface looks for the same for a customer whether or not it is a Standard (Classic) validation or a Benefit and Redemption item, but the call made to ww.dll for subsequent “approval” of the purchase varies. Member and benefit usage summary control can be displayed. To enable, add MemberBenefits to the GuestDispRows config setting as described previously.

53

Page 56: Salesware E-Commerce User Guide - accesso Technology Group

The remainder of the Benefit Management changes to E-Commerce module look the same as when using standard validation with one exception. After the item in the shopping cart is validated as a member benefit item, the item description changes to the description of the benefit.

Before validation:

54

Page 57: Salesware E-Commerce User Guide - accesso Technology Group

After validation:

E-Commerce pass package functionality E-Commerce module has the capability of selling pass packages online using Web Rules (see Web Rules). The section presents an example of a family pass package which utilizes the fields on the Web tab of the main pass item in the package to auto-sell additional pass items and to create a Web Rule to evaluate the ages of the guests attached to the passes in the package. The package demonstrated in this example consists of up to four total passes, one main pass item (family pass package) and up to three additional pass items (pass package additions) and is configured such that only two guests ages eighteen or over can be attached to the passes in the package.

55

Page 58: Salesware E-Commerce User Guide - accesso Technology Group

SysManager configuration

The main pass item is configured as a Create Pass item type. Text is entered into the Help section of the General tab that displays on the ItemShow.aspx page when this item is selected and provides details of the pass package.

Min Qty and Max Qty are both set to “1” so that the online visitor/guest is restricted to purchasing only one of these pass packages at a time.

56

Page 59: Salesware E-Commerce User Guide - accesso Technology Group

The Action to execute when item is sold on the web field gets populated with a macro that auto-sells the additional pass items. The macro must take the form SELECTITEM("DCI") which needs to have the D, C and I all padded with spaces to equal ten characters each (thirty characters total). The Rule to enforce on a grouping of items created by the Web Rule instructs the web pages that only two guests can be at or over the age of eighteen for this pass package. The Text to display if Web Rule is violated is displayed after all guests have been added to the passes in the package and their ages violate the rule (i.e., greater than two guests attached to the passes in the package are 18 or over in age).

57

Page 60: Salesware E-Commerce User Guide - accesso Technology Group

The additional pass item is also configured as a Create Pass item type. Text is once again entered into the Help section of the General tab that displays on the ItemShow.aspx page when this item is automatically added to the cart and provides additional details of the pass package.

Min Qty is set to 1 and Max Qty is set to 3 allowing the online visitor/guest to purchase between one and three of the additional pass items to make up the package.

58

Page 61: Salesware E-Commerce User Guide - accesso Technology Group

The main pass item (family pass package) is added to the main E-Commerce item tree along with other pass items for sale online. The additional pass item (pass package additions) is also in the item tree, but it is located in a folder that is inactive and therefore is not seen on the web site. This is done to prevent visitors/guests from only purchasing the pass package additions item while still allowing Sales Host to process sales containing this item.

59

Page 62: Salesware E-Commerce User Guide - accesso Technology Group

Results

The contents of the Internet Passes folder are displayed when an online visitor/guest goes to the E-Commerce module portion of your web site and clicks through the Passes link in the E-Commerce item tree.

When the online visitor/guest selects the Family Pass Package item, note that the Enter Quantity box is grayed out with the number 1 filled in – only one of these passes can be sold at a time. Also note the text displayed that was entered into the Help section during item setup.

When the item is added to the cart, the online visitor/guest is prompted to add a guest to the item. Immediately after adding a guest to this item the following screen appears – this is the auto-selling of the additional pass item. Note the dropdown box in the Enter Quantity box – this is used to select 1, 2 or 3 of these additional pass items. Also note the text displayed that was entered into the Help section during item setup.

60

Page 63: Salesware E-Commerce User Guide - accesso Technology Group

When the online visitor/guest adds the appropriate number of additional pass items to the cart, she is prompted to attach guests to each of these passes. If after adding the final guest the ages are outside the range of the Web Rule, the Text to display if Web Rule is violated message appears.

The online visitor/guest needs to re-attach guests who meet the specified age criteria to the additional pass items in order to complete the sale.

Once the ages of the guests attached to the passes in the package are within the defined range, the cart displays showing the Family Pass Package along with the additional pass items (Pass Package Additions).

Notice that this example of the pass package is priced with the total price built into the main pass item. You could just as easily price the package by assigning individual prices to both the main pass item and the additional pass item.

Once the Sales Host has processed the online sale, a Pass Activity Report can be run to see the guest names and new pass numbers associated with each of the items in the pass package.

61

Page 64: Salesware E-Commerce User Guide - accesso Technology Group

Group sales

Groups, clubs and accounts settings in detail

Settings used to configure groups

The following settings are used when setting up group accounts.

• Site Admin Panel > Group/Accounts and Club Management Settings > EnableActCharge value = 1 • Site Admin Panel > Group/Accounts and Club Management Settings > InheritGroup value = 1 • Site Admin Panel > Group/Accounts and Club Management Settings > cbActChgTxt value = Charge to

the {{grpName}} account • Site Admin Panel > Group/Accounts and Club Management Settings > KeepCartOnGroupLogout

value = 1

The EnableActCharge key is used to enable or disable account charging globally. If this is set to any value except 1, users never see the option to charge the web sale to the account. Any purchases made through the Groups/Accounts system is tracked through Accounts by creating a new invoice. Sales can only be charged to an account if enabled, otherwise credit card information is required to complete the web transaction even for group members legitimately logged in.

62

Page 65: Salesware E-Commerce User Guide - accesso Technology Group

If you want to have the currently logged into group get written into the guestgroup field for each guest attached to a product in the sale, you need to set the value for the InheritGroup key to 1. With the value for this key set to 1, the currently logged into group also gets written into the guestgroup field for the purchaser even if the purchaser is not attached to an item in the sale provided you also have the following site config setting Site Admin Panel > Guest Related Settings > NoPurchTracking value = 0.

The guestgroup can be viewed for a guest in SysManager by looking up a guest and viewing the Group field on the Group Info tab or in Sales by looking up a guest and viewing the Group field on the Guest Info tab. The group can also be seen for a guest in the Guest Listing Report in ReportManager (Reports > Guest Reports > Guest Listing).

Set "cbActChgTxt" to text to display on Checkout.aspx (Checkout3.asxp if using checkout steps) for the Charge to Account check box, where {{grpName}} gets replaced with the group/account name that the user is logged into.

Setting the value for "KeepCartOnGroupLogout" to "1" overrides the default behavior of clearing the cart on log-out and keeps the cart contents intact, but, logs the user out of the group/club. In addition, items that are added to the cart while logged in followed by the user logging out of the group/club still has the account name for the group or club written into the item’s Message field. However, the group name does not get written into any of the guest records for guests present in the sale if the user logs out, even if they were added to items in the cart while logged in to the group/club.

Pass renewals using groups and accounts functionality

Groups and accounts functionality can also be used for pass renewals. Configure a group as you normally would by setting up an account and item tree group. You can skip the account charging and password setup if this group is only used as a pass renewal group. Add the old pass DCI to the AllowedRenewals key in site config as you would normally do for a renewal (see Settings for pass renewals in detail). Edit the DCI2DCI.xml file (located in the XMLFiles directory within the E-Commerce directory) and add a record with the old pass DCI but leave the new DCI fields blank. Add the Group and Account nickname you just set up to the Group field. When a pass number corresponding to an old allowed DCI is entered in the RenewPass.aspx page that falls within the RenewalSpan, the user is redirected to the group of items just set up. When a pass is chosen the guest from the old pass is automatically attached to that pass. When the new pass is added to the cart, the user is automatically logged out of the group, so clicking on the Shop link returns the user to the main item tree for the web site.

For a more detailed discussion of pass renewals and E-Commerce module, see Settings for pass renewals in detail.

Group (account) functionality setup E-Commerce module includes Group (account) functionality that allows access to a specified menu of items. Being part of a group literally means that the guest has access to the appropriate log-in and password necessary to gain access to the special menu (the guest is not actually linked to an account within the data). All completed web sales done while logged into the group are recorded within an account configured for the group in SysManager. Groups may charge their purchases to the account or they may be forced to pay for their purchases in full with a valid credit card based on the account’s configuration.

63

Page 66: Salesware E-Commerce User Guide - accesso Technology Group

To set up group (account) functionality, start in SysManager by configuring an account (SysManager > Activities > Accounts > New) for each group that needs access to their own menus (the same group of items – or menu – may be used for multiple groups).

1. Create a Nickname for the account. This is limited to ten characters. 2. If credit is extended to the group, specify the credit limit for the account/group. 3. Enter any other necessary information (address info, account type, etc.). 4. On the Web tab, check the check box labeled Allow Web Charge if you want to allow the group to post E-

Commerce sale charges to their account. See screen capture. With the box unchecked, purchases made while logged into the account/group require the use of a credit card for the full purchase amount.

5. Select the appropriate radio button based on how the item tree is named for this account/group. Select the first option (Item Tree Name Matches This Account Name) when the item tree folder you want assigned to this group matches the account’s nickname. Select the second option (Item Tree To Use Is The One Selected Here) to activate the dropdown list displaying all item tree folders and subfolders where the item tree folder that you want to assign to the group can be selected.

6. Enter only the group member password (the group leader password is used only for Club Management functionality – see Club Management).

After the account is configured, configure the following settings in your site config file:

• Site Admin Panel > Group/Accounts and Club Management Settings > EnableActCharge value = 1 • Site Admin Panel > Group/Accounts and Club Management Settings > InheritGroup value = 1 • Site Admin Panel > Group/Accounts and Club Management Settings > cbActChgTxt value = Charge to

the {{grpName}} account

64

Page 67: Salesware E-Commerce User Guide - accesso Technology Group

Results

Visitors/Guests that are eligible to log-in to the special “group” area is given the link to the group log-in page and the appropriate log-in name (account nickname) and password.

In this example, the link provided to the guest is: http://localhost/ecommerce/grpLogin.aspx

The log-in provided is: KIRSTEN The password proved is: KIKI

Once logged in successfully, the contents of the WEB PASSES item tree are displayed.

65

Page 68: Salesware E-Commerce User Guide - accesso Technology Group

Corresponding Item Tree configured in SysManager:

At checkout, the settings that determine the ability to charge to an account are active:

66

Page 69: Salesware E-Commerce User Guide - accesso Technology Group

Once Sales Host has processed the web sale, the transactions are recorded on an invoice within the account configured for the group (each web sale made while logged into the group’s account creates a new invoice within the account).

67

Page 70: Salesware E-Commerce User Guide - accesso Technology Group

Club Management While Group Sales functionality is included with E-Commerce module, Club Management application requires the purchase of a separate module. Club Management extends the basic Group Sales functionality of allowing group members to log-in and purchase products specific to their group by adding functionality to allow group leaders to log-in and access various management functions such as reviewing purchases made by the group, posting announcements for group members and even creating a new group.

Being part of a group or club literally means that the guest has access to the appropriate log-in and password necessary to gain access to the group-specific products or the additional management functions. All completed web sales done while logged into the group or club are recorded within the account configured for the group in SysManager. Groups may charge their purchases to the account or they can be forced to pay for their purchases in full with a valid credit card, based on the account’s configuration. The major differences of Group Login and Club Management are:

Feature Group Login

Club Management

Included with E-Commerce module X

Allows the visitor/guest to log-in and purchase a specific set of items depending on the account

X X

Prices for items can be Dynamically Priced depending on the account after log-in X X

Sales online can be charged to an account or visitors/guests can use their credit card X X

Ability to charge to account is security controlled and can be turned on only for specific accounts if desired from SysManager

X X

All purchases made can be viewed with standard account reports in ReportManager X X

Each purchase creates a new invoice in the account X X

A group leader can post messages that can be seen when group members log-in X

A group leader can view a report to see what purchases have been made X

A group leader can create new groups and assign a password for the leader and members of the new group. (The new group will be able to sell the same set of items as the original group)

X

A group’s logo can displayed after log-in for Leader and Member X

68

Page 71: Salesware E-Commerce User Guide - accesso Technology Group

Club Management in detail

Club Management functionality includes the following: 1. The ability to purchase group-specific items.

Note: Items available for selection by the group must be those “types” of items currently supported by the accesso Siriusware E-Commerce product: Regular, Create Guest, Create Pass, In-House Cards and Begin Rental item types are all supported, but Begin Private Booking, Begin Pod Booking, Tee Time Reservations and external Gift Card item types are not.

2. Items that are common to multiple groups or even those available to the general public may be priced specifically for each group through the use of the Dynamic Pricing capability conditions and functions currently supported within the E-Commerce product.

3. The ability to configure the group accounts to either force payment in full at the time of the online purchase or allow all charges to be posted to the group’s account.

4. The group page indicates what group the visitor/guest has logged into and presents a logo or photo (if available).

5. The ability for a staff member (the “group administrator”) to post messages globally to groups. 6. The ability to have two levels of log-ins for each group: group member and group leader. 7. Each type of log-in is password protected and is set per group (each group can be assigned a password for

“leader” access and another for “member” access). 8. The log-in type used determines the actions available.

Group member functions: 1. Ability to purchase products specific to the group and either pay in full or post their charges to the group

based on the group’s account configuration. 2. Ability to read group-specific messages.

Group leader functions. In addition to the group member functions:

1. Ability to post, format, edit and delete text messages to group members. 2. Ability to report on purchases made by group members for current and past trips as well as viewing

demographic information regarding the group members who have made purchases. Reporting specifics:

1. The report accessed by group leaders has two primary functions: the ability to view transactional data, including totals and the ability to view group member information associated with that data.

2. The report will only show transactions that are finalized. It will not show any E-Commerce transactions that are saved.

3. The report’s data is based on transactions that were posted to invoices generated within the group’s account that took place through a specified date range (the group leader can enter the date range once in the reporting page – the default date range is the past thirty days) and includes: a. Account invoice number

69

Page 72: Salesware E-Commerce User Guide - accesso Technology Group

• Purchase date • Description of the items purchased • Guest name associated with each of the items purchased (when guest names are available) • Guest name of the “purchaser” associated with the web transaction • Purchase amount for each item • Form of payment • Guest data that may be viewed from within the Transactional Report includes:

b. Guest number

• First and last name • Address • Phone • E-mail • Birth date • Photo (if available) • Pass number

Club Management installation

8. Download the following from the portal in 4.4 Optional Modules updates on the accesso Siriusware Information Portal. • E-Commerce Club Management Install Script • E-Commerce Club Management Report Files • E-Commerce 4.4.xx Club Management Pages

9. Unzip the Install Script package on your SQL server and run the script. This will add two stored procedures which the report will use to generate data. The stored procedures are named rs_ClubMemberPurchases and rs_ClubMemberPurchases_PT.

10. Navigate to the Stored Procedures in SQL by going to Databases > SiriusSQL > Programmability > Stored Procedures and select Properties.

11. Right click on the rs_ClubMemberPurchases stored procedure and select Permissions. Ensure the Sirius and Siriusweb user have Execute permissions.

12. Follow step 4 for the rs_ClubMemberPurchases_PT stored procedure. 13. Unzip the Club Management Pages and place the two pages into your E-Commerce directory where your

pages are hosted (usually C:\Inetpub\wwwroot\E-Commerce). 14. Log into the Site Admin Panel of your E-Commerce pages, and ensure the Site Configuration setting

UseClubLogin is set to 1. • With the value of this key set to 1, requests or links to the original Group log-in page

(GrpLogin.aspx) are redirected to GrpLogin2.aspx. So the link or links to the Club Management log-in page is constructed to go to GrpLogin.aspx (e.g., https://www.yourbusiness.com/E-Commerce/GrpLogin.aspx), and the software redirects the user to GrpLogin2.aspx.

15. Open the images directory of E-Commerce (C:\Inetpub\wwwroot\E-Commerce\images).

70

Page 73: Salesware E-Commerce User Guide - accesso Technology Group

16. Create a new folder inside of the Images folder named, “clubs”. 17. Right-click on clubs and select Properties and go to the Security tab. 18. Look for a user named IIS_IUSRS. If it’s not present, add this user. 19. Give this user the following permissions: Modify, Read & Execute, List Folder Contents, Read and

Write. 20. Repeat steps 2 through 4 above, for the images directory.

Installing the Club Management Report pages

These installation instructions assume that the installation steps for Club Management that are described previously have already been completed and that Reporting Services is not being used to generate reports. This method of reporting is an alternative to Reporting Services. On the Window Server 2008 or 2012 that is currently hosting the E-Commerce pages:

1. Download and install the ReportViewer control “Microsoft Report Viewer Redistributable” • Server 2008 http://www.microsoft.com/en-us/download/details.aspx?id=3841 • Server 2012 http://www.microsoft.com/en-us/download/details.aspx?id=35747

2. Ensure that all your software and security patches are up to date. 3. Create a new directory on the server that is suitable for serving web pages, e.g.,

C:\Inetpub\wwwroot\clubreport.

Note: You must create a new directory because the Club Management Report pages must be in a different directory than the one where the E-Commerce pages currently reside.

4. Copy eCommerce_4.4xx_Club_Manangement_Pages.exe to the directory created in step 3 and double-click it to install the Club Management Report pages.

5. Start the Internet Information Services (IIS) Manager. 6. Right click the Application Pools and select Add Application Pool. 7. Name the Application Pool, “ClubManagementReport” and ensure it is using .Net 4.0 and the pipeline is

integrated. 8. Right click on the newly created ClubManagementReport application pool and select Advanced Settings. 9. Set Enable 32-bit applications to True and hit OK. 10. Expand the Web Server (IIS) by clicking on the + and then navigate down to Default Web Site. 11. Right click on the clubreport folder and click on Convert to Application. 12. Choose the Application Pool ClubManagementReport and hit OK. 13. Open the web.config located in C:\Inetpub\wwwroot\clubreport 14. If the E-Commerce pages are currently using wwService, ensure the following:

• UseWebService is set to 1. • PassPhrase is the same that is being used in E-Commerce. • Localhost.wwsalesSvc has the same IP address for the wwService in E-Commerce.

71

Page 74: Salesware E-Commerce User Guide - accesso Technology Group

15. Log into the Site Admin Panel on the E-Commerce site. 16. Search for the ClubRptURL setting and ensure it is set to /clubreport/default.aspx.

Customizing Message Priorities and Time values for Group Leader messages

The priority and time values can be customized to better reflect how the group leaders will be using the messaging system. On the E-Commerce server, navigate to C:\Inetpub\wwwroot\E-Commerce\XMLFiles\MiscTables.xml. Search for the settings below, and then change the number between <value> and <text> if desired.

<MessagePriorities> <MsgPriority> <value>XX</value> <text>-- Priority --</text></MsgPriority> <MsgPriority> <value>1</value> <text>1</text> </MsgPriority> <MsgPriority> <value>21</value> <text>2</text> </MsgPriority> <MsgPriority> <value>41</value> <text>3</text> </MsgPriority> <MsgPriority> <value>61</value> <text>4</text> </MsgPriority> <MsgPriority> <value>81</value> <text>5</text> </MsgPriority> </MessagePriorities> <Times> <Hour><value>00</value><text>00</text></Hour> <Hour><value>01</value><text>01</text></Hour> <Hour><value>02</value><text>02</text></Hour> <Hour><value>03</value><text>03</text></Hour> <Hour><value>04</value><text>04</text></Hour> <Hour><value>05</value><text>05</text></Hour> <Hour><value>06</value><text>06</text></Hour> <Hour><value>07</value><text>07</text></Hour> <Hour><value>08</value><text>08</text></Hour> <Hour><value>09</value><text>09</text></Hour> <Hour><value>10</value><text>10</text></Hour> <Hour><value>11</value><text>11</text></Hour> <Hour><value>12</value><text>12</text></Hour> <Hour><value>13</value><text>13</text></Hour> <Hour><value>14</value><text>14</text></Hour> <Hour><value>15</value><text>15</text></Hour> <Hour><value>16</value><text>16</text></Hour> <Hour><value>17</value><text>17</text></Hour> <Hour><value>18</value><text>18</text></Hour> <Hour><value>19</value><text>19</text></Hour> <Hour><value>20</value><text>20</text></Hour> <Hour><value>21</value><text>21</text></Hour> <Hour><value>22</value><text>22</text></Hour>

72

Page 75: Salesware E-Commerce User Guide - accesso Technology Group

<Hour><value>23</value><text>23</text></Hour> <Minute><value>00</value><text>00</text></Minute> <Minute><value>01</value><text>01</text></Minute> <Minute><value>02</value><text>02</text></Minute> <Minute><value>03</value><text>03</text></Minute> <Minute><value>04</value><text>04</text></Minute> <Minute><value>05</value><text>05</text></Minute> <Minute><value>06</value><text>06</text></Minute> <Minute><value>07</value><text>07</text></Minute> <Minute><value>08</value><text>08</text></Minute> <Minute><value>09</value><text>09</text></Minute> <Minute><value>10</value><text>10</text></Minute> <Minute><value>11</value><text>11</text></Minute> <Minute><value>12</value><text>12</text></Minute> <Minute><value>13</value><text>13</text></Minute> <Minute><value>14</value><text>14</text></Minute> <Minute><value>15</value><text>15</text></Minute> <Minute><value>16</value><text>16</text></Minute> <Minute><value>17</value><text>17</text></Minute> <Minute><value>18</value><text>18</text></Minute> <Minute><value>19</value><text>19</text></Minute> <Minute><value>20</value><text>20</text></Minute> <Minute><value>21</value><text>21</text></Minute> <Minute><value>22</value><text>22</text></Minute> <Minute><value>23</value><text>23</text></Minute> <Minute><value>24</value><text>24</text></Minute> <Minute><value>25</value><text>25</text></Minute> <Minute><value>26</value><text>26</text></Minute> <Minute><value>26</value><text>27</text></Minute> <Minute><value>28</value><text>28</text></Minute> <Minute><value>29</value><text>29</text></Minute> <Minute><value>30</value><text>30</text></Minute> <Minute><value>31</value><text>31</text></Minute> <Minute><value>32</value><text>32</text></Minute> <Minute><value>33</value><text>33</text></Minute> <Minute><value>33</value><text>33</text></Minute> <Minute><value>35</value><text>35</text></Minute> <Minute><value>36</value><text>36</text></Minute> <Minute><value>37</value><text>37</text></Minute> <Minute><value>38</value><text>38</text></Minute> <Minute><value>39</value><text>39</text></Minute> <Minute><value>40</value><text>40</text></Minute> <Minute><value>41</value><text>41</text></Minute> <Minute><value>42</value><text>42</text></Minute> <Minute><value>43</value><text>43</text></Minute> <Minute><value>44</value><text>44</text></Minute>

73

Page 76: Salesware E-Commerce User Guide - accesso Technology Group

<Minute><value>45</value><text>45</text></Minute> <Minute><value>46</value><text>46</text></Minute> <Minute><value>47</value><text>47</text></Minute> <Minute><value>48</value><text>48</text></Minute> <Minute><value>49</value><text>49</text></Minute> <Minute><value>50</value><text>50</text></Minute> <Minute><value>51</value><text>51</text></Minute> <Minute><value>52</value><text>52</text></Minute> <Minute><value>53</value><text>53</text></Minute> <Minute><value>54</value><text>54</text></Minute> <Minute><value>55</value><text>55</text></Minute> <Minute><value>56</value><text>56</text></Minute> <Minute><value>57</value><text>57</text></Minute> <Minute><value>58</value><text>58</text></Minute> <Minute><value>59</value><text>59</text></Minute> </Times>

Club Management SysManager configuration Start in SysManager by configuring an account for each group that needs access to its own menu or item tree when shopping online (the same group of items – or menu – may be used for multiple groups).

1. Create a Nickname for the account. This is limited to ten characters (see following figure). 2. Enter the Full Name of the account/group. 3. If credit is extended to the group, specify the Credit Limit for the account/group. 4. Assign a Dynamic Pricing Rule to the account/group if items that are common to multiple groups or even

those available to the general public are to be priced specifically for that group. 5. Optional – if this account is only used for web transactions, it is a good idea to hide it from the regular

salespoints by checking the Hide Prices At POS check box. 6. Enter any other necessary information (address information, account type, etc.).

74

Page 77: Salesware E-Commerce User Guide - accesso Technology Group

7. On the Web tab (see following figure) check the check box labeled Allow Web Charge if you want to allow the group to post E-Commerce sale charges to their account. With the box unchecked, purchases made while logged into the account/group require the use of a credit card for the full purchase amount.

8. Select the appropriate radio button based on how you configure the item tree for this account/group. Select the first option when the item tree folder you want assigned to this group matches the account’s Nickname. Select the second option to activate the dropdown list displaying all item tree folders and sub-folders where the item tree folder that you want to assign to the group can be selected.

9. Enter the group leader and group member passwords. 10. If you have a group/club logo or photo that you want displayed on the main club page, click on the Import

JPG button and browse to and select the JPEG image.

75

Page 78: Salesware E-Commerce User Guide - accesso Technology Group

Club Management site configuration settings

The following settings are used for Club Management.:

Site Admin Panel > Group/Accounts and Club Management Settings > UseClubLogin value = 1

This setting is used to redirect requests that go to the GrpLogin.aspx page to GrpLogin2.aspx, the Club Management log-in page.

Site Admin Panel > Group/Accounts and Club Management Settings > ClubRptURL value = http://[ServerName]/ReportServer[$NamedInstance]/Pages/ReportViewer.aspx

This setting is used to set the URL (relative or absolute) to your Reporting Services server (specifying the SQL named instance if applicable). The value for this key uses the above format – substitute your SQL/Reporting Services server name for [ServerName] and the SQL named instance for [$NamedInstance] if applicable.

If you are not using Reporting Services (see the section Installing the Club Management Report pages), this setting would look something like:

Site Admin Panel > Group/Accounts and Club Management Settings > ClubRptURL value = /clubreport/default.aspx

76

Page 79: Salesware E-Commerce User Guide - accesso Technology Group

Site Admin Panel > Group/Accounts and Club Management Settings > ReportQueryString value = ?Account=

Note: ReportQueryString must be configured in this manner for the Club Management Report pages to report properly.

Site Admin Panel > Group/Accounts and Club Management Settings > KeepCartOnGroupLogout value = 1

See the explanation for KeepCartOnGroupLogout in the Group Sales section above.

Site Admin Panel > Group/Accounts and Club Management Settings > EncryptReportQueryString value = 1

Set this key to 1 to use .NET decryption/encryption (which may speed up the report) when running the Club Member Purchases Report. This requires you to set <add key="HashedStoredProc" value="1" /> in the web.config file for the Club Management pages. To continue to use the “old-style” decryption/encryption set both of the keys to 0.

Note: Both of these key values must be identical or the Club Management reports will not work properly.

To display the letters of the alphabet in order as links on the Club Management log-in page, which when clicked display all of the configured club names that start with that letter, set the value for the following key to 1 in the site config file:

Site Admin Panel > Group/Accounts and Club Management Settings > ShowGroupNamesInClubLogin value = 1

Clicking on the club name auto-populates the Club Name field on the Club Management Log-in page. This avoids the need to remember the exact club name. The password then needs to be entered and the Log-in button clicked to complete the log-in process. To make it so that not all accounts display to the end user, use the following site config key to filter the accounts displayed to those account types that you have configured as Club Management accounts: Site Admin Panel > Group/Accounts and Club Management Settings > FilterByAccountTypeInClubLogin value = 2,3

Account types can be found in the accounts table in SiriusSQL database under the acct_type column.

77

Page 80: Salesware E-Commerce User Guide - accesso Technology Group

Club Management group member log-in

Visitors/guests that are eligible to log-into the special “group” or “club” area as a group member need access to the link to the group log-in page and the appropriate log-in name (account Nickname) and password (contents of the Group Member Password field).

In this example, the link provided to the guest is to the grpLogin.aspx page. With Site Admin Panel > Group/Accounts and Club Management Settings > UseClubLogin value = 1 in the site config file the guest is redirected to the grpLogin2.aspx page.

The log-in provided is: tbeachclub. The password proved is: bigwave.

Once logged in successfully, the guest is taken to the main club page where he sees the name of his club/group, the logo/picture that was linked to the account, posted messages for him to read and a link to take him to the special item tree configured for the group.

78

Page 81: Salesware E-Commerce User Guide - accesso Technology Group

Clicking on the See Available Items link takes the guest to the ItemList.aspx page where the contents of the WEB TBEACHCLUB item tree are displayed.

Note: The guest can still see that he is logged into the group (Group: TBEACHCLUB) as displayed on the navigation bar towards the upper right part of the screen:

79

Page 82: Salesware E-Commerce User Guide - accesso Technology Group

The following figure shows the corresponding item tree configured in SysManager:

The TBeachClub item tree folder is a part of the web item tree but is in a “blank” folder that is inactive as designated by the red circle with the dash through it. This is so that this folder and all its sub-folders are still part of the Web item tree, but they are not displayed to the general public shopping online at your site.

Group leader log-in A visitor/guest that is eligible to log-into the special “group” or “club” area as a group leader needs access to the link to the group log-in page and the appropriate log-in name (account Nickname) and password (contents of the Group Leader Password field).

80

Page 83: Salesware E-Commerce User Guide - accesso Technology Group

In this example, the link provided to the guest is to the grpLogin.aspx page. With Site Admin Panel > Group/Accounts and Club Management Settings > UseClubLogin value = 1 in the Site Configuration, the guest is redirected to the grpLogin2.aspx page.

The log-in provided is: tbeachclub. The password proved is: surfsup.

The log-in page looks identical to the log-in page for group members. Once logged in successfully, the group leader is taken to the main club page where he sees the same things that the group members see. In addition, however, they see a link to take them to the report for viewing member purchases, an area for posting new messages and in the area for reading messages they see links for deleting and editing messages.

81

Page 84: Salesware E-Commerce User Guide - accesso Technology Group

A group leader can post a new message to the group following these steps: 1. Set the priority (1 is the highest priority). 2. Enter who is posting the message (maximum of five characters) in the From field. 3. Set the date/time that you would like the message to expire by either using the calendar and time dropdowns

or manually entering the date/time in the box provided using the following format: YYYY-MM-DD HH:MM:00.

4. Enter the text for the message in the Message field.

Note: HTML tags can be used within messages for formatting text, but square brackets ([ and ]) need to be used instead of < and >. So, for example, to insert a line break one would use [br] or to make the word Welcome appear in bold font one would enter [b]Welcome[/b].

Note: The Priority and Time dropdown values can be customized. Please see the Customizing Message Priorities and Time values for Group Leader Messages.

5. Click the Save button to post the message. To edit an existing message, the group leader needs to follow these steps:

1. Locate the message from the list of posted messages that you want to edit and click the Edit link for that message.

2. The fields in the Post a new message section of the page is populated with the information from the message.

3. Edit the Message fields as appropriate. 4. Click the Save button to update the message.

A group leader can delete an existing message by following these steps:

1. Locate the message from the list of posted messages that you want to delete and click the Delete link for that message.

2. The message is deleted immediately.

Clicking on the See Available Items link takes the group leader to the ItemList.aspx page where the contents of the WEB TBEACHCLUB item tree are displayed in the same manner as for group members. Clicking on the View Member Purchases link opens a new browser window where the Member Purchases Report is displayed:

82

Page 85: Salesware E-Commerce User Guide - accesso Technology Group

The report lists each of the items purchased that have guests attached to them, the quantities purchased and the total sales. Clicking on the + sign next to an item expands that section and displays the name of the guest that is attached to the item, the date purchased, who purchased the item, how the item was paid for, the amount paid, and the invoice number. Clicking on the + sign next to the guest name expands that section and displays address, phone number, e-mail address, pass number, guest number, birth date and a photo of the guest attached to the item.

Posting messages from the group administrator in SysManager

A member of the staff (the group administrator) has the ability to send e-messages to web account groups. These messages are then posted and available for reading by group members/leaders. This is done through SysManager as follows:

1. Click on the E-Msg button in SysManager (or go to Activities > E-Messages).

83

Page 86: Salesware E-Commerce User Guide - accesso Technology Group

3. Select Web Account Groups and click the Continue button. 4. Compose the message you wish to send (you can use standard HTML tags to format the message) in the

area on the left, select the group or groups you wish to send the message to from the list on the right, set the message priority (1 is highest priority and is displayed higher in the list), set a date when the message expires and click the Send button.

Note: A web account is displayed in the list in this window only if it has a non-empty Group Leader Password field.

5. The message is displayed to logged in group members/leaders of the appropriate group(s) and is displayed as being from the operator (group administrator) that was logged into SysManager (in this example KHUNA).

84

Page 87: Salesware E-Commerce User Guide - accesso Technology Group

Allow Group Leaders to create their own Club Management Groups (accounts) online A Group Leader can create their own Club Management Groups (accounts) online with the addition of a new page called GrpMiniCreate.aspx. This page is only distributed to clients who have purchased the Club Management module. Users can be directed to the GrpMiniCreate.aspx page where they can create the new group via a link. The following information is required in order to create a new group: Group Name, Group Leader, Address, City, State, Zip code, Area code, Phone Number, Email, Group Log-in Name, Group Leader Password and Group Member Password. Once this information is populated into the fields on the page, the user clicks the Create Group button and an email is sent to the email address set for the group notifying the user that the group has been created. After Sales Host processes the request, the group is ready to be used. Below are new site config file settings that are required for this functionality to work:

• Site Admin Panel > Group/Accounts and Club Management Settings > grpDCI value = CLUBMGMT NEWCLUBS CLUBMGMTIT

• Site Admin Panel > Group/Accounts and Club Management Settings > grpPayType value = Other • Site Admin Panel > Group/Accounts and Club Management Settings > grpMessageForMembers value

= Your group is being created. Please check your email for additional information. • Site Admin Panel > Group/Accounts and Club Management Settings > grpCreate value =

template/CreateGroup.txt • Site Admin Panel > Group/Accounts and Club Management Settings > grpSubjectForEmail value =

New Group Created • Site Admin Panel > Group/Accounts and Club Management Settings > grpReturnURL value =

https://www.greatskiing.com/ecommerce/GrpLogin2.aspx • Site Admin Panel > Group/Accounts and Club Management Settings > grpAccountType value = 5 • Site Admin Panel > Group/Accounts and Club Management Settings > grpItemTree value =

ClubMgmt Group In order for a new group (account) to be created, a sale string needs to be constructed that appears to Sales Host as a legitimate sale. The sale string needs to have a valid item in it that is priced at $0.00. Set the "grpDCI" key to the DCI for the item you want to use for this group creation sale. The DCI must be padded to thirty characters. In a similar manner, the sale string for this group creation sale needs to have a valid payment type. Set "grpPayType" to the payment type to use for this sale. Once these are set, the pages properly construct the sale string in order that the group (account) creation takes place.

Set "grpMessageForMembers" to the message to display on GrpMiniCreate.aspx once the user has populated the fields on the page and clicked the Create Group button. In addition to displaying the message, the pages also send out an email notifying the user that the group has been created. The "grpCreate" key is used to instruct the pages as to which email template is used for this purpose. The "grpSubjectForEmail" key is used to set the subject for this email and the "grpReturnURL" key is used to set the URL that gets inserted into the group create email. When clicked, this URL takes the user to the Club Management log-in page.

85

Page 88: Salesware E-Commerce User Guide - accesso Technology Group

When Sales Host processes the group creation sale, it creates the new account and assign an item tree to that account. Use "grpAccountType" to set the account type to assign the group that gets created. The item tree node that you want the newly created group to see is set with the "grpItemTree" key.

The following two email templates are distributed to be used with this functionality, CreateGroup.txt and CreateGroup.html. These templates can contain the following fields which get populated when the email is generated:

{{NickName}} – Group Log-in name

{{club owner}} – Group Leader name

{{owner password}} – Group Leader password

{{member password}} – Group Member password

{{url}} – the URL that gets set in the "grpReturnURL" key

The following is an example of how to use these fields in an email:

Dear {{club owner}}

Your new group {{Nick Name}} has been successfully created. The owner password for this group is {{owner password}} and the member password is {{member password}}. You can direct your friends to {{url}} and ask them to use the group name and member password to log on.

In-House Cards In-House Cards module can be used with the E-Commerce module version 4.4 default web pages. This includes the ability to sell In-House Cards products online, to use In-House Cards items as a form of payment, to lookup information for a particular In-House Cards item and to reload money onto an In-House Cards item. The following site config file settings is reviewed and edited if necessary when using In-House Cards module with E-Commerce module because they affect In-House Cards functionality within the E-Commerce pages. Each of these settings are described in more detail in the sections below.

• Site Admin Panel > Debitware Settings > DWLookupField value = swipe_no • Site Admin Panel > Debitware Settings > DWSecureLookup value = 0 • Site Admin Panel > Debitware Settings > DWDispRows value = invoice_no, inv_bal, sp_bal,

sp_bal_dy, crlimit, splimit, splimit_dy, pass_no, swipe_no, start_date, expires, dw_active, guest_no, guest_name

• Site Admin Panel > Debitware Settings > DWReloadDCI value = CARDS IHDC LOAD DEBIT • Site Admin Panel > Debitware Settings > DWPayment value = 1

86

Page 89: Salesware E-Commerce User Guide - accesso Technology Group

• Site Admin Panel > Debitware Settings > DWInsufficentFundsMsg value = Sorry, you do not have sufficient funds on your card for this sale or your card is expired.

• Site Admin Panel > Email Settings > DWPmtTxt value = The gift card ending with the digits {{ccdig}}

• Site Admin Panel > Debitware Settings > ShowDWBalAsNeg value = 1

Basic In-House Cards configuration For more details about In-House Cards configuration, see the Salesware In-House Cards document.

1. Account configuration • Must be **Debitware** Account Type • Credit Limit is set to $0.00 • No Dynamic Pricing Rules are selected • Configure one account per In-House Cards program • Secure these accounts to limit the operators who can edit them

87

Page 90: Salesware E-Commerce User Guide - accesso Technology Group

2. Payment Type configuration • Set Process Via to DebitWare • Set Card Type to DBTW • Set Acct Range to match the In-House Cards number range you are using

3. Item configuration (pass items are configured for the actual In-House Cards programs) • Determine and set valid dates

88

Page 91: Salesware E-Commerce User Guide - accesso Technology Group

• Assign number from basket or not • DebitWare tab

• Limits • Editing limits at activation • Account for tracking invoices • Pre-load amounts

• Action tab • Activate at time of sale or later

89

Page 92: Salesware E-Commerce User Guide - accesso Technology Group

4. Other essential item configurations • Activation item • Reload item

5. Salespoint configuration • Add the following to the [Preferences] section of the Sales32c.INI file for your Sales

Host if you use the assignno table to assign In-House Cards swipe_nos: AssignNoQty=(1,5) (substitute the appropriate BIN number and quantity for your setup)

• If you want to allow guests to be able to reload money onto their cards set the following in the [Preferences] section of the Sales32c.INI file for your Sales Host: GuestAnywhere=TRUE

Sales and fulfillment of In-House Cards Described below are three different methods for sales and fulfillment of In-House Cards items. Because In-House Cards products are linked to guest records, you review the following site config file settings:

Site Admin Panel > Guest Related Settings > GuestDispRows value = guest_no, first_name, last_name, address, city, state, zipcode, country, phone, email, username, password

Site Admin Panel > Guest Related Settings > GuestEditRows value = first_name, last_name, address, city, state, zipcode, country, phone, email, cardonfile, username, password

Site Admin Panel > Guest Related Settings > ForceEditFields value = first_name, last_name, address, city, state, zip, area_code, phone, email

1. Option #1 – Assign an In-House Cards number at time of purchase and print through BatchManager

a. In-House Cards products are configured for this option as follows:

90

Page 93: Salesware E-Commerce User Guide - accesso Technology Group

• Set to Create Pass on the Action tab

• Set to DebitWare activation on the Action tab

• Set to Assign number from basket on the Starting Values tab and enter the correct number

• Configure a pre-load amount for the card by setting an amount in the Amount automatically put on to the DebitWare Invoice field on the DebitWare tab

• Assign a layout to the item via the Layout field on the Global Settings tab

91

Page 94: Salesware E-Commerce User Guide - accesso Technology Group

• Add item to the item tree used for E-Commerce module Customer selects the card he wants online and is prompted to attach a guest to the card during the Add to Cart process.

The customer checks out and pays and when Sales Host processes the sale successfully, the sale is finalized and an In-House Cards invoice with the pre-load amount is created in the account configured for the item.

92

Page 95: Salesware E-Commerce User Guide - accesso Technology Group

b. To fulfill the order, BatchPrint utility can be used to print the In-House Cards item as well as a mailing label. A few notes on BatchPrint utility: • The name and address of the guest attached to the card is printed on both the card and address label,

not the purchaser’s name and address. In other words, if Homer Simpson purchased a gift card for Lisa Simpson, it is Lisa’s name and address that prints in BatchPrint utility.

• It is a good idea to include the guest name on the In-House Cards layout – otherwise it can be difficult to figure out which card goes with which mailing label.

93

Page 96: Salesware E-Commerce User Guide - accesso Technology Group

• For information about configuring and using BatchPrint utility, see the Salesware Memberships and Passes document.

1. Option #2 – Use pre-printed, pre-encoded cards a. In-House Cards products are configured for this option as follows

• Set to Create Pass on the Action tab • Set to DebitWare activation on the Action tab • Do not set to Assign number from basket on the Starting Values tab • Configure a pre-load amount for the card by setting an amount in the Amount automatically put on

to the DebitWare Invoice field on the DebitWare tab • Do not assign a layout to the item • Add item to the item tree used for E-Commerce module

The customer selects the card he wants online and is prompted to attach a guest to the card during the Add to Cart process. The customer checks-out and pays and when Sales Host processes the sale successfully, the sale is saved and an In-House Cards invoice without the pre-load amount is created in the account configured for the item

94

Page 97: Salesware E-Commerce User Guide - accesso Technology Group

To fulfill the order do the following:

1. Recall the sale

2. Swipe the pre-encoded card into the Pass Swipe tab – this links the pre-encoded card number to the pass record

95

Page 98: Salesware E-Commerce User Guide - accesso Technology Group

3. Finalize the sale –the pre-load amount is now present on the invoice

Optional − An Address Label layout could be attached to the In-House Cards item that would automatically print when the sale of the In-House Card item is finalized.

2. Option #3 – Sell a combined pass/In-House Cards product with Debitware activation occurring after the sale and print through BatchManager a. Pass/In-House Cards products are configured for this option as follows

• Set to Create Pass on the Action tab • Set to No DebitWare action on the Action tab • Set to Assign number from basket on the Starting Values tab • Do not configure a pre-load amount for the card on the DebitWare tab • Assign a layout to the item • Add item to the item tree used for E-Commerce module

The customer selects the pass/card he wants online and is prompted to attach a guest to the item during the Add to Cart process.

96

Page 99: Salesware E-Commerce User Guide - accesso Technology Group

The customer checks out and pays and when Sales Host processes the sale successfully, the sale is finalized – no In-House Cards invoice is created.

To fulfill the order, the pass/card could be printed through BatchPrint utility as described above, but in order to activate the In-House Cards part of the product, the visitor/guest has to have it activated (and loaded) at a salespoint – when this occurs an In-House Cards invoice is created.

Verification code (PIN)

In some cases, such as E-Commerce module transactions, a verification number (PIN) similar to a Credit Card CVV code, would provide a greater level of security for customers using In-House Cards (IHC) items. As such, accesso Siriusware can generate four-digit verification codes along with the sixteen-digit IHC numbers we provide. Verification codes are generated randomly and are present when you receive your card numbers. These verification codes are enabled through SysManager.

Configuration

The following settings are necessary for utilizing Verification Codes on the E-Commerce Pages. These were added to the DebitWare Settings section of the Site Admin Panel. Please see the E-Commerce Configuration Guide for more information on the following settings:

• DWPinAttempts • DWPinRedirectPage • DWPinPrompt • DWPinRedirectMessage • UseDwPin

Use

If the DebitWare Card being used for payment is configured to require a verification code (PIN), the user is prompted via a popup dialog to enter the PIN at checkout. If the PIN entered is incorrect, the user is notified to reenter the verification code. If the PIN is entered incorrectly a certain number of times, the user is redirected to a specified page. The number of tries a user is allowed to enter the PIN and the page that they are redirected to are configurable with settings added to the Site Admin Panel (DWPinAttempts and DWPinRedirectPage respectively). In addition, the prompt that appears in the popup window for entering the PIN and the message to display to the user before they get redirected after failed attempts to enter the PIN are both configurable with new settings in the Site Admin Panel (DWPinPrompt and DWPinRedirectMessage respectively). And finally, a setting, UseDwPin, is used to control whether or not to prompt for a verification code when a card requires a PIN at checkout. This must be set to 1 if any of the DebitWare cards you use require a PIN for purchases. Setting UseDwPin to 0 skips the prompt for a PIN altogether when using DebitWare cards. Cards that require a PIN for purchases then fail to be approved at checkout.

97

Page 100: Salesware E-Commerce User Guide - accesso Technology Group

View In-House Cards information online

In-House Cards lookups are done from the DWLookup.aspx page that is accessed via a link (in the default pages this is the link in the Page Header and footer called Gift Cards). For a visitor/guest to see information about his In-House Cards card, he needs to enter either the pass number or the swipe number of the card. You determine which to use via the site config setting DWLookupField (can be swipe_no or pass_no). You can require password verification when doing the In-House Cards lookup by setting the value for the site config key DWSecureLookup to 1. Setting this to 0 requires that the guest enter only his pass number or swipe number to view In-House Cards information for his card.

The information displayed on the DWLookup.aspx page is controlled by the site config setting DWDispRows.

Example: Site Admin Panel > Debitware Settings > DWDispRows value = invoice_no, inv_bal, sp_bal, sp_bal_dy, crlimit, splimit, splimit_dy, pass_no, swipe_no, start_date, expires, dw_active, guest_no, guest_name

The choices of what to display include guest_name (Guest Name), guest_no (Guest Number), invoice_no (Invoice Number), inv_bal (Invoice Balance – see note below), sp_bal (Total Amount Spent – the total amount he’s spent over the lifetime of the card), sp_bal_dy (Amount Spent Today – the total he’s spent for that day), crlimit (Credit Limit), splimit (Total Spending Limit – the total amount he is allowed to spend with the card over the lifetime of the card), splimit_dy (Daily Spending Limit – the amount he can spend in any one day with the card), pass_no (Pass Number), swipe_no (Swipe Number), start_date (Start Date – the first day that the card can be used), expires (Expires – the date that the card expires), dw_active (In-House Card Active? – whether or not the In-House Cards item is currently active).

Note: Set ShowDWBalAsNeg to 1 to display Invoice Balance as a negative number if the guest has money available for spending and as a positive number if the guest owes money on the card – set to 0 to display the opposite.

98

Page 101: Salesware E-Commerce User Guide - accesso Technology Group

From the DWLookup.aspx page, a guest can click on his name in the Guest Name field to either link directly to his guest record (if he already entered his password when he looked up his In-House Cards item) or be taken to the GuestSelected.aspx page to complete his log-in and gain access to his guest record provided that the DWNameLink key is set to 1. If this setting is set to 0, the Guest Name is not a link on the page.

Reload In-House Cards online

Reloading In-House Cards items online begins with a successful card lookup on the DWLookup.aspx page. The visitor/guest enters either his In-House Cards card number or card number and password to gain access to card information and to the Add Funds entry field located towards the bottom of the page. The visitor/guest enters the amount of money that he wants to load onto his card into the entry field and clicks the Add Funds button.

The In-House Cards reload item, specified in the site config setting DWReloadDCI (the value for this key must have the Department, Category and Item all padded with spaces to equal ten characters each [thirty total]), is added to the cart associated with the guest.

99

Page 102: Salesware E-Commerce User Guide - accesso Technology Group

Once the sale has been successfully processed by the E-Commerce pages and then the Sales Host the funds are available for use with the In-House Cards item.

Note: In order for the In-House Cards reload item to work successfully in E-Commerce module, you need to set GuestAnywhere=TRUE in the [Preferences] section of the Sales32c.INI file for the Sales Host.

Use In-House Cards as form of payment online To allow the use of In-House Cards as a form of payment in E-Commerce module, you must set the value for the site config key DWPayment to 1. This enables a check box (asp:checkbox id="cbDebitWare") on the Checkout.aspx page (Checkout3.aspx if using CheckoutSteps - see note below) to appear. When this box is checked, the user can enter his In-House Cards swipe_no into the Card number field on the page – the Expiration and CVV2 fields are deactivated as they are not required for an In-House Cards payment.

Note: When using CheckoutSteps (Site Admin Panel > Checkout Settings > CheckoutSteps value = 1), up to four payments can be made on a sale using one or more credit cards, one or more In-House Cards or a combination of credit cards and In-House Cards – see Using multiple pages to display and handle the E-Commerce checkout process for details.

100

Page 103: Salesware E-Commerce User Guide - accesso Technology Group

The web pages and ww.dll determine if the In-House Cards card is valid and has sufficient funds for the sale before allowing the sale to be finalized. If the card is not allowed, the message from the site config setting DWInsufficentFundsMsg is displayed on the page and the visitor/guest needs to enter another form of payment to complete the sale.

The site config setting DWPmtTxt is used to populate the text that displays regarding the In-House Cards payment on Checkout4.aspx if using CheckoutSteps, the confirmation page (conf.aspx) and in e-mail confirmations.

Example:

Rentals

You can use rental reservations online to speed up the rental process. Rentals licensing is required at the Sales Host and at salespoints recalling rentals to pre-process labels/forms.

Product configuration

When configuring rental reservations, consider the following points:

• Create rentals items and components as you would for the standard rental product setup. See the Salesware Rentals document for details.

• Set up products in SysManager > Activities > DCIs > New/Edit > General tab with Admissions = 1 and check the check box for Use Admission only for price calculation. The Admissions setting forces several key functions:

• The calendar displays on the ItemShow.aspx page. • The customer must select an arrival date (assuming LeadTime setting in site config is > 1). • Sale saves instead of finalizes at Sales Host. • Rental products can have optional modifiers for paid add-on’s like helmets, etc.

101

Page 104: Salesware E-Commerce User Guide - accesso Technology Group

• Add the SETRENTALSHOP() macro to the Action to execute when this item is sold on the web field on the Web tab of the Item Edit form in SysManager.

Example: SETRENTALSHOP (Village Shop) or SETRENTALSHOP (Main Shop, Nordic Shop, Village Shop). This then sets the Rental Shop dropdown on the ItemShow.aspx page to either a single shop as in the first example or a list of shops if more than one is specified with the macro as shown in the second example, thus allowing the guest to select the rental shop they want.

• Set up items to print a rental label or form with all collected rental information. Common fields used are name, address, phone, height, weight, age, skier ability, stance, rental location, rental date and rental products.

• No liability is set up because the customer signs a rental form when the equipment is picked up.

Fulfillment process

• Rental reservations are usually processed the day prior to rental arrival. Rental sales (reservations) are recalled at a salespoint and finalized. Upon finalization, a rental label/form is printed.

• The rental form and desired equipment is set aside for customer pickup. • The custom arrives and gear sizing is verified. Final gear selection is written on the rental form and the

customer signs liability waiver. The rental is complete. • Set up rental salespoints with rental license and, optionally, reservations. • The Saved Sales Audit Report allows reporting of the current day’s rental reservations so the reservations

can be recalled and print labels. Then, equipment can be set up and put aside for guests who receive the streamlined processing.

• Each location can recall only its rental reservations by using the Saved Sales Audit Report and using a custom filter to pull out sales with a specific location mod (e.g., t.item=’VillageCtr’ or t.item=’TimberCrk’.)

Web page configuration

1. Establish dynamic controls – make rental specific settings “not required” 2. Set up Sales Host with:

• Rental license • Item tree with rental items and all modifiers

3. Important site config settings: • Site Admin Panel > Item Settings > LeadTime value = 1 − Rentals can only be reserved more than

one day in advance. This setting is global to all products. • Site Admin Panel > Item Settings > Max4Sale value = 1 − May want to use Max4Sale capability to

control number of rental reservations allowed online.

102

Page 105: Salesware E-Commerce User Guide - accesso Technology Group

• Site Admin Panel > Item Settings > DatedItemTypes value = 1,2,5 − Item type 5 is rental. • Site Admin Panel > Guest Related Settings > GuestEditRows value = first_name, last_name,

address, city, state, zipcode, phone, email, birth_date, height, weight, shoesize, type_skier, gender, stance − Need to allow editing of rental fields.

• Site Admin Panel > Guest Related Settings > GuestDispRows value = guest_no, first_name, last_name, address, city, state, zipcode, phone, email, last_pass, birth_date, height, weight, shoesize, type_skier, gender, stance − Need customers to view rental fields.

Sales Host settings

In order to process rental sales at the Sales Host, you must have several pieces in place.

• First, the Sales Host must be licensed to sell rental products. • Second, several settings are required in Sales32.INI. You must add a section called [Rental] and

have the following settings: [Rental] FormIsTrans=TRUE

FormIsTrans allows the transaction number to be entered as the rental form number. This creates a unique form number. A form number is required to process a rental sale.

Confirmation templates for e-mail from E-Commerce module are global to the system, but for sites that only save rental reservations, the saved sale template can be used as a rental-specific confirmation. It is also possible to use Print At Home Tickets items to automate some of the rental-specific printing and confirmation delivery. Sales Host can connect to RentEZ application if required. This provides you with the ability to generate rental forms as Print At Home Tickets items.

Web Rules

Web Rules:

• Enable you to create packages of items for sale via E-Commerce module by auto-selling additional items from a parent item.

• Can evaluate age criteria or restrictions of guests attached to the items in the package. • Can be nested to create more complex packages.

For a description of how to configure Web Rules to sell pass packages, see E-Commerce pass package functionality.

To implement Web Rules, two fields are used in the items table to facilitate unique actions for item sales via the Web pages: do_on_web and web_rule. These two fields work together and are populated using three text boxes on the SysManager > Activities > DCIs > New/Edit > Web tab: Action to execute when this item is sold on the web, Rule to enforce on a grouping of items created by the Web Rule and Text to display if Web Rule is

103

Page 106: Salesware E-Commerce User Guide - accesso Technology Group

violated. Typically, Web Rules are used for selling pass packages (e.g., a family pass package consisting of two adult and two children passes) online, but non-pass items can also be “packaged” together for an online sale.

To auto-sell an item after an initial item has been added to the cart, the Action to execute when this item is sold on the web field of the initial item is populated with the macro SELECTITEM("DCI") where DCI is the Department, Category and Item nicknames for the item you want to auto-sell, each padded with spaces if necessary to ten characters (thirty total). Example: An entry for the Action to execute when this item is sold on the web field:

SELECTITEM("PASSES INTPASSES PASSPKGADD") When the item that is configured with this is added to the online shopping cart, it automatically adds the specified item (PASSES INTPASSES PASSPKGADD) to the cart. Items added via this mechanism are linked to the parent item with this action and can only be deleted from the cart by deleting the parent item.

Note: if the addition of items via the Web Rule functionality is interrupted before all items and guests associated with these items is completed, no parts of the package is added to the shopping cart and the guest has to start over if they want to purchase the package.

A “bundling rules engine” exists that is designed to enforce an age restriction rule on the guests attached to the items combined by using the SELECTITEM("DCI") action. Currently, only one rule can be configured and only the tally function and age can be used in the rule. The tally function must be followed by an age calculation using standard = <> > < >= <= operators.

Example: A properly configured rule that could get entered into the Rule to enforce on a grouping of items created by the Web Rule field is: tally(age >=18) <= 2

In the example above, the tally function counts all of the guests associated with the parent and auto-sold items (those added using SELECTITEM("DCI")) who meet the criteria within the parenthesis, age >= 18. The rule further stipulates that there can only be two or fewer guests, <= 2, whose ages are greater than or equal to 18.

The rule is verified when the final guest is chosen for the additional items. If it fails, the contents of the Text to display if Web Rule is violated field are displayed.

104

Page 107: Salesware E-Commerce User Guide - accesso Technology Group

Example: What to populate this field with: Sorry, but only two guests can be over the age of 18 for the Family Pass Package. Please re-select your guests.

Clicking the Continue button on the displayed message box returns the web visitor/guest to the beginning of the guest selection process for the additional items. Web Rules can be nested, meaning that one item can auto-sell another item, which can auto-sell yet another item, etc. This is accomplished by adding SELECTITEM(“DCI”) macros to the Web tab for each of the successive items in the package except for the last item.

Web Rules configuration and online results

In the example below Web Rules are nested to create a multi-item retail package (the package consists of one calendar, two mugs and one poster), and because no guests are being attached to the items we do not enforce age restrictions. For a description of how to configure Web Rules to sell pass packages with guests attached to the items and with age restrictions, see E-Commerce pass package functionality.

1. Create a new item configured as Regular Item item type. a. Set the Min Qty and Max Qty on the Restrictions tab to 1 so that guests can only buy one of these

packages at a time and insert informative text into the Help section on the General tab to be displayed on the ItemShow.aspx page.

2. Configure the Web tab.

105

Page 108: Salesware E-Commerce User Guide - accesso Technology Group

a. Place a macro in the Action to execute when item is sold on the web field that auto-sells the next item in the package. The macro must be formatted as follows: SELECTITEM("DCI") The DCI must be padded with spaces to equal ten characters each if necessary (thirty characters total). In the example below we want to auto-sell the PKGCALENDR item, so the macro is as follows: SELECTITEM("RETAIL SOUVENIRS PKGCALENDR")

b. The remaining two fields are left blank because we are not enforcing age restrictions for any added guests.

3. Create the PKGCALENDR item as a Regular Item item type, set the Min Qty and Max Qty on the Restrictions tab to 1 and add the following macro to the Action to execute when this item is sold on the web field: SELECTITEM("RETAIL SOUVENIRS PKGMUGS ")

106

Page 109: Salesware E-Commerce User Guide - accesso Technology Group

4. Create the PKGMUGS item as a Regular Item item type, set the Min Qty and Max Qty on the Restrictions tab to 2 and add the following macro to the Action to execute when this item is sold on the web field: SELECTITEM("RETAIL SOUVENIRS PKGPOSTER ")

3. Create the PKGPOSTER item as a Regular Item item type and set the Min Qty and Max Qty on the Restrictions tab to 1. Because this is the final item in the package no further configuration is necessary.

107

Page 110: Salesware E-Commerce User Guide - accesso Technology Group

4. Add the Souvenir Package item to the main E-Commerce item tree and add the Calendar – Souvenir Pkg, Mugs – Souvenir Pkg and Poster – Souvenir Pkg items to an inactive part of the E-Commerce item tree so that these items are not available individually to guests.

5. The online results a. User selects the Souvenir Package.

b. User cannot adjust the quantity because we modified the Min/Max Qty. The informative Help text is displayed.

c. User then clicks the Add to Cart button and is returned to the ItemShow.aspx page to add the Calendar item to the Cart.

d. User again clicks the Add to Cart button and is returned to the ItemShow.aspx page to add the Mugs item to the Cart.

e. User again clicks the Add to Cart button and is returned to the ItemShow.aspx page to add the Poster item to the Cart.

108

Page 111: Salesware E-Commerce User Guide - accesso Technology Group

f. User again clicks the Add to Cart button and is taken to the CartShow.aspx page where the entire Souvenir Package is now in the Cart.

Notice in the above example that the Souvenir Package is priced with the total price built into the main item. You could just as easily price the package by assigning individual prices to each of the individual items in the package.

Recently added Web Rules related functionality While not specifically a Web Rule, the following enhancement was added that utilizes a field in the database that is involved with Web Rules functionality so is included here:

The Action to execute when this item is sold on the web field in the Item Edit form (SysManager > Item Edit form > Web tab) can now be used to apply a special to an item sold through E-Commerce module. The macro SPECIAL() is used to apply the special. To get this to work one would enter, for example, SPECIAL("WEB25%OFF ") into the Action to execute when this item is sold on the web field and that special is applied to the item when sold with the E-Commerce pages.

109

Page 112: Salesware E-Commerce User Guide - accesso Technology Group

Cart Rules

Cart Rules are used to evaluate the contents of the E-Commerce module shopping cart and either enforce the presence or quantity of one or more items in the cart or add one or more items to the cart. Cart Rules are stored in a SiriusSQL table called cartrule and are executed automatically when either the Checkout.aspx or Checkout1.aspx (if using Checkout Steps) page loads. The execution of Cart Rules begins by looking at the DCI of each item in the shopping cart and comparing that to the department, category, and item fields in each row of the cartrule table along with the required and cartrule fields to see if an item is required to be present in the cart and if the correct quantity is present. If the Cart Rule is used to enforce the presence or quantity of an item and that item is in the shopping cart at the correct quantity, then, the sale can be processed; if the item is not present in the cart or is not present in the correct quantity, then, the contents of the message field are displayed on the page which can give the online shopper instructions for adding the item to the shopping cart at the correct quantity. If the Cart Rule is configured to add an item to the shopping cart based on the presence of one or more items in the cart, e.g., adding a shipping fee item if any items from the RETAIL department are present in the cart, then, the contents of the cartaction field are processed.

If you are running multiple sets of pages, you can filter the Cart Rules so that certain Cart Rules apply to certain pages but not to others. To enable this functionality, add the following setting to the site config file:

Site Admin Panel > Miscellaneous Settings > WebSiteID value = TicketSales

Where "TicketSales" can be anything you want to call one of your sets of pages to differentiate it from your other sets of E-Commerce pages. The WebSiteID key is used to uniquely identify each set of pages. You must also configure the cartrule table in SiriusSQL database. For each Cart Rule in the table, you need to enter the value of the WebSiteID, if you want the Cart Rule to execute for that set of pages. For a Cart Rule to run on multiple sets of pages, you would enter each of the WebSiteIDs as a comma-separated list.

Note:

• Cart Rules that don’t have a sitefilter set in the cartrule table in the SiriusSQL database, works for all sets of pages, even if the set of pages has a WebSiteID value set.

• Sets of pages that don’t have a WebSiteID value configured or are missing that setting altogether from their site config file uses all Cart Rules.

Fields in the cartrule table in the SiriusSQL database

• department, category and item – These fields can either be populated with a valid department, category or item nickname, respectively or they can be left blank – leaving one blank means any value is valid for that field when items in the cart are evaluated.

110

Page 113: Salesware E-Commerce User Guide - accesso Technology Group

Example: For all items in the RETAIL department, SHIRTS category, the department field would be populated with RETAIL, the category field would be populated with SHIRTS and the item field would be left blank.

• cartrule – This field contains a function and a comparison – currently, the only function supported is tally(), which is designed to check the number of the item(s) in the shopping cart that match that specified in the department, category and item fields.

Example: tally() >= 2 means that there must be two or items in the cart that match the item(s) specified in the department, category and item fields in order for the rule to pass.

Note: A cart rule with a less than tally quantity always includes 0, and therefore the item always gets added.

Example:

For Item A, if you use tally() <=2

However, you never add Item A to the cart, the rule gets executed anyway because there is quantity = 0 in the cart. You use individual conditions instead of less than.

tally() = 1 tally() = 2

• message – This is the text displayed on the Checkout.aspx (or Checkout1.aspx) page if the cartrule fails and required is set to True.

Example: “You must buy two or more of item X.”

• cartaction – This is an action to be performed if the cartrule passes – this is optional and can be left blank if you do not want any action to be performed. Currently the only action supported here is cartadd(), which is used to add an item to the cart if the cartrule returns a true result.

111

Page 114: Salesware E-Commerce User Guide - accesso Technology Group

Example: The following would be used to add the LOWSHIP item from the MISC department, SHIPPING category priced at $2.50 to the shopping cart if the cartrule passes:

CARTADD(<department>MISC</department><category>SHIPPING</category><item>LOWSHIP</item><options><price>2.50</price></options>)

Note: The regular price of the item added to the cart can be overridden using the <options><price> . . . </price></options> tags – if these are left out of the expression the item would be priced as configured in SysManager.

• required – This can be set to TRUE (1) or FALSE (0). Setting it to TRUE requires that the item designated in the department, category and item fields must be in the cart and meet the cartrule criteria.

Example: With Required set to TRUE, department, category and item set to SHIPHANDLE, SHIPFEES and ECOMFEE respectively and the cartrule set to "tally0=1", the user must have quantity “1” of the DCI SHIPHANDLE SHIPFEES ECOMFEE in the shopping cart in order to complete the sale. Setting it to FALSE executes the cartaction only if the item designated in the department, category and item fields is present in the quantity set in the Cart Rule. However, not having the item in the sale does not stop the user from proceeding. Example: With Required set to FALSE, department set to TICKETS, category and item each blank and a cartrule set to “tally() > =10” if the user has ten or more items in the shopping cart from the TICKETS department, then, the action specified in the cartaction field are executed; if the user has less than ten items in the shopping cart from the TICKETS department, the sale proceeds with no further action occurring.

• notes – This field can be used to document the rule or can be left blank. • sitefilter – This field is used for setting which set of pages a Cart Rule applies to when running

multiple sets of E-Commerce pages. It contains one or more WebSiteIDs as set in the site config file for each set of pages (separate multiple WebSiteIDs with a comma). Or it can be blank if you want the Cart Rule to apply to all of your sets of pages.

112

Page 115: Salesware E-Commerce User Guide - accesso Technology Group

Currently the fields in the cartrule table must be populated either manually or with a script.

Example: A script that can be used to populate one record in the table:

insert into cartrule (department, cartrule, message, cartaction, required, notes) values('TICKETS', 'tally() <= 10', 'You are only allowed to purchase a maximum of 10 Print At Home Tickets in any one sale.', '', 0, 'This ensures that guests can only purchase a maximum of 10 print at home tickets in one sale')

This script would be run in Query Analyzer or SQL Server Management Studio and would populate the next record in the cartrule table in the SiriusSQL database.

Cart Rules configuration, process, and results In the examples below we create Cart Rules to add a shipping fee to a sale, to apply a discount to a sale and to require that two or more of a certain item be in the sale. Example 1: Add a shipping fee when there are three or more “MUGS” items from the RETAIL department, SOUVENIRS category in the cart

1. Set department field to RETAIL, category field to SOUVENIRS and item field to MUGS 2. Set the cartrule field to tally() >= 3 3. Leave message field blank 4. Set the cartaction field to

CARTADD(<department>MISC</department><category>SHIPPING</category><item>SHIP5</item><options><price>5.0</price></options>)

5. Set required field to 0 or False because the DCI RETAIL > SOUVENIRS > MUGS is not required to be in the shopping cart in order to complete the sale

6. Set notes field to Adds a $5.00 shipping charge to all sales of three or more MUGS items from RETAIL SOUVENIRS

113

Page 116: Salesware E-Commerce User Guide - accesso Technology Group

7. Results: a. User adds quantity 4 of the RETAIL > SOUVENIRS > MUGS item to the cart – the

cartshow.aspx page:

b. When user gets to the Checkout.aspx page the cart contents now display the Shipping and Handling item as part of the sale because “greater than or equal to 3” RETAIL > SOUVENIRS > MUGS items are in the cart

Example 2: Add a $10.00 discount to the cart whenever there are five or more items in the cart from the RETAIL department, SOUVENIRS category

1. Set department field to RETAIL, category field to SOUVENIRS and leave item field blank 2. Set the cartrule field to tally() >= 5 3. Leave message field blank 4. Set the cartaction field to

CARTADD(<department>MISC</department><category>DISCOUNTS</category><item>DISCOUNT01</item><options><price>10.00</price><qty>-1</qty></options>)

114

Page 117: Salesware E-Commerce User Guide - accesso Technology Group

5. Set required field to 0 or False because items from RETAIL department SOUVENIRS category are not required to be in the shopping cart in order to complete the sale

6. Set notes field to Adds a $10.00 discount ($10.00 * -1) to all sales of 5 or more items from department RETAIL and category SOUVENIRS

7. Add the DISCOUNT01 item an inactive part of your E-Commerce item tree 8. Results:

a. User adds 3 Calendars and 3 Poster items which are in the RETAIL department, SOUVENIR category to the cart - the CartShow.aspx page:

b. When user gets to the Checkout.aspx page the cart contents now display the Discount item as part of the sale because “greater than or equal to 5” RETAIL > SOUVENIRS items are in the cart

115

Page 118: Salesware E-Commerce User Guide - accesso Technology Group

Note: the item price is set to $10.00 <price>10.00</price> but the quantity is set to -1 <qty>-1</qty> in order to arrive at the net overall price of -$10.00 for the item. Example 3: Require that one or more of a product is present in the cart before allowing checkout.

1. Set department field to MISC, category field to SHIPPING and item field to SHIPHANDFE 2. Set the cartrule to tally() >= 1 3. Set message field to You must purchase 1 Shipping & Handling item before you can complete your sale.

<ahref="http://localhost/ecommerce35/itemShow.aspx?Dep=iJ9WbUrrNfVV%2bzmPXs52XQ%3d%3d&Cat=1DUf0%2fma%2fqsU%2b%2bSBpp0vKA%3d%3d&It=nhAMvbq3ZJJZ1wgns5kmhw%3d%3d">Buy now.</a>

4. Leave cartaction field blank 5. Set required field to 1 or True because the MISC > SHIPPING > SHIPHANDFE item is

required to be in the shopping cart in order to complete the sale 6. Set notes field to This ensures that guests must purchase one of the Shipping & Handling Fee item

per online sale

7. Add the SHIPHANDFE item to your E-Commerce item tree 8. Results: a. The user adds some items to the shopping cart but has not yet added the Shipping & Handling

item

b. Upon reaching the checkout.aspx page, the contents of the message field appear informing the user that they must purchase a Shipping & Handling item

116

Page 119: Salesware E-Commerce User Guide - accesso Technology Group

Note: that a link is placed in the message (Buy now.) which when clicked takes the user to the ItemShow.aspx page for the Shipping & Handling item

c. Once the Shipping & Handling item is in the shopping cart the message no longer appears and the sale can be processed

117

Page 120: Salesware E-Commerce User Guide - accesso Technology Group

Recently added Cart Rules functionality

• The CARTADD cart action can be configured to specify a maximum quantity for an auto-added item. Within the <options> tags, you can now enter a <maxqty> which caps the number of times that the auto-added DCI can appear in the cart. This gives the ability to add the same DCI from multiple rules, but limit the number of times the DCI gets added.

Example: One could use a CARTADD cart action such as the one shown below to add a shipping item to the sale. The cart action could be configured to work with several different items, but with the new <maxqty> functionality, the auto-added item would only be added once as shown in this example: CARTADD(<department>MISC</department><category>SHIPPING</category><item>SHIPPING2</item><options><maxqty>1</maxqty></options>).

• Member log-in discounts are now applied to items added via Cart Rules during the checkout process. If a member has successfully logged in, an auto-added item that was added to the cart via Cart Rules can be discounted via the macro SELECTIVESPECIAL("SPECIAL") in the SysManager > Activities > DCIs > New/Edit > Action tab > Action Specifics > Global Settings tab for all member passes. The discount is applied on the Checkout.aspx page when the auto-added item is added to the cart, provided the member has already logged in through the member log-in process.

• Items added to the shopping cart via a Cart Rule can now have a variable price based on a percentage of the cart total (before any auto-added items get added). To use, specify the price in the cartaction field of the cartrule record with a % as shown in this example:

CARTADD(<department>MISC</department><category>FEES</category><item>PERCENTFEE</item><options><price>7.5%</price></options>)

This adds the specified item at checkout according to the configured rule with a price that is 7.5% of the cart total

118

Page 121: Salesware E-Commerce User Guide - accesso Technology Group

E-Commerce security E-Commerce is Payment Application Best Practices (PABP) compliant. The following sections describe the primary security features of E-Commerce module.

Passwords for guests and the Sales Host operator You can choose how strong your guest password is using a regular expression that is specified in the dynamicControls.xml file. See the Salesware E-Commerce Reference for more information. You use the Classic Salesware PABP-compliant mechanism for setting up the Sales Host operator password, which is encrypted within the Sales32c.INI file for unattended restarts.

Secure web service

The web service uses built-in encryption and a passphrase. The passphrase is encrypted within the web.config file and is specified using a site config setting EncryptSvcComm. In addition, you can use SSL, VPN or a secured network for an additional layer of security.

To set and configure the passphrase for the web service:

1. Locate and define the following key within the web.config: <PassPhrase SitePassPhrase="S1r1uzW@r3" />

Note: The value for this setting may be different in your web.config file.

2. If the value you used for PassPhrase is different, you must replace the SitePassPhrase in this setting <PassPhrase SitePassPhrase="S1r1uzW@r3" /> with your PassPhrase before proceeding.

3. Save the changes to the siteconfig.config file and exit the text editor. 4. From a command prompt, navigate to: C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319. 5. Run the following commands:

aspnet_regiis -pa "NetFrameworkConfigurationKey" "ASPNET" aspnet_regiis -pa "NetFrameworkConfigurationKey" "Network Service" aspnet_regiis -pe PassPhrase -app sitelocation Note: If you get an, "RSA Key Container was not found," error when running the first command above, try issuing the command:

119

Page 122: Salesware E-Commerce User Guide - accesso Technology Group

aspnet_regiis -pc "NetFrameworkConfigurationKey" –exp Then, rerun all three commands. If you get any other error, stop and contact accesso Siriusware Technical Support.

Note: The sitelocation is relative to the root web site. So if your E-Commerce pages are installed in C:\Inetpub\wwwroot\E-Commerce, you would use /E-Commerce for sitelocation.

View your web.config file to verify that the new section after </appSettings> is in fact encrypted. It looks something like the following: <PassPhrase configProtectionProvider="RsaProtectedConfigurationProvider"> <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element" xmlns="http://www.w3.org/2001/04/xmlenc#"> <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" /> <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#"> <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" /> <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#"> <KeyName>Rsa Key</KeyName> </KeyInfo> <CipherData> <CipherValue>G5cbEK/EJPafzpfVhS/HlBreZMKIvgrR5Z0opTHvSLYRng1sxkRDjEyj7J1Rqd3cmpezxQLCu3NeFLiueYd4n3jGeH0RFg3wJFcG/t0fnPG2LsFXhREdPMX88L5Pc4NN86a2xLYfZIxkE6exE2I5tJlemdv+EyK5WsMHCpt6EL4=</CipherValue> </CipherData> </EncryptedKey> </KeyInfo> <CipherData> <CipherValue>LiBJG/qV8md4KsxxI/JP23/rfs7m0VveTjeibucny6P0gXbrnviT6HTe0O7kv+990st77HXJ22w=</CipherValue> </CipherData> </EncryptedData> </PassPhrase>

Note: The <CipherValue> here won’t be the same as your <CipherValue>.

Securing your site with SSL E-Commerce module is unaware of the protocol being used to display it. This allows a full version of the application to be run for testing purposes before obtaining your SSL certificate. Before making the site public, an SSL certificate must be obtained for the server hosting the pages or your web visitors/guests may be exposing their

120

Page 123: Salesware E-Commerce User Guide - accesso Technology Group

personal information and credit card details to the Internet. SSL certificates can be purchased from several vendors (not, however, accesso) like Verisign (www.verisign.com) and Thawte (www.thawte.com). Accesso recommends that you buy and install at a minimum a 56-bit certificate to support the greatest numbers of browsers and provide good security. Higher bit certificates can be used (128-bit), but this forces the visitors/guests to have a newer browser version and may render the site unusable for those who can’t or don’t know how to upgrade their browsers. For information on how to install your SSL certificate, see the Salesware E-Commerce Installation Guide.

You need the exact URL for the web site and need the private key from the computer that has that URL. However, you can set up IIS on the server where the web pages are to reside, create the URL in IIS and generate the key prior to any software installation on the server. The URL is your decision. For instance, if you are hosting the E-Commerce web pages on your web site at http://www.rideallday.com, then that is the URL you want to secure. If you are placing the pages on another server, then you need to come up with a fully qualified domain name for that server, for example, http://ecommerce.rideallday.com. If you already have rideallday registered, you do not need to register a new domain as long as the URL ends with rideallday.com. However, if you call it something like ridealldaytickets.com, then you’d need to register that domain before obtaining your secure certificate. Also remember that whatever URL you decide on, it has to be registered in the Internet's Domain Name Service (DNS) so that ecommerce.rideallday.com resolves to the IP address of the computer from outside your network. Your DNS provider is usually the Internet Service Provider that supplies your Internet connection. Once a certificate is purchased, installed and tested (the vendor and/or your IT staff is able to help with this), it’s a good idea to set the virtual directory created during install to only serve pages in secure mode by checking the Require secure channel (SSL) box on the Secure Communications dialog in the IIS Manager (Properties of the virtual directory > Directory Security tab > Edit button in the Secure Communications section):

Once that box is checked, the pages only load using the https:// protocol and fail if the http:// protocol is used. You then have to update any links to the pages to use https:// only.

121

Page 124: Salesware E-Commerce User Guide - accesso Technology Group

Use of regular expressions throughout

Regular expressions are used throughout E-Commerce module to provide control over input. See the following settings in the Salesware E-Commerce Reference:

• <RegEx> in the dynamicControls.xml file • ItemMessageRegEx site config setting • RenewVerifyRegEx site config setting • RenewVerifyRegExMessage site config setting • MemberVerifyRegEx site config setting • MemberVerifyRegExMessage site config setting • BDateRegEx site config setting

For suggested regular expressions, see http://www.regexlib.com.

Use of authentication and encryption

Authentication is used for guest log-in, member log-in and In-House Cards. All account/group passwords are encrypted. Account lockout times are configurable.

Global checking for CVV/AVS field

The E-Commerce pages now display the CVV2 Number entry field only if the processor supports CVV2 confirmation and ww.dll is set to verify CVV2. The ww.dll now returns the card ranges that are supported by the various CCV and AVS functions.

Other setup scenarios

Liability release configuration Liability form handling in E-Commerce module works in the same manner as it does in Classic Sales, where one or more liability forms assigned to an item must be accepted before the item can be added to the shopping cart and liability form acceptance by the guest in E-Commerce module is now recorded in the guest record. This is referred to as “new style” liability. See Alternative method of implementing liability forms for the original or “old style” method, of handling liability. Also, see E-Commerce page flow for diagrams that include visual representations of how both “new style” and “old style” liability fit into the E-Commerce page flow.

122

Page 125: Salesware E-Commerce User Guide - accesso Technology Group

Text for the liability forms needs to be entered into the Liability HTML (for E-Commerce) field in the Liability Form/Paragraph edit form in SysManager > Activities > Item/Sales Lists > Liability Forms/Paragraphs. HTML markup can be used to format the text when it is rendered in the E-Commerce pages. If you prefer to display the text of the liability forms in an unformatted manner, you can use the Liability Text (for Sales) field instead – this requires the following site config setting:

Site Admin Panel > Liability Settings > LiabilityField value = liab_text

If this setting is not present, the contents of the Liability HTML (for E-Commerce) field is displayed. For items that have multiple liability forms required, each form is displayed one after the other. The default separator between forms is a line break (<br>) but this can be overridden with the following site config setting:

Site Admin Panel > Liability Settings > LiabilitySeparator value = &lt;br&gt; - - - - - &lt;br&gt;

Tags and special characters need to be escaped, so the example above would be two line breaks with five dashes between them – i.e., <br>-----<br>.

Items that require a liability form to be accepted do not allow the guest to be added to that item without verification – it acts as if the item had required guest fields. In order to help clarify the process of accepting a liability form for your E-Commerce customers, you can configure the forms to display the guest name and age if you like. This helps confirm that the correct guest is accepting the liability form. To incorporate this, add one or more of the following variables in this exact format to the desired Liability Forms/Paragraphs: {{guest_name}}, {{first_name}}, {{last_name}}, {{age}}.

Example: </strong>The liability release is for the following guest: {{guest_name}}. </strong> Guest age:{{age}}<br><br>Your desired Liability Text Here.

Note: The {{guest_name}} variable displays the guest first name and the guest last name. Also note that this functionality does not work with the old style method of handling liability.

If the guest being attached to the item does not meet the age requirements of the liability form as set in the Liability Form / Paragraph Edit > Minimum age to accept field, then, the following notice appears just below the text of liability: “Guest is underage. A parent or guardian must accept this release.”

Just below the notice are three text boxes: Parent or guardian first name and Relationship to minor. Once these are populated and the, I have read and I accept the terms of this release check box is checked, the Continue button becomes active and can be clicked which writes the information into the guest record of the person being attached to the item. By default this information is written into the notes field. The field can be changed using the following site config file setting:

123

Page 126: Salesware E-Commerce User Guide - accesso Technology Group

Site Admin Panel > Liability Settings > MinorGuestLiabilityField value = notes

Example: How this information appears in the notes field of the guest record:

2/24/11 10:28 AM Liability (form# 70000000 accepted for minor by: Homer Simpson Relationship: father)

Alternative method of implementing liability forms This section describes the original way of doing liability form acceptance – by item type – in E-Commerce module. The text for the liability form done in this original manner still comes from the file designated with the following site config file setting:

Site Admin Panel > Liability Settings > LiabilityText value = template/liabilityText.txt

If you would like to display and require visitors/guests to your web site to acknowledge that they accept a liability release form, then the following site config settings need to be configured appropriately:

• Site Admin Panel > Liability Settings > LiabilityText value = template/liabilityText.txt • Site Admin Panel > Liability Settings > LiabilityItems value = 2,3

The LiabilityText key is used to point to the template text file that contains the text that you want your web site purchasers to read and acknowledge when buying applicable products. The default template (liabilityText.txt) is a plain text file which is located in the template folder in the E-Commerce directory containing the pages (usually inetpub\wwwroot\E-Commerce\template). When a certain item type is sold via the web pages, the liability form is displayed when the user tries to add an item of this type to their cart. If they do not check a box indicating they have read and agree, then they are not able to add the item to the cart.

The item types that can be configured to display a liability release form, and their corresponding values which are used for the LiabilityItems key are: 0=none (same as not having this key present), 1=Regular Item, 2=Create New Guest Record item, 3=Create Pass item, 4=Access/Pass Validation item, 5=Begin Rental item, 6=Begin Private Booking item and 7=Begin Pod Booking item. These roughly correspond to the Item Types on the Action tab found during item setup in SysManager. If you want to have the liability release form display for more than one item type you can enter multiple values separated by commas.

124

Page 127: Salesware E-Commerce User Guide - accesso Technology Group

Configure the linking of the state and country dropdowns on the GuestEdit.aspx

You can configure the MiscTables.xml file so that the Country dropdown that displays on the GuestEdit.aspx page is linked to the State dropdown. What this means is that when a Country is selected first, the State dropdown only lists those states linked to that country in Misctables.xml. This requires you to add a <FK>CountryName</FK> to each of the State/Provence entries in that file. Furthermore, you can add a Please Select line tailored for each “set of states” by adding a State entry with a value of XX, FK with a value of the desired country and a text value of, “Select a xxx” where xxx is a state, territory, province etc. To further enhance this functionality you could place Country before State on the GuestEdit.aspx page to suggest to the user that they select their country first which would thus filter the list of states displayed in the dropdown to the country selected. To enable this functionality add the following key to the site config file:

Site Admin Panel > Miscellaneous Settings > LinkedCountryState value = 1

Setting the value for this key to 0 disables this functionality. Example: This configures the Countries and States sections of the miscTables.xml file. This example works with countries USA and Canada:

<Countries> <Country> <Value>XX</Value> <Text> Select Country </Text> </Country> <Country> <Value>USA</Value> <Text>USA</Text> </Country> <Country> <Value>CANADA</Value> <Text>CANADA</Text> </Country> <Country> <Value>**</Value> <Text>Other:</Text> </Country> </Countries> <States> <State> <Value>XX</Value> <Text>Select State</Text> <FK>USA</FK> </State> <State> <Value>AL</Value> <Text>Alabama</Text> <FK>USA</FK> </State> <State> <Value>AK</Value> <Text>Alaska</Text> <FK>USA</FK> </State> <State> <Value>AZ</Value> <Text>Arizona</Text> <FK>USA</FK> </State> <State> <Value>AR</Value> <Text>Arkansas</Text> <FK>USA</FK> </State> <State> <Value>CA</Value> <Text>California</Text> <FK>USA</FK> </State> <State> <Value>CO</Value> <Text>Colorado</Text> <FK>USA</FK> </State> <State> <Value>CT</Value> <Text>Connecticut</Text> <FK>USA</FK> </State> <State> <Value>DE</Value> <Text>Delaware</Text> <FK>USA</FK> </State> <State> <Value>DC</Value> <Text>District of Columbia</Text> <FK>USA</FK> </State> <State> <Value>FL</Value> <Text>Florida</Text> <FK>USA</FK> </State> <State> <Value>GA</Value> <Text>Georgia</Text> <FK>USA</FK> </State> <State> <Value>HI</Value> <Text>Hawaii</Text> <FK>USA</FK> </State> <State> <Value>ID</Value> <Text>Idaho</Text> <FK>USA</FK> </State> <State> <Value>IL</Value> <Text>Illinois</Text> <FK>USA</FK> </State> <State> <Value>IN</Value> <Text>Indiana</Text> <FK>USA</FK> </State> <State> <Value>IA</Value> <Text>Iowa</Text> <FK>USA</FK> </State> <State> <Value>KS</Value> <Text>Kansas</Text> <FK>USA</FK> </State> <State> <Value>KY</Value> <Text>Kentucky</Text> <FK>USA</FK> </State> <State> <Value>LA</Value> <Text>Louisiana</Text> <FK>USA</FK> </State>

125

Page 128: Salesware E-Commerce User Guide - accesso Technology Group

<State> <Value>ME</Value> <Text>Maine</Text> <FK>USA</FK> </State> <State> <Value>MD</Value> <Text>Maryland</Text> <FK>USA</FK> </State> <State> <Value>MA</Value> <Text>Massachusetts</Text> <FK>USA</FK> </State> <State> <Value>MI</Value> <Text>Michigan</Text> <FK>USA</FK> </State> <State> <Value>MN</Value> <Text>Minnesota</Text> <FK>USA</FK> </State> <State> <Value>MS</Value> <Text>Mississippi</Text> <FK>USA</FK> </State> <State> <Value>MO</Value> <Text>Missouri</Text> <FK>USA</FK> </State> <State> <Value>MT</Value> <Text>Montana</Text> <FK>USA</FK> </State> <State> <Value>NE</Value> <Text>Nebraska</Text> <FK>USA</FK> </State> <State> <Value>NV</Value> <Text>Nevada</Text> <FK>USA</FK> </State> <State> <Value>NH</Value> <Text>New Hampshire</Text> <FK>USA</FK> </State> <State> <Value>NJ</Value> <Text>New Jersey</Text> <FK>USA</FK> </State> <State> <Value>NM</Value> <Text>New Mexico</Text> <FK>USA</FK> </State> <State> <Value>NY</Value> <Text>New York</Text> <FK>USA</FK> </State> <State> <Value>NC</Value> <Text>North Carolina</Text> <FK>USA</FK> </State> <State> <Value>ND</Value> <Text>North Dakota</Text> <FK>USA</FK> </State> <State> <Value>OH</Value> <Text>Ohio</Text> <FK>USA</FK> </State> <State> <Value>OK</Value> <Text>Oklahoma</Text> <FK>USA</FK> </State> <State> <Value>OR</Value> <Text>Oregon</Text> <FK>USA</FK> </State> <State> <Value>PA</Value> <Text>Pennsylvania</Text> <FK>USA</FK> </State> <State> <Value>RI</Value> <Text>Rhode Island</Text> <FK>USA</FK> </State> <State> <Value>SC</Value> <Text>South Carolina</Text> <FK>USA</FK> </State> <State> <Value>SD</Value> <Text>South Dakota</Text> <FK>USA</FK> </State> <State> <Value>TN</Value> <Text>Tennessee</Text> <FK>USA</FK> </State> <State> <Value>TX</Value> <Text>Texas</Text> <FK>USA</FK> </State> <State> <Value>UT</Value> <Text>Utah</Text> <FK>USA</FK> </State> <State> <Value>VT</Value> <Text>Vermont</Text> <FK>USA</FK> </State> <State> <Value>VA</Value> <Text>Virginia</Text> <FK>USA</FK> </State> <State> <Value>WA</Value> <Text>Washington</Text> <FK>USA</FK> </State> <State> <Value>WV</Value> <Text>West Virginia</Text> <FK>USA</FK> </State> <State> <Value>WI</Value> <Text>Wisconsin</Text> <FK>USA</FK> </State> <State> <Value>WY</Value> <Text>Wyoming</Text> <FK>USA</FK> </State> <State> <Value>**</Value> <Text>Other:</Text> <FK>**</FK> </State> <State> <Value>XX</Value> <Text>Select Province</Text> <FK>CANADA</FK> </State> <State> <Value>AB</Value> <Text>Alberta</Text> <FK>CANADA</FK> </State> <State> <Value>BC</Value> <Text>British Columbia</Text> <FK> CANADA </FK> </State> <State> <Value>MB</Value> <Text>Manitoba</Text> <FK> CANADA </FK> </State> <State> <Value>NB</Value> <Text>New Brunswick</Text> <FK> CANADA </FK> </State> <State> <Value>NL</Value> <Text>Newfoundland</Text> <FK> CANADA </FK> </State> <State> <Value>NT</Value> <Text>Northwest Territories</Text> <FK> CANADA </FK> </State> <State> <Value>NS</Value> <Text>Nova Scotia</Text> <FK> CANADA </FK> </State> <State> <Value>NU</Value> <Text>Nunavut</Text> <FK> CANADA </FK> </State> <State> <Value>ON</Value> <Text>Ontario</Text> <FK> CANADA </FK> </State> <State> <Value>PE</Value> <Text>Prince Edward Island</Text> <FK> CANADA </FK> </State> <State> <Value>QC</Value> <Text>Quebec</Text> <FK> CANADA </FK> </State> <State> <Value>SK</Value> <Text>Saskatchewan</Text> <FK> CANADA </FK> </State> <State> <Value>YT</Value> <Text>Yukon</Text> <FK> CANADA </FK> </State> </States>

Settings for using Reservation Headers and reservation tracking

Sales can be configured to use Reservation Headers, which allows you to collect marketing information when a web sale is finalized. The following site config settings are pertinent to using Reservation Headers and Reservation Tracking functionality (only edit the portion between the double-quotes that follows value =):

126

Page 129: Salesware E-Commerce User Guide - accesso Technology Group

• Site Admin Panel > Reservation Settings > UseResHeaders value = 0 • Site Admin Panel > Reservation Settings > EnableResTracking value = 0 • Site Admin Panel > Reservation Settings > ResTrackField value = mktg_code • Site Admin Panel > Reservation Settings > ResTrackRequired value = 0

To enable the use of Reservation Headers you must set the value for the key UseResHeaders to 1 and the Sales Host must be licensed for Reservations. This then makes it possible to collect marketing information depending on how the remaining three keys listed above are set.

If the value for the EnableResTracking key is set to 1, then, the Reservation Tracking functionality is active, and a selection box is displayed on the Checkout page with a dropdown arrow to select one of the available values for the ResTrackField selected (see below). If the value for EnableResTracking is set to anything except 1, this functionality is not active on the Checkout page.

The value set for the ResTrackField key determines which field from the resrvatn table is used - the options are: mktg_code, srce_code, user_code1, user_code2, user_code3 and wrap_code. Any other field from the resrvatn table entered here de-activates the functionality.

If the value for the ResTrackRequired key is set to 1, then the web purchaser must make a selection using the dropdown arrow for the ResTrackField selected above before the sale can be finalized. If the value for the ResTrackRequired key is set to anything other than 1, then, the web purchaser has the option to make a selection using the dropdown selection box or leave it blank.

Filtering payment types Payment types can be restricted by Sales Point Type in the E-Commerce pages. This is done by selecting salespoint types in the Payment Type edit form > Sales Point Type tab in SysManager for each of your payment types, and then setting the value of the SPType key in the site config file to the salespoint type(s) that you want to allow in E-Commerce module. Example: Site Admin Panel > Item Settings > SPType value = 5,10

An additional key is used to set the message to display when a guest tries to use a payment type that is not allowed:

Site Admin Panel > Checkout Settings > PaymentTypeNotAllowedMsg value = This payment type is not allowed for E-Commerce sales.

127

Page 130: Salesware E-Commerce User Guide - accesso Technology Group

Settings for using the “Moneris-style” receipt page

There are two options for the receipt page that displays to web purchasers upon finalization of the online sales process: the “classic-style” receipt page (conf.aspx) or the “Moneris-style” receipt page (conf2.aspx). The following site config keys affect how the fields on the “Moneris-style” receipt page are populated:

Site Admin Panel > Checkout Settings > MonerisReceipt value = 0 Site Admin Panel > Checkout Settings > CompanyName value = Siriusware, Inc.

Site Admin Panel > Checkout Settings > CompanyAddress value = 1337 Gusdorf Road Suite E Taos, NM 87571 Site Admin Panel > Checkout Settings > CompanyPhone value = (505) 751-0633 Site Admin Panel > Checkout Settings > CompanyWeb value = www.siriusware.com

Site Admin Panel > Checkout Settings > Tax1Name value = GRT: Site Admin Panel > Checkout Settings > Tax2Name value = LT:

Site Admin Panel > Checkout Settings > CurrencyCountry value = USA Site Admin Panel > Checkout Settings > TermID value = 002940

Site Admin Panel > Checkout Settings > CCRcptDTFmt value = 351

The key MonerisReceipt was added to make the “Moneris-style” receipt optional: 1 = display “Moneris-style” receipt, anything else displays the "classic-style” receipt upon finalization of a web sale. The values for the CompanyName, CompanyAddress, CompanyPhone and CompanyWeb keys are edited as appropriate for your company. If you charge tax on items sold via your online sales, then, you likely want to fill-in the appropriate value for Tax1Name and/or Tax2Name. You most likely want this to correspond to the settings you have for these in SysManager > Preference > Seasons and Dates. The CurrencyCountry key is filled in with the three-letter abbreviation for the type of currency you accept for your online sales. This value is then displayed by all money fields on the receipt page. The value for the TermID comes from Moneris. If this key has a value in it then the Reference Number line on the receipt page is displayed. If the line reads Site Admin Panel > Checkout Settings > TermID value = "", that is with no value assigned to this key, then the Reference Number is meaningless and the line does not display on the receipt page. The Transaction Date that displays on the “Moneris-style” receipt page can be parsed using the key CCRcptDTFmt. The value for this key has three digits corresponding to the start positions of different parts of the date returned from ProtoBase. The default is 351. If the date is not in the desired order, the value for this key can be changed using a combination of the numbers 1, 3 and 5 to get the desired date display.

Using multiple pages to display and handle the E-Commerce checkout process

The option to use multiple pages to display and handle the E-Commerce checkout process (as opposed to a single page) is activated using the following site config file setting:

128

Page 131: Salesware E-Commerce User Guide - accesso Technology Group

Site Admin Panel > Checkout Settings > CheckoutSteps value = 1

With the value for this setting set to 0, the original single checkout page process (Checkout.aspx) is maintained.

With CheckoutSteps enabled (value set to "1"), the online shopper is taken through a series of 4 checkout pages:

1. Checkout1.aspx 2. Checkout2.aspx 3. Checkout3.aspx 4. Checkout4.aspx

The step that the online shopper is at in the process is displayed with a “breadcrumbs” type trail near the top of each page, just below the header. Toward the bottom of each of the numbered checkout pages are Back and Next buttons that, when clicked, allow the purchaser to progress forwards or backwards through the checkout pages/steps.

Checkout1.aspx displays the cart contents along with anything added to the cart due to Cart Rules. Also, Checkout1.aspx has the coupon code controls on it if those are enabled (Site Admin Panel > Checkout Settings > EnableCheckoutCoupons value = 1). Checkout2.aspx is the page where the purchaser’s name and address information is entered and/or verified. If the Shipping Address fields are enabled via the site config file (Site Admin Panel > Guest Related Settings > NoPurchTracking value = 0 and Site Admin Panel > Guest Related Settings > ShowShippingAddr value = 1), then these are also displayed on Checkout2.aspx. Checkout3.aspx is the Payment Information entry page where the purchaser enters his credit card or In-House Cards information or chooses to charge the sale to an account if he is purchasing via group/account/club management functionality. Finally, Checkout4.aspx is a final “review” page where the purchaser can verify the cart contents and sale total, the form of payment being used and the purchaser address information.

If the purchaser desire to make any changes before submitting the sale, there are Back buttons located on each of the checkout pages which, when clicked, take him back through the checkout pages. Once he has arrived at the page where he wants to make the changes and the changes are complete, he can then click on the Next button to progress back through the checkout pages. Once he has arrived at Checkout4.aspx and he is satisfied with everything, he can click on the Submit Sale button to process the sale in the regular manner.

When using CheckoutSteps (Site Admin Panel > Checkout Settings > CheckoutSteps value = 1 in the site config file for the pages), up to four payments can be made on a sale using one or more credit cards, one or more In-House Cards or a combination of credit cards and In-House Cards. Multiple payments are applied on the Checkout3.aspx page. When the shopper arrives at this page, he can either choose to pay the sale total using one credit card/In-House Cards card or he can choose the Use multiple cards option wherein he would enter an amount to pay along with the card number (and expiration date and CVV2 number for credit cards) to use. Clicking the Add Payment button adds the payment to the Payment Summary grid towards the bottom of the page. The payment or Card Types labels default to Charge Card or In-House Cards. The labels can be overridden in site config with the following site config settings: Site Admin Panel > Checkout Settings > CreditCardTypeText value = Credit Card and Site Admin Panel > Checkout Settings > InHouseCardTypeText value = Gift Card. Once a payment is added, the amount remaining to be paid is automatically entered into the Amount to be applied

129

Page 132: Salesware E-Commerce User Guide - accesso Technology Group

to this card text box and another payment can be applied to the sale total. Once the Balance Remaining reaches $0.00, the shopper clicks the Next button to proceed to the Checkout4.aspx page.

Note: When charging a sale to an account using E-Commerce group (account) functionality, the entire amount of the sale gets charged to the account – you cannot mix multiple payments to credit cards/In-House Cards with account charging through the E-Commerce pages.

Implementing specials You can implement specials through the entry of either a marketing code or a source code on the Checkout.aspx page. The marketing code or source code used must be linked to a special via SysManager > Activities > Financial Lists > Specials > New/Edit – the special is linked to the marketing code or source code on either the Marketing Codes or Source Codes tab by moving one of the Available Marketing/Source Codes into the Authorized Marketing/Source Codes column. This creates a link between the special and the marketing/source code. Specials are associated with items in the usual manner (either on the Specials tab for the item or by making the special a global special).

To enable this functionality in the pages, add the following settings to your site config file:

• Site Admin Panel > Checkout Settings > EnableCheckoutCoupons value = 1 - EnableCheckoutCoupons makes the "Enter coupon code" controls visible and enabled at Checkout

• Site Admin Panel > Checkout Settings > CouponCodeField value = mktgcode - CouponCodeField can be srcecode or mktgcode

With EnableCheckoutCoupons set to a value of 1, a button and a text box entry area are enabled on the Checkout.aspx page. You can then enter a marketing or source code, click the Apply Coupon Code button, and the appropriate special(s) is applied to the items in the cart. The CouponCodeField setting designates whether to use marketing codes (mktgcode) or source codes (srcecode) to apply the specials through the E-Commerce pages. After an online shopper enters a valid marketing or source code into the text box and clicks the Apply Coupon Code button, the discounts are applied to the appropriate items in the cart and the items get re-priced, with the old price shown in red strike-through (a style configurable in Siriusware.css). The name of the special that was applied gets added to the item description in the cart.

Note: Once the marketing or source code has been applied on the Checkout.aspx page, the old and discounted prices along with the special name are displayed not only on the Checkout.aspx page, but also on the CartShow.aspx and the confirmation pages (either conf.aspx or Conf2.aspx).

Only the discounted price and special name get displayed in confirmation e-mail. If an item in the cart is already discounted, a comparison is made to see what the better discount is and the lower price is used. Only one special is applied per item, but multiple codes may be entered (one at a time, individually) to apply different specials to different items. If an online shopper adds additional items to his shopping cart after applying a code, the new items

130

Page 133: Salesware E-Commerce User Guide - accesso Technology Group

do not get automatically discounted. The shopper needs to re-enter the code and click the Apply Coupon Code button to apply any special pricing that the items may be configured with. If an invalid code is entered, no changes are made to the item prices in the cart. You can also implement specials using the Sales screen action macros. See Using Sales screen action macros for more information.

Configure the WTP reload process for Axess gates

When items are configured to support a WTP reload, they can be looked up in the WTPReload.aspx page. If a product has valid Reload Items Available, a link is displayed to see the items on the ItemList.aspx page. Once an item is selected, the user is taken to the ItemShow.aspx page and the quantity is forced to “1” regardless of min/max configuration of the item in SysManager. To use, set the following site config setting:

• Site Admin Panel > Miscellaneous Settings > WTPRegex value = ^([0-9a-zA-Z]{8})-([0-9a-zA-Z]{3})-([0-9a-zAZ]{3})$

• Site Admin Panel > Miscellaneous Settings > WTPItemsText value = Items are available. Click &lt;ahref=&quot;ItemList.aspx?node_type=WTP&quot;&gt;here&lt;/a&gt;to see them.

• Site Admin Panel > Miscellaneous Settings > WTPDescrip value = (WTP Number:{{wtp_no}}

Set “WTPRegex” to a regular expression to use to validate the WTP number entered on ItemShow.aspx. The “WTPItemsText” setting is what gets displayed to the user when they have reload items available. It needs to have a link to ItemList.aspx?node_typw=WTP. The rest of the text can be whatever you choose. Set WTPDescrip to text to display in the cart with WTP number-enabled items. {{wtp_no}} is replaced with the actual number.

Selling donation items

E-Commerce module can be configured to sell donation items. A single $0 donation item is used in combination with various fixed price modifiers to set the amount of the donation. An additional modifier is configured that allows direct pricing so that the donor can set any amount for his donation.

The following site config file setting is used to set the main $0 donation item and to trigger the appropriate controls to display on ItemShow.aspx when that item is selected so that the donation functionality works:

Site Admin Panel > Miscellaneous Settings > DonationDCIs value = MUSEUM DONATIONS DONATEITEM

When this item is selected and the ItemShow.aspx page loads, the following controls become active on the page: the direct pricing input section (described in the following sections), a check box to waive all benefits and designate the donation as 100% tax-deductible, a Special Notes field, a Tribute Acknowledgement Information

131

Page 134: Salesware E-Commerce User Guide - accesso Technology Group

section (which includes a dropdown for setting how the donation is being made), a Tribute field and Acknowledgement Name, Address and E-mail fields.

The site config and MiscTables.xml files can be configured as shown in the following sections to require a message and set the choices for the Message fields. This functionality can be used to allow the donation designation by the donor.

Site config file:

• Site Admin Panel > Item Settings > ItemMessageEnabled value = 1 • Site Admin Panel > Item Settings > ItemMessageUseDropDown value = 1 • Site Admin Panel > Item Settings > ItemMessageDDTable value = ItemMessageVal • Site Admin Panel > Item Settings > ItemMessageRequired value = 1

MiscTables.xml file:

<ItemMessageVals> <ItemMessageVal><value>1</value><text>*Where it is needed most*</text></ItemMessageVal> <ItemMessageVal><value>2</value><text>Museum Annual Fund Drive</text></ItemMessageVal> <ItemMessageVal><value>3</value><text>Special Programs</text></ItemMessageVal> <ItemMessageVal><value>4</value><text>School of Art</text></ItemMessageVal> </ItemMessageVals>

The additional modifier that allows direct pricing on the ItemShow.aspx page is specified using the following site config file setting: Site Admin Panel > Miscellaneous Settings > DonationOtherModDCI value = MUSEUM DONATIONS OTHERAMT

When this modifier is selected, the direct pricing input section, which includes a text box and button, is activated on ItemShow.aspx − the text box is used to enter the desired donation amount and the button is used to apply that amount to the price of the donation.

The Tribute dropdown is populated using the following settings:

Site config file: Site Admin Panel > Miscellaneous Settings > TributeDDTable value = Tribute

MiscTables.xml file: <Tributes> <Tribute> <value>1</value> <text>Select a tribute</text> </Tribute>

132

Page 135: Salesware E-Commerce User Guide - accesso Technology Group

<Tribute> <value>2</value> <text>in Honor of</text> </Tribute> <Tribute> <value>3</value> <text>in Memory of</text> </Tribute> </Tributes> As part of the donation functionality, E-Commerce module also includes the ability to review the information entered for the donation on the Checkout4.aspx page. This requires that the multi-page checkout process be enabled:

Site Admin Panel > Checkout Settings > CheckoutSteps value = 1

Dealing with international characters in detail International characters are now supported in e-mail confirmation letters, in text entry fields in the default pages, and in the site config file. The following keys and settings can be used to support an international character set (only edit the portion between the double-quotes that follows value= and shown in bold below):

• Site Admin Panel > International Character Settings > AltEncoding value = ISO-8859-1 • Site Admin Panel > International Character Settings Settings > AltAllowedChars value =

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'@/-., ^~`!#$+_ • Site Admin Panel > International Character Settings > AddAllowedChars value = éÉèÈ

The key AltEncoding is used to override the default encoding (utf-8) for files being read in, such as e-mail templates which need to support international characters. AltAllowedChars overrides the default allowed characters filter (for security). Anything entered in a text entry field in the pages gets run through this filter. Characters not present in the list are stripped out. The default list (used if AltAllowedCharacters is blank or missing) is: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'@/-., ^~`!#$+_". If you want to add international characters to the built-in list, you use the AddAllowedChars key. For either list, some characters need to be escaped to comply with XML guidelines. Unless you have special needs to replace the default list, it is recommended that only AddAllowedCharacters be used to allow special characters to be used by guests in text entry fields in the pages.

If international characters do not come across when read from site config file, edit the site config file so the first line looks like this: <?xml version="1.0"?> and the web.config begins with <?xml version="1.0" encoding="utf-8"?>.

Settings for using the web service in detail

If you want to install the pages on a computer other than the computer that has ww.dll on it, you need to go through the actual installation of the pages on that computer as described earlier in this document. That computer does need to have IIS, Microsoft .NET Framework 4.0 and ASP.NET installed on it, or the pages do not work.

133

Page 136: Salesware E-Commerce User Guide - accesso Technology Group

In order for the pages installed on a separate computer to work with ww.dll, the wwService needs to be installed on the computer with ww.dll as described earlier in this document. Please note that both the pages and wwService have their own web.config file. The web.config file for wwService unzips when you install wwService, while the web.config file for the pages is initially supplied by accesso. It is up to the client to keep these files up to date as new functionality appears in the software. The web.config file for wwService has not had any new settings added to it since its initial release and posting, whereas the web.config file for the pages has new additions on a routine basis. The easiest way to keep up with the settings is to read the release notes or update notices that come out with each posting.

There are several settings in the two site config and the web.config for wwService that must be in place in order for the web pages to communicate with ww.dll via the wwService. For the pages site config file these are the pertinent. <add key="UseWebService" value = "1"/> <add key="localhost.wwSalesSvc" value="http://000.000.000.000/wwService/wwSalesSvc.asmx"/> <add key="EncryptSvcComm" value = "1"/>

There is also a setting in the web.config in the E-Commerce directory:

<PassPhrase SitePassPhrase="S1r1uzW@r3" />

In order for the pages to use the wwService you must set the value for the key UseWebService to 1. If it is set to 0, then the pages look locally for ww.dll and other web service settings are ignored.

The key localhost.wwSalesSvc lets the pages know the URL for the wwService. Only change the IP address portion (shown in bold above) and leave the rest of the path as it is. Enter the IP address of the computer where wwService and ww.dll are installed.

Note: When running in a live production setting, you change http to https in the value for the key localhost.wwSalesSvc if you are using SSL instead of the encryption service. Using SSL, however, requires you to purchase another certificate for the server running ww.dll – a cost that can be avoided if you use the encryption service instead.

To encrypt communications between the pages and wwService, set the value for the key EncryptSvcComm equal to 1. This setting must match between the web.config file of wwService and the site config of the pages to work. If you use the Internet for transport between wwService and the pages you must use encryption to protect your client’s personal information and credit card details.

Additionally, the PassPhrase values must match in the web.config file of wwService and the site config pages to work. It is best to set this at the beginning of your E-Commerce module configuration and leave it

134

Page 137: Salesware E-Commerce User Guide - accesso Technology Group

unchanged after that to avoid potential problems. See To set and configure the passphrase for the web service: for directions on how to configure PassPhrase.

Here are the pertinent settings in the wwService web.config file which are also located in the <AppSettings> section of that file:

<add key="EncryptSvcComm" value = "1"/> <add key="PassPhrase" value="S1r1uzW@r3"/>

Using Sales screen action macros

Sales screen action macros are processed by Sales running in web mode (Sales Host) provided the Sales screen action macro is inside <ISWEB></ISWEB> tags. Sales running in Classic mode ignores Sales screen action macros that are inside <ISWEB></ISWEB> tags. These Sales screen action macros are specified in the Sales Screen action to execute when this item is sold: field in the SysManager > Activities > DCIs > New/Edit > Sales Actions tab.

You can also use the Action to execute when this item is sold on the web: field on the SysManager > Activities > DCIs > New/Edit > Web tab to apply a special to an item sold through E-Commerce module. The macro SPECIAL() is used to apply the special. To get this to work you would enter: SPECIAL("WEBSET$5 ") into the Action to execute when this item is sold on the web: field and that special is then applied to the item when sold with the E-Commerce pages. This allows items to be configured at the “window” rate with a special applied that discounts down to the “web” rate. The web discounted rate is displayed within the ItemList.aspx, ItemShow.aspx (including multi-add configurations) and CartShow.aspx pages. Additionally, the CartShow.aspx page can be configured to display a total of all discounts.

Warning: The Sales screen action macro functionality when used with the E-Commerce pages are used with caution and are thoroughly tested before deployment.

Example: One does not use the <ISWEB> functionality to change the price of an item or sale by applying a special (<ISWEB>SELECTLAST()SPECIAL("TESTSPEC ")</ISWEB>) because Sales Host processes and applies the Sales screen action macro after the sale has been completed in the Web pages. In this example, the online shopper would be charged full price for the item/sale, and then Sales Host would apply the special through the Sales screen action macro and a refund would be due to the online shopper. To apply a special, use the second method (described previously), which causes the discount to be taken directly by the web pages. The Sales screen action macro functionality was added specifically to Sales Host to process the following type of Sales screen action macro: <ISWEB>SELECTLAST()MODIFYITEM ("TEST TEST TESTTIX1 ")MODIFYITEM("TEST TEST TESTTIX2 ")</ISWEB>, where a few $0 ticket items need to be added to the main item. Other useful Sales screen action macros that can be used here include:

135

Page 138: Salesware E-Commerce User Guide - accesso Technology Group

• <ISWEB>SELECTLAST()FORCEFINALIZE()</ISWEB>, which selectively finalizes items in an E-Commerce sale that would otherwise be saved.

• The WEBOVERRIDE() macro. • The RENEW() Sales screen action macro which, in E-Commerce module, can take only a guest number.

This macro attaches a specified static guest number to an item when appropriately configured for that item. To use, enter <ISWEB>RENEW (guest_no) </ISWEB> and substitute the actual guest number for guest_no.

For more information on Sales screen action macros, see the Salesware Sales Screen Action Macro Commands document.

ww.dll and seasons and dates pricing Changes made to the dates used for Season Schedule pricing (in SysManager > Preferences > Seasons & Dates) does not take effect through the web pages until ww.dll is “rebooted” on the ww.dll computer, open a command line window, type iisreset and hit enter.

Ability to suppress printing

At times, it is necessary to configure items that can be sold independently or as part of a package. When the items are sold alone, the admission is counted and ticket is printed. However, when items are sold as modifiers in a package, ticket printing and admission counts are suppressed. In the past we configured out the ticket printing on Text Merge layout to suppress printing, but this did not work for Graphic layouts (Print At Home Tickets module specifically) and admissions could not be removed. This enhancement allows for the following to be accomplished:

• Add the ability to suppress ticket printing when an item is sold as a modifier • Add the ability to suppress counting admissions when an item is sold as a modifier

The E-Commerce pages and ww.dll respect the two check boxes on the Item Edit dialog that allow suppression of ticket printing and the option to not count admissions for the item when the item is sold as a modifier. These check boxes are as follows:

1. Item Edit > General tab > Remove Admissions when item is sold as a modifier - when this box is checked, the item is configured with an admission count when it is sold as a regular item, but not when it is sold as a modifier.

136

Page 139: Salesware E-Commerce User Guide - accesso Technology Group

2. Item edit > Printing tab > Suppress printing when an item sold as a modifier - when this box is checked, a ticket prints upon finalization of the sale if the item is sold as a regular item, but not when it is sold as a modifier.

137

Page 140: Salesware E-Commerce User Guide - accesso Technology Group

Miscellaneous site config settings

The following miscellaneous keys are available for further customization if desired (only edit the portion between the double-quotes that follows value=):

Site Admin Panel > Miscellaneous Settings > ShowErrors value = 0

Site Admin Panel > Miscellaneous Settings > AdminEmail value = [email protected] Site Admin Panel > Checkout Settings > DeclineTxt value = This Card Was Not Approved. Message:

Site Admin Panel > Checkout Settings > CCYears value = 6 Site Admin Panel > Miscellaneous Settings > BDateRegEx value = ""

Site Admin Panel > Miscellaneous Settings > Salespoint value = TKT24 Site Admin Panel > Checkout Settings > altTermID value = WEB

Site Admin Panel > Miscellaneous Settings > NeverSave value = 1

The key ShowErrors controls whether or not error messages are displayed to users for trapped errors. If an error is returned from ww.dll it is displayed in red on the current page when possible. It is good to set the value for this key to 1 for troubleshooting, but best set to 0 when running live (in which case only the word “Error” is displayed).

E-mail error reports can be sent to someone at your business to help in troubleshooting page crashes by setting the value for the key AdminEmail to the e-mail address of that person. Errors that result in the pages crashing (showing the error page) trigger the e-mail to be sent.

If a credit card is declined and you are using the Moneris-style receipt page (conf2.aspx), the receipt displays along with whatever text you have in the site config setting Site Admin Panel > Checkout Settings > DeclineTxt value = This Card Was Not Approved. Message:. After the word Message: the page displays the message returned from ProtoBase, which in the case of a declined credit card is "Acknowledged".

If a credit card is declined and you are using the non-Moneris-style receipt page (conf.aspx), then, the error.aspx page displays along with whatever text you have in the site config setting Site Admin Panel > Checkout Settings > DeclineTxt value = This Card Was Not Approved. Message: provided you have Site Admin Panel > Miscellaneous Settings > ShowErrors value = 0. After the word Message: the page displays the message returned from ProtoBase, which in the case of a declined credit card is "Acknowledged". If you have Site Admin Panel > Miscellaneous Settings > ShowErrors value = 1 in your site config file, then, an XML string displays on the error.aspx page when a credit card is declined and you are using the conf.aspx page.

The dropdown lists for credit card expiration year (in GuestEdit.aspx and Checkout.aspx) now get auto-populated to list the next six years including the current year. The six-year default can be overridden by changing the value for the following key: CCYears. If you want to list ten years in the dropdown lists you set the value for CCYears to 10.

The birth date validating regular expression (used in GuestSelected.aspx) can now be replaced with a user-supplied regular expression if the default one is not adequate. The value for the key BDateRegEx is where the

138

Page 141: Salesware E-Commerce User Guide - accesso Technology Group

replacement expression would go. Omitting it or leaving the value blank maintains the default behavior of the validator.

The Salespoint setting allows a salespoint nickname to be passed to the Sales Host as part of the sale string for the purpose of salespoint impersonation. Example: With Site Admin Panel > Miscellaneous Settings > Salespoint value = TKT24 in your site config file, the Sales Host "impersonates" salespoint TKT24 and all data is tagged with that salespoint nickname.

The altTermID key is used when one needs to override the TerminalID setting in the Windows registry. This would come into play when a resort uses more than one processor for processing funds. If the altTermID setting is blank or not present in site config, the TerminalID setting in the ww_System.INI is used.

In order to have all online sales that are created using the default web pages be finalized sales, you need the following site config file setting: Site Admin Panel > Miscellaneous Settings > NeverSave value = 1. If this key is set to 0, then sales containing non-Print At Home Tickets items and/or non-pass items continue to be saved sales, while sales with only Print At Home Tickets items and/or pass items are finalized sales.

Troubleshooting E-Commerce The general goal when troubleshooting E-Commerce module is to isolate the component(s) which are causing problems. This is particularly important in E-Commerce module due to the large number of components involved.

Initial installation troubleshooting

If you are able to execute test pages with the .asp extension but not pages with the .aspx extension (you get parsing errors), you have ASP enabled but not ASP.NET. To enable ASP.NET, you first have to install it, and then “allow” it. Do this by executing the following commands from a DOS command prompt: C:Windows\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis /i

The /i flag is for install. After ASP.NET is installed, you “allow” it by going to Internet Information Services (IIS) Manager > xxxxxx (local computer) > Web Service Extensions and clicking ASP.NET v4.0.30319, and then Allow.

For more information about these settings, see E-Commerce installation.

139

Page 142: Salesware E-Commerce User Guide - accesso Technology Group

Re-starting the ww.dll application pool To re-start the ww.dll application pool from Windows Server 2003:

1. Open a command line window 2. Type iisreset 3. Hit Enter

Another useful test to try if ww.dll isn’t working and a reboot doesn’t help is to execute a SELECT statement from SQL Server Management Studio, and if it works there, then, execute the same SELECT statement by replacing the statement in ww2.vbs with a SELECT call, after increasing the verbosity level to 5 in the registry. You are sure to find something useful in the log.

Example: If you find a permissions error, you may have to re-execute the create_AppRole_SiriusSQL.sql script.

Re-creating the problem and capturing a ww.dll log file

Recreating the problem and capturing a ww.dll log file can go a long way in helping to isolate E-Commerce issues.

These instructions cover the steps necessary for collecting a verbosity 5 log for ww.dll. It is very important to delete or remove the log from the web server and to return the verbosity to 0 after collecting the ww.dll log. This is for security and filesize reasons – the file grows in size very quickly at a busy web site and could influence performance if verbosity were left at 5.

1. Go to C:\ProgramData\ Siriusware\ww. 2. Open the ww.ini file. 3. Set VerbosityLevel = 5. 4. Specify the pathway for the log, the default is ProgramData\Siriusware\ww\Log\. 5. Perform an iisreset through the Cmd prompt. 6. Recreate the situation for which you are collecting the ww.dll log. The log file ww_log.txt is

created in the C:\ ProgramData\Siriusware\ww\Log\ folder. 7. Once you have collected the log it is imperative that the log be deleted or removed from the web server

and the verbosity level returned to 0 in the registry. If you can’t get the web pages to do anything (e.g., they time out or you receive, “Page cannot be found,” errors when attempting to bring up the pages in a browser) chances are that there is something wrong with your web server. To isolate this issue, try browsing to the web site from your computer and attempt to view the release notes for E-Commerce (which are stored in the same place as the web pages). Type in the path to the web pages location, for example:

www.myresort.com/e-commerce/eCommerce_Pages_release.txt

140

Page 143: Salesware E-Commerce User Guide - accesso Technology Group

You are able to see the release notes for E-Commerce displayed. If not, your web server is probably not serving up web pages for whatever reason (Is it turned off? Did someone adjust security settings?) and you need to obtain help from your IT department to correct this before you can go any further.

If you have customized your web pages and you are getting an error when you get to a specific page, try substituting the Salesware default page for your customized page. This helps isolate whether the problem is happening as a result of your customization work or if it is some other issue. Example: If you get an error whenever you get to your customized Checkout.aspx page, try renaming your customized page to something like Checkout_custom.aspx, and then copy the default Salesware version of the Checkout.aspx page to the directory where your pages are located. Now run through the steps that caused the error to occur and see what happens. If you do not receive the error, chances are something went wrong in what you did to customize the page.

If you see an error message instead of the items on the items list page, for instance, ww.dll may have stopped responding. To isolate this issue, there is a test script that you can use: wwtext.exe. They are obtained from accesso (if you don’t already have them) and are placed on same computer as ww.dll, in the Program Files/Siriusware/ww directory. If this script fails, ww.dll may not be responding and you follow the steps listed above to shut down and restart the COM+ wwSales application or restart the computer running ww.dll.

If you see a friendly generic error message, this generally indicates an error in the web pages – though not always. To isolate this issue, go to the web server, point your browser to http://localhost/e-commerce and recreate the steps that result in the error message. This allows you to see a more informative error message (the friendly generic message is the one presented to the outside world – the localhost message really tells you what is going on). Remember that E-Commerce Sales Host is really just the Classic Sales application in disguise. The E-Commerce Sales Host interface allows access to the Tools menu and the diagnostic mechanisms therein. Remember that you must hit the Pause button on the interface to have access to the Tools menu.

If e-mail confirmations are not going out on E-Commerce sales as expected, one way to troubleshoot is to set up Outlook Express on your web server and use the e-mail settings found in the site config file to configure Outlook Express. If e-mail can’t be sent from Outlook Express using those settings, e-mail confirmations won’t be able to be sent either from the Salesware E-Commerce software (this isolates the problems to hardware/network/security configuration vs. the web pages or E-Commerce applications). If you are having problems getting the appropriate item to be sold for pass renewals, investigate the DCI2DCI.xml file to troubleshoot. This file resides in the XMLFiles directory, which is located with the default web pages. It is used to provide an item translation of sorts. Example: If a customer bought an item called ’12 -’13 Pass last year and wants to renew it, you most likely want to sell the guest the ’13 -’14 Pass item this year. The DCI2DCI.xml file provides this translation information and must be manually edited using a text editor. Browse this file to look for problems when troubleshooting pass renewals issues involving incorrect items.

141

Page 144: Salesware E-Commerce User Guide - accesso Technology Group

If you are having a problem getting a specific credit card to process via Sales Host, you can change the interface type in the Sales32c.INI file from web to classic and try processing via Classic mode to troubleshoot. In general, if it won’t work in classic mode, it won’t work in web mode.

Note: There is no need to toggle the license back and forth between classic and web to use these two different modes; a web license includes the Classic license by default.

Windows Application Event Log

The E-Commerce pages can log-into the Windows Application Event Log. The value for VerbosityLevel determines the amount of logging that is done. See Application settings for complete information about the VerbosityLevel setting.

In order to get logging to occur, perform the following on the computer where the web pages are installed and running:

1. Run Regedt32.exe (important: this is different from Regedit.exe), which is located in C:\WINDOWS\system32. This launches the Registry Editor.

2. Navigate to HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > Eventlog.

3. Right-click on the EventLog key and select Permissions. 4. Click the Add button, enter aspnet into the Enter the object names to select text box area of the Select

Users or Groups dialog and click the Check Names button. 5. If the Name Not Found window appears, click the Locations button and select the computer name where

the pages are installed from that dialog. 6. When you return to the Select Users or Groups dialog, click OK and you are returned to the Permissions

for Eventlog dialog where you see the ASP.NET Machine Account added to the group or usernames list.

7. Select the Full Control check box for the ASP.NET Machine Account and click OK. 8. You need to reboot the computer in order for the changes to take effect.

142

Page 145: Salesware E-Commerce User Guide - accesso Technology Group

Appendix A: Detailed description of Sales Host operation

This appendix provides operational details of Sales Host and ww.dll.

Status codes ww_sales statuses (local only)

Code in local ww_sales table Description 0 Needs to be processed 1 Done locally, but need to send to the server 2 Done locally and sent up to the server 4 Error encountered locally, but need to notify the server 5 Error encountered locally, the server has been notified − or

could mean an error occurred in forwarding the record 8 Retired, need to notify the server 9 Retired, server has been notified - The server notification

needs to happen so that one can just look at the server ww_sales to see what’s been happening all over the site

ww_sales statuses (server only)

Code in server ww_sales table Description 0 Needs to be picked up by a salespoint 1 Assigned to another salespoint for processing 2 Completed 3 Retired (old style) – See Retired status on server in Recent

changes 5 Error 9 Retired (new style) – See Retired status on server in Recent

changes

143

Page 146: Salesware E-Commerce User Guide - accesso Technology Group

ww_email statuses (local only - ww_email isn't even on the server)

Code in ww_email table Description 0 Unprocessed 2 E-mail has been sent 5 Error - either “ww_tix records did not exist on server so e-

mail could not be sent” or some other unknown error

ww_tix statuses (standard forward file)

Code in ww_tix table Description 0 Unprocessed 2 Forwarded to server

Elements of an online sale Sale generation through ww.dll

The ww_sales table on the server is the first repository of the sale information processed by ww.dll. The web pages finalize a sale through ww.dll (using the processsale call, as described in the Salesware ww.dll API Description document) and ww.dll, in turn, puts a record into the ww_sales table. At this point, the fields are filled in as shown in the following table:

Field in ww_sales table Description

wwsale_id Unique identifier of the record in ww_sales

sale_no Empty sale_text XML describing the sale in the format that Sales Host needs to

process it salespoint Empty fwd_status 0 fwd_time NULL

144

Page 147: Salesware E-Commerce User Guide - accesso Technology Group

Field in ww_sales table Description

date_time datetime of when the call was processed by ww.dll

result Empty

The three empty fields (sale_no, salespoint and result) are filled in by the Sales Host that “picks up” the ww_sales record to process. Note that the design supports processing by multiple Sales Hosts at one time.

Sales Host processing General

Sales Host is Sales32c running in a special mode (web mode) in order to take the sale “descriptions” from ww_sales and make them into actual sales in the system (and activate any credit card transactions associated with them, generate PDF files, send e-mail and so on).

Startup check

At startup, Sales Host makes a call to the server for all ww_sales records matching its SalesPoint ID and with a fwd_status of 1. Any ww_sales record on the server, so marked, exists locally at the salespoint. If a ww_sales record is found on the server which it doesn't have locally, the record is written into the local ww_sales table. The fwd_status is marked locally as follows:

fwd_status code in ww_sales table Description

0 If the result field is empty (it is unprocessed)

4 If there is no sale_no filled in (the result field presumably has the error)

1 If there is a sale_no filled in

To prevent the ww_tix table from growing to an unmanageable size, any records with a fwd_status of “2” or “3” is pruned on startup of Sales Host when older than a set number of days (default thirty days). The default number of days may be changed with the .INI setting:

[Preferences] PruneDaysTickets=number of days

145

Page 148: Salesware E-Commerce User Guide - accesso Technology Group

Example: PruneDaysTickets = 15

This illustrates how to prune records from ww_tix older than fifteen days.

Main processing

After startup, Sales Host periodically checks to see if it has local sales to process (records in ww_sales with a fwd_status of 0). If it doesn't find any, it goes to the server and grabs the next one available (if any). At this point, the server ww_sales record is marked with a fwd_status of 1 and the Salespoint field is filled in. Locally, Sales Host writes the ww_sales record with a fwd_status of 0 and fills in the salespoint name.

The ww_sales records are then processed, one by one, in order to make them into “real” sales in the system. If the sale is completed, a sale_no is filled into the ww_sales record. If the printing routine finishes and all expected PDFs are generated, appropriate ww_email records are generated. If the sale is completed successfully, the sale is marked with a fwd_status of 1. If some sort of error is encountered, the fwd_status is marked with a 4 and the Result field is populated with the error.

Thus, there are three cases for a sale:

1. Complete success; sale is marked with a 1. 2. Partial success; a sale_no was generated, but there was an error in generation of PDF files, marked with a

4. 3. Failure; no sale_no generated, marked with a 4.

Statuses 1 and 4 are rarely seen in the local tables because they are rapidly converted to 2 and 5, respectively, when Sales Host forwards the information to the server.

Reprocessing and reprinting If a sale has been marked to be reprocessed, it is handled in the manner described above unless it already has a sale_no. In this case, it is reprinted.

Reprinting consists of finding the corresponding records in the printing table, marking them to be printed again, deleting any corresponding PDF files, and then re-running the printing routines. Assuming the printing is successful, ww_email records are generated (if appropriate).

ww_tix processing

The ww_tix table is used when the sale text contains information in a <ww_tix> tag. This table is used to take PDF images generated in the printing process of completing the sale and send them to the server. The table is initially populated as follows:

146

Page 149: Salesware E-Commerce User Guide - accesso Technology Group

ww_tix table field Initial value wwtix_id Unique id for ww_tix record

sale_no Sale number of the sale that has been completed num_img Number of the image being added for this sale tix_img The binary data of the PDF file expires Empty (unused) notes Empty retrieved Empty (if the image was retrieved) ret_date Empty (gets the date/time when the PDF is retrieved) ret_ip Empty (gets the IP address where the PDF was retrieved from) date_time Date/time record added salespoint Salespoint ID operator web operator fwd_time Empty fwd_status 0

fwd_tries Empty fwd_orig Empty

These records are forwarded to the server in the same manner as all other forward files used in Sales.

ww_email processing

The ww_email table is used to generate any e-mail that needs to get sent. If the sales string processed contains an <email> tag, that information is transferred to the ww_email table when the sale is processed, assuming no errors are encountered. If an error is encountered, ww_email is populated if an <email_ex> tag is found (exception e-mail). The table is populated as follows at this point:

wwsale_id Sale id of the ww_sales record

sale_no Sale number of the sale that has been completed email XML information on the e-mail(s) to be sent result Empty (is filled in after the record is forwarded) date_time Date/time that the record is added fwd_status 0

147

Page 150: Salesware E-Commerce User Guide - accesso Technology Group

fwd_time Empty

ww_email records are “forwarded” after the sale is completed. This consists of any records in the ww_email table with a fwd_status less than 2 being made into e-mail. A check is performed on the ww_tix table to ensure that any records associated with the sale have been forwarded. If they have not, an error is generated, “WW_TIX records did not exist on server so email could not be sent.” E-mail can be configured to attach the PDFs to the e-mail itself (using the <pt_em> and/or <pf_em> tags in the e-mail). If they can’t be attached, an error is generated, “Unable to attach proper number of pdf(s).” If they are sent successfully, the record is marked with a fwd_status of 2; otherwise 5, and the Result field is populated with the problem.

Error handling General

Records in either the ww_sales or ww_email table that are marked with a fwd_status of 5 (error) can be viewed using the Local Errors button on the Sales Host dialog. The records from ww_sales are of errtype sale (if there is no sale_no) or printing if there is a sale_no and those from ww_email are of errtype email. All the email errors have sale numbers.

The Resubmit button re-marks the ww_sales or ww_email record with a fwd_status of 0. The Retire button marks them with a fwd_status of 8. Resubmission reprocesses the record entirely. Retirement simply means that the record disappears from the list of errors.

Sales Host recognizes when an append fails and provides error messages

Sales and Sales Host recognize when an append fails to local data and give error messages indicating there is a data problem. Sales can give the following messages until Sales is restarted:

• “An indexing error has been discovered. Sales must be restarted and all files is reindexed.” • “A record could not be written to transact [table that couldn’t be written to]. Sales Data must be rebuilt.”

Sales Host gives the following error and a shutdown/restart is forced: “An error occurred while writing some of the records for this sale. Sales Data must be repaired. This may be fixed by restarting Sales or local Sales data may need to be rebuilt”.

A writeerror.txt file, containing the data that was not appended, is generated in the Sales directory. Furthermore, Sales recognizes when there is an indexing error and re-indexes upon the next startup. In Sales Host, a shutdown is forced to facilitate this process.

148

Page 151: Salesware E-Commerce User Guide - accesso Technology Group

Error scenarios Sale could not be completed - setup error This could be because an item was not available for sale at the date/time sent or some other issue in system setup that can be corrected with SysManager. After altering the settings with SysManager, the records can be marked for resubmission and can be successfully processed at that point. Sale could not be completed - setup error It’s possible that some problem has caused the sale string itself to require changing. There is an Edit button for doing this, but requires expertise in how the system operates to do correctly so that the resubmission goes through properly.

Sale could not be completed - charging error In this case, the credit card transaction could not be activated. This is often an error with the setup of the credit cards. Sometimes the card is flagged by the processor. If no transactions are going through, the error is probably with the setup either for ww.dll or for Sales Host. Once corrected, the sales need to be reprocessed. If it’s a subset of cards not going through, they need to be individually researched through the credit card company and either reprocessed or the transactions need to be forfeited.

Sale could not be completed – printing error In general, this just means that the PDF files couldn’t be found to put into the ww_tix table. If this is a setup error (the items are not set up to generate PDFs or Sales Host was not configured with a printer for the tickets) then, no printing records have been generated and there is no recourse currently. However, this is very rare. The more common situation is that some error was encountered in PrintEZ application or just that printing was slower than anticipated. The reprint option (resubmit on records of error type printing) is available to deal with these situations. Email could not be sent - pdf generation problem This can be either when the message, “Unable to write proper number of pdf(s) to ww_tix” or “Unable to attach proper number of pdf(s),” error is obtained.

149

Page 152: Salesware E-Commerce User Guide - accesso Technology Group

Closeouts

Configure Sales Host to perform and submit an automatic closeout at a specified time each day

You can activate this functionality by using the following setting: [Preferences] AutoCloseOutTime=18:30 The time can be entered into this setting either using twenty-four hour clock time, e.g., 14:45 or by using twelve hour times with AM or PM, e.g., 2:45 PM. If Sales Host is busy processing one or more sales when it is time to submit the closeout, it waits until it has completed processing of the current sale, submit the closeout, and then resume processing sales.

Appendix B: accesso 4.4 E-Commerce General Testing Protocol

Testing the pages If you’ve customized your pages, verify that each of the pages works by running through various scenarios for the functionality you’ll be using including each of the following as appropriate:

• An online sale • A guest lookup and edit • Password resetting • A pass renewal • An In-House Cards card lookup, reload and use as form of payment • A liability form acceptance • A Print At Home Tickets sale and online retrieval • A group log-in and sale.

Verify that the wording and formatting of the pages is correct.

Online item testing

1. Verify that the correct item tree/items are available for sale through the pages. 2. Verify that Max4Sale is working if you are using that functionality. 3. Test each of the products that are configured for online sales and verify that each of them works as expected

by running through sales of each item.

150

Page 153: Salesware E-Commerce User Guide - accesso Technology Group

Online guest lookups

1. Verify that guest lookup and guest verification is working properly. 2. Verify that the fields you want guests to see and edit are displayed on the GuestSelected.aspx and

GuestEdit.aspx pages.

E-mail confirmations

1. Verify that the appropriate confirmation e-mail is getting sent at the completion of a sale. 2. Verify that the wording and formatting of the confirmation e-mail is correct. 3. Be sure to test e-mail confirmations with an e-mail address that is external to your network so as to best

simulate an online guest purchase.

Miscellaneous

1. Verify that all site config file settings are working as expected. 2. Verify that the online sale charges are getting processed correctly through ProtoBase. 3. Verify that the Sales Host is processing online sales without error. 4. Verify that the pages run under HTTPS with your SSL certificate.

Appendix C: How to redirect E-Commerce shopping cart visitors/guests when the site is down for maintenance accesso often gives clients the following warning when performing an E-Commerce update:

Warning: It is best to perform the web pages update when traffic is minimal to nonexistent at your web site, if at all possible. You may find it helpful to redirect visitors/guests to a page informing them that the site is down for maintenance during this time.

This document provides instructions for creating a web page that informs your online shoppers that the site is down for maintenance and how to redirect them to this page.

Note: that these instructions for redirecting shoppers to the “maintenance” page only apply to links that take the shopper to the default shopping cart page (e.g., https://www.myresort.com/E-Commerce/). If you use links that redirect shoppers to specific item or item tree nodes (e.g., https://www.myresort.com/ECommerce/itemList.aspx?node_id=39975), please see the end of this document for further instructions on redirecting visitors/guests from those links to the maintenance page.

151

Page 154: Salesware E-Commerce User Guide - accesso Technology Group

Create an html page that says the site is down for maintenance and save it to the same folder where the E-Commerce pages are running (typically C:\Inetpub\wwwroot\E-Commerce) with the name app_offline.htm. The following is a sample HTML page that you can use and modify for your web site.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>System down for maintenance</title> <link href="Siriusware.css" type="text/css" rel="stylesheet"> </head> <body> <div id="container"> <img src="images/SWStar_ecommerce_780x48.gif" alt="Siriusware E-Commerce" width="780" height="48" border="0"> <p class="body">Siriusware's E-Commerce Shopping Cart is currently offline for maintenance. Please check back soon as we hope to have the site back up shortly. Sorry for the inconvenience.</p> <img src="images/SW_logo_spsolns_160x80.jpg" alt="Siriusware Salespoint Solutions" width="160" height="80" border="0"> </div> </body> </html> When you are finished with the site maintenance and you want your regular E-Commerce shopping cart back up and running you just need to rename the app_offline.htm to something else, like app_offline.htm.old.

How to redirect E-Commerce shoppers that use specific item or item tree node links

If you use links that redirect shoppers to specific item or item tree nodes (e.g., https://www.myresort.com/E-Commerce/itemList.aspx?node_id=39975), you need to update each link.

Appendix D: Speeding up your web site The following information was provided by several accesso technicians to answer the common question, "How do I make my accesso Siriusware web site go faster?" If your web site is slow, with the E-Commerce pages taking a long time to update, or if items added to the cart take a long time to show up, adding a Sales Host will not help.

The E-Commerce module is now most often used in a web garden configuration. Under this configuration, the E-Commerce pages are installed so that by default they share a single IIS worker process. Normally one worker

152

Page 155: Salesware E-Commerce User Guide - accesso Technology Group

process is enough, but with huge volume (huge traffic to the web site) the single process can't handle the traffic and RAM use grows until the E-Commerce module grinds to a halt. You cannot increase the number of worker processes in this configuration because the E-Commerce pages cannot be used directly with more than one worker process.

Often times, slow web performance results in timeouts and visitors/guests get errors from the pages. You can increase the session time in the web.config file by increasing the session timeout value (in minutes):

<sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20"/>

More RAM on the server helps, but configuration can too. An approach that accesso recommends, is to move ww.dll to another machine running the web service (wwService). Then increase the web service helper processes to 3 - 5 processes. If your hardware can handle it, putting all E-Commerce components on the same server is guaranteed to give the best performance. If you have a powerful web server, the highest performance will be achieved by putting everything on the same server because the LAN communication between the E-Commerce pages and ww.dll could slow down the response time by at least an order of magnitude. An example of a very powerful web server is:

• 64-bit OS (this is non-negotiable) • At least 8 cores available • At least 16 GB RAM

In exceptionally high traffic environments, when you have very powerful hardware, the best performance may be obtained by installing ww.dll, the E-Commerce pages and wwService on one machine (using 127.0.0.1 instead of the “real” IP address). This allows you to configure 3 - 5 worker processes for wwService without having to put wwService on a separate computer. The E-Commerce pages then access ww.dll via wwService in the same way they would in the multiple computer architecture. You can also break up your Item Tree into multiple Item Trees and host multiple web sites using separate URLs. These web sites can be on separate computers and you can use a single "landing page" (URL) with links that visitors/guests can click depending on what products they are purchasing (they are re-directed to different web servers depending on what they are purchasing).

Note: A common problem that accesso Siriusware Client Services finds that slow down E-Commerce sites, is when clients have the NoCalAvail site config setting set to 0. When 0, Max4Sale availability is checked for every day, resulting in many calls to the database. Set this to 1 to stop the display of Max4Sale information in the calendar, and speed up the web site.

153

Page 156: Salesware E-Commerce User Guide - accesso Technology Group

Note: When setting up the connection string for ww.dll, use the actual IP address of the database server instead of the name. accesso Siriusware Client Services has seen slowdowns due to DNS lookups being made unnecessarily, slowing ww.dll database access time.

154