Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Next »

This document described the integration with Fortress, where Fortress is handled as an access control interface AND as external printer interface.

This integration 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)


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 Inerface:

Set up

Create an access control interface of type "Fortress GB"

New Interface →  Control Interface →  Fortress GB Control Plugin

Fill the values on the previous image, which should all be provided by the client or by his Fortress provider.

For the URL → remember to have the URL authorized through Secutix proxy.

A new parameter has been added to identify club through member ID´s in Season cards. That will modify the Ticket mumber format, as it will contain, first what is on the new parameter field followed by "-" and then ticket ID. See Image below:

 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.

Important: Mapping of Concepts

Complex mappings: use both codes and ids

When creating a new mapping for performance, tariff, entrance and season, please use the following format in the external ID to avoid errors:

Codes and ids are provided by Fortress team.

Advanced: useful Webservices to know Fortress IDs

For people expert in using postman, it is possible to get codes, ids or even create some entities using Fortress Webservices.

Tariffs: Get Price Band List (POST)

Name: PriceBandList

Description: get a list of all aviabable price bands code on the Fortress Database

Request URL: http://{endpoint}/api/Products/PriceBandList/

 Performances: Getproductlist (POST)

Name: ProductList

Description: Return a list of products available on the fortress server

Request URL: http://{endpoint}/api/Products/ProductList/

 Entrances: Get Service List (POST)

Name: ServiceList

Description: Return a list of Services available on the fortress server

Request URL: http://{endpoint}/api/Products/ServiceList/

Schedule

There are two functions in the schedules in the Access control interface developed for v2: Synchronize Tickets and retrieve controlled tickets. For this fortress set up, add just synchronize tickets.

Configuration

Launch: Manual or Automatic

Batch size: 100 default

Event and performance: follow the formatà eventCode;DD/MM/YY hh:mm (24hours format)

Extract Fortress actual active data for comparison (do not use systematically): If it is active, Secutix system  call Fortress webservice  for a specific  match(indicated on the previous parameter) which will compare all the tickets from Secutix and fortress (valid or invalid)

Skip tickets: If the ticket is in Secutix list but not in Fortress, It will be included and sent to Fortress, If it is already on fortress list, it will be skipped, no further actions will be executed. Operator can select tickets to avoid sync with fortress. This ticket will always be ignored on the calls to fortress WS.

Search ticket Parameter format

Cancelled tickets are flagged as error and are not flagged as “synchronized” . A change has been made so that is not an error, it is just a warning in the log lines.

Important

Please make sure that this function is executed at least 2 days before the match, on automatic basis every 20 minutes. In case there are errors, read the log lines and contact support, please provide all the available information.

External Printing System

The goal of this interface is to print season tickets. It will not work with a different product e.g. a ticket for a specific match.

Set up

Create at least one "Fortress GB" printer for a workstation

Organization →  Initialization →  Workstations

Create a 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"

New Interface →  External Printing Interface → Printing Interface Fortress GB

Fill the 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  It is MANDATORY to replicate them here)

  • Url → remember to have the url authorized through SecuTix proxy.
  • 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.

 

Schedules

There are 2 schedules within this External Printing Interface, both of them for Season Tickets:

  1. Import Card Number.
  2. Ticket External Printing.

Import Card Number


Launch: Manual

Batch size: 1

Product printables: Select season tickets for current season

Tickets external printing

Launch: Manual

Batch size: 1

Product printables: Select season tickets for current season

Access control interface - frequent error message

Due to the complexity of the interface and the integration and the absence of idempotency, the following error messages are likely to show up.

MessageCauseAction
[External error] Ticket with id 101729574868 [Barcode: 676852034024835003760168] could not be synchronized. The expected ACN is 7063357 but the one received is 7063358. Please open a Support ticket.

Consequences of a legacy bug in barcode generation. Some wrong ACN are still in the database, but we cannot identify them in advance.




Will be definitely solved with that JIRA STX-130152 - Getting issue details... STATUS

In between, execute the following script:

Ticket with id ticketId [Barcode: xxxxxx] could not be synchronized. The expected ACN is expectedACN  but the one received is 7063358. (----).

update ticket set additionnal_info='ACN=expectedACN' where ticket_id=ticketId;
TicketID 101835793445 could not be synchronized due to error: H For ProductCode T23C02-1 GameNumber is 179 but GameNumber extracted from the barcode is 180The ID mapping of the performance did change between the time when the barcode was generated and the time when the synchronization occurred
  1. Add the id to the list of skipped ids
  2. Have the operators reprint the ticket
  3. Communicate to the operators the importance of having the ID mappings rightly set up

[External error] Ticket with id 101812059516 [Barcode: 251146686039192242229055,Container Identifier: 244242,MemberID: 30034444] could not be synchronized due to the provided Membership ID was not found in the Fortress System. Please open a support ticket to investigate this issue.

Data issue, member id is missing in additionnal_info table.


  1. Fix this by script (not needed after this jira)
[External error] Ticket with id 101853377597 [Barcode: 070056601236163218016034,Container Identifier: 245819] could not be synchronized due to multiple card with the same Member Id. Ask Fortress support to fix this on their side.Bad error message, will be fixed to add the ticket id.
  1. Fix this by script (not needed after this jira)
Warning: product T23C02-1 could not be synchronized due to error: H Membership is not Active (FGB_Web)This error message is due to the fact that the tickets has already been synced when V1 of the interface was active.
  1. Do nothing



Frequent Asked Questions (FAQ)

Why are Tickets compared between Secutix and Fortress?

The new parameter which compares a list of tickets between Secutix and Fortress within the synchronize tickets schedule in Access Control Interface (Please refer to Ticket Synchronization schedule) has been created because none of the Fortress Services are idempotent. That means that, when calling a Fortress Webservice in multiple occasion, execution will fail because tickets would have been added previously to FT system

How does work the parameter to synchronize tickets for a specific match?

 The mandatory parameter, located on the Access Control Interface (Synchronize ticket schedule) “Event and performance” to synchronize ticket for a match follows the format: eventCode;DD/MM/YY hh:mm

  • Be aware that time format is 24 hours.
  • EventCode must match with the code given when creating that match

Filtering by this parameter, just tickets from the specific match will be called in Fortress System.

Why is a ticket not present in Fortress when I print it during the purchase order, as it was the case with V1?

Even if a ticket has been printed on Secutix while a purchase has been completed, operator will need to use access control  interface and synchronise the tickets to call Fortress system and push the ticket on FT system. This will allow Secutix to communicate fortress that a ticket has been sold for the chosen match.

How Can I validate that Access control Interface is working properly?

1.Sell a ticket for each stand (STX = Area) of the venue, wait depending of Schedule synchronization ticket, check that those tickets can pass the gate in Fortress.

2.Refund a ticket, wait depending of Schedule synchronization ticket, 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.

How can I validate that External Printing Interface is working properly?

  1. 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)
  2. Add an additional match on this season ticket, wait depending of Schedule synchronization ticket 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.

Is it possible to purchase by unnumbered seats?

Yes, it is possible to add in the configuration an "unnumbered seat area", and when purchasing the ticket select this area tickets.

Fortress Training Session 1 -  

Error rendering macro 'viewppt'

com.atlassian.confluence.macro.MacroExecutionException: com.atlassian.confluence.macro.MacroExecutionException: The viewfile macro is unable to locate the attachment "Fortress 1st trainning session.pptx" on this page

Fortress Support:

support@fortressgb.com

+44 (0) 845 299 6020



  • No labels