# Overview

<span style="color: #1c1e3f;">The Business Control platform by Verestro enables digital card issuing and expense management for modern companies. By adapting to the changing needs of the current small, medium companies and big corporations and business customers digital, Business Controls enables companies to create and deliver instantly a temporary business Mastercard card to employee, simplify invoice collections and settlements of expenses. </span>

<span style="color: #1c1e3f;">If you are a bank or fintech you can offer a new product for your business customers and increase revenues. </span>

<span style="color: #1c1e3f;">The platform consists of web portal and mobile application or SDK. The simplest white label solution can be delivered in 3 months from start of the project. </span>

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

<span style="color: #1c1e3f;">This product guide provides a high-level overview of Business Control. This document covers the following topics:</span>  
<span style="color: #1c1e3f;">• description of possible configurations, </span>  
<span style="color: #1c1e3f;">• granting access, </span>  
<span style="color: #1c1e3f;">• description of main processes as: login, reset password, cards import, redemption of card,</span>  
<span style="color: #1c1e3f;">• additional and optional functionalities.</span>

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

<span style="color: #1c1e3f;">This section explains a number of key terms used in this document.</span>

<table id="bkmrk-name-description-ope" style="width: 100%; height: 1162px;"><tbody><tr style="height: 10px;"><td bgcolor="#1C1E3F" style="width: 14.1188%; height: 10px;" width="353"><span style="color: #ecf0f1;">**Name**</span>

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

</td></tr><tr style="height: 35.2px;"><td style="width: 14.1188%; height: 35.2px;" width="198"><span style="color: #1c1e3f;">Operator/portal user</span>

</td><td style="width: 14.1188%; height: 35.2px;" width="510"><span style="color: #1c1e3f;">The user working using web portal.</span>

</td></tr><tr style="height: 57.6px;"><td style="width: 14.1188%; height: 57.6px;" width="198"><span style="color: #1c1e3f;">End-user/mobile user</span>

</td><td style="width: 14.1188%; height: 57.6px;" width="510"><span style="color: #1c1e3f;">A corporate employee who received a card and uses a mobile app.</span>

</td></tr><tr style="height: 192px;"><td style="width: 14.1188%; height: 192px;" width="198"><span style="color: #1c1e3f;">Payment history</span>

</td><td style="width: 14.1188%; height: 192px;" width="510"><span style="color: #1c1e3f;">It’s possible that transaction history will be stored on Verestro wallet server for infinite time (this setting can be specified during onboarding with Mastercard). If these options are enabled, MPA can retrieve transaction history for given card and payment instrument ID. Transactions are returned in corresponding parts for better user experience. Particular transaction may appear on the list with delay – depending on integrated external components.</span>

</td></tr><tr style="height: 80px;"><td style="width: 14.1188%; height: 80px;" width="198"><span style="color: #1c1e3f;">Session token</span>

</td><td style="width: 14.1188%; height: 80px;" width="510"><span style="color: #1c1e3f;">Access to the system by a application user is secured using a session token to uniquely associate the session with the user. It is required to perform any action.</span>

</td></tr><tr style="height: 80px;"><td style="width: 14.1188%; height: 80px;" width="198"><span style="color: #1c1e3f;">sFPANs (Subordinate Funding Pan)</span>

</td><td style="width: 14.1188%; height: 80px;" width="510"><span style="color: #1c1e3f;">Valid card numbers supplied by the Issuer. All payment messages will be delivered to the Issuer with this card number in Data Element 02.</span>

</td></tr><tr style="height: 102.4px;"><td style="width: 14.1188%; height: 102.4px;" width="198"><span style="color: #1c1e3f;">Funding Card Alias</span>

</td><td style="width: 14.1188%; height: 102.4px;" width="510"><span style="color: #1c1e3f;">A name given to the ultimate funding account to which payments will flow. This name is assigned by the Issuer and should be recognisable to the Corporate who owns the account. E.g. “JoeCorp HR USDollar”.</span>

</td></tr><tr style="height: 35.2px;"><td style="width: 14.1188%; height: 35.2px;" width="198"><span style="color: #1c1e3f;">CSV</span>

</td><td style="width: 14.1188%; height: 35.2px;" width="510"><span style="color: #1c1e3f;">Comma Separated Values.</span>

</td></tr><tr style="height: 124.8px;"><td style="width: 14.1188%; height: 124.8px;" width="198"><span style="color: #1c1e3f;">Digital Tokens</span>

</td><td style="width: 14.1188%; height: 124.8px;" width="510"><span style="color: #1c1e3f;">This is the surrogate card number that is inserted into the NFC chip in the Mobile phone. For tap payments, this is the number shared with the Point of sale device. On all message flows; it is mapped by Mastercard to its parent sFPAN. The Issuer will then map the sFPAN to the Funding Account.</span>

</td></tr><tr style="height: 124.8px;"><td style="width: 14.1188%; height: 124.8px;" width="198"><span style="color: #1c1e3f;">Virtual Card</span>

</td><td style="width: 14.1188%; height: 124.8px;" width="510"><span style="color: #1c1e3f;">This is the optional card number for eCommerce payments - number entered at the eCommerce checkout page. On all message flows; it is mapped by Mastercard to its parent sFPAN. The Issuer will then map the sFPAN to the Funding Account.</span>

</td></tr><tr style="height: 57.6px;"><td style="width: 14.1188%; height: 57.6px;" width="198"><span style="color: #1c1e3f;">Approval</span>

</td><td style="width: 14.1188%; height: 57.6px;" width="510"><span style="color: #1c1e3f;">In the context of Business Control, this is the assignment of a specific card for a certain period of time to a defined user.</span>

</td></tr><tr style="height: 57.6px;"><td style="width: 14.1188%; height: 57.6px;" width="198"><span style="color: #1c1e3f;">Reapproval</span>

</td><td style="width: 14.1188%; height: 57.6px;" width="510"><span style="color: #1c1e3f;">By reapproval is meant the process of changing the data of a specific card assignment. Limits or date range can be changed.</span>

</td></tr><tr style="height: 80px;"><td style="width: 14.1188%; height: 80px;" width="198"><span style="color: #1c1e3f;">Mobile reapproval</span>

</td><td style="width: 14.1188%; height: 80px;" width="510"><span style="color: #1c1e3f;">The process of changing a specific assignment initiated by the end user - which means through the use of a mobile application.</span>

</td></tr><tr style="height: 124.8px;"><td style="width: 14.1188%; height: 124.8px;" width="198"><span style="color: #1c1e3f;">Group limit</span>

</td><td style="width: 14.1188%; height: 124.8px;" width="510"><span style="color: #1c1e3f;">This limit determines the maximum amount with which anyone in the group can assign a card to a user and the maximum amount on a card that can be accepted in a given group if an assignment confirmation request comes in from a group with a lower limit.</span>

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

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

<span style="color: #1c1e3f;">Below we present a list of key use cases enabled on Business Control platform. We are constantly working on new functionalities that are adding value to the product:</span>

