Function | Sales screen action macro | Description |
Automatically alter the start date/time of an item by a specified amount | ALTERDATE(days) | Takes one argument that is used to specify the number of days (positive or negative). It can also be a decimal number to change by hours instead of whole days. Example: To automatically set the start date ahead by one day, the macro would be ALTERDATE(1). To set the start date back by one day, the macro would be ALTERDATE(-1) . To set the start time ahead by one hour, the macro would be ALTERDATE(.04). The formula for time is the number of hours divided by twenty-four total hours in a day. So, to set the start time ahead by one hour, divide one by twenty-four. |
Establishes a pre-configured amount for Bonus Cash | BONUSLOAD(pct,amt) | Two Sales screen action macros, LOAD(amt) and BONUSLOAD(pct,amt) that can be configured on Debitware Reload/Activate items so that a pre-configured load or bonus can be established for an item. |
Modify the quantity for a modifier when validating a pass that is using the multiple quantity auto sale feature | CHANGEPASSVAL(a_maxqtyx,y) | Used to add validations for a multiple quantity auto sale item when the item is validated by a pass. y is the quantity and x is the order in which the auto sale item appears on the SysManager > Activities > DCIs > New/Edit > Action tab > Item Type: dropdown > select Create Pass > Action Specifics > Auto Sales tab > “Multiple Quantity” Auto Sale radio button > Customize For Each Pass check box dialog. Example: CHANGEPASSVAL(a_maxqty2, 1) increases by one the Max Qty value for the second auto sale item in the list each time the pass is validated. A separate item is set up, that the operator can use to modify the Max Qty of the auto sale items on an existing pass. Also see SETPARENTPASSVAL(). |
Display the guests in Self Entry module to attach to current selected item | CHECKSELFENTRY() | Common use is in Rental Shops where guests self-register by entering or updating guest information. |
Press Coupon button | COUPON() | Acts like the Coupon button has been clicked. Takes no arguments. |
Forces specific line items to be valid (start) on the present date regardless of the Global date or Reservation Header date | DATETIME | The macro can be applied to specific items that would need to be set to the current date regardless of Global or Reservation Header date. This allows for these items to have their revenue recognized on the date booked (immediately) through valid-on reporting methods as opposed to the date of the guest’s arrival. The DATETIME macro can take two arguments. In addition to allowing bringing up the Date/Time dialog, i.e., SELECTLAST()DATETIME() and putting in a specific date/time. Example: SELECTLAST()DATETIME(12/01/2013 12:00 pm). Now, two new functions are available, the primary one is GETDATE(), i.e., SELECTLAST()DATETIME(GETDATE()) In fact, the math parser is used so it's also possible to do mathematics on the result so: GETDATE()-1 = one day before the current date GETDATE()+7 = one week in the future SELECTLAST()DATETIME(ROUNDDOWN(GETDATE()) + 0.5) = Noon on today's date. SELECTLAST()DATETIME(ROUNDUP(GETDATE()) + 0.5) = Noon on tomorrow's date. SELECTLAST()DATETIME(ROUNDDOWN(GETDATE()) - 0.5) = Noon on yesterday's date. The result is in days, so in order to say, set the date to tomorrow morning at 7:00 AM, I would need: SELECTLAST()DATETIME(ROUNDUP(GETDATE())+(7/24)) And you could also use the second function GETDOW() in order to set the date to the next occurring Saturday at 7:00 AM. SELECTLAST()DATETIME(ROUNDDOWN(GETDATE())+7-GETDOW()+(7/24)) GETDOW() returns a 1 for Sunday, 2 for Monday and so forth. Example: On a Monday, 7-2 would give you five days, this is the number of days you need to add in order to set the date to a Saturday. |
Display a message when adding an item to a sale to help prompt operators | DISPLAY(Ask the guest if they would like an upgrade) | This can also be used in Kiosk mode. |
Titles the dialog | DISPLAY2(title, text) | This uses the title to both title the dialog as well as save the dialog size. It also reacts to <cr> in the text to insert carriage returns and allow for better formatted output. |
Allows E-Commerce pages to be priced with the DONATIONROUNDUP() Dynamic Pricing Rule. | DONATIONROUNDUP() | The E-Commerce pages support the Donation Roundup functionality. In order to work in the E- Commerce pages the Donation Roundup item needs to have the macro DONATIONROUNDUP() added to the Web tab of the item edit form in SysManager and it needs to be priced with the Dynamic Pricing Rule DONATIONROUNDUP(). |
Pop the cash drawer | DRAWER() | |
Press Finalize button | FINALIZE() | Acts as though Finalize button has been clicked. If a Payment Type is included, such as FINALIZE("CASH"), the sale is finalized using that Payment Type. |
Put sale on account | GLOBALACCOUNT("2632000002", 1067) | Put entire sale on the named account and invoice number. Note: Quotes surround the account number but not invoice number. If there are no arguments (just GLOBALACCOUNT() is used), the Account Select dialog is displayed. |
Put entire sale on account by presenting all accounts of a certain type | GLOBALACCOUNTTYPE(‘Consignment’) | The Account Select dialog is presented with only accounts of the quoted type. The operator can still select a different account type manually for the sale; this is just a shortcut to filter the initially displayed list of accounts. |
Set a global message | GLOBALMESSAGE() | Sets a global message for a sale or causes the global message dialog to come up for an operator to enter a global message. GLOBALMESSAGE("TEST MESSAGE") would set the global message for the sale as, “TEST MESSAGE”. GLOBALMESSAGE() would bring up the global message dialog (with no parameters the operator is prompted to set the global message). |
Apply a global special | GLOBALSPECIAL("CLEVELAND ") | Where the global special called CLEVELAND would be automatically applied to the sale (must be padded to ten characters). If there are no arguments, the Global Specials dialog is displayed for special selection. Sales and E-Commerce pages can also automatically apply discounts or specials configured for a membership/pass item currently in the Sales invoice or in the cart to other eligible items included in the Sales invoice or cart for immediate member benefit recognition. This feature supports two Sales screen action macros in Sales, SELECTIVESPECIAL("SPECIAL ") and GLOBALSPECIAL("SPECIAL "), both of which are 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. The price for eligible items in the Sales invoice or cart reflects the special membership price when the membership pass item is added to the Sales invoice or cart. If the membership pass item is removed from the Sales invoice or cart, then the price returns to the regular item price. Note: This immediate member benefit recognition does not extend to benefits that are limited in nature, for example, two free exhibit tickets, as the membership purchase needs to be fully processed Salesware prior to tracking the redemption of limited benefits that deduct uses/points from the membership. |
Ignore errors from macros | IGNOREERRORS() | Precedes any other Sales screen action macros. Especially helpful when trying to apply numerous global specials when only one typically applies. |
Apply a line item special that enforces the item/special link | ITEMSPECIAL() | This works identically to the SPECIAL macro except that it only applies a special if valid for that particular line item. (The SPECIAL macro applies the special even if it’s not global and not an item special for that item). |
Establishes a pre-configured amount for Bonus Cash | LOAD(amt) | Two Sales screen action macros, LOAD(amt) and BONUSLOAD(pct,amt) that can be configured on Debitware Reload/Activate items so that a pre-configured load or bonus can be established for an item. |
Fix line item date | LOCKDATE() | “Fixes” the line item date for the selected line item. Always precedes any calls to SELLFORWARD(). |
Sell the same product again in the future | LOCKDATE()SELLFORWARD(1) | Sells the same product as the last one in the sale X days in the future. |
Brings up the main action buttons defined in the Sales.INI | MAINACTION() | Any of the codes that would be used to define main action buttons in the Sales.INI can be used. Example: MAINACTION(GKP) would bring up Gatekeeper if Gatekeeper is currently licensed and installed at the Salespoint. |
Auto-select a modifier | MODIFYITEM() and MODIFYITEM2() | These work just like SELECTITEM and SELECTITEM2, taking a single argument of thirty characters (a padded DCI of a modifier to add to the currently selected item). MODIFYITEM2 only adds the modifier if it is not already attached to that item. |
Remove the account on a line item | NOACCOUNT() | Prevents the line item from being sold to an account. |
Remove a line item or global special | NOSPECIAL() NOGLOBALSPECIAL() | These macros either remove the special on the currently selected line item or the global special for the sale, respectively. |
Specifies which tab to initially auto-select when the item is added to the Sales screen | OTHER() | An optional parameter can be added to the OTHER() Sales screen action macro, to specify which tab to initially auto-select when the item is added to the Sales screen. This is accomplished by entering the number of the tab that you want the macro to auto-select. For example, SELECTLAST()OTHER(3) would open to the Guest Info 3 tab when the item is added to the Sales screen. |
When the item is added to a sale, the item’s price is set to the specified percentage of the current sale total | PRICEPERCENTAGE(percent) | Example: PRICEPERCENTAGE(3.5) results in the item priced to 3.5% of the total sale. |
Line item void | QUANTITY(VOID) | Useful when configuring package products where the item selected auto sells other items. Removing the item selected prevents them from showing up on reports and may help the operator from getting confused. |
Quit Sales | QUIT() | Behaves as though the Quit button was clicked. |
Whenever the item is recalled in a sale, the date portion of the item’s date/time is set to the current time. | RECALLDATE() | The time is unaffected. |
Whenever the item is recalled in a sale, the date/time is set to the current date/time. | RECALLDATETIME() | Note: that this provides an alternative item-specific equivalent of the new PromptIfDateInPast .INI setting. |
Whenever the item is recalled in a sale, the time portion of the item’s date/time is set to the current time. | RECALLTIME() | The date is unaffected. |
Renew a pass item to the same guest every time | RENEW(GUEST, GIFTCARDS, (505) 751-0633, 31003000, GIFTCARDS, <Guest information has been entered for Card>) | First name, Last name, Phone Number, Guest Number, Group, optional message to the operator when the renew was successful. The RENEW() macro is also supported in E-Commerce module, but it can take only a guest number. When used in E-Commerce module, the macro attaches a specified static guest number to an item when appropriately configured for that item. To use, enter RENEW(guest_no) and substitute the actual guest number for guest_no into the Action to execute when this item is sold on the Web text box on the SysManager > Activities > DCIs > New/Edit > Web tab. This makes it possible to, for example, buy multiple gift cards with E-Commerce module without having to enter visitor/guest information for each of the gift cards. Note: This is analogous to using SELECTLAST()RENEW(GUEST, GIFTCARDS, (505) 751-0633, 90006000, GIFTCARDS, <Guest information has been entered for Card>) in the Sales Action tab > Sales Screen action macro to execute when item is sold text box on the Item Edit dialog for use in Classic Sales. |
Select product | SELECTITEM("QUICKTIX QUICKTIX NONQUICK ") | Select the product if it is available and add it to the current sale. The argument is a text string enclosed in quotes. It must be thirty characters in length. (The DCI nicknames are padded to ten characters each.) |
Automate the sale of a product when a Reservation Header is attached to a sale | SELECTITEM2("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") | In order to facilitate call center service fees, SELECTITEM2 adds an item to a sale if the item is not already present. Also, there is a ReservationMacro .INI setting that can be used in the Sales32c.INI file. (However, generically, this allows any macro to be executed when a reservation is attached.) See the Salesware .INI Settings Reference document for more information. When a Reservation Header is attached, the service fee can be applied, and then if the header is removed and re-attached, the service fee is not re-added. |
Presents the user with a list of item descriptions | SELECTITEMFROMLIST("dept1 cat1 item1 ","dept2 cat2 item2 ") | In Basic Inventory Management, the Sales screen action macro SELECTITEMFROMLIST("dept1 cat1 item1 ","dept2 cat2 item2 ") which presents the user with a list of item descriptions (those that are not valid are removed, and then add to the sale the selection). |
Apply a special with a pass swipe that enforces the item/special link | SELECTIVESPECIAL() | This Sales screen action macro can be entered on the Sales Action tab or within the SysManager > Activities > DCIs > New/Edit > Item Type: dropdown > select Create Pass > Action Specifics button > Global Settings tab of a pass. It applies the special listed between the double quotes to all items currently present in the sale as long as that item is linked to the special. Sales and E-Commerce pages can also automatically apply discounts or specials configured for a Membership/Pass item currently in the Sales invoice or in the cart to other eligible items included in the Sales invoice or cart for immediate member benefit recognition. This feature supports two Sales screen action macros in Sales, SELECTIVESPECIAL("SPECIAL ") and GLOBALSPECIAL("SPECIAL "), both of which are 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. The price for eligible items in the Sales invoice or cart reflects the special membership price when the membership pass item is added to the Sales invoice or cart. If the membership pass item is removed from the Sales invoice or cart, then the price returns to the regular item price. Note: This immediate member benefit recognition does not extend to benefits that are limited in nature, for example, two free exhibit tickets, as the membership purchase needs to be fully processed within Salesware prior to tracking the redemption of limited benefits that deduct uses/points from the membership. |
Select the last product | SELECTLAST() | Selects the last line item entered in the current sale invoice. Required before using the QUANTITY(), SPECIAL(), DATETIME(), ACCOUNT(), ACCOUNTTYPE(), OTHER(), COLLECTADDITNO() and MESSAGE() commands. |
Put line item on account | SELECTLAST()ACCOUNT("2632000002", 1067) | Put the currently selected line item on the named account and invoice number. Note: that quotes surround account number but not invoice number. If there are no arguments (just ACCOUNT() is used), the Account Select dialog is displayed. If only an account name is specified (e.g., ACCOUNT('SAFEWAY'))the specified account is presented to the operator and he chooses an existing invoice or creates a new one. |
Put line item on account by presenting all accounts of a certain type | SELECTLAST()ACCOUNTTYPE(‘Consignment’) | The Account Select dialog is presented with only accounts of the quoted type. The operator can still select a different account type manually for the line item; this is just a shortcut to filter the initially displayed list of accounts. |
Facilitate big number entry | SELECTLAST() BIGNUMBERS() | The Quantity dialog is displayed, ready for entry of numbers with more than one digit. |
Make addit_no collection required | SELECTLAST()COLLECTADDITNO(x[,y]) | Use the x parameter to make addit_no collection required: COLLECTADDITNO(1). The requirement is only enforced when the sale is finalized (not saved). When the access item that this is assigned to is added to the Sales screen, the operator would see the “other” button labeled Access. Clicking on this button takes the operator to the Access Information tab. In the case of SELECTLAST()COLLECTADDITNO(), addit_no is optional, so the operator is not required to populate this field in order to finalize the sale. SELECTLAST()OTHER()COLLECTADDITNO(1) automatically takes the operator to the Access Information tab, where he must enter the addit_no number from the stock. The y parameter is optionally used with the x parameter to automatically populate a series of addit_no fields on the Access Information tab for lines with quantity > 1 based on the first value entered. Example: SELECTLAST()COLLECTADDITNO(1,1), the second 1 sets the items to sequence the addit_no field on the same >1 line item. If set to SELECTLAST()COLLECTADDITNO(1,0), the automatic sequencing does not occur. |
Takes a course number value and automatically populates that item with the entered course number upon adding the item to the sale. | SELECTLAST()COURSE()" | Having SELECTLAST()COURSE() prompts for course number by popping the Course Selection dialog. Entering a course number in the macro (e.g., "SELECTLAST()COURSE(4)") automatically populates that course number for the item. The course number for that item is still changeable through the Course Selection button. |
Set Date/Time | SELECTLAST()DATETIME() | The line item Date/Time dialog is displayed. Note: If there is no currently selected item, this command brings up the Date/Time dialog for the entire sale. If SELECTLAST() is not used, then the global Date/Time is set. |
Force the finalization of an item | SELECTLAST()FORCEFINALIZE() | Forces the finalization of the product even if the sale is saved. Must always be used with SELECTLAST(). Please consult Siriusware Technical Support before implementing this functionality! |
Assign a message | SELECTLAST()MESSAGE("Hello Mom. ") | The argument can be any string contained by quotes. It is applied to the currently selected line item and shows an error message if there is none selected. If there are no arguments (just MESSAGE() is used), the Message dialog is displayed. |
Pops Modifier Selection dialog | SELECTLAST()MODIFY() | Used to pop the Modifier Selection dialog as long as modifiers are set in the Modifier tab of the item. |
Bring up the “other” button when the item is added to the sale | SELECTLAST()OTHER() | If this is configured for a pass item, when this item is added to the Sales screen the operator is immediately taken to the Guest Info tab, the same as if he added the item to the Sales screen and clicked the Set Guest button. For In-House Cards items, an optional parameter can be added to the OTHER() Sales screen action macro, to specify which tab to initially auto-select when the item is added to the Sales screen. This is accomplished by entering the number of the tab that you want the macro to auto-select. Example: SELECTLAST()OTHER(3) would open to the Guest Info 3 tab when the item is added to the Sales screen. |
Change quantity of currently selected item | SELECTLAST()QUANTITY(2) | Where 2 is the new quantity of the selected line item. If QUANTITY() is used with no arguments, the Quantity dialog is displayed for entry. Is limited to a single integer argument. |
Apply a line item special | SELECTLAST()SPECIAL("SANTE FE ") | Where the special called SANTA FE would be automatically applied to the currently selected line item (must be padded to ten characters). If no arguments are brought up, the line item Specials dialog is displayed for special selection. |
Set the quantity for a modifier when selling a pass using the multiple quantity auto sale feature | SETPARENTPASSVAL(a_maxqtyx, [+/-]y) | Used in modifiers to assign or change the quantity of auto sale items for multiple quantity auto sales to a pass when configured with the SysManager > Activities > DCIs > New/Edit > Action tab > Item Type: dropdown > select Create Pass > Action Specifics > Auto Sales tab > “Multiple Quantity” Auto Sale radio button > Customize For Each Pass check box. Can be configured to add to, subtract from or replace the Max Qty values of a parent pass. y is the quantity and x is the order in which the auto sale item appears on the SysManager > Activities > DCIs > New/Edit > Action tab > Create Pass > Action Specifics > Auto Sales tab > “Multiple Quantity” Auto Sale radio button > Customize For Each Pass check box dialog. Example: The items on the dialog may look like this: ![]() The Sales screen action macro could then be used in this way: • SETPARENTPASSVAL(a_maxqty1, +1) is used to increment the Max Qty of the ADULT modifier by 1. • SETPARENTPASSVAL(a_maxqty1, -1) is used to decrement the Max Qty of the ADULT item by 1. • SETPARENTPASSVAL(a_maxqty1, 1) is to set the Max Qty of the ADULT item to1. • SETPARENTPASSVAL(a_maxqty2, +1) is used to increment the Max Qty of the CHILD item by 1. • SETPARENTPASSVAL(a_maxqty2, -1) is used to decrement the Max Qty of the CHILD item by 1. • SETPARENTPASSVAL(a_maxqty3, 3) is used to set the Max Qty of the GUEST item by 1. Note: These are used in the ADULT, CHILD or GUEST modifiers themselves or in other modifiers used in the sale to change Max Qty. Also see CHANGEPASSVAL(). |
Set the price of the parent item | SETPARENTPRICE() | A modifier can now actually set the price of its parent item using this Sales screen action macro. For instance, SETPARENTPRICE(1.00) would set the modifier’s parent price to 1.00. |
Change the profit centers and split of an item sold dynamically. | SETPROFITCENTERS SETPROFITCENTERSPERCENT SETPROFITCENTERSFLAT | You can change the profit centers and split of an item sold dynamically. Each of these functions takes one to twelve arguments. SETPROFITCENTERS and SETPROFITCENTERSPERCENT are identical and both set a series of Profit Centers using the percentage method. SETPROFITCENTERSFLAST sets the Profit Centers by the fill method. Each function takes up to six pairs of arguments with the profit center number or name coming first, followed by the value. All previous Profit Center information is replaced by this call. Notes: • These macros are not used with SELECTLAST. • These macros can be used with Dynamic Pricing capability by placing the command inside MACRO2. • When run from a Dynamic Pricing macro, the functionality automatically overrides the original item configurations. Examples: • SETPROFITCENTERS(9) sets the Profit Center to 9 for 100% of the revenue. • SETPROFITCENTERS(9,75,7,25) puts 75% of the revenue into Profit Center 9 and 25% into Profit Center 7. • SETPROFITCENTERS(9,75,"ADMISSIONS",25) puts 75% of the revenue into Profit Center 9 and 25% into Profit Center with description of ADMISSIONS. Note: Any Profit Center number can be a description but must be surrounded by double quotes. • SETPROFITCENTERS(11,10,12,10,13,10,14,10,15,10,16,50) puts 10% into Profit Center numbers 11-15 and the remaining 50% into Profit Center number 16. • SETPROFITCENTERSFLAT(11,.50, 12, 999) puts 50 cents into Profit Center number 11 and whatever remains (up to 999) into Profit Center number 12. For more information, see the Salesware Dynamic Pricing document. |
Sets a single rental shop or a list of available rentals shops associated with an item. | SETRENTALSHOP (Main Shop, Nordic Shop, Village Shop) or SETRENTALSHOP (Nordic Shop) | This Sales screen action macro was designed to either set a single rental shop or filter the list of available rental shops to associate with a rental item when it is sold in Rentals or E-Commerce modules. For E-Commerce module, the Sales screen action macro needs to be added to the Action to execute when this item is sold on the web: field on the Web tab of the Item Edit dialog in SysManager. It is configured as illustrated in the following examples: SETRENTALSHOP (Main Shop, Nordic Shop, Village Shop) to filter the list or SETRENTALSHOP (Nordic Shop) to select a single rental shop. This then sets the Rental Shop dropdown on the ItemShow.aspx page to either a list of shops if more than one is specified or to a single shop if only one is specified. If in Rentals module, this then sets the Rental Shop dropdown on the Rental Info tab when the item is sold in Sales to either a list of shops if more than one is specified in the macro or to a single shop if only one is specified. |
Forces a shutdown from Sales | SHUTDOWN() | This is similar to QUIT(), except that it does not prompt the user to quit Sales, it just forces an exit from Sales (similar to the shutdown timer feature). This is primarily intended for automated testing, especially load testing in conjunction with the AutoScript .INI setting in Sales. |
Sets the time portion of the item’s Date/Time to HH:MM when the item is added to the sale. | STARTTIME(HH:MM) | HH:MM is a twenty-four hour time between 00:00 and 23:59. |
Add a tip | TIP(3%) | Allows you to use an item to apply a tip or more importantly, a surcharge to a sale. In this example, 3% is added to the sale. Often used as a means to apply a surcharge for credit card transactions. You can print on the sale receipt the real description of a gratuity item that is set to use the TIP() macro. The Receipt layout needs to refer to Alltrans > Descrip. However, this works only when the receipt is printed automatically upon finalizing a sale or reprinted from Tools > Print Receipt. It does not work if using the Reprint button from the main Sales screen. |
Void a sale | VOID() | Voids the current sale. |
(E-Commerce module only) Replace data contained in tags in the <item> portion of the sales string | WEBOVERRIDE(data to override) | This Sales screen action macro is available only for processing through the Sales Host. Replaces data contained in the tags in the <item> portion of the sales string with the provided argument. Example: WEBOVERRIDE(<finalprice>0</finalprice>) sets the finalprice parameter to 0 in the sales string when the sale is processed by Sales Host utility. To configure for use, you must use <ISWEB></ISWEB> tags. Example: <ISWEB>WEBOVERRIDE(<finalprice>0</finalprice>)</ISWEB> For more information on the tags in the <item> portion of the sales string, see the ww.dll API Reference. |