Updated: June 19, 2023 8:01am

Prism Overview

Prism is a full retail management system that enables you to run transactions and do other tasks via a simple web browser that connects to a Prism server. Prism has three main modules: POS, Store Operations and Admin Console.
POS: Create ring up sales, manage customers and run reports.
Store Operations: Manage inventory, purchasing, receiving and employees.
Admin Console: Configure preferences and settings, enabling you to customize Prism's workflow and UI to match the needs of your business.
Prism tracks all merchandise movement. Order merchandise from vendors via purchase orders. Receive the merchandise into inventory via vouchers. Transfer merchandise between stores via slips and vouchers. Create layaways and other customer orders via orders. Sell merchandise on transactions (receipts).
Transactions (receipts), vouchers, slips and memos record actual changes to the inventory and provide a permanent record of those changes. Order documents are used to plan or order future retail activities, but they do not affect inventory.  The information recorded on an order document, such as items, prices, and vendor or customer information, can be easily transferred to a transaction, voucher, or other document when the time comes to record the actual activity.
prism overview

Web-Based Architecture
In today's retail environment, a POS workstation can be wherever the Associate with an iPad happens to be. Prism is designed to work on desktop PCs, iPads, iPhones, and other iOS devices. Associates can create a transaction on the sales floor (while working with a customer) and then the transaction can be completed and payment taken by a cashier at check-out.
The same convenience and mobility applies to things like price lookups and physical inventory counts. Employees can use iPads (or their own iPhone) to look up prices or count items for a PI.

Licensing
Prism 2.x is a licensed product. During installation of Prism 2.0 and above, users are required to enter a valid Client ID and License Key (Software Assurance (SA) code). This means that the client must purchase Prism licensing and SA must be current. The second piece of information that must be entered when installing Prism is the SA Code (License Key). The SA Code, can be found in the Activation Details area. See the Prism Licensing topic for more information.
Subsidiary-Store-Workstation Hierarchy
RP Prism uses the familiar subsidiary-store-workstation hierarchy. This enables you to define different settings at different context levels. For example, you may want some settings to apply globally, to all subsidiaries, stores and workstations in the Enterprise. Other settings may be set by each subsidiary, or each store. For example, the Sales Tax method is typically the set at the Subsidiary level. See the Enterprise Connection Manager Overview topic for more information.
Security
Access to modules, individual areas, and tasks within areas is controlled on a group basis via security permissions. If a user does not have permission to access a module, area or task, the relevant buttons will be disabled. See Chapter 27. Employee Groups for information about configuring security.

Overview of RP Prism Features
System

  • Client runs via web browser (Chrome, Safari, Firefox, or IE)
  • Modular Platform - Install only those modules (Apache+Prism Server, DRS, and/or Proxy) needed at each workstation.
  • Designed for touch screen use
  • Can run on iPad, iPhone or other mobile devices
  • International solution with fully translatable interface
  • Customizable look and feel via themes and layouts
  • Prism Proxy enables web clients to interact with printers and other hardware

POS

  • Line items and other records displayed in multi-line format
  • Transactions can be completed as single tender, split tender or multiple currencies
  • Single transaction can have sale, order or return items
  • Quick and flexible item entry using barcodes or product SKUs
  • Intuitive, easy-to-follow workflow
  • Place sales transactions on hold and un-hold
  • List Package/Kit items and choose components
  • Advanced Item Lookup by description fields, vendor, or department
  • Send Sale for recording a sale at one location and fulfilling at another
  • Central Returns and Central Customer Lookup
  • Central Gift Cards and Central Store Credit
  • Break Kit items and sell individual components
  • Item images at POS

 Customization

  • Simplified layouts that are ideal for tablets and smartphones
  • Choice of color theme
  • Customizable touch menus
  • Print Designer for customizing XML for printing documents
  • API Explorer to facilitate third-party development using the RP Prism API
  • Customize the RP Prism interface using the customer.css file

Internationalization

  • All labels, descriptions and messages can be translated into any language or modified
  • Supports multiple currencies, including denominations and exchange rates
  • Flexible, region-specific tax structures
  • Ability to set default language in preferences
  • Ability to assign regional settings and edit regional settings
  • Supports variety of tax setups, including Sales Tax and VAT, as well as special set-ups like Multi Sales Tax and Multi Tax VAT

EFT Features

  • Integrated EFT support via Cayan Genius Customer Engagement Device (North America) and B+S Card Service (Europe).

Drawer Closing/Reporting

  • Perform X-Outs and Z-Outs for either a single workstation or storewide
  • Reconcile the drawer or till
  • Capture detailed breakouts of POS tenders and events
  • Perform Z-Out reports in either structured or unstructured mode

Employee Management

  • Security permissions control employee access on feature-by-feature basis
  • Check In/Check Out for tracking employee hours
  • Manage passwords and strong password policies

Database Choices

  • Choice of database platform - Oracle or MySQL

 Customer Management

  • Maintain unlimited number of customers
  • Share customers with other installations or keep local to each installation
  • Flexible customer lookup using name, phone, ID # or company
  • Define contact information, including e-mail, and preferred method of contact
  • Assign customer discounts or tax area
  • Track purchasing history
  • Track store credit
  • Assign default Max Discount %
  • Assign customer images

Tech Toolkit (Administration)

  • View/edit Prism services (.ini files)
  • Schedule tasks using Prism Scheduler
  • Join/Leave the Enterprise using Enterprise Manager
  • Install SSL Certificates using SSL Manager


