# VIP Services Access Control

Special benefits for your customers to boost your bussines.

# Introduction

<span style="color: #1c1e3f;">Access Control is an advanced business solution designed to meet the growing needs of modern companies, banks, fintech and financial institutions. This product is specifically addressed Mastercard card users and enables them to access various perks such as entrances to amusement parks, fast lane access, airport lounge privileges, and other valuable extras. Basing on card transactions or product type cardholder can get access to particular benefit. Example:</span>

- <span style="color: #1c1e3f;">All Gold card users can get access to Airport Lounges.</span>
- <span style="color: #1c1e3f;">All business card users that do minimum 1000 USD transaction per month can get access to special loyalty program.</span>
- <span style="color: #1c1e3f;">All cardholders of particular BIN (bank) can get access to concert or event organised for them.</span>

# <span style="color: #1c1e3f;">Features:</span>

<span style="color: #1c1e3f;">**User-Friendly Admin Panel:**</span>

<span style="color: #1c1e3f;">Access Control incorporates a user-friendly admin panel that facilitates easy management of the solution. The admin panel offers several options for convenient control and monitoring of the system.</span>

<span style="color: #1c1e3f;">**Rule Management:**</span>

<span style="color: #1c1e3f;">The admin panel allows administrators to manage rules effectively. Rules determine the eligibility criteria for accessing different perks and benefits. With this feature, administrators can easily configure and modify rules based on the specific requirements of the company and its customers.</span>

<span style="color: #1c1e3f;">**Traffic Monitoring:**</span>

<span style="color: #1c1e3f;">Access Control provides a comprehensive traffic monitoring feature through the admin panel. This allows administrators to keep track of user activity across the system. They can monitor number of entrances, guest entrances, time and date, free or paid entries and many more.</span>

<span style="color: #1c1e3f;">**Report Exporting:**</span>

<span style="color: #1c1e3f;">The admin panel incorporates a reporting function that enables administrators to generate reports for further analysis. These reports contain valuable insights and metrics related to user activity, benefits redeemed, and other relevant data. Administrators can export these reports in various formats for easy sharing and data analysis.</span>

<span style="color: #1c1e3f;">**Card Enrollment Verification:**</span>

<span style="color: #1c1e3f;">Access Control includes a card enrollment verification feature that ensures the security and validity of Mastercard users. The admin panel enables administrators to verify and manage card enrollments, ensuring that only authorized users can receive the various perks offered by the solution. This feature adds an extra layer of security, preventing fraudulent usage and unauthorized access.</span>

<span style="color: #1c1e3f;">**Benefits:**</span>

<span style="color: #1c1e3f;">Users can be rewarded with a variety of unique experiences at different service points. Anywhere there is a payment terminal. From airports, amusement parks, sport stadium, museums, travel entertainments to stores.</span>

<span style="color: #1c1e3f;">**Enhanced Customer Experience:**</span>

<span style="color: #1c1e3f;">By providing Mastercard users with access to a wide range of perks and benefits, Access Control enhances the overall customer experience. Users can enjoy valuable extras such as amusement park entrances, fast lane access, and airport lounge privileges, resulting in increased customer satisfaction and loyalty.</span>

<span style="color: #1c1e3f;">**Efficient Administration:**</span>

<span style="color: #1c1e3f;">The user-friendly admin panel simplifies the management of Access Control. Administrators can easily configure rules, monitor user activity, export reports, and validate card enrollments. This streamlines administrative tasks and enables efficient control of the system.</span>

<span style="color: #1c1e3f;">**Data-Driven Decision Making:**</span>

<span style="color: #1c1e3f;">The traffic monitoring and report exporting features enable administrators to gain valuable insights into user behavior and system performance. By analyzing this data, businesses can make data-driven decisions to optimize the Access Control solution and improve customer satisfaction.</span>

<span style="color: #1c1e3f;">**Increased Security:**</span>

<span style="color: #1c1e3f;">The card enrollment verification feature ensures that only authorized users can access the perks and benefits offered by Access Control. This security measure safeguards against fraudulent usage and unauthorized access, providing businesses and users with peace of mind.</span>

<span style="color: #1c1e3f;"> </span>

## <span style="color: #1c1e3f;"><a name="_Toc104318395" style="color: #1c1e3f;"></a>Terms &amp; Definitions:</span>

<table border="1" id="bkmrk-name-description-cus" style="border-collapse: collapse; width: 107.161%; height: 586.954px;"><thead><tr style="height: 35.3984px;"><td bgcolor="#1C1E3F" style="width: 17.1794%;" width="353"><span style="color: #ecf0f1;">**Term**</span>

</td><td bgcolor="#1C1E3F" style="width: 82.7959%;" width="353"><span style="color: #ecf0f1;">**Definition**</span></td></tr></thead><tbody><tr><td style="width: 7.66055%;"><span style="color: #1c1e3f;">MRS</span>

</td><td style="width: 92.3147%;"><span style="color: #1c1e3f;">Mastercard Rewards System</span>

</td></tr><tr><td style="width: 7.66055%;"><span style="color: #1c1e3f;">ICA</span>

</td><td style="width: 92.3147%;"><span style="color: #1c1e3f;">Interbank Card Association - x-digit number assigned by Mastercard to a financial institution, third party processor or other member.</span>

</td></tr><tr><td style="width: 7.66055%;"><span style="color: #1c1e3f;">TPP</span>

</td><td style="width: 92.3147%;"><span style="color: #1c1e3f;">Third Party Provide</span>

</td></tr><tr><td style="width: 7.66055%;"><span style="color: #1c1e3f;">BIN</span>

</td><td style="width: 92.3147%;"><span style="color: #1c1e3f;">Bank Identification Number (First 6 card digits.)</span>

</td></tr><tr><td style="width: 7.66055%;"><span style="color: #1c1e3f;">PAN</span>

</td><td style="width: 92.3147%;"><span style="color: #1c1e3f;">Primary Account number (Full card number.)</span>

</td></tr><tr><td style="width: 7.66055%;"><span style="color: #1c1e3f;">GUI</span>

</td><td style="width: 92.3147%;"><span style="color: #1c1e3f;">Graphical User Interface</span>

</td></tr><tr><td style="width: 7.66055%;"><span style="color: #1c1e3f;">ASI</span>

</td><td style="width: 92.3147%;"><span style="color: #1c1e3f;">Account Status Inquiry</span>

</td></tr><tr><td style="width: 7.66055%;"><span style="color: #1c1e3f;">Token</span>

</td><td style="width: 92.3147%;"><span style="color: #1c1e3f;">Digital card number</span>

</td></tr></tbody></table>

# Intro slides

<span style="color: #1c1e3f;">Access Control is available to users through a friendly and easy-to-use admin panel accessible through a personalized website.</span>