- <span style="color: #1c1e3f;">issue virtual card for employee,</span>
- <span style="color: #1c1e3f;">setup card limits (time, date, transaction limits etc.),</span>
- <span style="color: #1c1e3f;">manage groups in companies (departments or teams),</span>
- <span style="color: #1c1e3f;">scan invoices,</span>
- <span style="color: #1c1e3f;">present reports for accounting purposes,</span>
- <span style="color: #1c1e3f;">and many more.</span>

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


<span style="color: #1c1e3f;">The systems offered by Verestro are fully secure, which is confirmed by current third-party certificates. As we store card and payment data we are obliged to comply with strict legal requirements. Card data are stored in a specially designed environment - Data Core. This environment is PCI DSS certified. The PCI-DSS standard guarantees the security of payment card data. It ensures that sensitive information is properly guarded and provides maximum security in the payment process.</span>  
<span style="color: #1c1e3f;">We achieve high security standards by, among other things :</span>  
<span style="color: #1c1e3f;">1. Building and maintaining network security - the need to build and maintain a firewall configuration that protects cardholder data, not using manufacturers' default passwords and settings.</span>  
<span style="color: #1c1e3f;">2. Protecting cardholder data - protecting stored cardholder data, encrypting data transmissions when using public networks.</span>  
<span style="color: #1c1e3f;">3. Maintaining a payment management program - using regularly updated anti-virus systems, developing secure systems and applications.</span>  
<span style="color: #1c1e3f;">4. Implementing strong access control methods - limiting access to cardholder data to only those with a business need, assigning each user a unique ID, limiting physical access to cardholder data.</span>  
<span style="color: #1c1e3f;">5. Regular network monitoring and testing - testing security systems and processes, controlling access to network resources and cardholder data.</span>  
<span style="color: #1c1e3f;">6. Maintaining information security policies - relying on security policies for employees and vendors.</span>

