Adding Product Features

Use the ProductOrgFeature API to manage product features for a specific store, such as warranties, pre-order properties, linked items, and required fees. Each product feature has different options associated with it. Valid values for the FeatureData parameter depend on the value used in the FeatureKey parameter.

The following table describes the ProductOrgFeature API parameters:

NameDescription
orgNameSpecifies the store number of the product.
ProductCodeSpecifies the unique product identifier.
featureKeyIdentifies the POS feature associated with this product. This parameter accepts one or more of the following values:
  • AddlProdDescLines—specifies the additional item information that is printed on the receipt.
  • ItemBasedMessages—specifies the item-based messages that are displayed on the PIN pad for the customer or on the POS application for the associate during a sale or return transaction. Customer messages displayed on the PIN pad may require the customer's acceptance or signature. Cashier messages displayed on the POS application give more information or instruction to the associate about the item.
  • LinkedItem—specifies the product item code of the linked item. Only one linked item code is permitted per product.
  • PreOrder—indicates that the product is a pre-order item.
  • RequiredFeeItem—indicates that the product has a required fee associated with it.
  • WarrantyAddOn—indicates that the item is a warranty.
  • WarrantyEligible—indicates that the item is warranty–eligible.
featureData

Defines the POS behavior for each feature key. This parameter accepts one or more comma-separated values. Refer to the FeatureData table for a description of the values accepted for each feature key.

Important

The values for featureData must be well-formed JSON objects.

featureData

The following table describes the valid values for featureData depending on the value used for featureKey.

featureKeyfeatureData
AddlProdDescLines
  • prodDescLines—the additional item information that is printed on the receipt for sales and return transactions.
    • name—indicates whether the additional item information is printed on the sales receipt or on the return receipt. Valid values are SaleItemLines or ReturnItemLines.
    • value—the text that is printed on the receipt. Accepts multiple comma-separated values. Values can be either a string of text or the flexible ID resource "@res" that represents the text value. Retailers can add any number of strings or flexible ID resources.

Sample values:

  • 15 lbs
  • This item requires a receipt for returns.
  • @res:1
Tip

AddlProdDescLines supports a variation of flexible ID resources or @res:<value> that allows retailers to provide a partial lookup key as its value. This lookup key is defined in the Configurable Text files.

For example, using @res:1 provides text from the lookup key ItemProcessingComp.ProductDescriptionLine_1 in the Configurable Text files. For AddlProdDescLines, any value may be provided for @res and this value is appended to the ItemProcessingComp.ProductDescriptionLine_ lookup key.

Sample format:

{"prodDescLines":[{"name":"SaleItemLines","value":["@res:1"]},{"name":"ReturnItemLines","value":["@res:2","Receipt was presented to the cashier."]}]}

For more information, refer to Printing additional item-level information on receipts .

ItemBasedMessages
  • MessageList
    • MessageType—the type of message displayed on the PIN pad or POS application. Valid values are customer and cashier.
    • Message—the specific message displayed on the PIN pad for the customer or on the POS application for the associate. Values can be either a string of text or the flexible ID resource "@res" or "@file" that contains the message text.
    • Identifier—a short description of the message that appears in the POSlog with the customer or cashier message.
    • Options for customer messages
      • CashierMessage—a message displayed for the associate on the POS application while the item-based customer message is displayed on the PIN pad. Values can be either a string of text or the flexible ID resource "@res" or "@file" that contains the message text. This attribute is optional.
      • RequiresSignature—a flag that determines whether or not a signature is required from the customer when viewing the message on the PIN pad. Valid values are True or False.
      • TransactionType—specifies the transactions when the customer message is displayed on the PIN pad. Valid values are "Sale", "Return", "1" for sale, or "2" for return.
      • IsAcceptance—a flag that determines whether or not the customer is required to accept the message displayed on the PIN pad. Valid values are True or False.
    • Options for cashier messages
      • TransactionType—specifies the transaction when the cashier message is displayed on the POS application. Valid values are "Sale", "Return", "1" for sale, or "2" for return.
      • DisableDuplicatePrompting—a flag that determines whether or not the cashier message is displayed again when the same item is added to the transaction. Valid values are True or False.
LinkedItem
  • productCode—the code of the product item's linked item.
PreOrder
  • startDate—the date on which the product becomes a pre-order item.
  • endDate—the date on which the product stops being a pre-oder item.
  • maximumQuantity—the order limit of pre-order items per transaction.
  • depositAmount—the deposit amount of the pre-order item. The value for this option should be an integer.
RequiredFeeItem
  • startDate—the date on which the item's required fee becomes active.
  • endDate—the date on which the item's required fee becomes null.
  • productCode—the code of the product item's required fee.
WarrantyAddOn
  • Criteria—the condition on the warranty that indicates the price range of the warranty items.
  • Term—the value used to calculate the warranty end date; determines the term validity of the warranty item. The terms can be configured in months and years. When the term is not configured, the warranty end date will not be calculated.
  • TCFilename—the file name of the terms and conditions of the warranty items. The terms and conditions text file is added in %PROGRAMDATA%\NCR\AdvancedStore\POS. When the terms and conditions text file is not configured, default text will be displayed on the PIN pad.
  • RequireCCToken—a flag that determines whether or not to capture the credit card token. Valid values are True or False.
WarrantyEligible
  • WarranyAddOnGroup—indicates that the available warranty items can be grouped by category.

Using flexible ID resources

Retailers can use flexible ID resources as the value for some featureData attributes. The specific value represented by the flexible ID resources are configured separately in the system. Use flexible ID resources to avoid entering or updating the value multiple times in other products that may use the same featureData attribute value.

The following are examples of flexible ID resources.

Resource IDDescription
@res

Use the @res:<value> resource ID to represent the text defined in the Configurable Text tool. The "value" is mainly the lookup key in the Configurable Text file that contains the text to be displayed.

For more information, refer to Renaming POS UI Elements and Receipt Text.

@file

Use the @file:<filepath> resource ID to represent the text in a file that is saved within the system. The "filepath" should correspond to the location of the file that contains the text to be displayed.

Example
  • File location
    • C:\Temp\Messages\CashierMessage.txt
  • In the ProductOrgFeatures API

    "productOrgFeatures":[

    {"featureKey":"ItemBasedMessages","featureData":{"MessageList":[

    {"MessageType":"cashier",

    "Message":"@file:C:\\Temp\\Messages\\CashierMessage.txt",

    "Identifier":"Cashier message in sale and return",

    "Options":{"TransactionType":"1,2","DisableDuplicatePrompting":"true"}}]}}]

Note

The <filepath> value may also be a partial path, such as ItemBasedMessages\\GenericCashierMessage1.txt. When the %AsProgramData% environment variable is set, this partial path is relative to the following folder: %AsProgramData%\NCR\AdvancedStore\POS. When the %AsProgramData% environment variable is not set, this partial path is relative to the following folder: C:\ProgramData\NCR\AdvancedStore\POS.