<span style="color: #1c1e3f;">[![Panel admina.jpg](https://developer.verestro.com/uploads/images/gallery/2023-10/scaled-1680-/panel-admina.jpg)](https://developer.verestro.com/uploads/images/gallery/2023-10/panel-admina.jpg)</span>

<span style="color: #1c1e3f;"> </span>

<span style="color: #1c1e3f;">**Web-based and Customizable Admin Panel:**</span>

<span style="color: #1c1e3f;">The system features a web-based administrative panel that allows users to access and manage various aspects of the application through a web browser. Additionally, the admin panel is fully customizable, enabling administrators to tailor it to meet specific organizational needs and preferences.</span>

<span style="color: #1c1e3f;">**Compliant with Safety Standards:**</span>

<span style="color: #1c1e3f;">This system adheres to industry-specific safety and security standards, ensuring that it meets all necessary regulatory and safety requirements to safeguard users and data.</span>

<span style="color: #1c1e3f;">**Implementation Time: 3 Months from Contracting**</span>

<span style="color: #1c1e3f;">The system can be fully implemented and operational within a timeframe of three months from the signing of the contract. This includes all necessary development, testing, and deployment phases.</span>

<span style="color: #1c1e3f;">**Compatible with Various Entertainment Outlets, Airports, Stadiums, Theaters, Museums, Cinemas, etc.:**</span>

<span style="color: #1c1e3f;">The system is designed to seamlessly integrate with a wide range of entertainment and public places, including but not limited to airports, stadiums, theaters, museums, and cinemas. It can be deployed wherever accessible payment terminals are present.</span>

<span style="color: #1c1e3f;">**Unique Access Control Engine Fully Prepared by Verestro:**</span>

<span style="color: #1c1e3f;">The system offers a proprietary and exclusive access control engine developed and fully prepared by Verestro. This engine is responsible for managing user access permissions and ensuring the security and integrity of the system's functionalities. It is a distinctive feature that sets this system apart from others in the market.</span>

<span style="color: #1c1e3f;"> </span>

# <span style="color: #1c1e3f;">Implementation Steps</span>

1. <span style="color: #1c1e3f;">Opening project with Verestro.</span>
2. <span style="color: #1c1e3f;">Setup of test environment.</span>
3. <span style="color: #1c1e3f;">Configuration.</span>
4. <span style="color: #1c1e3f;">Customise Admin Panel.</span>
5. <span style="color: #1c1e3f;">POS provider Integration or use existing Ingenico connection.</span>
6. <span style="color: #1c1e3f;">Setting up POS messages.</span>
7. <span style="color: #1c1e3f;">Defining fallback to offline entrances.</span>
8. <span style="color: #1c1e3f;">Integration with MRS (optionally if you need transaction history).</span>
9. <span style="color: #1c1e3f;">Tests on beta environment.</span>
10. <span style="color: #1c1e3f;">Test on production.</span>
11. <span style="color: #1c1e3f;">Friends and family phase.</span>
12. <span style="color: #1c1e3f;">Go live.</span>

# <span style="color: #1c1e3f;">Architecture</span>

<span style="color: #1c1e3f;">[![architecture.jpg](https://developer.verestro.com/uploads/images/gallery/2023-10/scaled-1680-/architecture.jpg)](https://developer.verestro.com/uploads/images/gallery/2023-10/architecture.jpg)</span>

####   


#### <span style="color: #1c1e3f;">Access Control flow (Example)</span>

<span style="color: #1c1e3f;">[![Bez nazwy.png](https://developer.verestro.com/uploads/images/gallery/2024-01/scaled-1680-/bez-nazwy.png)](https://developer.verestro.com/uploads/images/gallery/2024-01/bez-nazwy.png)</span>

#### <span style="color: #1c1e3f;">Prototype</span>

<span style="color: #1c1e3f;">[https://www.figma.com/proto/zGnlt8oNXsSkXnUIu4F55F/MACS?page-id=180%3A2461&amp;type=design&amp;node-id=1106-15450&amp;viewport=381%2C532%2C0.02&amp;scaling=scale-down&amp;starting-point-node-id=5579%3A125897](https://www.figma.com/proto/zGnlt8oNXsSkXnUIu4F55F/MACS?page-id=180%3A2461&type=design&node-id=1106-15450&viewport=381%2C532%2C0.02&scaling=scale-down&starting-point-node-id=5579%3A125897)</span>

# Overview

<span style="color: #1c1e3f;">Access Control within the system allows for the allocation of benefits to a specific group of cardholders. This feature empowers administrators to precisely define the criteria and conditions that must be met in specific locations for cardholders to receive these benefits. For instance, administrators can select a particular card type, such as MC Gold, issued by a specific country and bank. Furthermore, the system facilitates the provision of these benefits free of charge, both for the cardholder and their accompanying guests.</span>

<span style="color: #1c1e3f;">In certain scenarios, alongside complimentary access, administrators have the flexibility to establish special pricing structures for benefits upon meeting specific conditions. This means that, in some cases, individuals may qualify for benefits by fulfilling specific criteria while incurring a reduced cost.</span>

<span style="color: #1c1e3f;">The system's additional functionality includes spend-based control, enabling administrators to monitor a program participant's spending behavior. This feature allows for the creation of conditions like spending a minimum of 100 euros within a 30-day period at sports stores to qualify for complimentary stadium entry.</span>

<span style="color: #1c1e3f;">**Solution Components:**</span>

<span style="color: #1c1e3f;">The Access Control feature is an integral part of the solution, which comprises the following key components:</span>

- <span style="color: #1c1e3f;">Verestro’s Admin Panel: This web-based interface allows administrators to manage and configure the Access Control feature and associated settings. It provides a user-friendly platform for controlling benefit allocation criteria.</span>
- <span style="color: #1c1e3f;">Verestro’s Backend Engine: The core engine of the system, developed by Verestro, powers the Access Control feature. It manages the allocation of benefits, verifies conditions, and ensures the security and integrity of the entire process.</span>
- <span style="color: #1c1e3f;">Integration with POS Providers: To enable the seamless execution of benefit criteria and conditions, the solution integrates with Point-of-Sale (POS) providers. This integration facilitates the real-time verification of spending and other conditions at relevant stores.</span>

<span style="color: #1c1e3f;"> </span>

<span style="color: #1c1e3f;">**Key point to choose Access control:**</span>

- <span style="color: #1c1e3f;">Emphasizing the Inclusiveness of a Specific Payment Card: Access Control allows organizations to highlight the inclusiveness of a particular type of payment card, making it an attractive choice for cardholders. This feature enhances the appeal of the card and can drive card usage.</span>
- <span style="color: #1c1e3f;">Activating Users to Utilize the Payment Card in Specific Shopping Categories: Access Control empowers administrators to incentivize cardholders to use their payment card within specific shopping categories. This promotes targeted spending behavior and increases engagement with the card.</span>
- <span style="color: #1c1e3f;">Providing a Premium Experience for Cardholders and Guests: Access Control offers the capability to deliver a premium experience not only to the cardholder but also to their accompanying guests. This enhances customer loyalty and satisfaction.</span>
- <span style="color: #1c1e3f;">User-Friendly Operation with Minimal Additional Steps: The Access Control solution is designed to seamlessly integrate with the user experience at payment terminals. It ensures that users do not encounter additional, complex steps beyond the standard authorization process, simplifying their interactions.</span>
- <span style="color: #1c1e3f;">Compliance with the Latest Security Standards: Access Control is built with a strong focus on security, ensuring compliance with the most up-to-date security standards and protocols.</span>

#### <span style="color: #1c1e3f;">**Terminal User’s Flow**</span>

<span style="color: #1c1e3f;">[![user.jpg](https://developer.verestro.com/uploads/images/gallery/2023-10/scaled-1680-/user.jpg)](https://developer.verestro.com/uploads/images/gallery/2023-10/user.jpg)</span>

- <span style="color: #1c1e3f;">**Local staff verification of cardholder's identity:**</span>

<span style="color: #1c1e3f;">Prior to granting access or benefits, local staff members are required to confirm the identity of the cardholder. This manual verification step ensures that the correct individual is accessing the designated area or service.</span>

- <span style="color: #1c1e3f;">**Cardholder taps card on POS for authorization:** </span>

<span style="color: #1c1e3f;">The cardholder initiates the process by tapping their payment card on the Point-of-Sale (POS) terminal. This action triggers the authorization process, validating the card's eligibility for access or benefits.</span>

- <span style="color: #1c1e3f;">**POS informs cardholder about the number of available visits:**</span>

<span style="color: #1c1e3f;">The POS terminal communicates the number of available visits or benefits associated with the card to the cardholder. This information helps the cardholder understand their benefits and make decisions.</span>

- <span style="color: #1c1e3f;">**POS Confirms Entrance:**</span>

<span style="color: #1c1e3f;">Once the cardholder's eligibility is established, the POS terminal confirms their entrance, granting access or providing the specified benefits. This step marks the successful completion of the Access Control process.</span>

<span style="color: #1c1e3f;">**Access Control Key Components**</span>

<table border="1" id="bkmrk-name-description-cus" style="border-collapse: collapse; width: 107.161%; height: 586.954px;"><tbody><tr style="height: 35.3984px;"><td bgcolor="#1C1E3F" style="width: 17.1794%;" width="353"><span style="color: #ecf0f1;">**Component**</span>

</td><td bgcolor="#1C1E3F" style="width: 82.7959%;" width="353"><span style="color: #ecf0f1;">**Description**</span></td></tr><tr><td width="217"><span style="color: #1c1e3f;">Admin Panel</span>

</td><td width="409"><span style="color: #1c1e3f;">Allows to create rules, monitor entrances and download reports.</span>

</td></tr><tr><td width="217"><span style="color: #1c1e3f;">Access Control Engine</span>

</td><td width="409"><span style="color: #1c1e3f;">It connects with acquier and the POS provider, counts the carholder's payments, converts the amounts and decides on granting the benefit.</span>

</td></tr><tr><td width="217"><span style="color: #1c1e3f;">MRS</span>

</td><td width="409"><span style="color: #1c1e3f;">Mastercard Reward System provides information about the cardholder's spending.</span>

</td></tr><tr><td width="217"><span style="color: #1c1e3f;">Acquier integration</span>

</td><td width="409"><span style="color: #1c1e3f;">The acquirer provides an account status inquiry to verify the card.</span>

</td></tr><tr><td width="217"><span style="color: #1c1e3f;">POS provider integration</span>

</td><td width="409"><span style="color: #1c1e3f;">Interface for user interaction.</span>

</td></tr></tbody></table>

# POS authorization

<span style="color: #1c1e3f;">Technology stack:</span>

- <span style="color: #1c1e3f;">JWT - [https://jwt.io](https://jwt.io/)</span>
- <span style="color: #1c1e3f;">TLS</span>
- <span style="color: #1c1e3f;">RSA</span>

<span style="color: #1c1e3f;">Actors:</span>

- <span style="color: #1c1e3f;">POS/CMS operator (as Operator) - person who has access to Admin Panel and physical access to POS device.</span>

<span style="color: #1c1e3f;">Objects:</span>

- <span style="color: #1c1e3f;">Admin Panel - as AP - User web interface interface.</span>
- <span style="color: #1c1e3f;">Point of sell device (payment terminal) - as POS - physical payment terminal device.</span>
- <span style="color: #1c1e3f;">Serial Number - as SN - POS unique serial number printed on a device.</span>
- <span style="color: #1c1e3f;">Pairing code - as Pairing Code - temporary code used to pair terminal into MACS. It contains numbers and it length is 8 characters.</span>

<span style="color: #1c1e3f;">All operations are made using SSL/TLS.</span>

<span style="color: #1c1e3f;">It is mandatory on POS to load correct SSL Trusted CA Certificate (MACS SSL) into parameters file of MACS POS application.</span>

<span style="color: #1c1e3f;">Pairing process:</span>

1. <span style="color: #1c1e3f;">Operator adds POS to a location in AP. Operator must read SN from a POS and provide the SN to AP.</span>
2. <span style="color: #1c1e3f;">On list of terminals in AP, Operator select options for previously added POS and select Get Pairing Code option. The code is generated with TTL=2h and displayed to the Operator.</span>

- <span style="color: #1c1e3f;">Pairing code - is connected with SN - only particular POS (SN) can be paired using generated Pairing Code.</span>
- <span style="color: #1c1e3f;">Operator enter the Pairing Code on POS and initiate paring process.</span>
- <span style="color: #1c1e3f;">POS generates RSA key pair - 2048 Length.</span>

<span style="color: #1c1e3f;">POS sends SN, Pairing Code and Public key(base64 encoded) to MACS pairing endpoint "/pos/pair".</span>

3. <span style="color: #1c1e3f;">MACS check if Pairing Code still exists (it's auto removed after TTL ends) and if match to SN. If so, the public key is decoded, checked and saved next to SN in database.</span>
4. <span style="color: #1c1e3f;">MACS changing status of terminal to "paired".</span>

- <span style="color: #1c1e3f;">Pair code cannot be generated for the paired POSes.</span>
- <span style="color: #1c1e3f;">Any other pair request for the particular POS will be declined 6. Success response is returned to POS.</span>

<span style="color: #1c1e3f;">[![pos.jpg](https://developer.verestro.com/uploads/images/gallery/2023-10/scaled-1680-/pos.jpg)](https://developer.verestro.com/uploads/images/gallery/2023-10/pos.jpg)</span>

<span style="color: #1c1e3f;">Operating:</span>

<span style="color: #1c1e3f;">All POS requests must contain authorization header (JWT).</span>

<span style="color: #1c1e3f;">JWT Token must be created according to the RFC 7519 (JWT) - type RS256.</span>

<span style="color: #1c1e3f;">Token in payload should contain fields:</span>

- <span style="color: #1c1e3f;">sub - equal to POS SN,</span>
- <span style="color: #1c1e3f;">iat - issued at date as unix,</span>
- <span style="color: #1c1e3f;">tiemestamp exp - expire date as unix timestamp.</span>

<span style="color: #1c1e3f;">Token must be present for each request - stateless.</span>

1. <span style="color: #1c1e3f;">Each request must be sent with the header "Authorization". The content should contain the JWT token preceded by "Bearer ".</span>
2. <span style="color: #1c1e3f;">MACS will check the sub, iat, exp fields. If any of fields is invalid, access will be forbidden.</span>
3. <span style="color: #1c1e3f;">MACS will search for public key in database for particular POS.</span>

- <span style="color: #1c1e3f;">If public key is found. Macs will verify the JWT token using the POS public key.</span>
- <span style="color: #1c1e3f;">Access will be granted if verification is succeeded.</span>
- <span style="color: #1c1e3f;">If POS SN is not found or signature is invalid for the public key, access will be forbidden.</span>

<span style="color: #1c1e3f;">[![auth.jpg](https://developer.verestro.com/uploads/images/gallery/2023-10/scaled-1680-/auth.jpg)](https://developer.verestro.com/uploads/images/gallery/2023-10/auth.jpg)</span>

#   


# <span style="color: #1c1e3f;">POS functionalities</span>

## <span style="color: #1c1e3f;">Core functionalities</span>

## <span style="color: #1c1e3f;"> </span>  


<table id="bkmrk-functionality-descri" style="width: 100%; height: 704px;"><tbody><tr style="height: 35.2px;"><td bgcolor="#1C1E3F" style="width: 14.1188%; height: 35.2px;" width="353"><span style="color: #ecf0f1;">**Functionality** </span>

</td><td bgcolor="#1C1E3F" style="width: 14.1188%; height: 35.2px;" width="353"><span style="color: #ecf0f1;">**Type**</span>

</td><td bgcolor="#1C1E3F" style="width: 14.1188%; height: 35.2px;" width="353"><span style="color: #ecf0f1;">**Description**</span>

</td><td bgcolor="#1C1E3F" style="width: 14.1188%; height: 35.2px;" width="353"><span style="color: #ecf0f1;">**MACS API method**</span>

</td></tr><tr style="height: 130.4px;"><td style="width: 14.1188%; height: 130.4px;" width="154"><span style="color: #1c1e3f;">Check possibility to entry</span></td><td style="width: 14.1188%; height: 130.4px;"><span style="color: #1c1e3f;">Online</span></td><td style="width: 14.1188%; height: 130.4px;" width="187"><span style="color: #1c1e3f;">It should send card data in request, in response it receives success or error with code. It should show number selector for guest up to max number of guest received in response.</span></td><td style="width: 14.1188%; height: 130.4px;"><span style="color: #1c1e3f;">post/check\_entry</span></td></tr><tr style="height: 80px;"><td style="width: 14.1188%; height: 80px;" width="154"><span style="color: #1c1e3f;">Confirm entrance</span></td><td style="width: 14.1188%; height: 80px;"><span style="color: #1c1e3f;">Online</span></td><td style="width: 14.1188%; height: 80px;" width="187"><span style="color: #1c1e3f;">Should confirm cardholder used a service with selected number of guests along with "accessId".</span></td><td style="width: 14.1188%; height: 80px;"><span style="color: #1c1e3f;">pos/confirm\_entry</span></td></tr><tr style="height: 180.8px;"><td style="width: 14.1188%; height: 180.8px;" width="154"><span style="color: #1c1e3f;">Check possibility to entry in offline mode</span></td><td style="width: 14.1188%; height: 180.8px;"><span style="color: #1c1e3f;">Offline</span></td><td style="width: 14.1188%; height: 180.8px;" width="187"><span style="color: #1c1e3f;">It should keep BIN ranges downloaded in some time perion (1 day) or manually from terminal - per each POS. In case a POS has no internet connection at moment cardholder is trying to use it. The POS should check if card is between one of BIN ranges and allow enter in this case.</span></td><td style="width: 14.1188%; height: 180.8px;"><span style="color: #1c1e3f;">pos/fallback\_bin\_ranges</span></td></tr><tr style="height: 63.2px;"><td style="width: 14.1188%; height: 63.2px;" width="154"><span style="color: #1c1e3f;">Report offline entrances</span></td><td style="width: 14.1188%; height: 63.2px;"><span style="color: #1c1e3f;">Online</span></td><td style="width: 14.1188%; height: 63.2px;" width="187"><span style="color: #1c1e3f;">Should report all offline entrances made in offline mode.</span></td><td style="width: 14.1188%; height: 63.2px;"><span style="color: #1c1e3f;">pos/offline\_reports</span></td></tr><tr style="height: 214.4px;"><td style="width: 14.1188%; height: 214.4px;" width="154"><span style="color: #1c1e3f;">Allow offline entrances for cardholder from whitelist</span></td><td style="width: 14.1188%; height: 214.4px;"><span style="color: #1c1e3f;">Offline</span></td><td style="width: 14.1188%; height: 214.4px;" width="187"><span style="color: #1c1e3f;">POS should keep hashes of whitelisted PANs downloaded from the AC API in time period (daily) or manually. As cardholder tryin to use it and POS is offline the POS should hash PAN uses HMAC with sha256 algorithm and secret (hardcoded, received from Verestro), then check if hash exists on the list. IF so, POS should accept entry.</span></td><td style="width: 14.1188%; height: 214.4px;"><span style="color: #1c1e3f;">pos/whitelisted\_pans</span></td></tr></tbody></table>

#   


# <span style="color: #1c1e3f;">Check entry error codes handling</span>

<table id="bkmrk-functionality-type-d"><tbody><tr><td bgcolor="#1C1E3F" style="width: 14.1188%;" width="353"><span style="color: #ecf0f1;">**Functionality** </span>

</td><td bgcolor="#1C1E3F" style="width: 14.1188%;" width="353"><span style="color: #ecf0f1;">**Type**</span>

</td><td bgcolor="#1C1E3F" style="width: 14.1188%;" width="353"><span style="color: #ecf0f1;">**Description**</span>

</td><td bgcolor="#1C1E3F" style="width: 14.1188%;" width="353"><span style="color: #1c1e3f;">**<span style="color: #ecf0f1;">MACS </span>API method**</span>

</td></tr><tr><td width="154"><span style="color: #1c1e3f;">Check possibility to entry</span></td><td><span style="color: #1c1e3f;">Online</span></td><td width="187"><span style="color: #1c1e3f;">It should send card data in request, in response it receives success or error with code. It should show number selector for guest up to max number of guest received in response.</span></td><td><span style="color: #1c1e3f;">post/check\_entry</span></td></tr><tr><td width="154"><span style="color: #1c1e3f;">Confirm entrance</span></td><td><span style="color: #1c1e3f;">Online</span></td><td width="187"><span style="color: #1c1e3f;">Should confirm cardholder used a service with selected number of guests along with "accessId".</span></td><td><span style="color: #1c1e3f;">pos/confirm\_entry</span></td></tr><tr><td width="154"><span style="color: #1c1e3f;">Check possibility to entry in offline mode</span></td><td><span style="color: #1c1e3f;">Offline</span></td><td width="187"><span style="color: #1c1e3f;">It should keep BIN ranges downloaded in some time perion (1 day) or manually from terminal - per each POS. In case a POS has no internet connection at moment cardholder is trying to use it. The POS should check if card is between one of BIN ranges and allow enter in this case.</span></td><td><span style="color: #1c1e3f;">pos/fallback\_bin\_ranges</span></td></tr><tr><td width="154"><span style="color: #1c1e3f;">Report offline entrances</span></td><td><span style="color: #1c1e3f;">Online</span></td><td width="187"><span style="color: #1c1e3f;">Should report all offline entrances made in offline mode.</span></td><td><span style="color: #1c1e3f;">pos/offline\_reports</span></td></tr><tr><td width="154"><span style="color: #1c1e3f;">Allow offline entrances for cardholder from whitelist</span></td><td><span style="color: #1c1e3f;">Offline</span></td><td width="187"><span style="color: #1c1e3f;">POS should keep hashes of whitelisted PANs downloaded from the AC API in time period (daily) or manually. As cardholder tryin to use it and POS is offline the POS should hash PAN uses HMAC with sha256 algorithm and secret (hardoded, received from Verestro), then check if hash exists on the list. IF so, POS should accept entry.</span></td><td><span style="color: #1c1e3f;">pos/whitelisted\_pans</span></td></tr></tbody></table>

#   


# <span style="color: #1c1e3f;">Check entry error codes handling</span>

<table id="bkmrk-card_asi_failed-card" width="546"><tbody><tr><td width="228"><span style="color: #1c1e3f;">CARD\_ASI\_FAILED</span></td><td width="318"><span style="color: #1c1e3f;">Card status authorization failed. Use the card again to try amount verification.</span></td></tr><tr><td><span style="color: #1c1e3f;">CARD\_AUTH\_INSUFFICIENT\_FUNDS</span></td><td width="318"><span style="color: #1c1e3f;">Insufficient card funds. Authorization cannot be performed.</span></td></tr><tr><td><span style="color: #1c1e3f;">CARD\_AMOUNT\_AUTH\_FAILED</span></td><td width="318"><span style="color: #1c1e3f;">Amount verification failed.</span></td></tr><tr><td><span style="color: #1c1e3f;">LIMIT\_EXCEEDED</span></td><td width="318"><span style="color: #1c1e3f;">The usage limit for this card is exceeded.</span></td></tr><tr><td><span style="color: #1c1e3f;">UNMET\_REQUIREMENTS</span></td><td width="318"><span style="color: #1c1e3f;">Requirements to access the service are not fulfiled. Contact your bank for more information.</span></td></tr><tr><td><span style="color: #1c1e3f;">TEMPORARILT\_BLOCKED</span></td><td width="318"><span style="color: #1c1e3f;">The card was recently used and the transaction is not completed. Complete the transaction or wait a while and retry.</span></td></tr><tr><td><span style="color: #1c1e3f;">MISSING\_ACCESS\_RULES</span></td><td width="318"><span style="color: #1c1e3f;">Your card is not allowed to be used in this location.</span></td></tr></tbody></table>

<table id="bkmrk-api-error-code-on-te" width="546"><tbody><tr><td width="228"><span style="color: #1c1e3f;">API Error code</span></td><td width="318"><span style="color: #1c1e3f;">On terminal error screen.</span></td></tr><tr><td width="228"><span style="color: #1c1e3f;">UNKNOWN\_DEVICE</span></td><td width="318"><span style="color: #1c1e3f;">The device is not assigned to any location.</span></td></tr></tbody></table>

# Access Control Admin Panel

Access Control incorporates a user-friendly Admin Panel that facilitates easy management of the solution. This panel offers several options for convenient system control and monitoring.

## <span style="color: #000000;">Users</span>

<span style="color: #000000;">This screen displays a list of all system users who have access to the Admin Panel service, along with their assigned roles and status.</span>

<table id="bkmrk-parametr-description" style="border-collapse: collapse; width: 100.494%; border-style: solid; height: 181.266px;"><tbody><tr style="height: 35.375px;"><td bgcolor="#1C1E3F" style="width: 23.8379%; height: 35.375px;" width="353"><span style="color: #ecf0f1;">**Column**</span>

</td><td bgcolor="#1C1E3F" style="width: 76.1621%; height: 35.375px; background-color: rgb(0, 0, 0);" width="353"><span style="color: #ecf0f1;">**Description**</span>

</td></tr><tr style="height: 30.1094px;"><td style="width: 23.8379%; height: 30.1094px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">First name</span></span>  
</td><td style="width: 76.1621%; height: 30.1094px;" width="567"><span style="color: #000000;"><span data-path-to-node="2,1,2,0">The user's given name.</span></span>

</td></tr><tr style="height: 33.5938px;"><td style="width: 23.8379%; height: 33.5938px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Last name</span></span>  
</td><td style="width: 76.1621%; height: 33.5938px;" width="567"><span style="color: #000000;"><span data-path-to-node="2,2,2,0">The user's surname.</span></span>

</td></tr><tr style="height: 46.5938px;"><td style="width: 23.8379%; height: 46.5938px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Role</span></span>  
</td><td style="width: 76.1621%; height: 46.5938px;" width="567"><span style="color: #000000;"><span data-path-to-node="2,3,2,0">The system role assigned to the user (e.g., Admin, User, Service Provider, Issuer, Call Center). </span><span data-path-to-node="2,3,3,0">Defines the access rights and permissions within the system.</span></span>

</td></tr><tr style="height: 35.5938px;"><td style="width: 23.8379%; height: 35.5938px; background-color: rgb(206, 212, 217);"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">E-mail</span></span></td><td style="width: 76.1621%; height: 35.5938px;"><span style="color: #000000;"><span data-path-to-node="2,4,2,0">The email address associated with the user's account.</span></span>

</td></tr></tbody></table>

Users can narrow down the results by using the available filters on this screen:

- First name
- Last name
- E-mail address

From this view we can proceed to adding/editing/deleting an user.

## <span style="color: #000000;">Rules  
</span>

This tab allows you to manage entry rules for specific services, applicable to selected locations and BINs.

[![Zrzut ekranu 2024-04-4 o 18.09.34.png](https://developer.verestro.com/uploads/images/gallery/2024-04/scaled-1680-/zrzut-ekranu-2024-04-4-o-18-09-34.png)](https://developer.verestro.com/uploads/images/gallery/2024-04/zrzut-ekranu-2024-04-4-o-18-09-34.png)

The main view shows a list of all added rules. Users can narrow down the results by using the available filters on this screen.

From this view we can proceed to adding/editing/deleting a rule.

#### Adding a new rule

To add a new rule, we require completing the information below:

<table id="bkmrk-parameter-descriptio" style="border-collapse: collapse; width: 100.494%; border-style: solid; height: 1857.22px;"><tbody><tr style="height: 35.375px;"><td bgcolor="#1C1E3F" style="width: 23.8379%; height: 35.375px;" width="353"><span style="color: #ecf0f1;">**Parameter**</span>

</td><td bgcolor="#1C1E3F" style="width: 76.1621%; height: 35.375px; background-color: rgb(0, 0, 0);" width="353"><span style="color: #ecf0f1;">**Description**</span>

</td></tr><tr style="height: 33.8125px;"><td style="width: 23.8379%; height: 33.8125px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;">Name</span>  
</td><td style="width: 76.1621%; height: 33.8125px;" width="567"><span style="color: #000000;">The name assigned to the ruleset.</span>  
</td></tr><tr style="height: 32.8125px;"><td style="width: 23.8379%; height: 32.8125px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;">Description</span>  
</td><td style="width: 76.1621%; height: 32.8125px;" width="567"><span style="color: #000000;">The description of the ruleset.</span>  
</td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 29.7969px;"><span style="color: #000000;">Valid from</span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">The date and time from which this ruleset becomes active in the system.</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 29.7969px;"><span style="color: #000000;">Valid to</span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">The date and time when this ruleset ceases to be active and becomes expired.</span></td></tr><tr style="height: 64.8438px;"><td colspan="2" style="width: 100%; height: 64.8438px;">##### <span style="color: #000000;">Country and product  
</span>

</td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; height: 29.7969px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Country</span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">The country of the Issuer.</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; height: 29.7969px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Product Code</span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">3-character indicator provided by Mastercard.</span></td></tr><tr style="height: 50.1875px;"><td style="width: 23.8379%; height: 50.1875px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">ICA</span></td><td style="width: 76.1621%; height: 50.1875px;"><span style="color: #000000;">Interbank Card Association Number (ICA) number assigned by MasterCard to a financial institution.</span>

<span style="color: #000000;">You can add multiple ICAs along with the BIN range.</span>

</td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; height: 29.7969px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">BIN ranges</span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">Specific BIN range for given ICA.</span></td></tr><tr style="height: 64.8438px;"><td colspan="2" style="height: 64.8438px; width: 100%;">##### <span style="color: #000000;">Rules  
</span>

</td></tr><tr style="height: 30.1094px;"><td style="width: 23.8379%; height: 30.1094px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Services</span></td><td style="width: 76.1621%; height: 30.1094px;"><span style="color: #000000;">Name of the service we offer to the client. We currently support `Fast Line` and `Lounge`.</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; height: 29.7969px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Total number of usage</span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">The total count of times this specific ruleset has been successfully used.</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 29.7969px;"><span style="color: #000000;">Period of time in days</span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">Limit of entries in a given time period.</span></td></tr><tr style="height: 29.7969px;"><td colspan="2" style="height: 29.7969px; width: 100%;"><span style="color: #000000;">**Location rules**</span>

</td></tr><tr style="height: 35.7969px;"><td style="width: 23.8379%; height: 35.7969px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;">Country</span>  
</td><td style="width: 76.1621%; height: 35.7969px;" width="567"><span style="color: #000000;">Country of selected location.</span>  
</td></tr><tr style="height: 49.0938px;"><td style="width: 23.8379%; height: 49.0938px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;">Location</span>  
</td><td style="width: 76.1621%; height: 49.0938px;" width="567"><span style="color: #000000;">Specific location where the rule should apply - you can select all possible ones for a given country and service.</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 29.7969px;"><span style="color: #000000;">RPM ruleset\*</span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">Activation of the option to set up external rules in the RPM service.</span></td></tr><tr style="height: 104.188px;"><td colspan="2" style="height: 104.188px; width: 100%;"><span style="color: #000000;">**Cardholder entry cost** - you can specify the rules for Cardholder. You can set the entry as **free** or set as **paid**. </span>

<p class="callout info"><span style="color: #000000;">It is possible to configure both free and paid entry rules simultaneously. In this setup, once all entries have been used, the ruleset for paid entries automatically becomes applicable.</span></p>

</td></tr><tr style="height: 49.0938px;"><td style="width: 23.8379%; height: 49.0938px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Amount</span></td><td style="width: 76.1621%; height: 49.0938px;"><span style="color: #000000;">The value (fee) charged for this specific entry. </span>

<span style="color: #000000;">(required - if a paid option is chosen).</span>

</td></tr><tr style="height: 51.375px;"><td style="width: 23.8379%; height: 51.375px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Currency</span></td><td style="width: 76.1621%; height: 51.375px;"><span style="color: #000000;">The three-letter ISO 4217 code specifying the currency of the entry amount e.g., USD, EUR, PLN). (required - if a paid option is chosen).</span>

</td></tr><tr style="height: 34.5938px;"><td style="width: 23.8379%; height: 34.5938px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Period of time in days</span></td><td style="width: 76.1621%; height: 34.5938px;"><span style="color: #000000;">Limit of entries in a given time period.</span>

</td></tr><tr style="height: 51.0938px;"><td style="width: 23.8379%; height: 51.0938px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Number of usage per each location</span></td><td style="width: 76.1621%; height: 51.0938px;"><span style="color: #000000;">The total allowed entries for the cardholder at this specific location.</span>

</td></tr><tr style="height: 63.3906px;"><td style="width: 23.8379%; height: 63.3906px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Number of free invitations</span></td><td style="width: 76.1621%; height: 63.3906px;"><span style="color: #000000;">Maximum number of free entries. </span>

<span style="color: #000000;">(required - if a free option is chosen).</span>

<span style="color: #000000;">Can be set as unlimited.</span>

</td></tr><tr style="height: 68.9844px;"><td style="width: 23.8379%; height: 68.9844px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Number of paid invitations</span></td><td style="width: 76.1621%; height: 68.9844px;"><span style="color: #000000;">Maximum number of paid entries. </span>

<span style="color: #000000;">(required - if a paid option is chosen).</span>

<span style="color: #000000;">Can be set as unlimited.</span>

</td></tr><tr style="height: 29.7969px;"><td colspan="2" style="height: 29.7969px; width: 100%;"><span style="color: #000000;">**Guests - you can specify the rules for Cardholder guests.**</span>

</td></tr><tr style="height: 57.7969px;"><td style="width: 23.8379%; height: 57.7969px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Adult guests</span></td><td style="width: 76.1621%; height: 57.7969px;"><span style="color: #000000;">You can set the entry as **free** or set as **paid**.</span>

<span style="color: #000000;">If paid: specify the exact **amount** and **currency**.</span>

</td></tr><tr style="height: 49.0938px;"><td style="width: 23.8379%; height: 49.0938px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Number of free invitations</span></td><td style="width: 76.1621%; height: 49.0938px;"><span style="color: #000000;">Maximum number of free entries. </span>

<span style="color: #000000;">(required - if a free option is chosen).</span>

</td></tr><tr style="height: 46.5938px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 46.5938px;"><span style="color: #000000;">Number of paid invitations</span></td><td style="width: 76.1621%; height: 46.5938px;"><span style="color: #000000;">Maximum number of paid entries. </span>

<span style="color: #000000;">(required - if a paid option is chosen).</span>

</td></tr><tr style="height: 30.0938px;"><td style="width: 23.8379%; height: 30.0938px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Number of guests per flight</span></td><td style="width: 76.1621%; height: 30.0938px;"><span style="color: #000000;">Maximum number of guests per entry.</span>

</td></tr><tr style="height: 57.7969px;"><td style="width: 23.8379%; height: 57.7969px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Children guests</span></td><td style="width: 76.1621%; height: 57.7969px;"><span style="color: #000000;">You can set the entry as **free** or set the **paid**.</span>

<span style="color: #000000;">If paid: specify the exact **amount** and **currency**.</span>

</td></tr><tr style="height: 49.0938px;"><td style="width: 23.8379%; height: 49.0938px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Number of free invitations</span></td><td style="width: 76.1621%; height: 49.0938px;"><span style="color: #000000;">Maximum number of free entries. </span>

<span style="color: #000000;">(required - if a free option is chosen).</span>

</td></tr><tr style="height: 46.5938px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 46.5938px;"><span style="color: #000000;">Number of paid invitations</span></td><td style="width: 76.1621%; height: 46.5938px;"><span style="color: #000000;">Maximum number of paid entries. </span>

<span style="color: #000000;">(required - if a paid option is chosen).</span>

</td></tr><tr style="height: 49.0938px;"><td style="width: 23.8379%; height: 49.0938px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Number of guests per flight</span></td><td style="width: 76.1621%; height: 49.0938px;"><span style="color: #000000;">Maximum number of guests per entry.</span>

</td></tr><tr style="height: 35.375px;"><td colspan="2" style="height: 35.375px; width: 100%;"><span style="text-decoration: underline; color: #000000;">You can also set free entry for children under X years of age</span>

</td></tr><tr style="height: 40.7969px;"><td colspan="2" style="height: 40.7969px; width: 100%;"><span style="color: #000000;">**Spend based control -** you can determine the customer's required spending to enable entry.</span>

</td></tr><tr style="height: 35.375px;"><td style="height: 35.375px; width: 23.8379%; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Amount</span>

</td><td style="width: 76.1621%; height: 35.375px;"><span style="color: #000000;">The amount the cardholder must spend.</span>

</td></tr><tr style="height: 46.5938px;"><td style="width: 23.8379%; height: 46.5938px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Currency</span>

</td><td style="width: 76.1621%; height: 46.5938px;"><span style="color: #000000;">The three-letter ISO 4217 code specifying the currency of the transaction amount e.g., USD, EUR, PLN). </span>

</td></tr><tr style="height: 79.766px;"><td style="width: 23.8379%; height: 79.766px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Period of time </span>

<span style="color: #000000;">(in days)</span>

</td><td style="width: 76.1621%; height: 79.766px;"><span style="color: #000000;">The period in which the cardholder should spend a given amount. </span>

<span style="text-decoration: underline; color: #000000;">For example: </span>

<span style="color: #000000;">If you set period = 10 and the cardholder wants to use the service on 11/01/2024 at 12:30, that means that his spending is taken from the period 1/01/2024 12:30 to 11/01/2024 at 12:30.</span>

</td></tr><tr style="height: 57.7969px;"><td style="width: 23.8379%; height: 57.7969px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">MCC ID</span>

</td><td style="width: 76.1621%; height: 57.7969px;"><span style="color: #000000;">Merchant Category Code - transactions only from selected MCCs will be taken for calculating spending.</span>

</td></tr><tr style="height: 57.7969px;"><td style="width: 23.8379%; height: 57.7969px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Grace period</span>

<span style="color: #000000;">(in days)</span>

</td><td style="width: 76.1621%; height: 57.7969px;"><span style="color: #000000;">Grace period </span><span style="color: #000000;">in days.</span>

</td></tr></tbody></table>

#### <span style="color: rgb(0, 0, 0);">Rule details</span>

Additionally, on the Rule Details screen, besides the information listed above, we can view details such as:

<table id="bkmrk-parameter-descriptio-1" style="border-collapse: collapse; width: 100.494%; border-style: solid; height: 205.516px;"><tbody><tr style="height: 35.375px;"><td bgcolor="#1C1E3F" style="width: 23.8379%; height: 35.375px;" width="353"><span style="color: #ecf0f1;">**Parameter**</span>

</td><td bgcolor="#1C1E3F" style="width: 76.1621%; height: 35.375px; background-color: rgb(0, 0, 0);" width="353"><span style="color: #ecf0f1;">**Description**</span>

</td></tr><tr style="height: 30.1094px;"><td style="width: 23.8379%; height: 30.1094px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Ruleset ID</span></span>  
</td><td style="width: 76.1621%; height: 30.1094px;" width="567"><span style="color: #000000;">The unique identifier assigned to this specific set of access rules.</span>  
</td></tr><tr style="height: 35.5938px;"><td style="width: 23.8379%; height: 35.5938px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Created by</span></span>  
</td><td style="width: 76.1621%; height: 35.5938px;" width="567"><span style="color: #000000;">The identifier (e-mail address) of the user who initially created and saved this ruleset.</span></td></tr><tr style="height: 34.1875px;"><td style="width: 23.8379%; height: 34.1875px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Creation date</span></span>  
</td><td style="width: 76.1621%; height: 34.1875px;" width="567"><span style="color: #000000;">The date and time when the ruleset was initially created in the system.</span></td></tr><tr style="height: 31.875px;"><td style="width: 23.8379%; height: 31.875px; background-color: rgb(206, 212, 217);"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Modified by</span></span></td><td style="width: 76.1621%; height: 31.875px;"><span style="color: rgb(0, 0, 0);">The identifier of the last user who made changes and saved the ruleset.</span></td></tr><tr style="height: 38.375px;"><td style="width: 23.8379%; height: 38.375px; background-color: rgb(206, 212, 217);"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Modification date</span></span></td><td style="width: 76.1621%; height: 38.375px;"><span style="color: #000000;">The date and time when the ruleset was last updated or edited.</span>

</td></tr></tbody></table>

## <span style="color: #000000;">Operations</span>

<span style="color: rgb(0, 0, 0);">The Operations tab provides a real-time list of all card entry events (or access attempts) processed by the system. This view is crucial for monitoring activity as it happens.</span>

<span style="color: rgb(0, 0, 0);">The main list displays the following key information for each card entry event:</span>

<table id="bkmrk-column-description-c" style="border-collapse: collapse; width: 100.494%; border-style: solid; height: 459.375px;"><tbody><tr style="height: 35.375px;"><td bgcolor="#1C1E3F" style="width: 23.8379%; height: 35.375px;" width="353"><span style="color: #ecf0f1;">**Column**</span>

</td><td bgcolor="#1C1E3F" style="width: 76.1621%; height: 35.375px; background-color: rgb(0, 0, 0);" width="353"><span style="color: #ecf0f1;">**Description**</span>

</td></tr><tr style="height: 30.1094px;"><td style="width: 23.8379%; height: 30.1094px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;">Country of Location</span>  
</td><td style="width: 76.1621%; height: 30.1094px;" width="567"><span style="color: #000000;">Country of selected location.</span>  
</td></tr><tr style="height: 46.5938px;"><td style="width: 23.8379%; height: 46.5938px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;">Masked PAN</span>  
</td><td style="width: 76.1621%; height: 46.5938px;" width="567"><span style="color: #000000;">The first six digits (BIN) and the last four digits of the card number (e.g., `543210******1234`).</span></td></tr><tr style="height: 41.1875px;"><td style="width: 23.8379%; height: 41.1875px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;">Date</span>  
</td><td style="width: 76.1621%; height: 41.1875px;" width="567"><span style="color: #000000;">The date and time when the card entry occurred.</span></td></tr><tr style="height: 46.5938px;"><td style="width: 23.8379%; height: 46.5938px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Service</span></td><td style="width: 76.1621%; height: 46.5938px;"><span style="color: #000000;">Name of the service we offer to the Client. </span>

<span style="color: #000000;">We currently support `Fast Line` and `Lounge`.</span>

</td></tr><tr style="height: 155.266px;"><td style="width: 23.8379%; height: 155.266px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Status</span></td><td style="width: 76.1621%; height: 155.266px;"><span style="color: #000000;">The current status of the operation. </span>

<span style="color: #000000;">Possible values:</span>

- <span style="color: rgb(0, 0, 0);">`APPROVED`</span>
- <span style="color: rgb(0, 0, 0);">`COMPLETED` - The operation was successfully finalized.</span>
- <span style="color: rgb(0, 0, 0);">`REJECTED` - The entry was unsuccessful and denied by the system.</span>
- <span style="color: rgb(0, 0, 0);">`EXPIRED` - The operation request timed out or was not completed within the allowed timeframe.</span>
- <span style="color: rgb(0, 0, 0);">`REVERSED` - The operation was successfully cancelled.</span>

</td></tr><tr style="height: 104.25px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 104.25px;"><span style="color: #000000;">Type</span></td><td style="width: 76.1621%; height: 104.25px;"><span style="color: #000000;">Type of entry. </span>

<span style="color: #000000;">Possible values:</span>

- `<span style="color: #000000;">Online</span>`
- `<span style="color: #000000;">Offline</span>`

</td></tr></tbody></table>

Users can narrow down the results by using the available filters on this screen.

#### <span style="color: rgb(0, 0, 0);">Cancellation functionality</span>

<span style="color: rgb(0, 0, 0);">This screen provides the ability to cancel a specific successful entry. This option can only be performed by the **Admin** role or the **Service Provider** role. Admins can perform reversals without any time restrictions. Service Providers are restricted to performing reversals only within 30 minutes following the entry.</span>

- <span style="color: rgb(0, 0, 0);">The status change is possible only from `COMPLETED` to `REVERSED`.</span>
- <span style="color: rgb(0, 0, 0);">The `REVERSED` status ensures that the operation is not included in the total count of entries for the card.</span>
- <span style="color: rgb(0, 0, 0);">When performing a reversal, it is possible to provide a reason/comment for the action.</span>

<span style="color: rgb(0, 0, 0);">The following information is added to the **Operation Details** screen after a reversal is executed:</span>

- <span style="color: rgb(0, 0, 0);">Reversal Timestamp - The date and time the reversal was executed.</span>
- <span style="color: rgb(0, 0, 0);">Reversal User ID - The `userId` of the person who performed the reversal action.</span>
- <span style="color: rgb(0, 0, 0);">Reversal Reason</span>

#### <span style="color: rgb(0, 0, 0);">Export Report</span>

<span style="color: rgb(0, 0, 0);">Additionally, this screen allows users to generate an Operations report. </span>

<span style="color: rgb(0, 0, 0);">Report can be generated in one of two formats: **Summary** or **Detailed**.</span>

#### <span style="color: rgb(0, 0, 0);">Operations details</span>

<span style="color: rgb(0, 0, 0);">Clicking on an operation record in the main list navigates the user to the operation details. This view additionally provides the following information:</span>

<table id="bkmrk-parameters-descripti" style="border-collapse: collapse; width: 100.494%; border-style: solid; height: 884.391px;"><tbody><tr style="height: 35.375px;"><td bgcolor="#1C1E3F" style="width: 23.8379%; height: 35.375px;" width="353"><span style="color: #ecf0f1;">**Parameters**</span>

</td><td bgcolor="#1C1E3F" style="width: 76.1621%; height: 35.375px; background-color: rgb(0, 0, 0);" width="353"><span style="color: #ecf0f1;">**Description**</span>

</td></tr><tr style="height: 30.1094px;"><td style="width: 23.8379%; height: 30.1094px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;">Product</span>  
</td><td style="width: 76.1621%; height: 30.1094px;" width="567"><span style="color: #000000;">3-character indicator provided by Mastercard.</span></td></tr><tr style="height: 46.5938px;"><td style="width: 23.8379%; height: 46.5938px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Terminal</span></span>  
</td><td style="width: 76.1621%; height: 46.5938px;" width="567"><span style="color: #000000;">The unique identifier for the terminal, which corresponds to its **Serial Number**. Necessary to correctly pair the device within the system.</span></td></tr><tr style="height: 301.047px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 301.047px;"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Reject error code</span></span></td><td style="width: 76.1621%; height: 301.047px;"><span style="color: rgb(0, 0, 0);">A specific code indicating the exact reason why the operation or entry attempt was rejected by the system. </span>

<span style="color: rgb(0, 0, 0);">Possible values:</span>

<span style="color: rgb(0, 0, 0);">`CARD_AMOUNT_AUTH_FAILED` - the required authorization request for a specific amount was declined by the payment network.</span>

<span style="color: rgb(0, 0, 0);">`CARD_ASI_FAILED` - the card passed the initial authorization but failed ASI check.</span>

<span style="color: rgb(0, 0, 0);">`CARD_AUTH_INSUFFICIENT_FUNDS` - The card issuer declined the required authorization request because the cardholder does not have sufficient funds.</span>

<span style="color: rgb(0, 0, 0);">`COOLDOWN_PERIOD_NOT_EXPIRED` - card has already had a successful entry at this exact location within the defined cooldown period.</span>  
<span style="color: rgb(0, 0, 0);">`LIMIT_EXCEEDED` - cardholder has utilized the maximum number of available entries.</span>

<span style="color: rgb(0, 0, 0);">`MISSING_ACCESS_RULES` - system could not find or match any defined access rules for the specific BIN of the presented card.</span>

<span style="color: rgb(0, 0, 0);">`TEMPORARILY_BLOCKED` - the same card is presented at multiple terminals within a short timeframe (5 minutes).</span>

<span style="color: rgb(0, 0, 0);">`UNMET_REQUIREMENTS` - presented card did not pass the required criteria defined by the access ruleset.</span>

</td></tr><tr style="height: 49.375px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 49.375px;"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Card auth response code</span></span></td><td style="width: 76.1621%; height: 49.375px;"><span style="color: #000000;">A unique code returned by the payment network to confirm the card authorization.</span>

<span style="color: #000000;"><span style="color: rgb(0, 0, 0);">Possible values: https://documentation-ecommerce.fenige.pl/#response\_codes\_iso8583</span></span>

</td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 29.7969px;"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">ICA ID</span></span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">Interbank Card Association Number (ICA) number assigned by MasterCard to a financial institution.</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 29.7969px;"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">ICA name</span></span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">A financial institution name.</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 29.7969px;"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Last change date</span></span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">The date and time when the operation record was last modified or updated.</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 29.7969px;"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Requested date</span></span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">The date and time when the operation record (entry) was initially created in the system.</span></td></tr><tr style="height: 47.2188px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 47.2188px;"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Payment</span></span></td><td style="width: 76.1621%; height: 47.2188px;"><span style="color: #000000;">Specifies the method used by the terminal to read the card data during the entry (e.g., `chip` or `contactless`). </span></td></tr><tr style="height: 30.1094px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 30.1094px;"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Reversed by</span></span></td><td style="width: 76.1621%; height: 30.1094px;"><span style="color: #000000;"><span style="color: rgb(0, 0, 0);"> The `userId` of the person who performed the reversal action.</span></span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 29.7969px;"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Reversed at</span></span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;"><span style="color: rgb(0, 0, 0);">The date and time the reversal was executed.</span></span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 29.7969px;"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Reversed reason</span></span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">Reason for operation reversal (if executed).</span></td></tr><tr style="height: 46.5938px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 46.5938px;"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Paid cardholder</span></span></td><td style="width: 76.1621%; height: 46.5938px;"><span style="color: #000000;">Information on whether the cardholder was admitted free of charge or if a fee was applied for the entry (true/false).</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 29.7969px;"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Free adult guests</span></span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">Number of free guests who used the entry.</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 29.7969px;"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Paid adult guests </span></span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">Number of paid guests who used the entry.</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 29.7969px;"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Free children guests </span></span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">Number of free children who used the entry.</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; background-color: rgb(206, 212, 217); height: 29.7969px;"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Paid children guests</span></span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">Number of paid children who used the entry.</span></td></tr></tbody></table>

#### <span style="color: rgb(0, 0, 0);">Show rule</span>

<span style="color: rgb(0, 0, 0);">This screen also offers the option to select "Show Rule" which, upon clicking, displays the details of the ruleset applied to the specific card's entry.</span>

#### <span style="color: rgb(0, 0, 0);">Show transactions</span>

<span style="color: rgb(0, 0, 0);">This option allows the display of a list of transactions performed by the card related to the operation. This enables reviewing the transaction history to verify if the spending condition has been met.</span>

## <span style="color: #000000;">Enrolled cards</span>

<span style="color: rgb(0, 0, 0);">This view shows a complete list of all cards that have been successfully registered (enrolled) in the MRS (Mastercard Reward System). You can use this view to quickly find and review card records.</span>

<span style="color: rgb(0, 0, 0);">You can use these filters to easily narrow down the list of cards:</span>

- <span style="color: rgb(0, 0, 0);">BIN</span>
- <span style="color: rgb(0, 0, 0);">Last 4 digits</span>
- <span style="color: rgb(0, 0, 0);">AREF</span>
- <span style="color: rgb(0, 0, 0);">Product</span>
- <span style="color: rgb(0, 0, 0);">ICA</span>
- <span style="color: rgb(0, 0, 0);">Created from</span>
- <span style="color: rgb(0, 0, 0);">Created until</span>

<span style="color: rgb(0, 0, 0);">The following information is displayed for every card in the list:</span>

<table id="bkmrk-column-description-m" style="border-collapse: collapse; width: 100.494%; border-style: solid; height: 218.266px;"><tbody><tr style="height: 35.375px;"><td bgcolor="#1C1E3F" style="width: 23.8379%; height: 35.375px;" width="353"><span style="color: #ecf0f1;">**Column**</span>

</td><td bgcolor="#1C1E3F" style="width: 76.1621%; height: 35.375px; background-color: rgb(0, 0, 0);" width="353"><span style="color: #ecf0f1;">**Description**</span>

</td></tr><tr style="height: 30.1094px;"><td style="width: 23.8379%; height: 30.1094px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;">Masked PAN</span>  
</td><td style="width: 76.1621%; height: 30.1094px;" width="567"><span style="color: #000000;">The first six digits (BIN) and the last four digits of the card number (e.g., `543210******1234`).</span>  
</td></tr><tr style="height: 46.5938px;"><td style="width: 23.8379%; height: 46.5938px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;">AREF</span>  
</td><td style="width: 76.1621%; height: 46.5938px;" width="567"><span style="color: #000000;">Card Identifier in MRS System.</span></td></tr><tr style="height: 46.5938px;"><td style="width: 23.8379%; height: 46.5938px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;">ICA</span>  
</td><td style="width: 76.1621%; height: 46.5938px;" width="567"><span style="color: #000000;">Interbank Card Association Number (ICA) four-digit number assigned by MasterCard to a financial institution.</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; height: 29.7969px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Product</span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">3-character indicator provided by Mastercard.</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; height: 29.7969px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Enrollment Date</span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">The date and time when the card record was successfully registered in the system.</span></td></tr></tbody></table>

#### Export Report

<span style="color: rgb(0, 0, 0);">Additionally, this screen allows users to generate a report containing all displayed card records. The report content is based on the currently applied filters and includes these data:</span>

- <span style="color: rgb(0, 0, 0);">Masked PAN </span>
- <span style="color: rgb(0, 0, 0);">HASH </span>
- <span style="color: rgb(0, 0, 0);">AREF </span>
- <span style="color: rgb(0, 0, 0);">ICA </span>
- <span style="color: rgb(0, 0, 0);">Issuer name </span>
- <span style="color: rgb(0, 0, 0);">Product code </span>
- <span style="color: rgb(0, 0, 0);">Enrollment date </span>
- <span style="color: rgb(0, 0, 0);">Available free entries </span>
- <span style="color: rgb(0, 0, 0);">Available paid entries </span>
- <span style="color: rgb(0, 0, 0);">Ruleset ID</span>

#### <span style="color: rgb(0, 0, 0);">Enrolled card details</span>

<span style="color: rgb(0, 0, 0);">Clicking on a card record in the main list navigates the user to the card details. This view additionally provides the following information:</span>

<table id="bkmrk-parameters-descripti-1" style="border-collapse: collapse; width: 100.494%; border-style: solid; height: 112.078px;"><tbody><tr style="height: 35.375px;"><td bgcolor="#1C1E3F" style="width: 23.8379%; height: 35.375px;" width="353"><span style="color: #ecf0f1;">**Parameters**</span>

</td><td bgcolor="#1C1E3F" style="width: 76.1621%; height: 35.375px; background-color: rgb(0, 0, 0);" width="353"><span style="color: #ecf0f1;">**Description**</span>

</td></tr><tr style="height: 30.1094px;"><td style="width: 23.8379%; height: 30.1094px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;">HASH</span>  
</td><td style="width: 76.1621%; height: 30.1094px;" width="567"><span style="color: #000000;">Hash of the enrolled card.</span></td></tr><tr style="height: 46.5938px;"><td style="width: 23.8379%; height: 46.5938px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Number of free visits</span></span>  
</td><td style="width: 76.1621%; height: 46.5938px;" width="567"><span style="color: #000000;">Number of free visits from the ruleset from card entry.</span></td></tr><tr><td style="width: 23.8379%; background-color: rgb(206, 212, 217);"><span style="color: #000000;"><span class="detail-item-title" data-cy="detail-column-title">Number of paid visits</span></span></td><td style="width: 76.1621%;"><span style="color: #000000;">Number of paid visits from the ruleset from card entry.</span></td></tr></tbody></table>

#### <span style="color: rgb(0, 0, 0);">Show rule</span>

<span style="color: rgb(0, 0, 0);">This screen also offers the option to select "Show Rule" which, upon clicking, displays the details of the ruleset applied to the specific card's entry.</span>

## <span style="color: rgb(0, 0, 0);">Terms &amp; Conditions</span>

<span style="color: rgb(0, 0, 0);">This tab displays the **Terms and Conditions** required for access and usage of the management portal. </span>

<span style="color: rgb(0, 0, 0);">Only selected roles (Admin and User) have the permissions to manage these documents.</span>

<span style="color: rgb(0, 0, 0);">Terms and Conditions cannot be edited or deleted.</span>

<p class="callout info">If a T&amp;C file already exists for the same date, adding a new file will replace the existing version and become the currently valid one.</p>

<span style="color: rgb(0, 0, 0);">For roles Issuer, Service Provider and Call Center the first time they log in, they will be presented with a mandatory screen requiring them to checkboxes for the **Terms and Conditions** and the **Privacy Policy**.</span>

<span style="color: rgb(0, 0, 0);">Consent to both documents is required to proceed with using the portal.</span>

## <span style="color: rgb(0, 0, 0);">Locations </span>

<span style="color: rgb(0, 0, 0);">The main view shows a list of all added locations where a **terminal** is currently installed and active/or waiting for pairing.</span>

<span style="color: rgb(0, 0, 0);">For easier location searching the list can be filtered according to the following parameters:</span>

<span style="color: rgb(0, 0, 0);">**Filters:**</span>

- <span style="color: rgb(0, 0, 0);">Country code</span>
- <span style="color: rgb(0, 0, 0);">Location Name</span>
- <span style="color: rgb(0, 0, 0);">Service name</span>

<span style="color: rgb(0, 0, 0);">**Columns:**</span>

- <span style="color: rgb(0, 0, 0);">Location Name</span>
- <span style="color: rgb(0, 0, 0);">Country code</span>
- <span style="color: rgb(0, 0, 0);">Service</span>
- <span style="color: rgb(0, 0, 0);">City</span>
- <span style="color: rgb(0, 0, 0);">Address</span>

<div class="horizontal-scroll-wrapper" id="bkmrk--1"><div class="table-block-component"><span style="color: rgb(0, 0, 0);"></span></div></div><span style="color: rgb(0, 0, 0);">From this view, we can proceed to **add**, **edit**, or **delete** a location, or **add a new terminal**.</span>

#### <span style="color: rgb(0, 0, 0);">Adding a new location</span>

<span style="color: rgb(0, 0, 0);">To add a new location, we require completing the information below:</span>

<table id="bkmrk-parameter-descriptio-2" style="border-collapse: collapse; width: 100.494%; border-style: solid; height: 330.516px;"><tbody><tr style="height: 35.375px;"><td bgcolor="#1C1E3F" style="width: 23.8379%; height: 35.375px;" width="353"><span style="color: #ecf0f1;">**Parameter**</span>

</td><td bgcolor="#1C1E3F" style="width: 76.1621%; height: 35.375px; background-color: rgb(0, 0, 0);" width="353"><span style="color: #ecf0f1;">**Description**</span>

</td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; height: 29.7969px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;">Name</span>  
</td><td style="width: 76.1621%; height: 29.7969px;" width="567"><span style="color: #000000;">The name of location.</span>  
</td></tr><tr style="height: 46.5938px;"><td style="width: 23.8379%; height: 46.5938px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;">Country code</span>  
</td><td style="width: 76.1621%; height: 46.5938px;" width="567"><span style="color: #000000;">The three-letter code representing the country of the location.</span></td></tr><tr style="height: 46.5938px;"><td style="width: 23.8379%; height: 46.5938px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;">Service</span>  
</td><td style="width: 76.1621%; height: 46.5938px;" width="567"><span style="color: #000000;">Name of the service we offer to the Client. </span>

<span style="color: #000000;">We currently support Fast Line and Lounge.</span>

</td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; height: 29.7969px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Postal code</span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">The postal code of the location.</span></td></tr><tr style="height: 29.7969px;"><td style="width: 23.8379%; height: 29.7969px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">City</span></td><td style="width: 76.1621%; height: 29.7969px;"><span style="color: #000000;">The name of the city where the location is situated.</span></td></tr><tr style="height: 38.1875px;"><td style="width: 23.8379%; height: 38.1875px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Address (*optional*)</span></td><td style="width: 76.1621%; height: 38.1875px;"><span style="color: rgb(0, 0, 0);">The full physical street address of the location (e.g., building number, street name, etc.).</span></td></tr><tr style="height: 74.375px;"><td style="width: 23.8379%; height: 74.375px; background-color: rgb(206, 212, 217);"><span style="color: #000000;">Cooldown period in minutes</span>

<span style="color: #000000;">(*optional*)</span>

</td><td style="width: 76.1621%; height: 74.375px;"><span style="color: #000000;">Defines the minimum time required between successful visits at the same location, preventing repeated use within the X minutes limit. </span>

<span style="color: #000000;">Rejected transactions return a custom code.</span>

</td></tr></tbody></table>

#### <span style="color: rgb(0, 0, 0);">Adding a new terminal</span>

<span style="color: rgb(0, 0, 0);">To add a new terminal, we require completing the information below:</span>

<table id="bkmrk-parameter-descriptio-3" style="border-collapse: collapse; width: 100.494%; border-style: solid; height: 81.9688px;"><tbody><tr style="height: 35.375px;"><td bgcolor="#1C1E3F" style="width: 23.8379%; height: 35.375px;" width="353"><span style="color: #ecf0f1;">**Parameter**</span>

</td><td bgcolor="#1C1E3F" style="width: 76.1621%; height: 35.375px; background-color: rgb(0, 0, 0);" width="353"><span style="color: #ecf0f1;">**Description**</span>

</td></tr><tr style="height: 46.5938px;"><td style="width: 23.8379%; height: 46.5938px; background-color: rgb(206, 212, 217);" width="141"><span style="color: #000000;">ID</span>  
</td><td style="width: 76.1621%; height: 46.5938px;" width="567"><span style="color: #000000;">The unique identifier for the terminal, which corresponds to its **Serial Number**. Necessary to correctly pair the device within the system.</span>  
</td></tr></tbody></table>

#### <span style="color: rgb(0, 0, 0);">Location details</span>

<section class="data-object-details-container" id="bkmrk-this-section-display"><span style="color: rgb(0, 0, 0);">This section displays all detail information for the location. This data is managed via the Edit functionality.</span>

<span style="color: rgb(0, 0, 0);">**Parameters:**</span>

<div _ngcontent-ng-c2422237955="" class="details-row ng-star-inserted"><div _ngcontent-ng-c2422237955="" class="detail-item detail-item--name ng-star-inserted"><div class="horizontal-scroll-wrapper"><div class="table-block-component"><div _ngcontent-ng-c2380164076="" class="table-block has-export-button"><div _ngcontent-ng-c2380164076="" class="table-content not-end-of-paragraph" data-hveid="0" data-ved="0CAAQ3ecQahgKEwj13fiQk6yRAxUAAAAAHQAAAAAQzAI" decode-data-ved="1" jslog="275421;track:impression,attention" not-end-of-paragraph="">- <span style="color: #000000;">Name</span>
- <span style="color: rgb(0, 0, 0);">Country code</span>
- <span style="color: rgb(0, 0, 0);">Service</span>
- <span style="color: #000000;">Postal code</span>
- <span style="color: #000000;">City</span>
- <span style="color: rgb(0, 0, 0);">Address</span>
- <span style="color: #000000;">Cooldown period in minutes</span>

</div></div></div></div></div></div>#### <span style="color: rgb(0, 0, 0);">Terminal list</span>

<span style="color: rgb(0, 0, 0);">This section also presents a list of all terminals that are currently paired with, or physically installed at, this specific location.</span>

<span style="color: rgb(0, 0, 0);">The terminal list includes:</span>

- <span style="color: rgb(0, 0, 0);">Terminal ID</span>
- <span style="color: rgb(0, 0, 0);">Terminal Status (Possible values: `PAIRED`, `NOT PAIRED`)</span>

<span style="color: rgb(0, 0, 0);">Additionally, it is possible to delete a terminal or retrieve the pairing code that should be used to pair the device. To pair a terminal, the POS must send the required request containing the terminal identifier (serial number) and the pairing code ( `POST /pos/pair`)</span>

</section>