Salesware E-Commerce User
Guide
Version 4.1.01
Siriusware, Inc. 302 Camino de la Placita Taos, NM 87571 575.751.0633 www.siriusware.com/docs www.siriusware.com/training google.siriusware.comCopyright
Copyright 2011 Siriusware®, Incorporated. All rights reserved.
NOTICE: All information contained herein is the property of Siriusware, Incorporated. 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 Siriusware, Incorporated. 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 Siriusware, Incorporated. Siriusware, Incorporated 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.
E-Commerce User Guide
SALESWARE E-COMMERCE USER GUIDE ... 1
COPYRIGHT ... 2
E-COMMERCE USER GUIDE ... 3
OVERVIEW OF E-COMMERCE MODULE ... 9
E-Commerce documentation set ... 9
Product evolution ... 9
Common uses ... 10
How E-Commerce module fits with Classic Salesware ... 10
Typical real-world configurations ... 12
Web pages hosted externally ... 12
Web pages hosted internally ... 13
A closer look at the components of E-Commerce module ... 13
Web server ... 14
ww.dll ... 14
ww_sales ... 14
Sales Host ... 14
ProtoBase and the Charge Cards module ... 15
Web pages... 16
eCommerce_Pages_xxxx.exe vs. custom-developed web pages ... 17
eCommerce_Config_xxxx.exe ... 18
wwService ... 18
SiriusSQL database (on the database server) ... 18
SMTP ... 19
E-Commerce page flow ... 19
CONFIGURATION AND USE OF E-COMMERCE MODULE ... 21
E-Commerce module licensing ... 21
Basic item setup and configuration ... 22
Basic item-related settings ... 23
Support for Points4Sale capability ... 24
Working with the display of numeric “remaining” values for items that use Max4Sale or Points4Sale capability ... 25
Controlling how taxed item prices are displayed ... 26
Example: ...26
Example: ...27
Example: ...28
Example: ...28
Using the image column on the ItemList.aspx page ... 28
Support for second level modifiers ... 29
Configuring reverse modifiers ... 30
Example: ...30
Setting up the ability to select multiple items/quantities to add to the cart from the ItemShow.aspx page ... 31
Example: ...31
Settings used to customize navigation on the ItemList, ItemShow and CartShow pages ... 31
Dynamic Pricing capability ... 31
Example: ...32
Enhanced support for displaying informational text for items on the ItemShow.aspx page ... 32
Example: ...32
Handling visitors/guests ... 32
Guest-related settings in detail ... 32
Examples: ...33
Example: ...35
Configuring guest verification using web passwords ... 37
Configuring guest lookups using username/password ... 38
Change in pages flow for how guests are added to items and support for guests on first level modifiers ... 39
Configuring fields in the guest record for the purchase in an E-Commerce sale ... 40
Example: ...41
Locking out guests after too many failed log-in attempts ... 41
Minutes to keep guest log-in locked setting ... 42
Uploading guest photos ... 42
Setting up E-Commerce e-mail ... 43
General settings for e-mail sent from the pages ... 43
Configure central management of the regular expression used for email address validation ... 44
General settings for e-mail sent from Sales Host ... 44
Generating a second e-mail confirmation from the Sales Host ... 45
SMTP settings ... 45
E-mail formats ... 46
Setting up Sales Host to send an e-mail in the event that Sales Host encounters a problem when processing the sale ... 46
Setting up the E-Commerce pages to send an e-mail in the event that ProtoBase goes offline ... 47
Editing e-mail templates ... 47
Editing confirmation e-mail templates ... 48
Editing the second e-mail confirmation template ... 49
Editing password reset e-mail templates ... 50
Memberships and Passes ... 50
Setup steps for selling and renewing memberships and passes ... 51
Online pass sales ...51
To implement online pass sales: ...51
Online pass renewals ...51
Requiring verification of the guest renewing his pass ...52
Example: ...52
Four options for online pass renewals: ...52
Allow guests to view information about their current passes/memberships ... 64
Fulfillment of passes and memberships purchased/renewed with E-Commerce module ... 65
Member-only products, member discounts and free item modifiers for members ... 70
Setting the member log-in and verification fields for the member log-in process ...70
Configuration for member-only products ...72
Configuration for member discounts ...73
E-Commerce pass package functionality ... 80
SysManager configuration ... 80
Results ... 84
Group sales ... 87
Groups, clubs and accounts settings in detail ... 87
Settings used to configure groups ...87
Pass renewals using groups and accounts functionality ...88
Group (account) functionality setup ... 88
Results ... 89
Club Management ... 93
Club Management in detail ...93
Club Management installation ...94
Club Management SysManager configuration ...97
Club Management web.config file configuration ...99
Club Management group member log-in ...100
Group leader log-in ...103
Posting messages from the group administrator ...106
Installing the Club Management Report pages ...108
On the Window Server 2003 that is currently hosting the E-Commerce pages: ...108
On the SiriusSQL server: ...109
In web.config for the E-Commerce pages: ...109
Allow Group Leaders to create their own Club Management Groups (accounts) online ... 109
In-House Cards ... 111
Basic In-House Cards configuration ... 111
Sales and fulfillment of In-House Cards ... 115
View In-House Cards information online ... 122
Example: ...122
Reload In-House Cards online ... 123
Use In-House Cards as form of payment online ... 124
Example: ...125
Print At Home Tickets application ... 125
Optimizing Print At Home Tickets layouts ... 126
Replacing Print At Home Tickets items ... 126
To replace Print At Home Tickets item:...126
Example: ...129
To replace Print At Home Tickets items (alternative method): ...130
Providing guests with the ability to log-into their guest records online to view their Print At Home Tickets items sales history and download their tickets ... 131
Rentals ... 132
Product configuration ... 132
Example: ...132
Fulfillment process ... 133
Web page configuration ... 133
Sales Host settings ... 134
Web Rules ... 134
Example: ...134
Example: ...135
Example: ...135
Web Rules configuration and online results ... 136
Cart Rules ... 140
Fields in the cartrule table in the SiriusSQL database ... 141
Example: ...141 Example: ...142 Example: ...142 Example: ...142 Example: ...142 Example: ...143 Example: ...143
Cart Rules configuration, process, and results ... 143
Example 1 – Add a shipping fee when there are three or more “MUGS” items from the RETAIL department, SOUVENIRS category in the cart ...144
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 ...145
Example 3 – Require that one or more of a product is present in the cart before allowing checkout. ...146
Recently added Cart Rules functionality ... 148
Example: ...148
E-Commerce security ... 149
Passwords for guests and the Sales Host operator ... 149
Secure web service ... 149
To set and configure the passphrase for the web service: ...149
Loading some pages using HTTP and others using HTTPS ... 151
Securing your site with SSL ... 151
Use of regular expressions throughout ... 153
Use of authentication and encryption ... 153
Other setup scenarios ... 153
Liability release configuration ... 153
Example: ...154
Example: ...154
Alternative method of implementing liability forms ...155
Configure the linking of the state and country dropdowns on the GuestEdit.aspx ... 155
Example: ...156
Settings for using Reservation Headers and reservation tracking ... 157
Filtering payment types ... 158
Example: ...158
Settings for using the “Moneris-style” receipt page ... 158
Using multiple pages to display and handle the E-Commerce checkout process ... 159
Implementing specials ... 160
Configure the WTP reload process for Axess gates... 161
Selling donation items ... 162
Dealing with international characters in detail ... 163
Settings for using the web service in detail... 164
Using Sales screen action macros ... 165
Example: ...166
ww.dll and seasons and dates pricing ... 166
Miscellaneous web.config settings ... 167
Example: ...168
TROUBLESHOOTING E-COMMERCE ... 168
ww.reg ... 168
Re-starting the ww.dll application pool ... 169
To re-start the ww.dll application pool from Windows Server 2003: ...169
Example: ...169
Re-creating the problem and capturing a ww.dll log file ... 169
Example: ...171
Example: ...172
Logging into the Windows Application Event Log ... 172
If the connection string isn't getting encrypted in the registry… ... 172
To cause the ConnectionString to be encrypted: ...173
APPENDIX A: DETAILED DESCRIPTION OF SALES HOST OPERATION ... 173
Status codes ... 173
ww_sales statuses (local only) ...173
ww_sales statuses (server only) ...173
ww_email statuses (local only - ww_email isn't even on the server) ...174
ww_tix statuses (standard forward file) ...174
Elements of an online sale ... 174
Sale generation through ww.dll ... 174
Sales Host processing ... 175
General ... 175
Startup check ... 175
Example: ...176
Main processing ... 176
Reprocessing and reprinting ... 176
ww_tix processing ... 176
ww_email processing ... 177
Error handling ... 178
General ... 178
Sales Host recognizes when an append fails and provides error messages... 178
Error scenarios ... 179
Sale could not be completed - setup error ...179
Sale could not be completed - setup error ...179
Sale could not be completed - charging error ...179
Sale could not be completed – printing error ...179
Email could not be sent - pdf generation problem...179
Closeouts ... 179
Configure Sales Host to perform and submit an automatic closeout at a specified time each day ... 179
APPENDIX B: E-COMMERCE PRE-IMPLEMENTATION CHECKLIST ... 180
Client contact information ... 180
Products to be sold online ... 180
ww.dll ... 181
Other: ... 181
Web pages ... 181
If hosted internally and run on a different server than ww.dll: ... 182
If hosted externally: ... 182
Custom web pages: ... 182
Network/firewall ... 183
Sales Host ... 183
SMTP server ... 183
SSL certificate ... 184
ProtoBase ... 184
Notes, requests, other issues... 184
APPENDIX C: SIRIUSWARE 4.1 E-COMMERCE GENERAL TESTING PROTOCOL ... 184
Testing the pages ... 184
Online item testing ... 185
Online guest lookups ... 185
E-mail confirmations ... 185
Miscellaneous ... 185
APPENDIX D: HOW TO REDIRECT E-COMMERCE SHOPPING CART VISITORS/GUESTS WHEN THE SITE IS DOWN FOR MAINTENANCE ... 186
Overview of E-Commerce module
E-Commerce module extends Salesware to the Internet without having to create, manage and maintain a separate Internet infrastructure. E-Commerce module allows visitors/guests to not only manage their visitor/guest records, but also to buy online and pick up their purchases at any salespoint or even have tickets e-mailed to them. E-Commerce module allows you to customize your own unique web site while retaining full compatibility with your traditional Salesware salespoints. E-Commerce module includes built-in scalability that allows for fast online sales no matter how big your E-Commerce installation grows. E-Commerce module works perfectly for online season pass/membership sales and renewals as well as the handling of a variety of other item sales including advance tickets. You also have the ability to configure clubs and enable the club leader to manage club activity.
E-Commerce documentation set
The Salesware E-Commerce product is documented in the following three documents (available from http://www.siriusware.com/docs):
• Salesware E-Commerce User Guide – This document. The user guide provides a description of the product
and how to configure and use it.
• Salesware E-Commerce Installation Guide – The installation guide describes how to install E-Commerce
and is not needed after a successful E-Commerce installation is achieved. The installation guide includes detailed steps for installing and configuring Print At Home Tickets application.
• Salesware E-Commerce Reference – The reference provides factual technical information that is required to
successfully use E-Commerce. This information includes web.config settings and a description of the files that are provided by Siriusware® Inc. with the E-Commerce product.
In addition, E-Commerce training is available from http://www.siriusware.com/training.
Product evolution
The latest improvements to E-Commerce include:
• Compliance with PABP (industry-standard credit card security compliance)
• Support for the .NET Framework 3.5
• An architecture that minimizes delays (ww.dll allows sales to be queued rather than having to wait as E-Commerce Sales Host processes each sale)
• Parity with most of the capabilities available from a standard (Classic) Salesware salespoint
• Ability to run multiple instances of Sales Host, allowing you to scale your solution across multiple computers to achieve the desired performance
• Club Management capability
• Page elements (colors, fonts, graphics) that can be modified in a standard way using a cascading style sheet (CSS)
• Ability to limit which passes can be renewed; can also limit renewal of expired passes by time period (to only those passes which expired a set number of years prior to current date)
• Ability to configure mandatory “waiting period” between sale date and start date of ticket
• Ability to configure date limit for how far into the future you can set a start date
• Improved date entry formats and an attractive, customizable calendar control for setting start dates
• Visitor/guest photo upload capability
Common uses
• Pass sales and renewals via the Internet
• Ticket sales via the Internet including Print At Home Tickets application
• Guest record management (creating and editing guests via the Internet)
• Group and account sales via the Internet
• Club management
• In-House Cards money loading
• Interface to the Retail module
• Interface to the Rentals module
How E-Commerce module fits with Classic Salesware
The following diagram shows how E-Commerce module is configured to work with Classic Salesware. (Classic Salesware is Siriusware’s flagship product, whereby resorts, parks and museums deploy Salesware within a physical resort to sell tickets, passes, gift cards, retail items, rental items and so on, to in-person visitors.)
The Salesware E-Commerce pages, shown running on the web server on the left side of the figure, constitute the core component of Salesware E-Commerce and are released twice a year with the latest features required by Siriusware Inc. E-Commerce clients. The Salesware E-Commerce pages are used to create the client web sites. However, a small number of clients choose to write their own E-Commerce pages. To do this, clients use in-house or hired programmers to write programs that interface with the Salesware ww.dll Application Programming Interface (API) in the same way that Siriusware Inc. E-Commerce programmers program using the ww.dll “layer” to produce the Salesware E-Commerce pages. This “layer” is also updated twice a year (ww.dll is released twice a year) to provide ever-increasing functionality (expanded and new APIs) used by both Siriusware Inc. Programmers and Siriusware Inc. clients who develop their own E-Commerce pages.
Note: It is important to distinguish between clients who write their own E-Commerce pages that interface with the ww.dll layer and clients who simply customize the standard Salesware E-Commerce pages that Siriusware Inc. releases twice a year (also referred to as the “default” pages). Nearly all clients perform some customizations to the “default” pages (add special graphics, customize wording, etc.), while a relatively small number of clients develop their own pages “from scratch” that make “calls” to the ww.dll API.
The Sales Host computer is simply another salespoint, just like a regular salespoint that you find at a ticketing counter, but it is used exclusively to process Salesware E-Commerce activity, so does not require a human operator. Sales Host performs its functions as a salespoint by rapidly “polling” the SiriusSQL database (polling speed is configurable with an .INI setting) to discover E-Commerce activity as this activity occurs. You can even have multiple Sales Hosts if you have a very busy web site. As soon as a web visitor/guest performs some action on the client web site (buys a ticket, reserves a rental item, etc.), Sales Host sees the action and responds appropriately (charges the guest credit card, e-mails the guest a confirmation, etc.). Sales Host operation is described in detail in Appendix A: Detailed description of Sales Host operation.
From a software “layering” point of view, Salesware E-Commerce module is implemented using the following software “stack.” There are clear software interfaces between each component in this stack.
Salesware E-Commerce web pages (or client-developed web pages)
ww.dll API (see the Salesware ww.dll API Reference for a complete description of this layer) SiriusSQL database
Middleware (SalesEZ, BookEZ, etc.) Sales Host “salespoint”
The modular nature of the Salesware E-Commerce and Classic components allows each component to be placed on a separate computer, or all components (except for the individual salespoints requiring separate physical operators) can be installed on the same computer. However, Siriusware Inc. does not recommend installing all components on the same computer, primarily for security reasons, but this configuration is possible.
The reason you can install more than one Salesware component on a computer is because of a feature of Windows operating systems called ports. Computer applications like ww.dll, SQL Server, SalesEZ and so on can
communicate with one another using ports. If two applications are on the same computer, they can communicate using two different ports on the same computer. If two applications are on different computers, they can
communicate using ports on different computers.
Typical real-world configurations
The web pages are hosted internally or externally to the resort/park/museum. Typical configurations are shown in this section. Details about these configurations are provided in the section A closer look at the components of E-Commerce.
Web pages hosted internally
A closer look at the components of E-Commerce module
The components of E-Commerce module that you must understand to successfully use E-Commerce are the following:
• web server
• ww.dll
• ww_sales (database table)
• Sales Host
• ProtoBase
• web pages either designed either by Siriusware Inc. programmers (eCommerce_Pages_xxxx.exe) or custom-developed by programmers who do not work directly for Siriusware Inc.
• eCommerce_Config_xxxx.exe
• eCommerce_Pages_xxxx.exe
• wwService
• SiriusSQL database (on the database server)
• SMTP
Web server
A web server “serves” web pages to the Internet. People on the Internet access these pages using a web browser. A web server can also be used to “serve” pages on a local area network (LAN) or intranet (which is how the
Salesware Self Entry product works). There is a variety of web server software, including Microsoft Internet Information Services (IIS) and Apache. Salesware E-Commerce module requires Microsoft IIS.
ww.dll
Web pages written by Siriusware Inc., a Siriusware client or a third party contain function calls to the ww.dll API. These calls are used by ww.dllto provide the interactive functionality for a web site. ww.dll reads data from and writes data to the SiriusSQL database. One or more instances of ww.dllrun continuously,
communicating directly with the SiriusSQL database. ww.dll converts the data entered through the web site and the data retrieved from SiriusSQL application into XML strings.
Note: ww.dll is “pool-able” and allows the queuing of sales, minimizing lag time at the web site. Though ww.dll can be run as a straight COM object, it is recommended to run ww.dll pooled in COM+. ww.dll is written in Visual C++. Communication between the ISP and ww.dll can be done using SOAP or HTTP/HTTPS Get/Post. These protocols support secure socket layering. The “pool-able” nature of ww.dll allows multiple processors and computers to be used to scale the solution for the desired performance.
ww_sales
The XML strings generated by ww.dll describe sales, guest information and other data. As described in Appendix A: Detailed description of Sales Host operation, XML strings describing sales are written to a table in the
SiriusSQL database named ww_sales. These strings are picked up from ww_sales by Sales Host. Sales Host then turns the XML strings into actual sales in the data.
ww.dll goes directly to SiriusSQL application for information and only at the completion of a sale does it send an XML string to the ww_sales table for processing. For more information on ww_sales strings, see the ww.dll
API Reference.
Sales Host
Sales Host picks up sales from ww_sales one by one, processes them and returns a valid sale number for each. Sales Host is connected to all middleware except TallyEZ (SalesEZ, RentEZ, BookEZ and PrintEZ) applications. ww.dll is not connected to any middleware. ww.dll must be running continuously to take incoming sales information and provide database information to the web pages. If Sales Host needs be taken offline for a software update or data troubleshooting, visitors/guests using the web site do not have to wait to use the web site – the sales generated through the web pages are processed when Sales Host is running again.
The E-Commerce Sales Host is basically the Salesware Sales application, running in web mode (a few changes are made to the Sales32c.INIfile to set it up for web mode). Multiple copies of Sales Host can run simultaneously (on separate computers) to consume the sales generated by ww.dll, keeping lag time to a minimum and to
complete the sales in the system, if needed. A separate salespoint-level computer is required for each Sales Host – this computer doesn’t have to be very fast but is where no one can interfere with its functioning. Some error processing is available (e.g., if a sale fails for some reason, you can view the reason for failure).
For detailed specifications for the Sales Host computer, see the Salesware System Architecture and Specifications document. If you are using Print At Home Tickets application, you need more memory than you would if you weren’t using it. This is because PDF generation is fast or slow depending on how much real memory you have. Sales Host checks every n seconds (configurable in the Sales32c.INI file) to see if any new sales have been generated by ww.dll. Pause and Continue buttons are provided to let you stop and resume the processing of sales. You can resubmit by pausing the application (using the Pause button), clicking the Local Errors button, and then selecting the sale from the Web Sales dialog, and clicking the Resubmit button. Then, when you click the Continue button the application resubmits the sale for processing.
It is not possible to print through Sales when it is in web mode, as is possible when in Classic mode, because errors in printing would cause a halt to the processing of sales generated by the web site.
For a detailed description of all the settings you can use in the Sales32c.INI file, see the Salesware .INI
Settings Reference.
ProtoBase and the Charge Cards module
When a sale is paid for at the web site with a credit card, the necessary information is specified by the visitor/guest. ww.dll takes the card number and tries to get a pre-approval before forwarding the sale to Sales Host. ProtoBase is the credit card processing system most frequently used with E-Commerce module. However, ProtoBase is just one of the credit card processing systems supported by the Salesware Charge Cards and E-Commerce modules. Once ww.dll gets pre-approval from ProtoBase for a credit card charge, it passes the approval number for the transaction with the information for the sale to Sales Host via the ww_sales table.
Note: In some countries, the entire credit card transaction is handled directly by the E-Commerce pages with no involvement by Sales Host. But normally Sales Host completes the transaction after receiving pre-approval from the pages.
A sale can be processed by ww.dll that to the Sales Host creates an error. In that case, when the sale information hits the Sales Host, an error occurs and is displayed on the Sales Host interface. An example of when this can happen is when adding a new item to the item tree. The item displays correctly and is sold successfully from the web pages. However, until the item tree is updated at the Sales Host, an error occurs when a sale with that new item in it is processed by Sales Host. Sales Host can be paused, local errors can be viewed, corrections can be made and a sale can be submitted for reprocessing. (The Sales Host dialog tells you how many errors occurred and the Local Errors button can be used to access the details about those errors.)
The following diagram shows how a credit card is processed in E-Commerce module. The diagram is followed by a description of the numbered steps shown in the diagram.
Sale information is collected and processed by ww.dll. In this example, the pages are hosted on one web server and ww.dll is hosted on another, but both can be on the same server, behind the firewall (open firewall port 443 instead of 80). When they are on separate servers, the information is encrypted via XML and passed through a firewall. The pages perform filtering and input validation to combat SQL injection attacks.
The server gets pre-authorization for the credit card. This is in plain text, but would be only on your LAN, which would typically be secure.
The server writes the details of the transaction to the SQL database. All sensitive information is encrypted. Sales Host fetches the details of the transaction. The encrypted settlement string is retrieved from the database and decrypted.
Sales Host gets authorization for the credit card and processes the sale. This is in plain text, but would be only on your LAN, which would typically be secure.
Web pages
Most Siriusware clients use the default web pages provided by Siriusware Inc. The default pages are written in ASP.NET/VB.NET and provide the front-end for ww.dll. The pages create and submit sales to ww.dll which in turn submits the sales to the SQL database for pickup/processing by Sales Host. The source code for these pages is compiled into .dlls and is not viewable or accessible to clients.
The current set of default web pages are documented in the Salesware E-Commerce Reference. The default pages currently cover the following functionality:
• Integrated with the rest of Salesware
• Sales are live (no need to sync or import in batches)
• Ticket sales (including items with modifiers and Dynamic Pricing capability)
• Print At Home Tickets sales
• Real-time inventory
• Pass sales/renewals
• Guest photo upload capability
• Reservation Headers and marketing information collection
• Guest record creation and editing with web passwords and customizable (user-defined) fields
• Charge to stored credit card
• Charge to accounts
• Group functionality (who can see/buy a different set of items from other visitors/guests, controlled by a log-in)
• Customizable e-mail confirmations in text or HTML format
• Selection of which pages are served using HTTPS and which are served using HTTP
• Password reset
• Account lockout controllable by a SysManager setting
• In-House Cards lookup, money loading and sale payment
• Interface to the Rentals module
• Interface to the Retail module
• Support for Max4Sale and Points4Sale capability
• Club Management capability
Customizing the default web pages includes changing graphics, colors, some text and the page layout. To do this, experience with HTML and a basic understanding of ASP.NET is required. You cannot add or significantly change the existing functionality in the pages because you do not have access to the code behind the pages. However, you are able to change the “look and feel” of the pages to match that of your existing web site.
In customizing the default pages you leave all of the ASP elements (these start with <asp:) in each of the pages. If you don't want to see one or more of them on a page, you set visible="false" in the control. You can move the ASP controls anywhere you like on the page as long as you leave them between the <form></form> tags. At the top of each of the pages there are one, two or three lines of code beginning with <%@ and ending with %>. These lines are left at the beginning of each page and their contents are not altered.
eCommerce_Pages_xxxx.exe vs. custom-developed web pages
The E-Commerce pages are released twice a year in a file named eCommerce_Pages_xxxx.exe. xxxx refers to the version number of the pages. The contents of this file are documented in the Salesware E-Commerce
Reference. In addition, along with each release of the pages, Siriusware Inc. produces a document that describes
how to updating your existing pages. You could install the new set of default pages but you would lose all of your custom changes. This document describes in detail how you update your custom pages with the changes required to implement the enhancements and bug fixes in the latest release of the pages.
You can also create your own pages from scratch. However, in order to create your own web pages, you need significant Internet application development experience. Often clients need to work directly with Siriusware Inc. developers on a contract basis. Although you can develop your application in any Internet development
environment, Siriusware’s chosen platform is ASP.NET and that is what Siriusware Inc. offers the most assistance with. Clearly, creating your own web application would be a significantly larger time and resource investment. You also need a detailed understanding of how ww.dll works. For a detailed description of how ww.dll works, see
the ww.dll API Reference.
eCommerce_Config_xxxx.exe
eCommerce_Config_xxxx.exe was created to contain a set of default settings files and templates. xxxx refers to the version of the configuration (config) files. Updated and new configuration files are released with each version of E-Commerce module. The contents of eCommerce_Config_xxxx.exe are documented in detail in the Salesware E-Commerce Reference. The contents of eCommerce_Config_xxxx.exe include:
• E-mail templates
• Liability text template: liabilityText.txt
• XML files
• DCI2DCI.xml
• dynamicControls.xml
• MiscTables.xml
• StrTrans0.xml
• Style sheet: siriusware.css
• Configuration file: web.config wwService
wwService is a web service pass-through wrapper for ww.dll. The service enables the pages of the web site to be on a different computer (different site, even) than ww.dll. Typically, this would be installed on a server at a local site along with ww.dll.
If the Internet is to be used as transport, then encryption is enabled (with matching pass phrases) on both wwService and the web site hosting the web pages. The encryption capability in communications between wwService and the web site eliminates the need for an SSL certificate on the wwService computer. For more information on how this is done, see Secure web service.
SiriusSQL database (on the database server)
The SiriusSQL database is the database format (tables, records and fields) designed by Siriusware Inc. for use with the Salesware product. The same SiriusSQL database is used for both “Classic” Salesware and E-Commerce modules. Each time Salesware is released, there are usually changes made to the SiriusSQL database. Siriusware Inc. provides an update script that clients run when updating to the latest version of Salesware and the SiriusSQL
database. When both Classic Salesware and E-Commerce modules are deployed, the same instance of SiriusSQL application is shared by both.
SMTP
The Simple Mail Transport Protocol (SMTP) specifies the protocol used between a computer and an SMTP mail server. SMTP (Simple Mail Transport Protocol) is used to send out the e-mail for the various online transactions. SMTP is often called the outgoing mail server and may or may not be the same as the incoming or POP server. E-Commerce module sends e-mail via an SMTP server that is located either internally or externally. There must be an e-mail connection with the SMTP mail server between both the computer running the pages and Sales Host,
because E-Commerce module sends e-mail from both components. E-mail sent from Sales Host generally is sent after the sale is finalized, whereas mail sent from the pages can occur in a number of different circumstances. For more information on SMTP, see SMTP settings.
E-Commerce page flow
The following diagram illustrates Salesware’s E-Commerce web pages page flow.
Note: There is also a multi-page checkout option – see Using multiple pages to display and handle the E-Commerce checkout process for details.
Note: The following diagram shows the “old style” method for implementing liability acceptance. The “new style” is shown at the end of this section.
Item List Confirmation (conf.aspx) Confirmation (conf2.aspx) Requires Guest Item Show Requires Liability Acceptance Liability Process Ends Decline Guest Lookup
New Guest (or Missing
Required Guest Info) Guest Edit
Cart Show Accept Guest Selected Requires Guest Existing Guest Save Edits Edit Guest Record
Reset Password
Need New Password Continue Without Edit
Login With New password Checkout Checkout Moneris-style Receipt Clear Cart and Start Over
E-Commerce web pages page flow begins with the ItemList.aspx page. From there it flows to the
ItemShow.aspx page. Depending on how the software is configured and what item was selected in order to move to the ItemShow.aspx page, the next page to display is one of the following: Liability.aspx,
CartShow.aspx or GuestLookup.aspx.
From the Liability.aspx page the flow goes to either CartShow.aspx or GuestLookup.aspx. The visitor/guest lookup process presents a number of alternative ways to proceed, again depending on how the software is configured. The possible directions for the flow to go are through GuestEdit.aspx or
GuestSelected.aspx. From the GuestSelected.aspx page, the flow can move to one of the following:
ResetPswd.aspx, GuestEdit.aspx or CartShow.aspx. From ResetPswd.aspx the flow moves back
to GuestSelected.aspx and the logical flow after that is to move to GuestEdit.aspx, and then
CartShow.aspx. In the guest lookup process, once someone gets to the GuestEdit.aspx page and he saves
his changes, he is taken to the GuestSelected.aspx page where he can continue on to the CartShow.aspx page.
Once someone gets to the CartShow.aspx page through the process described above, he has the option to clear the cart and start over (ItemList.aspx), continue shopping (ItemList.aspx) or proceed to checkout
(Checkout.aspx).
Other options exist from each of the pages via direct links located in the header portion of the page. One can do a guest lookup (GuestLookup.aspx), a pass renewal (RenewPass.aspx) or an In-House Cards card lookup (DWLookup.aspx). If a pass renewal is done, then, depending on the configuration, the flow goes either to
the GuestSelected.aspx page, the GuestEdit.aspx page or the CartShow.aspx page. One can also get to the ItemList.aspx page or the CartShow.aspx page from the direct links in the header.
After the Checkout.aspx page, either the conf.aspx or conf2.aspx page displays (this is another configuration choice).
Other pages which could come into play are: cvv.aspx, error.aspx and gettix.aspx. The cvv.aspx page is basically an image that can be displayed on the checkout page. The error.aspx page displays under certain error conditions. And the GetTix.aspx page is only involved when selling Print At Home Tickets items. Starting with version 4.0.56 of the E-Commerce pages, liability acceptance can be configured so that liability information is written into the guest data, as shown in the following diagram:
Configuration and use of E-Commerce module
E-Commerce module licensing
E-Commerce module is licensed using a standard Salesware license as described in the Salesware Modules,
Licensing and Maintenance document. The following points are specific to E-Commerce licenses:
• E-Commerce module requires a WebSales (W) mode license for the Sales Host. Sales Host is a standard salespoint that runs in E-Commerce (web) mode.
• There are five other modules that can be purchased for use with E-Commerce module: Charge Cards, Memberships/Passes, In-House Cards, Reservations and Rentals. If any of these modules is already in use at the client site, then there is no additional charge to use it.
• One guest (GST) license is included.
• If the client has purchased Print At Home Tickets application, one ACC (Access Control, a.k.a., Ticketing) license is added.
Note: that Print At Home Tickets module is sold separately from E-Commerce module.
The following screen capture shows how a fully configured E-Commerce module installation looks from SysManager > Preferences > Sales Point Licenses:
Basic item setup and configuration
E-Commerce module is installed using the procedures documented in the Salesware E-Commerce Installation
Guide. Full installation directions for the core product as well as Print At Home Tickets application are detailed in
that document.
After installing Commerce module, you need to assign an item tree from SysManager that is used for the E-Commerce item tree. You create the E-E-Commerce item tree in the same manner as you would for any other salespoint, and then you assign it to the pages via the TopNode key in web.config.
Note: While SysManager does allow you to create two or more item trees with the same name, you must not do this if you use E-Commerce module. The E-Commerce pages reference the item tree by name, not by ID number. Next you assign the item tree to the Sales Host in the same manner as you would assign an item tree to any other salespoint. This is done by creating the Sales Host salespoint from SysManager > Activities > System Lists > Salespoints and assigning the item tree to it using the Item Tree tab.
For more information on how to create a salespoint, see the Salesware User and Ticketing Guide for Beginning Users.
The next step is to configure all of your web.config settings as determined by the functionality required of your site. The web.config settings are documented in the Salesware E-Commerce Reference and tend to be used with specific functionality, such as guests, e-mail or Print At Home Tickets application. In addition, many of the
web.config settings are used for item configuration, as described in the next section. Basic item-related settings
Sample item-related settings look like the following in the web.config file (edit only the portion between the double-quotes that follow value=):
<add key="TopNode" value="Web"/> <add key="SPType" value="0"/>
<add key="UseItemTreeDescrip" value = "0"/> <add key="ModColLen" value="2"/>
<add key="ShowOptionalMods" value="1"/>
<add key="PriceFormat" value=" $ ###, ##0.00 "/> <add key="LeadTime" value="3"/>
<add key="LeadMax" value="180"/> <add key="Max4Sale" value="1"/> <add key="EnableRTI" value="1"/> <add key="RTIHoldTime" value="10"/>
The value for the TopNode key is simply the name of the item tree group that contains the item tree you want to sell on your web site. If you leave the value blank the entire item tree is displayed. If the value entered doesn’t exist in the item tree an error is returned.
The SPType key can be used to further filter the items displayed in the item tree on your web site. The values for this key correspond with the defined Salespoint Types set up in SysManager > Preferences > Salespoint Types. A value of 0 turns this feature off and no particular salespoint type is used. When turned on, the item tree is filtered, showing only items configured with the corresponding Salespoint Type checked.
Note: This key also filters payment types as described below under Other setup scenarios.
To display item descriptions on the pages following ItemList.aspx using the ItemTree table description rather than the Items table description, set the value for the UseItemTreeDescrip key to 1. Set this key to 0 to use descriptions for items from the Items table throughout the pages.
The value set for the ModColLen key determines the maximum number of modifiers that display in a column on the ItemShow.aspx page for items with modifiers. When the number of item modifiers exceeds this value, a
new column is created to contain the additional modifiers. This repeats until all modifiers are listed on the page. Set to 0 to disable and have a single column of item modifiers.
Item modifiers can be configured in SysManager as either Optional, Prompt or Prompt/Required. The
ItemShow.aspx page always displays Prompt and Prompt/Required modifiers when an item configured with
these modifiers is selected. The display of Optional modifiers is controlled by the ShowOptionalMods key. If this is set to a value of 1, the Optional modifiers are displayed when the item is selected. Set it to 0 to not display Optional modifiers.
The formatting of prices on the pages is configurable using the key PriceFormat. To display prices with a different currency symbol and different formatting change the value for this key as appropriate.
The LeadTime key is used to set the earliest start date that a ticket bought through your web site can be purchased. Visitors/guests are not able to set a start date for a ticket before the lead time has passed. If the
LeadTime value is set to 0 and today is the 10th of the month, the soonest a visitor/guest to the site would be able to buy tickets for is the 10th. If you change the LeadTime value to 1 the soonest date would be the 11th. Change the value to 2 and the soonest date would be the 12th and so on.
To set the latest start date that a ticket bought through your web site can be purchased, use the LeadMax key. This works in the same manner as the LeadTime key, except it affects how far into the future a ticket can be purchased. For items configured to enforce Max4Sale capability, limits can be viewed in both the ItemList.aspx and ItemShow.aspx pages. This can be enabled or disabled via the Max4Sale key. Anything other than 1 disables getting Max4Sale information and hides the Remaining column in the ItemList table. If you do not need to display Max4Sale numbers online, set this key to 0 to disable it for better performance.
Real Time Inventory can be enabled using the EnableRTI key and setting the value to 1. In order to use Real Time Inventory functionality with the pages, Max4Sale capability must also be enabled as described above. Having Real Time Inventory enabled in the pages makes an “item reservation” for any item under Real Time Inventory Tracking (as configured in SysManager) when it is added to the cart.
The duration in minutes of the item reservation is determined by the RTIHoldTime key whose value can be set to any integer. A value of 5 would set the item reservation to five minutes, which is also the default time if this key is not present. Item reservations are released if the line item is deleted from the cart, the user selects the Clear Cart and Start Over link or the RTIHoldTime expires.
Support for Points4Sale capability
The ability to handle and sell items configured with Points4Sale restrictions is available by using the Points4Sale and ShowPointsCostweb.config settings. Quantities remaining for items configured with Points4Sale limits display in the Remaining column in the same manner as items configured with Max4Sale limits. There is also a Points
column that can be displayed in the data grid on the ItemList.aspx page; this column displays the points cost of an item configured to use Points4Sale capability.
The following example shows how to use the two web.config settings that support Points4Sale functionality in E-Commerce module:
<add key="Points4Sale" value = "1"/> <add key="ShowPointsCost" value = "1"/>
Set the value for Points4Sale to 1 to display Points4Sale quantities remaining on the ItemList.aspx and ItemShow.aspx pages, and set to 0 to not display them. Set ShowPointsCost to 1 to display the Points column
on the ItemList.aspx page (which displays the points cost of items configured to use Points4Sale capability) and set to 0 to not display the Points column. The Points column displays the points cost of an item appropriately
configured to use Points4Sale capability. Points4Sale limits are displayed in the Remaining column on the
ItemList.aspx page and on the ItemShow.aspx page in the Quantity box, in the same manner as Max4Sale
limits.
Note: When using Points4Sale functionality in E-Commerce module, you must set both <add key="Max4Sale" value="1"/>and <add key="Points4Sale" value = "1"/> in the web.config file in order for Points4Sale capability to work correctly. You can set the value for the key ShowPointsCost to either 1 or 0 when using Points4Sale capability in E-Commerce module, depending on whether you want to display the Points column.
For more information on Points4Sale capability, see the Salesware User and Ticketing Guide for Beginning Users. Working with the display of numeric “remaining” values for items that use Max4Sale or
Points4Sale capability
You can display customizable text instead of a numeric “remaining” value for items that use Max4Sale or
Points4Sale capability. This is done on the ItemList.aspx and ItemShow.aspx pages by adding one or both of the following settings to the web.config file:
<add key="AvailableText" value = "Available"/>
<add key="UnAvailableText" value = "Not Available"/>
Instead of seeing the number remaining, online shoppers see either Available if the Max4Sale/Points4Sale number remaining is greater than 0 or Not Available if the Max4Sale/Points4Sale number has reached 0.
If an online shopper tries to add a quantity to the cart that exceeds the remaining quantity, a custom message is displayed as configured with the following setting:
<add key="ItemShowBadQtyMsg" value = "The quantity you have
entered or selected ({{qty}}) is not available. ({{rem}} remaining)."/> This message displays the entered/selected quantity and the remaining quantity on the ItemShow.aspx page when using {{qty}} and {{rem}}, respectively. The asp:label id="lblBadQty" is the ASP control that displays this message on the ItemShow.aspx page.
= ""), then the Max4Sale/Points4Sale numbers are displayed in the same manner as if these settings were not in your web.config file. The dash that displays for non Max4Sale items in the Remaining column on the
ItemList.aspx page can be replaced using the following web.config key:
<addkey=“NomMax4SaleQty” value = “Available”/>
Set the value for NonMax4SaleQty to whatever you want to display in place of the dash for items with no
Max4Sale capability configured. You can even set it to display nothing by configuring the key in this manner (i.e., with a space between the quote):
<addkey=“NonMax4SaleQty” value = “”/>.
You also have the ability to hide the Remaining column in the ItemList.aspx page and the Remaining quantity labels for the item and the first and second level modifiers in the ItemShow.aspx page while still maintaining existing Max4sale and Points4Sale functionality. To enable this feature set the following in the
web.config file:
<addkey=“HideRemainingColumn” value = “1”/>.
To maintain existing functionality of displaying the Remaining column and quantity labels, set that key to value = “0”.
Controlling how taxed item prices are displayed
You can control how item prices are displayed in the pages for items that are taxed using the following
web.config file key:
<addkey=“ShowTotalItemPriceInLineItemLists” value = “0”/>
When set to “0”, prices are displayed without taxes included. When set to “1” prices are displayed with taxes included.
Example:
Assume an item price of $10.00 as set on the Item Price tab in SysManager and a Tax Rate of 8%. With the key set to “0” and with the Add Tax check box not checked, the price displays as $9.26. With the key set to “0” and with the Add Tax check box checked, the price displays as $10.00.
With the key set to “1” and with the Add Tax check box not checked the price displays as $10.00. With the key set to “1” and the Add Tax check box checked, the price displays as $10.80.
You can display total taxes for all items in the cart on either two separate lines (default behavior) corresponding to Tax 1 and Tax 2 in the item configuration or together on one line. The following web.config file key is used to make the change:
<addkey=“SingleTaxLine” value = “0”/>
With the key set to “0”, the default behavior of displaying Tax 1 and Tax 2 on their own separate lines in the cart is maintained.
With the key set to “1” total taxes in the cart are displayed on one line. Example:
If you use both Tax1 and Tax 2, they are combined into one Tax Total in the cart with this key set to “1”. In order for this to display properly in the pages, you most likely want to make minor, modifications to the cart.ascx file, so that the label that is normally displayed for Tax 2 does not show.
Support for the line item Message field
You can collect information for the Message field in the transact/tr_save tables for a line item. Use the following web.config settings to incorporate this functionality:
<add key="ItemMessageEnabled" value = "1"/> <add key="ItemMessageUseDropDown" value = "0"/>
<add key="ItemMessageDDTable" value = "ItemMessageVal"/> <add key="ItemMessageRegEx" value = "^.{4,20}$"/>
<add key="ItemMessageRequired" value = "1"/>
To enable message collection, set the value for ItemMessageEnabled to 1. A dropdown list or text box can be used to populate the Message field. A text box is the default, but with the value for
ItemMessageUseDropDown set to 1, a dropdown list is used. When using a dropdown list, a table of values for populating the dropdown needs to be configured in the MiscTables.xml file similar to this example:
<ItemMessageVals> <ItemMessageVal><value>**</value><text>Select</text></ItemMessageVal> <ItemMessageVal><value>1</value><text>1</text></ItemMessageVal> <ItemMessageVal><value>2</value><text>2</text></ItemMessageVal> <ItemMessageVal><value>3</value><text>3</text></ItemMessageVal> <ItemMessageVal><value>4</value><text>4</text></ItemMessageVal> <ItemMessageVal><value>5</value><text>5</text></ItemMessageVal> </ItemMessageVals>
Specify this table of values in the ItemNotesDDTable setting. Example:
<add key="ItemMessageDDTable" value = "ItemMessageVal"/>. The value specified in this key comes from the tag in MiscTables.xml that contains the <value> and <text> tags, not the outer tags which in this example have an additional s in the name. If using the default text box, you can specify a regular expression to validate it, which needs to be entered in the ItemNotesRegEx setting.
Example:
<add key="ItemMessageRegEx" value = "^.{1,20}$"/>. Finally, setting the value for
ItemNotesRequired to 1 requires entry, either in the text box or selecting a dropdown value that does not equate to **.
Note: If you are using E-Commerce Group functionality, there is a conflict with this message functionality because the group name normally gets written into the Message field. So you get something like this written into the Message field if you use this new functionality while logged into a group: ocean ticketGroup:. In this example, ocean ticket was entered into the text box for the Message field on ItemShow.aspx. A carriage return, Group:, and the group name gets appended to that, but in this case the group name is lost because the Message field is limited to twenty characters.
Using the image column on the ItemList.aspx page
There is an image column available on the ItemList.aspx page. The column is displayed in the data grid for each item tree group that is specified in the web.config file in the following manner:
<add key="imagenodes" value="movies,regular items"/>
Any number of item tree node descriptions can be specified in this setting; multiple node descriptions must be separated by commas. The settings required to get images to display for the various items in the item tree group are as follows:
<add key="ImageTnPath" value="images/tn/"/> <add key="ImageLgPath" value="images/lg/"/> <add key="ImageField" value="item_id"/>
ImageTnPath sets the thumbnail (Tn) path, which is the folder that contains the smaller sized images you want to display in the data grid on ItemList.aspx. ImageLgPath sets the large (Lg) image path which is the folder that contains the larger images that display when the thumbnail image is clicked. ImageField is the field in the item record from the items table to use for the filename of both the Tn image and the Lg image. While
other fields in the items table work in this setting, it is recommended that you use item_id because this is unique for each item in the table. With the above settings (which are the defaults) the image column would expect a file to be at images/tn/387.jpg if the item_id is 387. When clicked, the large image would be displayed from images/lg/387.jpg. In order to support a light box viewer for displaying the large image, you can also add the following setting to the web.config file:
<add key="ImageRel" value="lightbox"/>
Note: Use the JPEG format for graphics. Images are 800 x 600 pixels or less, but this functionality works with just about any size graphic.
A light box viewer requires additional configuration to work. Please contact Siriusware Technical Support if you want to use the light box feature.
Support for second level modifiers
The ability to sell items configured with second level modifiers (sometimes referred to as mods on mods) is now available. The web.config keys responsible for making this functionality work in the pages are listed here: <add key=“ShowModOnMods” value=“1”/>
<add key=“ModOnModColLen” value=“2”/>
<add key=“ModOnModModifierSort” value=“item asc”/>
<add key=“ShowModOnModSelectionMsg” value=“Please select from the following options.”/> <add key=“ShowModOnModMinMaxMsg” value=“Please select {{minModifier}} to {{maxModifier}} option(s).”/>
<add key=“ShowModOnModsError” value=“Please select the correct number of options.”/>
When you have <add key = “ShowModonMods” value = “1”/> set in the web.config file and you select an item that has first and second level modifiers, you get taken to the Itemshow.aspx page. Here,
selection of a first level modifier that is configured with its own modifiers, automatically display a pop up dialog on which the second level modifiers are displayed. Once second level modifiers are selected on the popup dialog, the user needs to click on the Add Choice(s)/Verify Price button in order to update the price if needed and activate the Add to Cart button. If additional first level modifiers that are configured with their own modifiers are selected, the second level modifiers are each displayed in the popup window. The popup window remains displayed on the page as long as there are first level modifiers selected that are configured with second level modifiers even after the Add Choice(s)/Verify Price button has been clicked. This allows the user to review the choices they’ve made before clicking the Add to Cart button.
The ModOnModColLen key does the same thing for second level modifiers that the ModColLen key does for first level modifiers (see above). Use the ModOnModModifierSort key to specify the field from the items table and the sort order (Asc or Desc) to order second level modifiers in their popup window. Set
ShowModOnModSelectionMsg to the text to display when the second level modifiers are configured as
modifiers that need to be selected. Finally, set ShowModOnModsError to text to display when the correct number of second level mods have not been set and the user tries to add their choices to the cart.
Note: At this time, second level modifiers in the E-Commerce module can only be configured as Regular Item item type on the Action tab of Item Edit Form in SysManager. In other words, second level modifiers cannot be configured to require a guest to be attached.
Configuring reverse modifiers
E-Commerce module includes the ability to reverse the modifier/main item relationship. What this means is that the modifiers and main items swap places in E-Commerce module and the modifiers become the main item and the main items are modifiers to those items. This requires you to enter the DCIs of the modifier items into the following web.config file setting (modifier DCIs must be padded to thirty characters total and multiple DCIs must be separated with a comma):
<add key="ReverseModDCIs" value = "FUNTIMES PACKAGES BEGINNER ,FUNTIMES PACKAGES EXPERIENCE"/>
To further configure this requires that the modifiers be in the item tree for the E-Commerce pages as if they were going to be main items. When someone selects one of these modifier items on the ItemList.aspx page it is displayed on the ItemShow.aspx page and any possible parent items for that modifier item are listed on the page as modifiers. The minimum and maximum quantities for the parent item are forced to 1. The quantity remaining control (if using Max4Sale or Points4Sale capability) reflects the number remaining of the currently selected parent item (now a modifier) or the main item (previously a modifier) if no parent item is selected.
When using reverse modifier functionality in the E-Commerce pages and the Minimum and Maximum modifiers required to sell are both set to “1” on the Modifiers tab of the Item Edit Form for the main item (which becomes the modifier when using reverse modifier functionality), it is now possible to add more than quantity “1” of these items to the shopping cart. The pages create a single line item with a quantity of “1” for each item that is added in this manner.
Example:
If the user sets the quantity to “3” in this type of scenario, when they click the Add to Cart button, the cart displays with three identical line items each set with a quantity of “1” instead of one line item with quantity set to “3”. To use this feature, add the following setting to the web.config file:
<add key=“ReconcileRevsModsWithMinMax” value=“1”/>
Setting up the ability to select multiple items/quantities to add to the cart from the ItemShow.aspx page
The ability to select multiple items/quantities to add to the cart from the ItemShow.aspx page is referred to as the “multi-add” capability. Multi-add requires that you list each item tree group name or description with which you want to use the multi-add feature in the web.config file using the MultiAddITGroups key, and separated by commas.
Example:
<add key="MultiAddITGroups" value= "Museum Only 9:00AM,Museum Only
11:00AM,Museum Only 1:00PM,Museum Only 3:00PM"/>.
In order for items to be selected and added to the cart using multi-add from the ItemShow.aspx page, the items cannot require any additional actions such as requiring guest information or the selection of modifiers. The items can be Print At Home Tickets items; however, all of the items in each multi-add item tree group would then need to be Print At Home Tickets items.
Settings used to customize navigation on the ItemList, ItemShow and CartShow pages
Navigation links in the form of a “breadcrumbs” trail appear towards the top of the ItemList.aspx and ItemShow.aspx pages, just below the header as you navigate the item tree and select an item. These links represent levels above the current item tree level and give the user a way to keep track of his location while also allowing the user to easily navigate back through the item tree. There is also a link to take the user to the top item tree level. To add a specific CSS class to these navigation links in ItemList.aspx and ItemShow.aspx, add the following key to the web.config file: <add key="ITNavLinkCSS" value= "small"/>, and set value to the appropriate CSS class. For the best results, the E-Commerce item tree node (as configured by <add key="TopNode" value="Web"/>) needs to be a top level item tree node and any hidden nodes (those
configured for groups, clubs and renewals) need to be child nodes of that top level node.
The ability to return to the item tree list most recently viewed rather than the very top item tree list via the
Continue Shopping link from the CartShow.aspx page is possible via the following web.config file key: <add key="ITReturntoTop" value = "0"/>. Set ITReturntoTop to 1 to return to the top node of the item tree after adding an item to the cart and clicking Continue Shopping or set to 0 to return to the last visited node of the item tree.
Dynamic Pricing capability
E-Commerce module supports Dynamic Pricing Rules as described in the Salesware Dynamic Pricing document, with the following exceptions:
• Rules that are based on other line items being present don’t work
Example:
HASMOD and ISMOD work, but PREVENTUSE doesn’t.
Enhanced support for displaying informational text for items on the ItemShow.aspx page Up until now, the E-Commerce pages have had the ability to display all of the text entered into the Help field on the General tab of the Item Edit Form in SysManager on the ItemShow.aspx page. The control that handles this on the ItemShow.aspx is asp:label id=“lblInfo”. With the increase in uses for the Help field the ability to only display certain text from the Help field and display it on the ItemShow.aspx was necessary. If you only want to display some of what you have entered into the Help field on ItemShow.aspx, you need to place it between <webinfo>…</webinfo> tags.
Example:
If the Help field contained the following:
<printtag>This is the stuff I want printed on the layout.</printtag> <anothertag>This is for some other purpose.</anothertag>
<webinfo><span class=”smallbold”>Here is what I want to display when this is sold in E-Commerce.</span></webinfo>
Then, only “Here is what I want to display when this is sold in E-Commerce,” are displayed on the ItemShow.aspx and it is formatted as per the CSS class “smallbold”.
Handling visitors/guests
Guest-related settings in detailThere are several application settings in the web.config file 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=): <add key="LookupChars" value="2"/>
<add key="UseEmailUserID" value="0"/>
<add key="InfoExpr" value="SUBSTRING(phone, 7, 2)"/>
<add key="InfoHeading" value="Last two digits of phone#"/> <add key="VerifyField" value="passwords"/>
<add key="VerifyPrompt" value="Password: "/> <add key="1PWEmail" value="1"/>
<add key="GuestEditRows" value = "guest_no, first_name, last_name, address, address2, city, state, zipcode, country, phone, email, birth_date, contact, password"/>
<add key="GuestDispRows" value = "guest_no, first_name, last_name, address, address2, city, state, zipcode, country, phone, email, birth_date"/>
<add key="ForceEditFields" value = "first_name, last_name, address, city, state, zip, country, area_code, phone, birth_date, email"/>
<add key="GuestPhotos" value="1"/> <add key="DefAddress" value = "1"/>
<add key="AllowStoredCards" value = "1"/> <add key="UseSameConfirm" value = "1"/>
<add key="UseSameConfText" value = "You have chosen to use the same guest ({{guest_name}}) again.\nAre you sure?"/>
<add key="NoUseSame" value = "0"/>
<add key="NoPurchTracking" value = "0"/> <add key="TransLookups" value = "1"/> <add key="TransLookupFile" value = "0"/> <add key="TransEdits" value = "1"/> <add key="TransEditFile" value = "0"/>
<add key="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 using <add key="UseEmailUserID" Value="1"> the web logon 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.
If you are using the value passwords for the VerifyField key, then the following keys come into play: the 1PWEmailweb.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 GuestEdit 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, firstname