<span style="color: #1c1e3f;">![image-1651748525929.png](https://developer.verestro.com/uploads/images/gallery/2022-05/scaled-1680-/image-1651748525929.png)</span>

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

<span style="color: #1c1e3f;">Business Control uses Verestro's distributed systems to provide the highest quality of service. It is practically the best architectural solution these days. As mentioned in the previous chapter, the communication between services is completely secure, maintaining the highest security standards. This kind of system guarantees not only high efficiency, due to the division of responsibilities between the components, but also allows for easy and fast scaling of the system according to the customer's requirements.</span>

[![Budget Control-new.png](https://developer.verestro.com/uploads/images/gallery/2024-10/scaled-1680-/budget-control-new.png)](https://developer.verestro.com/uploads/images/gallery/2024-10/budget-control-new.png)

## <span style="color: #1c1e3f;">Acc</span><span style="color: #1c1e3f;">ess and Configuration</span>

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

<span style="color: #1c1e3f;">The access to Admin Portal in available in 3 ways:</span>

- <span style="color: #1c1e3f;">direct traffic through VPN - requires VPN reconfiguration on both sides,</span>
- <span style="color: #1c1e3f;">block access to the domain and allow access from a particular IP address (specific IP addresses or a range of addresses) - configuration required on Verestro side,</span>
- <span style="color: #1c1e3f;">free access for everyone, who have an account in Admin Portal (no matter if VPN configuration or IP address are set. </span>

<span style="color: #1c1e3f;">Admin Portal is available on two environments:</span>

- <span style="color: #1c1e3f;">test environment (dev/UAT environment),</span>
- <span style="color: #1c1e3f;">production environment.</span>  
      
    <span style="color: #1c1e3f;">Sample of test environment (URL): https://corporate-panel-nameofclient.verestro.dev/</span>  
    <span style="color: #1c1e3f;">Sample of production environment (URL): https:// corporate-panel-nameofclient.verestro.com/</span>

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

#### <span style="color: #1c1e3f;">Time settings for individual functionalities</span>

<span style="color: #1c1e3f;">Business Control has a several default parameters related to the time of each action. Table below describes particular action and time related to the action. </span>

<table id="bkmrk-functionality-descri"><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;">**Description**</span>

</td><td bgcolor="#1C1E3F" style="width: 14.1188%;" width="353"><span style="color: #ecf0f1;">**Default time on beta environment**</span>

</td><td bgcolor="#1C1E3F" style="width: 14.1188%;" width="353"><span style="color: #ecf0f1;">**Default time on production environment**</span>

</td></tr><tr><td width="164"><span style="color: #1c1e3f;">Operator session time.</span>

</td><td width="294"><span style="color: #1c1e3f;">Session after successful login to the panel.</span>

</td><td width="135"><span style="color: #1c1e3f;">60 minutes</span>

</td><td width="115"><span style="color: #1c1e3f;">15 minutes</span>

</td></tr><tr><td width="164"><span style="color: #1c1e3f;">Session reminder popup.</span>

</td><td width="294"><span style="color: #1c1e3f;">Time after which a popup appears asking to extend or end the session.</span>

</td><td width="135"><span style="color: #1c1e3f;">55 minutes</span>

</td><td width="115"><span style="color: #1c1e3f;">10 minutes</span>

</td></tr><tr><td width="164"><span style="color: #1c1e3f;">Mobile session time.</span>

</td><td width="294"><span style="color: #1c1e3f;">Session after successful login to the beta mobile application.</span>

</td><td width="135"><span style="color: #1c1e3f;">15 minutes</span>

</td><td width="115"><span style="color: #1c1e3f;">15 minutes</span>

</td></tr><tr><td width="164"><span style="color: #1c1e3f;">SMS lock time.</span>

</td><td width="294"><span style="color: #1c1e3f;">Determines the time after sms count will be erased and sms resend will be available.</span>

</td><td width="135"><span style="color: #1c1e3f;">24h</span>

</td><td width="115"><span style="color: #1c1e3f;">24h</span>

</td></tr><tr><td width="164"><span style="color: #1c1e3f;">Reset password OTP.</span>

</td><td width="294"><span style="color: #1c1e3f;">Validity of OTP during password reset process.</span>

</td><td width="135"><span style="color: #1c1e3f;">900s</span>

</td><td width="115"><span style="color: #1c1e3f;">900s</span>

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

#### <span style="color: #1c1e3f;">Automatic job configuration of Business Control</span>

<table id="bkmrk-functionality-descri-0"><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;">**Description**</span>

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

</td></tr><tr><td width="189"><span style="color: #1c1e3f;">Expiring outdated approvals.</span>

</td><td width="369"><span style="color: #1c1e3f;">The time when cards whose assignment has expired are removed from enduser.</span>

</td><td width="151"><span style="color: #1c1e3f;">Every full hour</span>

</td></tr><tr><td width="189"><span style="color: #1c1e3f;">Generating transaction reports.</span>

</td><td width="369"><span style="color: #1c1e3f;">Time when mechanism of generating reports for pending reports is starting.</span>

</td><td width="151"><span style="color: #1c1e3f;">Every 15th minute</span>

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

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

<table id="bkmrk-functionality-descri-1" width="709"><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;">**Description**</span>

</td></tr><tr><td width="240"><span style="color: #1c1e3f;">Mobile password length.</span>

</td><td width="469"><span style="color: #1c1e3f;">8-250 chars.</span>

</td></tr><tr><td width="240"><span style="color: #1c1e3f;">Portal password length.</span>

</td><td width="469"><span style="color: #1c1e3f;">8-30 chars.</span>

</td></tr><tr><td width="240"><span style="color: #1c1e3f;">Password (both mobile &amp; portal) requirements .</span>

</td><td width="469"><span style="color: #1c1e3f;">upper-case letter, lower-case letter, special character and digit.</span>

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

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

<span style="color: #1c1e3f;">Completion of product configuration (T&amp;C regulations, imported cards, created limits and user structures) is required to test mobile applications.</span>

<span style="color: #1c1e3f;">For beta environment testing, it is necessary to provide the project manager with information about the type of device and the data for which test cards are to be assigned. This is related to separate app delivery solutions for each platform.</span>

<span style="color: #1c1e3f;">In the case of a production environment, the application is provided by authorized and official application stores dedicated to that environment.</span>

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


<span style="color: #1c1e3f;">In the initial stages of the project, the mobile application can be delivered as an APK file to be installed manually on the device. It is also possible to set up an automatic distribution center for test versions, in which case it is enough to provide Verestro with a list of email addresses to which invitations to the test system will be sent. Each user will receive an individual registration link and AppTester software (a fully secure component of the Google Firebase system) or TestFlight software (Apple's standard way to distribute test applications that meet the latest functional and security requirements). Both of the distribution ways allow to download each version of the application and deliver new versions in real time to testers.</span>

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


<span style="color: #1c1e3f;">Once the testing phase is complete, Verestro generates applications that must be signed with the appropriate set of keys and then, using procedures appropriate to the specific distribution site (Apple AppStore or Google Play), added to the app stores. Once the application is in the store, any user can easily and quickly install the application and update it automatically.</span>

## <span style="color: #1c1e3f;">Roles in the System</span>

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


<span style="color: #1c1e3f;">Created in the new Issuer setup process after legal and contractual issues are completed. Associated with the flow of configuring corporations related to the Issuer. Could see the corporations associated in the system and their cards along with limits.</span>

<span style="color: #1c1e3f;">[![image-1676031225631.drawio.png](https://developer.verestro.com/uploads/images/gallery/2023-02/scaled-1680-/image-1676031225631-drawio.png)](https://developer.verestro.com/uploads/images/gallery/2023-02/image-1676031225631-drawio.png)</span>

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

<span style="color: #1c1e3f;">The following section provides information about the actions that vary according to the level of authority in the corporate structure and key capabilities common to the roles contained in the corporation.</span>

<table id="bkmrk-functionality-admini"><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;">**Corporate Administrator** </span>

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

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

</td></tr><tr><td width="463"><span style="color: #1c1e3f;">Add new corporate operator (administrator, manager, user).</span>

</td><td width="95"><span style="color: #1c1e3f;">Yes</span>

</td><td width="76"><span style="color: #1c1e3f;">X</span>

</td><td width="75"><span style="color: #1c1e3f;">X</span>

</td></tr><tr><td width="463"><span style="color: #1c1e3f;">Create new group.</span>

</td><td width="95"><span style="color: #1c1e3f;">Yes</span>

</td><td width="76"><span style="color: #1c1e3f;">X</span>

</td><td width="75"><span style="color: #1c1e3f;">X</span>

</td></tr><tr><td width="463"><span style="color: #1c1e3f;">View all groups.</span>

</td><td width="95"><span style="color: #1c1e3f;">Yes</span>

</td><td width="76"><span style="color: #1c1e3f;">Yes</span>

</td><td width="75"><span style="color: #1c1e3f;">X</span>

</td></tr><tr><td width="463"><span style="color: #1c1e3f;">View own group and groups below, view group members.</span>

</td><td width="95"><span style="color: #1c1e3f;">Yes</span>

</td><td width="76"><span style="color: #1c1e3f;">Yes</span>

</td><td width="75"><span style="color: #1c1e3f;">X</span>

</td></tr><tr><td width="463"><span style="color: #1c1e3f;">Reset password group members.</span>

</td><td width="95"><span style="color: #1c1e3f;">Yes</span>

</td><td width="76"><span style="color: #1c1e3f;">X</span>

</td><td width="75"><span style="color: #1c1e3f;">X</span>

</td></tr><tr><td width="463"><span style="color: #1c1e3f;">View, lock/unlock, remove from the EndUser, assigned cards from own and group below.</span>

</td><td width="95"><span style="color: #1c1e3f;">Yes</span>

</td><td width="76"><span style="color: #1c1e3f;">Yes</span>

</td><td width="75"><span style="color: #1c1e3f;">X</span>

</td></tr><tr><td width="463"><span style="color: #1c1e3f;">Assign cards.</span>

</td><td width="95"><span style="color: #1c1e3f;">Yes</span>

</td><td width="76"><span style="color: #1c1e3f;">Yes</span>

</td><td width="75"><span style="color: #1c1e3f;">X</span>

</td></tr><tr><td width="463"><span style="color: #1c1e3f;">View approvals history from own group or group below.</span>

</td><td width="95"><span style="color: #1c1e3f;">Yes</span>

</td><td width="76"><span style="color: #1c1e3f;">Yes</span>

</td><td width="75"><span style="color: #1c1e3f;">Yes</span>

</td></tr><tr><td width="463"><span style="color: #1c1e3f;">View awaiting card assignment from group below.</span>

</td><td width="95"><span style="color: #1c1e3f;">Yes</span>

</td><td width="76"><span style="color: #1c1e3f;">Yes</span>

</td><td width="75"><span style="color: #1c1e3f;">Yes</span>

</td></tr><tr><td width="463"><span style="color: #1c1e3f;">Accept/decline approval from group below.</span>

</td><td width="95"><span style="color: #1c1e3f;">Yes</span>

</td><td width="76"><span style="color: #1c1e3f;">Yes</span>

</td><td width="75"><span style="color: #1c1e3f;">X</span>

</td></tr><tr><td width="463"><span style="color: #1c1e3f;">Edit existing approval from own group.</span>

</td><td width="95"><span style="color: #1c1e3f;">Yes</span>

</td><td width="76"><span style="color: #1c1e3f;">Yes</span>

</td><td width="75"><span style="color: #1c1e3f;">X</span>

</td></tr><tr><td width="463"><span style="color: #1c1e3f;">View all assigned cards and approvals.</span>

</td><td width="95"><span style="color: #1c1e3f;">Yes</span>

</td><td width="76"><span style="color: #1c1e3f;">Yes</span>

</td><td width="75"><span style="color: #1c1e3f;">X</span>

</td></tr><tr><td width="463"><span style="color: #1c1e3f;">View assigned cards and approvals for own group and groups below.</span>

</td><td width="95"><span style="color: #1c1e3f;">Yes</span>

</td><td width="76"><span style="color: #1c1e3f;">Yes</span>

</td><td width="75"><span style="color: #1c1e3f;">Yes</span>

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

<span style="color: #1c1e3f;">As may be seen from the table above, the main differences between admin and manager concern adding new operators to the corporation. In contrast, the context of a user is usually narrowed down to its own group or actions directly related to particular user-level operator.</span>

<span style="color: #1c1e3f;">The manager and user roles are fully configurable. It can contain decreasing privileges in comparison to Admin or completely different functionalities.</span>

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

<span style="color: #1c1e3f;">This is a role that guarantees full authority in the corporate context. It has access to manage the hierarchy of groups and portal operators. Corporate Administrator has a privilege to assign cards and has access to all the details of the corporation.</span>

<span style="color: #1c1e3f;">[![image-1676031241480.drawio.png](https://developer.verestro.com/uploads/images/gallery/2023-02/scaled-1680-/image-1676031241480-drawio.png)](https://developer.verestro.com/uploads/images/gallery/2023-02/image-1676031241480-drawio.png)</span>

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

<span style="color: #1c1e3f;">The role of manager in a corporation almost exactly matches with the administrator's capabilities. The difference is the inability to add new portal users and manage groups.</span>

#### Accountant

<span style="color: #1c1e3f;">The basic role in the corporation, should be assigned to a lower level user. Capabilities are limited to displaying cards from their own group and below and transactions. That means Accountant cannot view approvals from groups higher in the hierarchy and group section.</span>

### <span style="color: #1c1e3f;">Mobile user - Enduser</span>

<span style="color: #1c1e3f;">Flow of creating the mobile user account doesn’t depends on portal. End-user could install application and register without any invitation. Until the card is received from the system, it can use the mobile application capabilities. Only the assignment of the card binds him strongly to the system. Importantly, the code necessary to assign the card is sent to the phone number and e-mail address given by the portal operator on the assignment form, but the end user can redeem the code on any account (so on an account registered with different data than the one provided in the form). In such case it is required to provide the OTP code sent to the number from the form. As a result, the user can use one account for both private and corporate cards (but the authentication sent to the corporate data is required).</span>

<span style="color: #1c1e3f;">[![image-1676033094562.drawio.png](https://developer.verestro.com/uploads/images/gallery/2023-02/scaled-1680-/image-1676033094562-drawio.png)](https://developer.verestro.com/uploads/images/gallery/2023-02/image-1676033094562-drawio.png)</span>

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

<span style="color: #1c1e3f;">This section contains all push messages and email messages that are sent in the system.</span>

<span style="color: #1c1e3f;">The following breakdown was used:</span>

- <span style="color: #1c1e3f;">emails regarding the basic functionality of the portal and sent to the operator,</span>
- <span style="color: #1c1e3f;">emails concerning the business processes of the product and sent to the operator,</span>
- <span style="color: #1c1e3f;">emails regarding the product's business processes and sent from the end-user,</span>
- <span style="color: #1c1e3f;">push notifications sent to the end-user.</span>

### <span style="color: #1c1e3f;">Emails from Admin Panel to operator</span>

<table id="bkmrk-process-topic-detail"><tbody><tr><td bgcolor="#1C1E3F" style="width: 14.1188%;" width="353"><span style="color: #ecf0f1;">**Process**</span>

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

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

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

</td></tr><tr><td width="76"><span style="color: #1c1e3f;">Invitation to the system</span>

</td><td width="132"><span style="color: #1c1e3f;">Set password to administration panel</span>

</td><td width="320"><span style="color: #1c1e3f;">Hello!</span>

<span style="color: #1c1e3f;">You are receiving this e-mail because an account was created for you, and you need to set a new password.</span>

<span style="color: #1c1e3f;">&lt;button to set password&gt;</span>

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

<span style="color: #1c1e3f;">&lt;corporation&gt;</span>

</td><td width="180"><span style="color: #1c1e3f;">Standard email sent when portal operator added new operator.</span>

</td></tr><tr><td width="76"><span style="color: #1c1e3f;">Login process</span>

</td><td width="132"><span style="color: #1c1e3f;">Login code</span>

</td><td width="320"><span style="color: #1c1e3f;">Hello!</span>

<span style="color: #1c1e3f;">Your login code: &lt;code&gt;</span>

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

<span style="color: #1c1e3f;">&lt;corporation&gt;</span>

</td><td width="180"><span style="color: #1c1e3f;">Standard AP email sent when portal operator entered correct email and password.</span>

</td></tr><tr><td width="76"><span style="color: #1c1e3f;">Reset password</span>

</td><td width="132"><span style="color: #1c1e3f;">Reset password to administration panel</span>

</td><td width="320"><span style="color: #1c1e3f;">Hello!</span>

<span style="color: #1c1e3f;">You are receiving this mail because someone initialized password reset for your account. If it was not you, you can ignore this mail.</span>

<span style="color: #1c1e3f;">&lt;button to reset password&gt;</span>

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

<span style="color: #1c1e3f;">&lt;corporation&gt;</span>

</td><td width="180"><span style="color: #1c1e3f;">Standard Admin Panel email sent when portal operator uses "reset password" button on login page.</span>

<span style="color: #1c1e3f;">In Business Control also send when portal operator uses "reset password" action on staff member row.</span>

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

### <span style="color: #1c1e3f;">Emails from Business Control to operator</span>

<table id="bkmrk-process-topic-detail-0" style="width: 100%; height: 1698.98px;"><tbody><tr style="height: 31.7833px;"><td bgcolor="#1C1E3F" style="width: 14.7059%; height: 31.7833px;" width="353"><span style="color: #ecf0f1;">**Process**</span>

</td><td bgcolor="#1C1E3F" style="width: 21.132%; height: 31.7833px;" width="353"><span style="color: #ecf0f1;">**E-mail name**</span>

</td><td bgcolor="#1C1E3F" style="width: 20.5141%; height: 31.7833px;" width="353"><span style="color: #ecf0f1;">**Topic**</span>

</td><td bgcolor="#1C1E3F" style="width: 21.2545%; height: 31.7833px;" width="353"><span style="color: #ecf0f1;">**Details**</span>

</td><td bgcolor="#1C1E3F" style="width: 22.4924%; height: 31.7833px;" width="353"><span style="color: #ecf0f1;">**Comment**</span>

</td></tr><tr style="height: 326.4px;"><td style="width: 14.7059%; height: 326.4px;" width="76"><span style="color: #1c1e3f;">Approval</span>

</td><td style="width: 21.132%; height: 326.4px;"><span style="color: #1c1e3f;">**BC\_OPERATOR\_PENDING\_APPROVAL**</span>

</td><td style="width: 20.5141%; height: 326.4px;" width="132"><span style="color: #1c1e3f;">Request approval</span>

</td><td style="width: 21.2545%; height: 326.4px;" width="320"><span style="color: #1c1e3f;">Hello!</span>

<span style="color: #1c1e3f;">There is a pending request for a card with a limit greater than allowed in requestor's administration panel group.</span>

<span style="color: #1c1e3f;">Please log in for more detailed information.</span>

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

<span style="color: #1c1e3f;">&lt;corporation&gt;</span>

</td><td style="width: 22.4924%; height: 326.4px;" width="180"><span style="color: #1c1e3f;">Email sent to higher group operator when someone from group below wants to assign card with the limit exceeded group limit.</span>

</td></tr><tr style="height: 259.2px;"><td style="width: 14.7059%; height: 259.2px;" width="76"><span style="color: #1c1e3f;">Approval</span>

</td><td style="width: 21.132%; height: 259.2px;"><span style="color: #1c1e3f;">**BC\_OPERATOR\_APPROVAL\_ACCEPTED**</span>

</td><td style="width: 20.5141%; height: 259.2px;" width="132"><span style="color: #1c1e3f;">Approval accepted</span>

</td><td style="width: 21.2545%; height: 259.2px;" width="320"><span style="color: #1c1e3f;">Hello!</span>

<span style="color: #1c1e3f;">Your request to send card to &lt;email&gt; has been approved. You can check the details in the Administration panel.</span>

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

<span style="color: #1c1e3f;">&lt;corporation&gt;</span>

</td><td style="width: 22.4924%; height: 259.2px;" width="180"><span style="color: #1c1e3f;">Email sent to requestor when someone from group higher (who is able to accept this kind of limit) accepted the approval.</span>

</td></tr><tr style="height: 259.2px;"><td style="width: 14.7059%; height: 259.2px;" width="76"><span style="color: #1c1e3f;">Approval</span>

</td><td style="width: 21.132%; height: 259.2px;"><span style="color: #1c1e3f;">**BC\_OPERATOR\_APPROVAL\_CANCELLED**</span>

</td><td style="width: 20.5141%; height: 259.2px;" width="132"><span style="color: #1c1e3f;">Approval cancelled</span>

</td><td style="width: 21.2545%; height: 259.2px;" width="320"><span style="color: #1c1e3f;">Hello!</span>

<span style="color: #1c1e3f;">Your request to send card to &lt;email&gt; has been cancelled. You can check the details in the Administration panel.</span>

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

<span style="color: #1c1e3f;">&lt;corporation&gt;</span>

</td><td style="width: 22.4924%; height: 259.2px;" width="180"><span style="color: #1c1e3f;">Email sent to requestor when someone from group cancelled the approval.</span>

</td></tr><tr style="height: 259.2px;"><td style="width: 14.7059%; height: 259.2px;" width="76"><span style="color: #1c1e3f;">Approval</span>

</td><td style="width: 21.132%; height: 259.2px;"><span style="color: #1c1e3f;">**BC\_OPERATOR\_APPROVAL\_REJECTED**</span>

</td><td style="width: 20.5141%; height: 259.2px;" width="132"><span style="color: #1c1e3f;">Approval rejected</span>

</td><td style="width: 21.2545%; height: 259.2px;" width="320"><span style="color: #1c1e3f;">Hello!</span>

<span style="color: #1c1e3f;">Your request to send card to &lt;email&gt; has been rejected. You can check the details in the Administration panel.</span>

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

<span style="color: #1c1e3f;">&lt;corporation&gt;</span>

</td><td style="width: 22.4924%; height: 259.2px;" width="180"><span style="color: #1c1e3f;">Email sent to requestor when someone from group higher (who is able to accept this kind of limit) rejected the approval.</span>

</td></tr><tr style="height: 259.2px;"><td style="width: 14.7059%; height: 259.2px;" width="76"><span style="color: #1c1e3f;">Approval</span>

</td><td style="width: 21.132%; height: 259.2px;"><span style="color: #1c1e3f;">**BC\_OPERATOR\_APPROVAL\_CARD\_CHANGED**</span>

</td><td style="width: 20.5141%; height: 259.2px;" width="132"><span style="color: #1c1e3f;">Approval card changed</span>

</td><td style="width: 21.2545%; height: 259.2px;" width="320"><span style="color: #1c1e3f;">Hello!</span>

<span style="color: #1c1e3f;">Card changed on your request to send card to &lt;email&gt;. You can check the details in the Administration panel.”</span>

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

<span style="color: #1c1e3f;">&lt;corporation&gt;</span>

</td><td style="width: 22.4924%; height: 259.2px;" width="180"><span style="color: #1c1e3f;">Sent in the rare case when card have to be changed to meet the requirements (original card has expiration date earlier than approval end date).</span>

</td></tr><tr style="height: 304px;"><td style="width: 14.7059%; height: 304px;" width="76"><span style="color: #1c1e3f;">Mobile reapproval</span>

</td><td style="width: 21.132%; height: 304px;"><span style="color: #1c1e3f;">**BC\_OPERATOR\_PENDING\_MOBILE\_APPROVAL**</span>

</td><td style="width: 20.5141%; height: 304px;" width="132"><span style="color: #1c1e3f;">Request to change limits from mobile</span>

</td><td style="width: 21.2545%; height: 304px;" width="320"><span style="color: #1c1e3f;">Hello!</span>

<span style="color: #1c1e3f;">There is a pending request to change card limits from mobile application for a card &lt;last4digits&gt;.</span>

<span style="color: #1c1e3f;">Please log in for more detailed information.</span>

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

<span style="color: #1c1e3f;">&lt;corporation&gt;</span>

</td><td style="width: 22.4924%; height: 304px;" width="180"><span style="color: #1c1e3f;">Email sent to requestor when mobile end-user sent request for changing the limit.</span>

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

### <span style="color: #1c1e3f;">Emails from Business Control to end-user</span>

<table id="bkmrk-process-topic-detail-1" style="width: 100.37%; height: 1591.17px;"><tbody><tr style="height: 35.3906px;"><td bgcolor="#1C1E3F" style="width: 14.958%; height: 35.3906px;" width="353"><span style="color: #ecf0f1;">**Process**</span>

</td><td bgcolor="#1C1E3F" style="width: 21.3741%; height: 35.3906px;" width="353"><span style="color: #ecf0f1;">**E-mail name**</span>

</td><td bgcolor="#1C1E3F" style="width: 20.7612%; height: 35.3906px;" width="353"><span style="color: #ecf0f1;">**Topic**</span>

</td><td bgcolor="#1C1E3F" style="width: 21.5027%; height: 35.3906px;" width="353"><span style="color: #ecf0f1;">**Details**</span>

</td><td bgcolor="#1C1E3F" style="width: 21.5027%; height: 35.3906px;" width="353"><span style="color: #ecf0f1;">**Comment**</span>

</td></tr><tr style="height: 393.641px;"><td style="width: 14.958%; height: 393.641px;" width="76"><span style="color: #1c1e3f;">Card received</span>

</td><td style="width: 21.3741%; height: 393.641px;"><span style="color: #1c1e3f;">**BC\_USER\_PENDING\_CARD**</span>

</td><td style="width: 20.7612%; height: 393.641px;" width="132"><span style="color: #1c1e3f;">A payment card has been assigned to you.</span>

</td><td style="width: 21.5027%; height: 393.641px;" width="320"><span style="color: #1c1e3f;">Hello!</span>

<span style="color: #1c1e3f;">To se the card, you must have the &lt;corporation&gt; Wallet application installed and an account created. Using this code in the application, you can assign the card to your account - &lt;activationCode&gt;. After this action you will be able to use all features of the application and make payments.</span>  
  
<span style="color: #1c1e3f;">Regards,</span>  
<span style="color: #1c1e3f;">&lt;corporation&gt;</span>

</td><td style="width: 21.5027%; height: 393.641px;" width="180"><span style="color: #1c1e3f;">Email sent to end-user every time when new card has been assigned.</span>

</td></tr><tr style="height: 371.25px;"><td style="width: 14.958%; height: 371.25px;" width="76"><span style="color: #1c1e3f;">Card adding</span>

</td><td style="width: 21.3741%; height: 371.25px;"><span style="color: #1c1e3f;">**BC\_USER\_NEW\_CARD**</span>

</td><td style="width: 20.7612%; height: 371.25px;" width="132"><span style="color: #1c1e3f;">A new card has been added to your account.</span>

</td><td style="width: 21.5027%; height: 371.25px;" width="320"><span style="color: #1c1e3f;">Hello!</span>

<span style="color: #1c1e3f;">You are receiving this mail because a card provided by &lt;corporation&gt; has been added to you account. Through the &lt;corporation&gt;Wallet application you can monitor your available balance and completed transaction on an ongoing basis.</span>

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

<span style="color: #1c1e3f;">&lt;corporation&gt;</span>

</td><td style="width: 21.5027%; height: 371.25px;" width="180"><span style="color: #1c1e3f;">Email sent to end-user when card has been properly added to the account.</span>

</td></tr><tr style="height: 326.469px;"><td style="width: 14.958%; height: 326.469px;" width="76"><span style="color: #1c1e3f;">Card expiring</span>

</td><td style="width: 21.3741%; height: 326.469px;"><span style="color: #1c1e3f;">**BC\_USER\_CARD\_EXPIRING**</span>

</td><td style="width: 20.7612%; height: 326.469px;" width="132"><span style="color: #1c1e3f;">The temporary card issued by &lt;corporation&gt; will soon expire.</span>

</td><td style="width: 21.5027%; height: 326.469px;" width="320"><span style="color: #1c1e3f;">Hello!</span>

The temporary card issued to you by &lt;corporation&gt; will soon be no longer available for use.

The card &lt;last4digits&gt; will be removed from your account.

You do not need to take any action, this email is for awareness only.

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

<span style="color: #1c1e3f;">&lt;corporation&gt;</span>

</td><td style="width: 21.5027%; height: 326.469px;" width="180"><span style="color: #1c1e3f;">Email sent to end-user when assigned card expiration date is approaching (cancelled, locked, removed or just expired).</span>

</td></tr><tr style="height: 35.3906px;"><td style="width: 14.958%; height: 35.3906px;"><span style="color: #1c1e3f;">Card expired</span>

</td><td style="width: 21.3741%; height: 35.3906px;"><span style="color: #1c1e3f;">**BC\_USER\_CARD\_EXPIRED**</span>

</td><td style="width: 20.7612%; height: 35.3906px;"><span style="color: #1c1e3f;">Card expired.</span>

</td><td style="width: 21.5027%; height: 35.3906px;"><span style="color: #1c1e3f;">Hello!</span>

<span style="color: #1c1e3f;">The card with the last 4 digits &lt;last\_4\_digits&gt; issued by &lt;corporation&gt; has expired. This email is for informational purposes only and you do not need to take any action.</span>

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

<span style="color: #1c1e3f;">&lt;corporation&gt;</span>

</td><td style="width: 21.5027%; height: 35.3906px;"><span style="color: #1c1e3f;">Email sent to end-user when assigned card is expired.</span>

</td></tr><tr style="height: 147.344px;"><td style="width: 14.958%; height: 147.344px;"><span style="color: #1c1e3f;">Card locked</span>

</td><td style="width: 21.3741%; height: 147.344px;"><span style="color: #1c1e3f;">**BC\_USER\_CARD\_LOCKED**</span>

</td><td style="width: 20.7612%; height: 147.344px;"><span style="color: #1c1e3f;">Your card has been locked.</span>

</td><td style="width: 21.5027%; height: 147.344px;"><span style="color: #1c1e3f;">Your card &lt;last4digits&gt; issued by <tt>&lt;corporation&gt; </tt>has been blocked.</span>  
  
<span style="color: #1c1e3f;">Regards,</span>  
<span style="color: #1c1e3f;">&lt;corporation&gt;</span>

</td><td style="width: 21.5027%; height: 147.344px;"><span style="color: #1c1e3f;">Email sent to end-user when assigned card is locked.</span>

</td></tr><tr style="height: 281.688px;"><td style="width: 14.958%; height: 281.688px;" width="76"><span style="color: #1c1e3f;">New T&amp;C</span>

</td><td style="width: 21.3741%; height: 281.688px;"><span style="color: #1c1e3f;">**BC\_USER\_PENDING\_TERMS\_AND\_CONDITIONS**</span>

</td><td style="width: 20.7612%; height: 281.688px;" width="132"><span style="color: #1c1e3f;">New terms and conditions.</span>

</td><td style="width: 21.5027%; height: 281.688px;" width="320"><span style="color: #1c1e3f;">Hello!</span>

<span style="color: #1c1e3f;">There are pending Terms and Conditions for acceptance.</span>

<span style="color: #1c1e3f;">To keep receiving cards from Issuer, please log in and accept pending Terms and Conditions.</span>

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

<span style="color: #1c1e3f;">&lt;corporation&gt;</span>

</td><td style="width: 21.5027%; height: 281.688px;" width="180"><span style="color: #1c1e3f;">Email sent to end-user when Issuer updated the T&amp;C and an end-user action is required to obtain a new card.</span>

<span style="color: #1c1e3f;">This email is send only when a new card is assigned. Even if Issuer changed T&amp;C before and no card has been assigned the email shouldn't be send.</span>

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

### <span style="color: #1c1e3f;">Push notifications from Business Control to end-user</span>

<table id="bkmrk-process-topic-detail-2" style="width: 100.123%;"><tbody><tr><td bgcolor="#1C1E3F" style="width: 24.9929%;" width="353"><span style="color: #ecf0f1;">**Process**</span>

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

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

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

</td></tr><tr><td style="width: 24.9929%;" width="76"><span style="color: #1c1e3f;">Card redemption </span>

</td><td style="width: 24.9929%;" width="132"><span style="color: #1c1e3f;">New card.</span>

</td><td style="width: 24.9929%;" width="320"><span style="color: #1c1e3f;">A card has been assigned to your account. Check the budget details in the app.</span>

</td><td style="width: 24.9929%;" width="180"><span style="color: #1c1e3f;">Push notification sent to end-user when a new card has been assigned to logged account.</span>

</td></tr><tr><td style="width: 24.9929%;" width="76"><span style="color: #1c1e3f;">Mobile approval</span>

</td><td style="width: 24.9929%;" width="132"><span style="color: #1c1e3f;">Mobile request to change limits reviewed and accepted.</span>

</td><td style="width: 24.9929%;" width="320"><span style="color: #1c1e3f;">Your request to change card limits has been reviewed and accepted. Details are available on alerts screen within mobile application.</span>

</td><td style="width: 24.9929%;" width="180"><span style="color: #1c1e3f;">Push notification sent to end-user when a mobile request to change limits has been reviewed to operator from original group and group higher. Basically send when double-check on portal has been made.</span>

<span style="color: #1c1e3f;">This case is only possible when the requested limit exceeded the original group limit.</span>

</td></tr><tr><td style="width: 24.9929%;" width="76"><span style="color: #1c1e3f;">Mobile approval</span>

</td><td style="width: 24.9929%;" width="132"><span style="color: #1c1e3f;">Mobile request to change limits rejected.</span>

</td><td style="width: 24.9929%;" width="320"><span style="color: #1c1e3f;">Your request to change the assigned card limits has been rejected. Details are available on alerts screen within mobile application.</span>

</td><td style="width: 24.9929%;" width="180"><span style="color: #1c1e3f;">Push notification sent to end-user when a mobile request to change limits has been rejected.</span>

</td></tr><tr><td style="width: 24.9929%;" width="76"><span style="color: #1c1e3f;">Mobile approval</span>

</td><td style="width: 24.9929%;" width="132"><span style="color: #1c1e3f;">Mobile request to change limits accepted.</span>

</td><td style="width: 24.9929%;" width="320"><span style="color: #1c1e3f;">Your request to change the assigned card limits has been accepted. Details are available on alerts screen within mobile application.</span>

</td><td style="width: 24.9929%;" width="180"><span style="color: #1c1e3f;">Push notification sent to end-user when a mobile request to change limits has been accepted.</span>

</td></tr><tr><td style="width: 24.9929%;" width="76"><span style="color: #1c1e3f;">Transcation</span>

</td><td style="width: 24.9929%;" width="132"><span style="color: #1c1e3f;">Transaction declined.</span>

</td><td style="width: 24.9929%;" width="320"><span style="color: #1c1e3f;">Card ending &lt;last4digits&gt;; Purchase of &lt;currency&amp;amount&gt; was attempted at &lt;merchant&gt; and declined per your settings.</span>

</td><td style="width: 24.9929%;" width="180"><span style="color: #1c1e3f;">Push notification sent to end-user when a transaction has been declined during processing.</span>

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

## <span style="color: #1c1e3f;">Business Logic and Groups</span>

<span style="color: #1c1e3f;">This section contains all necessary information about key business processes in the system.</span>

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

<span style="color: #1c1e3f;">The group hierarchy always has a tree structure with one top group named Root Group. Other groups are below in the hierarchy and there can be unlimited of them on each level. There is no limit of levels or branches.</span>

<span style="color: #1c1e3f;">![](https://developer.verestro.com/uploads/images/gallery/2022-06/embedded-image-k8j3zte7.png)</span>

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

<span style="color: #1c1e3f;">To understand group limits, it is important to remember that these limits are related only to the card assignment process itself. They have no direct relationship to the corporation's limits. They are used to limit the ability to assign cards within the organization structure.</span>

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

<span style="color: #1c1e3f;">![](https://developer.verestro.com/uploads/images/gallery/2022-06/embedded-image-la26axxb.png)</span>

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

- <span style="color: #1c1e3f;">Approval Limit - This limit determines the maximum amount with which anyone in the group can assign a card to a user.</span>
- <span style="color: #1c1e3f;">Spend Limit - This limit determines the maximum amount on a card that can be accepted in a given group if an assignment confirmation request comes in from a group with a lower limit.</span>
- <span style="color: #1c1e3f;">Cumulative limit cannot exceed Spend limit of group from which the card is assigned. If Cumulative limit during assigning to the card exceeds Spend limit then card request will send to right parent group to approve.</span>
- <span style="color: #1c1e3f;">PO group has Approval limit 500 and Spend limit 500.</span>
- <span style="color: #1c1e3f;">PO Junior group has Approval limit 200 and Spend limit 200 also.</span>

<table id="bkmrk-case-description-res"><tbody><tr><td bgcolor="#1C1E3F" style="width: 14.1188%;" width="353"><span style="color: #ecf0f1;">**Case**</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: #ecf0f1;">**Result**</span>

</td></tr><tr><td width="110"><span style="color: #1c1e3f;">1 – green path</span>

</td><td width="336"><span style="color: #1c1e3f;">User from PO Junior group wants to assign card with limit 200 to enduser.</span>

</td><td width="262"><span style="color: #1c1e3f;">It is possible without additional confirmation.</span>

</td></tr><tr><td width="110"><span style="color: #1c1e3f;">2 – yellow path (direct group above)</span>

</td><td width="336"><span style="color: #1c1e3f;">User from PO Junior group wants to assign card with limit 300 to enduser. It is possible with additional confirmation from higher group (group with Approval limit higher or equal to 300).</span>

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

</td><td width="262"><span style="color: #1c1e3f;">Approval goes to PO group after the creation to get the confirmation.</span>

</td></tr><tr><td width="110"><span style="color: #1c1e3f;">3 - yellow path (another group above)</span>

</td><td width="336"><span style="color: #1c1e3f;">User from PO Junior group wants to assign card with limit 600 to enduser. It is possible with additional confirmation from higher group (group with Approval limit higher or equal to 600).</span>

</td><td width="262"><span style="color: #1c1e3f;">Approval goes to group which could accept the limit (higher the PO group).</span>

</td></tr><tr><td width="110"><span style="color: #1c1e3f;">4 – red path (no group to handle)</span>

</td><td width="336"><span style="color: #1c1e3f;">User from PO Junior group wants to assign card with limit 1600 to enduser. It is possible with additional confirmation from higher group (group with Approval limit higher or equal to 1600). In the group structure there’s no group with possibility to handle this limit.</span>

</td><td width="262"><span style="color: #1c1e3f;">Card assignment has been declined.</span>

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

### <span style="color: #1c1e3f;">Card assignment statuses (approval statuses)</span>

<span style="color: #1c1e3f;">The table below contains all approval statuses that can occur in the system. Each status is described by a definition of occurrence. Knowledge of the table contents is necessary to understand the next two subsections.</span>

<table id="bkmrk-status-description-c" style="width: 87.5309%; height: 510.734px;"><tbody><tr style="height: 35.3906px;"><td bgcolor="#1C1E3F" style="width: 14.1188%;" width="353"><span style="color: #ecf0f1;">**Status**</span>

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

</td></tr><tr style="height: 57.7969px;"><td style="width: 15.5367%; height: 57.7969px;" width="110"><span style="color: #1c1e3f;">CREATED</span>

</td><td style="width: 84.4633%; height: 57.7969px;" width="598"><span style="color: #1c1e3f;">When an Approval is created with a limit higher than the group of the person creating it but lower than the group limit above.</span>

</td></tr><tr style="height: 80.1875px;"><td style="width: 15.5367%; height: 80.1875px;" width="110"><span style="color: #1c1e3f;">ACCEPTED</span>

</td><td style="width: 84.4633%; height: 80.1875px;" width="598"><span style="color: #1c1e3f;">When an Approval is created with a lower limit than the creator's group OR accepted by a higher group. **It changes to DELIVERED status after registration is complete and card is redeemed by end-user.** </span>

</td></tr><tr style="height: 57.7969px;"><td style="width: 15.5367%; height: 57.7969px;" width="110"><span style="color: #1c1e3f;">CANCELED</span>

</td><td style="width: 84.4633%; height: 57.7969px;" width="598"><span style="color: #1c1e3f;">When an Approval with status CREATED, ACCEPTED or PREPARED is cancelled by the anyone from creator group.</span>

</td></tr><tr style="height: 35.3906px;"><td style="width: 15.5367%; height: 35.3906px;" width="110"><span style="color: #1c1e3f;">REJECTED</span>

</td><td style="width: 84.4633%; height: 35.3906px;" width="598"><span style="color: #1c1e3f;">When an Approval with status CREATED is rejected by the group above.</span>

</td></tr><tr style="height: 57.7969px;"><td style="width: 15.5367%; height: 57.7969px;" width="110"><span style="color: #1c1e3f;">EXPIRED</span>

</td><td style="width: 84.4633%; height: 57.7969px;" width="598"><span style="color: #1c1e3f;">When an Approval with the status CREATED is not accepted/rejected or status is ACCEPTED but the card has not been redeemed by end-user within the given Approval time (until the end of the ValidTo date).</span>

</td></tr><tr style="height: 57.7969px;"><td style="width: 15.5367%; height: 57.7969px;" width="110"><span style="color: #1c1e3f;">PREPARED</span>

</td><td style="width: 84.4633%; height: 57.7969px;" width="598"><span style="color: #1c1e3f;">When approval has been ACCEPTED, redeemed by the end-user and is waiting for the start of the Approval.</span>

</td></tr><tr style="height: 57.7969px;"><td style="width: 15.5367%; height: 57.7969px;" width="110"><span style="color: #1c1e3f;">DELIVERED</span>

</td><td style="width: 84.4633%; height: 57.7969px;" width="598"><span style="color: #1c1e3f;">When an Approval is accepted and CARD REDEMPTION is created, the process of issuing the card to the end user is triggered.</span>

</td></tr><tr style="height: 35.3906px;"><td style="width: 15.5367%; height: 35.3906px;" width="110"><span style="color: #1c1e3f;">FINISHED</span>

</td><td style="width: 84.4633%; height: 35.3906px;" width="598"><span style="color: #1c1e3f;">When an Approval with status DELIVERED exceeds the end date of assignment.</span>

</td></tr><tr style="height: 35.3906px;"><td style="width: 15.5367%; height: 35.3906px;" width="110"><span style="color: #1c1e3f;">REAPPROVED</span>

</td><td style="width: 84.4633%; height: 35.3906px;" width="598"><span style="color: #1c1e3f;">When a reapproval is created for a given Approval that is in Accepted/Delivered status.</span>

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

</td><td style="width: 84.4633%;"><span style="color: #1c1e3f;">This is a status of a **card (not an approval)** but we display it on the diagram below to show that Delivered is the only state of a approval on which we have action to lock and unlock card. </span>

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

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

<span style="color: #1c1e3f;">The diagram below shows Approval's state machine - that is, the states it can reach and the sequence of changing states.</span>

<span style="color: #1c1e3f;">[![image-1663760509900.png](https://developer.verestro.com/uploads/images/gallery/2022-09/scaled-1680-/image-1663760509900.png)](https://developer.verestro.com/uploads/images/gallery/2022-09/image-1663760509900.png)</span>

<span style="color: #1c1e3f;">Actions available on approvals:</span>

- <span style="color: #1c1e3f;">Created: Accept, Reject, Edit, Cancel.</span>
- <span style="color: #1c1e3f;">Accepted: Cancel.</span>
- <span style="color: #1c1e3f;">Preprared: Cancel.</span>
- <span style="color: #1c1e3f;">Delivered: Lock, Unassign, Edit.</span>
- <span style="color: #1c1e3f;">Locked: Unlock.</span>
- <span style="color: #1c1e3f;">Rejected: —</span>
- <span style="color: #1c1e3f;">Expired: — </span>
- <span style="color: #1c1e3f;">Finished: — </span>

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

- <span style="color: #1c1e3f;">**Accept** and **Reject** are available only when the request to change the limits comes from a mobile user from the same group OR when the approval creator has added an approval with an amount exceeding the group's limit.</span>
- <span style="color: #1c1e3f;">**Cancel** is available to approval creator and operators from creator group. The group above does not see Cancel.</span>
- <span style="color: #1c1e3f;">**Edit** is available to operators from creator group and operators from groups higher in the hierarchy.</span>

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

<span style="color: #1c1e3f;">The way approvals are organized in flow is one line of transition from the first to the last correctly created (created) or delivered to the end user (delivered). This line can be followed by "next" and "previous". There can be branches from the main line - canceled, rejected, expired, but it is not possible to get to them via "next". There's no possibility to make a reapproval from status finished.</span>

<span style="color: #1c1e3f;">![](https://developer.verestro.com/uploads/images/gallery/2022-06/embedded-image-y0h5tjyu.png)</span>

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

<span style="color: #1c1e3f;">A card as an entity used to create a specific assignment can have different status in the system, depending on the state it is in.</span>

<table id="bkmrk-status-description-v"><tbody><tr><td bgcolor="#1C1E3F" style="width: 14.1188%;" width="353"><span style="color: #ecf0f1;">**Status**</span>

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

</td></tr><tr><td width="141"><span style="color: #1c1e3f;">Verified/Active</span>

</td><td width="567"><span style="color: #1c1e3f;">This means that the card has been correctly added to the system and can be used by assigning it to an end user.</span>

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

</td><td width="567"><span style="color: #1c1e3f;">This status indicates that the card has been manually blocked by the portal operator. There is no automated process in the system that results in the status changing to locked.</span>

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

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

<table id="bkmrk-status-description-a"><tbody><tr><td bgcolor="#1C1E3F" style="width: 14.1188%;" width="353"><span style="color: #ecf0f1;">Status</span>

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

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

</td><td width="567"><span style="color: #1c1e3f;">Transaction has been authorized by the Issuer.</span>

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

</td><td width="567"><span style="color: #1c1e3f;">Transaction has been declined by the Issuer.</span>

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

</td><td width="567"><span style="color: #1c1e3f;">Transaction has been cleared by the Issuer.</span>

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

</td><td width="567"><span style="color: #1c1e3f;">Transaction has been reversed by the Issuer.</span>

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