This document described the integration with Fortress, where Fortress is handled as an access control interface AND as external printer interface.
This integration is currently planned and has been delivered.
General Principle
Fortress GB is an access control system deployed by many UK football clubs.
It provides SecuTix clients with two basic sets of functionalities.
An access control system
Fortress GB is handling access control at the gates with a strong limitation:
Fortress GB does not handle retrieval of controlled tickets. The controlled status of the tickets cannot be retrieved in SecuTix.
An external printing system
Fortress is printing the RFID cards for season tickets for SecuTix clients, with two main cases:
- Direct printing at the box-office on "real" printers
- Mass printing on "virtual" printers (ticket data are only sent to Fortress)
- JNO : Mass printing on "real" printers ? (not covered)
Setup
Fortress being two systems in once in SecuTix point of view, we need to set up two external interfaces: an access control interface and an external printer interface.
It also provides smart barcode functionality that you must activate.
Smart barcode
To activate the smart barcode (encrypted barcode understood by Fortress scanners), go in the organization screen and select "Access control type: Fortress GB"
It will generate a Fortress barcode for all the tickets linked to a seat linked to an area mapped to Fortress through an access control mapping (see below). Else it will generate a Date SecuTix barcode.
Concession barcode
Fortress tickets may have two barcodes, one being the concession barcode, displayed in template using key exr_fortress_concession_barcode
To have this concession barcode please follow the following setup: set the parameter Concession tariff id in the interface with the integer id provided by Fortress support.
It is also possible to override this id for a given tariff by modifying its mapping, setting an external id with a WW_DD_DD structure (code + id1 + id2), id2 being the id of the concession tariff, to be provided by Fortress Team.
Important: if neither of these two methods is used, the concession Barcode will not be generated, but the ticket purchase will still work.
This new barcode will be stored in an external reference related to the movement. It can be seen in the ticket details screen.
Access control
Create an access control interface of type "Fortress GB"
Fill the following values, which should all be provided by the client or by his Fortress provider.
- Url → remember to have the url authorized /wiki/spaces/IDOCFR/pages/42209524.
- Login
- password
- Agency code
- AppId
- API key
All of them are mandatory.
Then fill the following mappings.
Fill area and block mappings, for every area and block of the stadium/venue that will be controlled by Fortress.
Check that the physical configuration code is the same as the stadium code defined in Fortress.
Check that the entrances' codes are the same as the gate codes defined in Fortress.
(JNO : Why we did not ask Uzi about automating these mappings creation ?)
Schedule
Create a schedule running every 5' for each event that you plan to have controlled through Fortress.
Validation
Sell a ticket for each stand of the venue, wait for 5', check that those tickets can pass the gate in Fortress.
Refund a ticket, wait for 5', check that it cannot pass the gate in Fortress.
In case it where not working, check the error logs in the executions and work out until the tickets are accepted/are refused at the gates.
External printer interface
The goal of this interface is to print season tickets. It only works with season tickets.
Create at least one "Fortress GB" printer for a workstation
Create an hardware record Card printer/Fortress GB printer for the workstation that will effectively print the season tickets. Take note of its logical name.
Create an external printing interface of type "Fortress GB"
Fill the following values, which should all be provided by the client or by his Fortress provider. Those are the same one as for the access control interface (but you MUST replicate them here)
- Url → remember to have the url authorized /wiki/spaces/IDOCFR/pages/42209524.
- Login
- password
- Agency code
- AppId
- API key
All of them are mandatory.
Other values
Fill the value "Parent Interface", and select the access control interface created before. It will allow the printing interface to retrieve mappings from the parent interface.
Fill the values "sales channel code/point of sales code", to define which point of sale will do the virtual printing.
Fill the value "printer names for direct printing" with the logical names (separated by commas) of all the printers that will be directed to Fortress for direct printing.
Then fill the following mappings.
Fill a product mapping in the access control interface for every season ticket that will need to be printed in Fortress. (the product must be created in Fortress in parallel)
The fact that the access control interface is the parent interface makes it owner of all the mappings.
Schedule
Create a manual schedule for virtual printing of tickets.
Validation
Sell a season ticket mapped to Fortress and print it on the Fortress printer. It must be printed by the Fortress printer (check in the execution logs for errors if it does not print)
Validation 2
Add an additional match on this season ticket, wait for 5' and see if the ticket can pass the gate (it should). If it does not pass, check in the access control logs to find the error.
Mapping of concepts
SecuTix concept | Fortress GB concept | Mapping data type | Mapped value |
---|---|---|---|
Performance | ProductDescription. | Performance | Product description's code |
Season Ticket | ProductDescription | Product | Product description's code |
Tariff | Price band | Audience sub category | Price band code |
Physical configuration | Stadium | Physical configuration | Stadium code |
Area | Stand | Area | Stand code |
Block | Area | Block | Block code |
Entrance | Service | NA | NA |
Beware : Fortress GB is not the same system as the Fortress (=StadAccess) used at Stade de France. Although they are related (they are both access control systems), their behavior in SecuTix is entirely different.