Joining the Enterprise and Replicating Data
Prism requires a source database to provide the initial load of data into the Prism enterprise, a process called initialization. The first server you install is the PrismHQ server, also known as the root authority. Initialization is meant to be a one-time process, done at the time of install. Depending on the size of the data set, initialization can be time-intensive, so be sure to allocate enough time. It is important to initialize servers in the proper order, starting with the PrismHQ server at the top of the hierarchy and then POAs, and then store servers.

Initialization of a non-root or store server works a bit differently. Before initialization can occur, a user must join the server to the enterprise. As part of the join-the-enterprise process, the user must specify the server's point of authority (POA). After joining the enterprise, the user can go into Admin Console > Connection Manager and initialize the server with data from the PrismHQ (or a child POA server).
Each child POA has one or more store servers under it. You can use a single level of POAs, or multiple levels of POAs, but all of them emanate from the one root POA. In a simple setup, you might have only one POA under the Prism HQ, with all the company's stores pointing toward this one POA and the POA then sending data to the Prism HQ server. Each of these links (e.g. from the POA to a child server) is represented in Prism as a connection. Profiles specify the data types to send. You can assign a different profile for each direction of data replication, giving you fine-tuned control over the data replication process.

prism hierarchy
Creating Connections to other Servers
The communication of data between stores is carried out with a special service called PrismMQ. Some configuration is required. The interface for configuring replication is found in the Admin Console. For one Prism installation to send data to another Prism, a TCP/IP connection must exist. The Enterprise and Connection Manager guide has details about creating connections, joining installations to the enterprise and creating profiles to control the types of data that will be replicated.

Prism and RIL Server Components

Client

  • Browser - Prism is a full retail management system that enables you to run transactions and do other tasks via a simple web browser that connects to a Prism server. The client runs via web browser (Chrome, Safari, Firefox, or IE) on both desktop & mobile devices (iPad, iPhone etc.).
  • Prism Proxy - The Proxy enables a Prism client to communicate with a hardware-equipped workstation for the purpose of printing receipts, swiping cards, cash drawers, line display etc.
  • Prism Proxy is a gateway for handling requests/responses between a Prism web client and Prism server. Hardware-related requests/responses are directed through the Proxy's Hardware Abstraction Layer (HAL). Other parts of the Prism Proxy facilitate processes such as client login and the loading of certain hardware-related Admin Console settings.
  • Apache - Every application that sends data across the Internet requires a web server to make the HTTP/S calls. Prism uses Apache as its web server. You can verify whether the Apache service is running by launching Apache Monitor from the taskbar. When making configuration changes, if you need to reboot the service, be sure to stop the service, wait for it to shut down, then use the Start button to restart the service. Do not use the Restart button to restart the Apache service.

Web Layer
Prism Web Client - Web Client is the repository of Prism client functionality, external plugins & customizations.
Prism Web Module (Mod_Prism.so) - Mod_Prism.so is an Apache Web Module that acts as a routing manager to navigate all api calls respective to their path name. For example, ‘v1/rest' calls to POSV1 service, ‘api/backoffice' calls to BackOffice service and ‘api/common' calls to Common service respectively.
Services Layer

Service Description
Rabbit MQ Message BUS RabbitMQ is the messaging service upon which PrismMQ is based.
POSV1 This service handles POS-related tasks, Physical Inventory and a few other inventory-related tasks. The POSv1Service handles the RPC Methods and REST Resources that are listed in the RPSRESTSERVICEMODULE area of the Prism API Explorer. You can make api calls via the v1/rest & v1/rpc path. This service has settings related to thread counts and timeouts. The purpose of these entries is to control how much memory is allocated to a given RPS instance. Since we have a 32-bit architecture, each instance is limited to a max of 2 GB of memory. Transform is a very heavy resource and has a defined limit that we feel should be adequate for most circumstances. Auth threads are only applicable to the primary instance and define how many auth requests can happen simultaneously.
Prism MQ Data is replicated between Retail Pro 9 and Prism using PrismMQ. PrismMQ is built upon the popular RabbitMQ messaging application. The necessary RabbitMQ, Erlang and Prism MQ files are installed when you install the Prism Server.
Back Office PrismBackOffice facilitates operations related to inventory, adjustments, physical inventory and other back-office tasks. You can make api calls via the api/backoffice path.
Common PrismCommon service is an 'Auxiliary' service, a service that is used by many modules/functions throughout Prism. You can make api calls via the api/common path.
Scheduler The Scheduling Service runs tasks that you have defined in Tech Toolkit, as well as Prism built-in tasks (e.g. building customer history and subsidiary modeling). At the scheduled time, the service makes the necessary API calls to run the task(s). You can make api calls via the api/scheduler path.
License Server Although licensing is not yet implemented in Prism, the PrismLicSvr service must be running for Prism to run. You will receive an error message when trying to launch Prism if this service is not running.
EFT Resiliency The EFT resiliency feature allows you to continue processing EFT transactions offline if you lose your connection to the network. When your connection is restored, Prism automatically processes the transactions performed while offline.  An important part of EFT Resiliency is the floor limit. This is a way of saying, "Go ahead and carry out transactions under the floor limit. I'm willing to take the risk that when the connection is restored, the transactions will be approved by the processor." Transactions above the floor limit are not allowed when offline.


Database Layer

  • Oracle (RPS) - Oracle is an embedded database for Prism.
  • MySql - MySql is a supported database for the Prism Server.
  • EFT Provider - Prism integrated EFT support via external EFT Providers such as Global Payments (formerly Cayan), Adyen, and BS Payone.