Product features |
---|
Ticket holders management - Ticket assignment data per event TIX2-2415 / TIX2-2553 - Assignment data collection per event This new features will make ticket assignment and management easier for organizers and mobile users alike. Here are the details of the changes: Setting up the new required fields - Organizers can now set up extra fields for ticket assignment at the event level, using the AdminTool. These fields can be customized to collect any additional information that organizers may need from ticket holders.
- When assigning a ticket in the mobile app, the new fields will either be mandatory or not visible, depending on the configuration set in the Admin Tool at the event level. If the fields are visible, users can input the required values, which will be saved automatically.
- On the mobile app, in the ticket detail screen, the name of the ticket holder is now clickable. Clicking on it will open up the guest details in edit mode. If the transfer/keep buttons are not available anymore, the guest details become read-only and cannot be edited.
- The value of the new fields entered by mobile users will be sent to S360 using the Feedback interface. (if you are using the S-360 feedback interface).
- Additionally, the new fields will be displayed correctly in the Support Ticket section of the Admin Tool, allowing organizers to view and manage the additional information collected from ticket holders.
Admintool setup per event | Guest details collection on the app |
---|
| |
Data collection on the mobile app Two new popups have been added that notify spectators about missing information for wallet owners and guests. The popups is displayed when spectators download their tickets and it will redirect them to the correct page to fill in the missing information. There are different scenarios for when the popups will appear, depending on the number of tickets that require extra information. If the wallet owner has not received any tickets for an event that requires extra information, then no popup will appear. If the wallet owner has one ticket for an event that requires extra information, a popup will appear if the Ticket owner is not yet assigned or has not kept for ticket for himself. - Pop-up 1 appears for the wallet owner
- Pop-up 2 appears for additional tickets for guest of the wallet owner. (assign or keep action required).
For example : If the wallet owner has two tickets for an event that requires extra information, several scenarios can arise. If the Ticket owner's extra fields are missing for both tickets, Popup 1 will appear first. After the spectator fills out the information for the first ticket, Popup 2 will appear for the second ticket. If the Ticket owner's extra fields are missing for only one ticket, Popup 2 will appear for that ticket, and if one ticket is kept for themselves and the other is assigned, no popup will appear. If the wallet owner has two tickets for two different events that require extra information, the same behavior as in the case with one event will occur.
These changes will make it easier for organizers to collect and manage important information from ticket holders, while also improving the mobile user experience. These updates will enhance the overall ticket management process for everyone involved.
|
Event operations - Manual check time window on event day and event day + 1 TIX2-2723 - Quick manual check on event day and event day + 1 only The quick manual check feature that let's you check a ticket manually with a double tap was possible no matter the date when it was enabled. From now, the quick manual check will be only possible on event day and event day + 1. This new feature will make sure we don't have situations where tickets are activated well in advance (e.g. event day - 2) and the tickets are being check prior to event day by error. Reducing this risk will reduce the number of troubleshooting that may need to happen in such situation.
|
Admintool pagination improvments TIX2-2595 Admin tool pagination improvement You can now jump to the page you want directly by typing in the page number in the pagination component.
|
Bluetooth beacon instance ID per event TIX2-2712 - Beacon instance ID can be the same across a whole event for all activation groups If you are users of beacons for ticket activation or checks you know that TIXNGO supports the following mode : - dynamic beacon instance ID generated per activation groups (different instance ID for each activation groups)
- static beacon instance ID across the whole app (systematically the same instance ID for all events and all activations groups)
In this Breithorn V1 release, we are introducing a new dynamic mode : - NEW : dynamic beacon instance ID generated per events (same instance ID across all activation groups of a given event but different instance ID for each events)
This new mode facilitate the configuration and configuration changes for a whole event while keeping a strong level of security with different instance IDs per events. How to use this new mode ? - A new setting key introduced named bt.instanceid.unique-per-event and set to true means that all tickets in an event should have the same Bluetooth instanceID. regardless if those tickets belong to one or more activation groups.
- Please note that this setup needs to be done during the onboarding process. To activate it, please reach out to your Professional services manager.
|
Event group management TIX2-2016 - Event group management improvements The event group feature available in TIXNGO let you group event under an event group name that you can define at the injection. This release is extending the event group feature by introducing some improvements to provide more control and visibility : - See easily the list of events/tickets belonging to an event group
- Move an event from one event group to another
- Include event group filters in all relevant screens on the admintool.
AdminTool improvements - To change an event from Event Group A to Event Group B:
- Go on the event edition screen
- The event group Id is now a dropdown that lists all the event groups available
- Select another event group Id to change to move the event to this other event group.
- When changing the event group Id, its Event group name will be automatically loaded, based on the selected language
- In case the operator forget to save the pop-up “Unsaved changes” will be triggered.
2. In the event list screen - a new event group filter has been added in order for the operator to be able to list all events belonging to a given event group (dropdown multi-select)
- the “Event Group Name” has been added to the CSV export
3. Ticket list screen - A new event group filter is now available as a search criteria (dropdown multi-select) in order for the operator to be able to list all tickets belonging to an event group.
- the “Event Group Name” has been added to the CSV export
On the API side, a new endpoint has been created to return the list of event group id and event group name (for the dropdown) Please note that the system will automatically delete old event group not having any event associated to it. |
Ticket's Sub-Target Group (STG) - TIX2-641 - Inject and search by Contingent (STG) in the Ticket List screen
- TIX2-1872 - Search by Contingent (STG) in the Transaction list, Transaction pending
- TIX2-1873 - Search by Contingent (STG) in Reports
- Injection and search in Ticket List screen
- Enable organizers to classify a ticket by a contingent.
- Inject the contingent successfully from S-360
- Filter by the contingent in several screens (e.g. Ticket List screen), in order to have an overview of ticket status per each contingent,
- Send push notification for just some specific contingents
- Export the ticket with the contingent.
- New Back Office AdminTool 2.0 Console > Settings > Organizer Settings > enable.contingent.feature
- New table REFERENCE_DATA, example:
- Data model: TICKET table adapted to add the contingent.
- New column CONTINGENT_EXTERNAL_ID added in table TICKET, NULLABLE
- Data migration: no needed, existing tickets are let empty.
- If the organizer enables the contingent feature, then contingent must not be empty, otherwise, it is kept optional.
- Injection CSV (dependency on Injection API)
- Contingent has been added in the CSV import file with the same structure as the API.
- Ticket List page
- If the organizer enabled the contingent feature:
- New filter by contingent is added, and new column contingent in the list:
- Value in drop down of the new filter comes from REFERENCE_DATA table of selected event if any or all events, with (key = ‘CONT’, lang = ‘en’)
- Query search result adapted.
- Contingent added in the export file.
- Otherwise, the current behavior has been kept.
- Ticket Support page
- If the organizer enabled the contingent feature:
- AdminTool: contingent is added to the ticket details.
- Backend: returns the contingent for AdminTool.
- Otherwise, the current behavior has been kept.
2. Search by Contingent (STG) in the Transaction list, Transaction pending - If the organizer turns on the contingent feature:
- Transactions screen
- Filter by the contingent correctly.
- Export: contingent and seat details are also exported in the excel file.
- Pending screen
- Filter by the contingent correctly.
- Export: contingent is exported in the excel file.
3. Search by Contingent (STG) in Reports - If the organizer turns on the contingent feature:
|
On-the-fly Crowdin changes https://jira.secutix.com/browse/TIX2-2332 [Crowdin] Change Crowdin on the fly, do not require to upload a new build. Business benefits: Speed-up and ease the process of updating strings in the mobile wallet. - Old behavior
- Step 1: Client and BA changed translation strings in Crowdin.
- Step 2: BA created a ticket on Jira and assigned it to the development team.
- Step 3: Developers changed the text on the local file (.json).
- Step 4: Developers rebuilt the white-label mobile wallet and shipped the application to the client.
- New behavior
- Step 1: Customers and BA change translate string in Crowdin and click “build project” on Crowdin.
- Step 2: The mobile wallet users relaunch the TIXNGO application.
Crowdin on-the-fly loading system flow
Crowdin translation available in the app if the synchronization was done successfully after being triggered by the app loading
Disable / enable Crowdin synchronization A new setting is available to enable/disable the crowdin sync feature and works as described below : If the enable-crowdin-sync setting is set to true, the app will load the latest translations from Crowdin every time it is loaded. If it is set to false, no call to Crowdin will be made, and the translations will be loaded locally. The local file on the app will contain translations from the last successful synchronization with Crowdin. In case an organizer changes the value from false to true but has never synchronized before, the app will call Crowdin, but if the synchronization fails, the local file loaded will be the default embedded one, which was present when the app was built. If the enable-crowdin-sync setting is already true, and the app fails to synchronize with Crowdin, the local file will be loaded with the latest version successfully synchronized.
Admin tool configuration for Crowdin synch activation
|
Backoffice enhanced security with lockout behavior for failed sign-in attempts https://jira.secutix.com/browse/TIX2-2262 Brute force protection for Console. Business benefits: Add additional security into the Backoffice. - Implementing the Amazon Cognito lockout behavior for failed sign-in attempts (c.f. https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html)
- After five failed sign-in attempts, Amazon Cognito locks out your user for one second. The lockout duration then doubles after each additional one failed attempt, up to a maximum of approximately 15 minutes. Attempts made during a lockout period generate a Password attempts exceeded exception, and don't affect the duration of subsequent lockout periods. For a cumulative number of failed sign-in attempts n, not including Password attempts exceeded exceptions, Amazon Cognito locks out your user for 2^(n-5) seconds. To reset the lockout to its initial state, your user must not initiate any sign-in attempts for 15 consecutive minutes at any time after a lockout.
|
Adding the number of active sessions in the spectator export https://jira.secutix.com/browse/TIX2-184 Number of active sessions is missing in the spectator export in the TIXnGO console. Business benefits: Add additional information in the spectator export. - Add a new column "ACTIVE SESSIONS" in the Spectators List/Export CSV file.
- This column is placed right after PINCODE column.
- The values of this column are exactly the values displayed on the Spectators List screen.
|
Backoffice SU and BU can also resend communications under Support-Spectator page https://jira.secutix.com/browse/TIX2-624 [All organizers] As an AdminTool 2.0 support-user (SU) and basic-user (BU), I can also resend communications under Support-Spectator page (so far only admin-user (AU)). Business benefits: Provide more flexibility to the operations and enhance the Backoffice rights for SU and BU. - Old behavior: only admin-user (AU) can also resend communications in the Backoffice under Support-Spectator page.
- New behavior: support-user (SU) and basic-user (BU) can as well.
- Reference: TIXNGO Portal / Backoffice manual / User roles and privileges: TIXNGO:Backoffice
|
Security automatic switch from online to offline activations X minutes before Event Start Time https://jira.secutix.com/browse/TIX2-2116 We need logic in the app to activate offline mode is case of not working backend, so we can prevent loss of tickets. Business benefits: Provide a last-minute security backup to activate the tickets. - In case the organizer decides to use online-activation tickets and some edge cases failures occur (e.g. some offline phones, some phones with Bluetooth issue, some TIXNGO backend issues), TIXNGO have now introduced this emergency offline time-based that will activate the tickets no matter what, to make sure the barcode will there for the event.
- Application Settings / key: ticket.emergency.activation / description: Minutes before the event starts to activate tickets offline (set 0 to turn off the feature)
|
Ticket transfer UI and UX enhancement including transfer message https://jira.secutix.com/browse/TIX2-225 As a ticket holder, I have a new UI/UX design when transferring my ticket. Business benefits: Personalize with a message the transfer of a ticket. - As a registered wallet user and transferable ticket holder, I can start the transfer process of a transferable ticket directly on the ticket "Send your ticket" section, and on the Floating Action Button (FAB).
- On the "Send your ticket" screen, I can see the transfer ticket summary, and can add additional tickets (c.f. 2022 Weisshorn V3#2022WeisshornV3-Ticketbulktransfer).
- If the new "Transfer Message" feature is enabled in the Backoffice / Application features / transfer-message and in the ticket transfer email template (c.f. make sure to include the parameter $$message$$ in your transfer templates to make sure recipient can see the content of it, more information detailed in the Mobile Wallet manual here: Wallet Features#TRANSFERMESSAGE), I can see a section to input a message to the recipient (max 300 characters), which will be displayed in the email notification. NB: The message will be as well displayed in the receiver wallet, at a later stage of development (c.f. https://jira.secutix.com/browse/TIX2-2312).
- Crowdin new strings to translate:
recipient_confirmation_page_description transfer_recipient_empty_value add_recipient_email transfer_functionality_title transfer_functionality_description transfer_message_input_title
|
|
Language selection and FAQ on log-in screen https://jira.secutix.com/browse/TIX2-1830 As a wallet user, I can select the in-app language on the log-in screen, and access the FAQ. |
Multi-lingual ticket data management TIX2-1769 / TIX2-1882 / TIX2-1883 Inject multilingual data for events, Manage multilingual data for events on AdminTool and export events multilingual from AdminTool. Inject multilingual data for events - Organizers to inject their tickets from S-360 (API), or by CSV file on AdminTool with multilingual support.
- Elements: Event name, Event website, Event address (site, line1, line2, line3, city), Group name, Group image, Master event name, Ticket details.
- Languages code (ISO 639-1:2002): Arabic (ar), Catalan (ca), Czech (cs), Dutch Flemish (nl), English (en), French (fr), German (de), Hungarian (hu), Italian (it), Portuguese (pt), Spanish (es), Turkish (tr).
Ticket data based on the app language selection
- In case an event does not support a spectator’s app language, the event’s default language will be displayed (English) (including its tickets label).
- If an event is supporting a spectator’s app language, the event information by the app language of this spectator will be displayed (including its tickets label).
- JSON format example.txt (format required to inject several languages)
Language parameters to inject several languages
Manage multilingual data for events on AdminTool AdminTool 2.0 supports multilingual configuration for event and ticket details. Organizers can view and update event information in multiple languages. When switching to another language, a confirmation pop-up message will be displayed if there are unsaved changes. Changes made in each language will be saved separately.
AdminTool dropdown for language selection
Export events multilingual from AdminTool Organizers can export multilingual content of their events and send it to reviewers for review for example. With the "Export Multilingual" button on the Events screen, all search results events will be exported to a CSV file, including event information and ticket detail labels in multiple languages. The exported data fields include Event ID, Group Event ID, Event date and time, Section, Rank, Language.
CSV export including all languages |
Search and troubleshoot spectators stuck in the registration process https://jira.secutix.com/browse/TIX2-190 As an organizer, I can search and troubleshoot Spectators, who did not complete the registration process (for instance to retrieve registration code). - Goal is for organizers to troubleshoot cases:
- Retrieve users' registration code, when registration process has not been completed,
- Retrieve users, who created an account without tickets (never had + already had tickets),
- Retrieve users, who have tickets in pending transfer from another user,
- Retrieve users, who have tickets in pending download (injection).
- Test scenarios
- Spectators that did not complete registration process → search for this spectator in the AdminTool and see the Pincode.
- Inject a ticket to user A which never registered in the system (injection pending) → search for this spectator in the AdminTool with status inactive (similar to user did not complete registration process).
- User A transferred a ticket to user B, who has never registered in the system (transfer pending) → search for this spectator in the AdminTool with status inactive (similar to user did not complete registration process).
|
Ticket transfer disabled after Bluetooth beacon activation https://jira.secutix.com/browse/TIX2-1760 Following time activation (online or offline), disable transfer only after ticket check (via beacon or manually). - If a ticket get time-based activated, but the spectator has a last-minute blocker and cannot go to the event, the spectator can still transfer to somebody else. However, if the ticket has been already activated at the event location through a Bluetooth beacon (BT) (or manually), the ticket cannot be transferred.
- The organizer can allow/disable the ticket transfer after the BT activation by setting parameter transferRules.allowTransferAfterActivationByBT to TRUE/FALSE per ticket level (default = TRUE).
- If param is set to TRUE: On mobile, the transfer button is available and the ticket can be transferred to another account as usual after the BT activation.
- If param is set to FALSE: On mobile, the transfer button is not available, if the device is online after the BT activation. The ticket can't be transferred to another account after the BT activation, and have label "non-transferable ticket".
- New endpoint from backend:
- POST /spectator/tickets/secondary-activations: Inform the backend that a ticket was activated for the second time on the spectator side (mostly BT beacon). → Mobile use this flag to hide the "Transfer" button.
- New parameter work for all injections from S-360 injection (via the S-360 Ticket Template Editor) and TIXNGO CSV Injection and TIXNGO single injection.
- The Backoffice AdminTool 2.0 Console has been adapted accordingly.
- On the Edit Event (screenshot), Support ticket screen, Ticket Detail pop-up.
- The new rule of Allow transfer after activation belongs to each group transfer Id.
- Under transfer rules of each ticket, rule (Allow transfer after BT activation) is updated with the value ON/OFF respectively.
- On Support page, organizer can edit the rule to ON/OFF as other transfer rules.
- If rule is not mentioned during injection, Backend to set the default TRUE.
Please note that when a beacon or manual check is performed, the check method and beacon name information and timestamps will be displayed at the bottom of the ticket. The beacon name is useful in case of troubleshooting to be able to spot with which beacon and which location the ticket was "beacon checked". The beacon name used for the check is also available on the admintool in the mobile logs screen.
|
Ticket deletion push notification with invalidation reason https://jira.secutix.com/browse/TIX2-1770 As an organizer, I want to send a push notification with a specific reason while deleting a ticket. - When an organizer deletes a ticket in S-360 (or directly from TIXNGO), the TIXNGO backend triggers a configurable push notification to the user.
- Backoffice AdminTool 2.0 Console > Settings > Multilingual Settings > 32+ new keys added
- Ticket delete notification configuration guideline: Notification & Email Templates#Ticketdeletenotification
|
Screenshot and screen recording protection (native) https://jira.secutix.com/browse/TIX2-1809 [Screenshot/recording protection] As TIXNGO, I replace ScreenShieldKit existing solution by implementing flutter library screen_protector (available on https://pub.dev/). Related to the previous delivery in 2022 Weisshorn V2: https://jira.secutix.com/browse/TIX2-2 Screenshot and screen recording protection. - The screenshot/recording feature works as previously on iOS and Android.
- Organizer can enable/disable the feature under Backoffice AdminTool 2.0 Console > application features > screen.protect.shot.record.
|
Secure offline activation mode with the device's trueTime https://jira.secutix.com/browse/TIX2-1755 [All Branded SDK-based App] Secure offline activation mode. Currently, the offline activation is based on the device date-time. So some users can change the phone time and trigger the offline activation before the actual configured time. The main purpose of this new feature is to implement a more secured offline activation to avoid those cheat cases, and to always keep offline activation at the correct date-time by leveraging the device boot and actual local true date-time. Important edge cases: In case the user reboot his/her phone, and then opens the app again, the user will be asked though a pop-up message to connect to the internet (online) at least once. - This internet connection pop-up will appear if (1) the user shutdown/reset/out of battery, and (2) once user opens app again, phone is with no or poor internet connection. The text is adjustable in Crowdin.
In case the user removes and reinstalls the app, the function should work as normal.
|
Bluetooth beacon identifier in the Backoffice AdminTool 2.0 Console https://jira.secutix.com/browse/TIX2-183 TIXNGO Beacon Identifier not in separate column in the mobile logs in the TIXNGO console. |
Assign (keep) data missing fields (Nationality + ID passport number) + data feedback to S360 https://jira.secutix.com/browse/TIX2-1962 Assign (keep) data missing fields (Nationality + ID passport number) + data feedback to S360. |
Ticket activation green & blue screens automatic disappearance after X seconds https://jira.secutix.com/browse/TIX2-2137 Ticket activation / green & blue screen don't disappear by themselves if no click.
|
More flexibility on in-app Promos https://jira.secutix.com/browse/TIX2-383 As an AdminTool user, I have more flexibility when setting Promos in the app.
|
My Profile mandatory information with asterisks * https://jira.secutix.com/browse/TIX2-1987 As a wallet user, I see an asterisk ("*") next to mandatory fields. |
Registration code: 5 tries and same code for 5 times https://jira.secutix.com/browse/TIX2-181 As a wallet user, I receive by email the same registration code 5 times in a row, AND I can try to enter the registration code at a maximum 5 times. As a wallet user, I receive by email the same registration code 5 times in a row (i.e. first email, and then if tapping up to 4 times on "I did not receive my registration code: Resend"), then the registration code changes for the next 5 "Resend" requests, and so on. Sending 5 times the same registration code will help in case of bad network, we want to make sure the end user will enter the correct registration code. As a wallet user, I can enter and confirm a registration code 5 times max, then the wallet will request me to ask for a new registration code. This is a security measure to avoid brut force attack on the backend through API while registering, the backend should grant only 5 tries. After that, the end user will have to ask for a new registration code. The mobile app properly displays and explains the 5 unsuccessful tries and that a new code is required.
|
2FA to access the AdminTool https://jira.secutix.com/browse/TIX2-1157 As a AdminTool 2.0 user, I have to pass a Second Factor Authentification (2FA) - In the way to increase the security of the system, the organizer admin-user (AU) can enable/disable a Second Factor Authentification (2FA) on the AdminTool for the users (i.e. support-user (SU), basic-user (BU), moderator (Mod)). The feature is disabled by default. If the organizer also wants to activate the 2FA for the AU, they should contact TIXNGO as an additional service.
- Experience
- At the first login, a QR-Code is displayed to set the secret tokens (e.g. in Google Authenticator mobile app).
- After a first successful login, at the next logins, the user inputs the real time 6-digit secret code (3 attempts max).
- The AU can force the display of a new QR-Code at the next login if needed (which invalid the previous one).
- A comprehensive manual is available in the Backoffice manual / Understanding Multifactor Authentication.
|