If your organizer does not use S-360 to inject and manage all or part of an event tickets, TIXNGO provides another solution which is CSV injection to allow the organizer to inject up to 20'000 tickets at a time.
Inject tickets by CSV file
Get an example template
Go to CSV Injection > Click CSV template at section 02
The minimal template contains all mandatory values that you need to inject tickets successfully to TIXNGO.
The full template contains all possible values that you can provide when injecting tickets to TIXNGO.
Upload CSV file
Go to CSV Injection > Choose file > Submit
...
What you should know:
General set-up: 
CSV File Specifications:
...
Maximum tickets per CSV file: 20,000 tickets
...
The CSV file must be encoded in UTF-8.
...
Template Options:
Minimal Required Fields Template (CSV Minimal Template): Contains the minimum required fields.
Complete Template (CSV Full Template): Includes all possible ticket fields to assist with CSV setup.
Multilingual Template (CSV Full Template for Multilingual): Supports injecting with multilingual option.
With these 3 templates, please exclude "injection" from the file name to avoid any error
When using the Multilingual option, please ensure that you save your CSV file with the suffix "-multilingual".
...
If you failed to inject your CSV file, check out some points below to figure out what's the rootcause:
The CSV file must be encoded in UTF-8 to make sure your data format is valid
Instead of leaving unused columns empty, please delete them from the file. These empty cells will cause the errors of wrong formatting.
When saving your CSV file using Excel, please be cautious of a common issue where quotation marks ("") may be doubled. This duplication can cause errors when uploading the file.
By ensuring that quotation marks are not doubled, you can prevent potential errors during the file upload process. To avoid this problem, follow these steps after saving the CSV file:
Open the CSV file using a text editor or spreadsheet software.
Search for any instances where quotation marks are doubled ("").
Remove the duplicate quotation marks, leaving only single quotation marks (").
Save the modified CSV file.
Tracking status: 
On this page, you will find a comprehensive list of all CSV injection jobs sent by the organizer, along with their respective statuses (COMPLETED/FAIL
It is essential for organizers to review the output file to verify the actual status of each injected ticket, whether it is ACCEPTED or REJECTED
Both the uploaded CSV file and the output file are available for download. The output file provides detailed information about the status of injected tickets, including any associated errors in case of failures.
For more details on each field of the file, please check here for better understanding.
Understand each fields in CSV:
Current TIXNGO version
...
title | TIXNGO V3 |
---|
online activation method is only available if allow.activation-method.online = true, by default this setting key was set to false. TIXNGO mobile app supports offline activation perfectly, and we do not recommend using this activation method that requires our spectators must stay online during the gate opening.
...
Variable Name
...
Mandatory
...
Variable Type
...
Value length
...
Variable usage/description
...
Examples
...
activationParameters.groupId
...
No
...
string
...
50 char
...
The activation group to which the ticket belongs to. Tickets sharing the same activation id will have the same activation method & decryption code.
...
activation-id
...
activationParameters.method
...
Yes
...
string
...
"online"/"offline"/"beacon"
...
The method using to activate the ticket. online : when activationTime is reached (backend clock), the backend activates the tickets and sends push notifications to trigger a GET /spectator/tickets on the app. offline: the mobile application activates the tickets when time is reaches (mobile clock).
Online requires the user to be online, Offline does not.
More on Ticket activation: /wiki/spaces/TNG/pages/48627957
...
offline
...
activationParameters.time
...
No
...
string
...
Date follows RFC 3339 standard
...
If online is chosen, define the time at which the tickets are activated (decrypted).
...
2020-10-05T11:19:24+01:00
...
activationParameters.instanceId
...
No
...
string
...
128 char
...
If offline is chosen, define the bluetooth instance id that the mobile app should listen to to get the decryption key.
...
image
...
No
...
string
...
256 char
...
The uri to the image that will be displayed to the user with its ticket. It must have a width:length ratio of X:Y (to be defined). (displayed on the "Ticket" view).
...
https://r.tixngo.io/tng/Concert%20Asset%20300x240.png
...
event.id
...
Yes
...
string
...
256 char
...
ID representing the event (unique).
...
event-id-101
...
event.address.site
...
Yes
...
string
...
200 char
...
Name of the site the Event will take place.
...
TIXNGO Stadium
...
event.address.line1
...
No
...
string
...
200 char
...
Address line 1
...
event.address.line2
...
No
...
string
...
200 char
...
Address line 2
...
event.address.line3
...
No
...
string
...
200 char
...
Address line 3
...
event.address.city
...
Yes
...
string
...
200 char
...
City where the event takes place
...
Lausanne
...
event.address.countryCode
...
No
...
string
...
200 char
...
Country code for the Address
...
CH, FR, DE, etc
...
event.address.region
...
No
...
string
...
200 char
...
Region where the Event takes place
...
Bavaria
...
event.address.zip
...
Yes
...
string
...
50 char
...
Zip code where the Event takes place
...
event.address.longitude
...
No
...
double
...
double
...
Longitude where the Event takes place
...
event.address.latitude
...
No
...
double
...
double
...
Latitude where the Event takes place
...
event.name
...
Yes
...
string
...
128 char
...
Name of the Event
...
“Team A vs Team B”
...
event.startTime
...
Yes
...
string
...
Date follows RFC 3339 standard
Time at which the event starts. Used for app logic such as reminders etc...
Date Format: 2022-12-12T16:11:00Z
...
2023-10-05T11:19:24+01:00
...
event.expirationDate
...
No
...
string
...
Date follows RFC 3339 standard
...
Time at which the event expire. Expired event cannot be used anymore.
...
2023-10-06T11:19:24+01:00
...
event.bluetoothPreparationRibbonDisplayTime
...
No
...
string
...
Date follows RFC 3339 standard
...
Time at which a ribbon displays on the mobile app to notify spectator turn on Bluetooth on the phone
...
2023-10-05T11:21:24+01:00
...
event.bluetoothPreparationRibbonEndTime
...
No
...
string
...
Date follows RFC 3339 standard
...
Time at which a ribbon disappear on the mobile app
...
2023-10-05T13:21:24+01:00
...
event.metadata
...
No
...
list
...
list of key-value metadata
...
Specific "key-value" fields provided to Organizer for special information about the event.
For now we handle the reserved keys below. You can override all those keys if you put them (same name, case sensitive) in the ticket details hidden section of the ticket.
Reserved Keys :
BARCODE_SIZE: value = Size of the barcode display on the Ticket (16 < x < 32) [mm]
BARCODE_POSITION: value = Position of the barcode on the Ticket (LEFT, CENTER, RIGHT)
RESALE_TICKETSHOP_URL: value = URL of ticket shop that use to resale a ticket (must include http or https)
CANCEL_RESALE_TICKETSHOP_URL: value = URL of ticket shop that use to cancel a ticket (must include http or https)
prohibited_items_image: value = URL of the prohibited items image
prohibited_items_link: value = URL of the prohibited items link
sponsorImage: value = URL of the sponsors image
sponsorLink: value = URL of the sponsors link
seat_map_image: value = URL of the seat map image
seat_map_link: value = URL of the seat map link
enable_covid_check: value = Enable or Disable COVID check functionality for given event
EVENT_NUMBER: value = number of the event
...
[{"key": "BARCODE_POSITION", "value": "CENTER"},{"key": "CANCEL_RESALE_TICKETSHOP_URL", "value": "https://ticketshop.secutix.com/account/tickets?cancelResaleTicketId="}, {"key": "RESALE_TICKETSHOP_URL", "value": "https://ticketshop.secutix.com/account/resale/resellTickets?ticketIds="}]
...
event.group.id
...
No
...
string
...
256 char
...
Id of the Group. Every Event with this Group ID will be part of that Group.
...
GROUP-ID-101
...
event.group.name
...
No
...
string
...
128 char
...
Name of the Group.
...
CHAMPION LEAGUE
...
event.group.image
...
Yes
...
string
...
256 char
...
The Image of the Group (displayed on the "My Events" view).
...
https://r.tixngo.io/tng/Concert%20Asset%20300x240.png
...
purchaseDetails.price
...
Yes
...
double
...
double
...
The Ticket's price. (Example 30, 55.50, 120.55,..._)
...
45.50
...
purchaseDetails.currency
...
Yes
...
string
...
20 char
...
The currency used in the transaction using ISO-4217 standard (example: CHF, VND, USD).
...
EUR
...
purchaseDetails.date
...
Yes
...
string
...
Date follows RFC 3339 standard
...
The date at which the Ticket was initially bought.
...
2023-10-04T11:19:24Z
...
purchaseDetails.priceCategory
...
Yes
...
string
...
512 char
...
Examples of price category are adult, child, student, senior, VIP, etc.
...
ADULT, CHILD, etc
...
purchaseDetails.taxationNumber
...
Yes
...
string
...
512 char
...
(UUID) taxation number of the Ticket.
...
tax-num-1234
...
ticketDetails.main
...
No
...
list
...
list of key-value metadata
...
Free "key-value" fields usually used to define spectator seating information such as: gate:A, row:2, seat:7 (Displayed on the "front" of the Ticket).
...
[{"key": "Gate", "value": "A"},{"key": "Row", "value": "54"}, {"key": "Seat", "value": "A5"}]
...
ticketDetails.extra
...
No
...
list
...
list of key-value metadata
...
Free "key-value" fields usually used to define extra information (Displayed on the "back" of the Ticket).
Reserved Keys :
file_id : optional field set by the Organizer at injection.
...
[{"key": "File", "value": "123"},{"key": "Special Note", "value": "No Re-Entry"}, {"key": "Parking", "value": "Included"}]
...
supports injecting tickets by uploading a CSV file in Backoffice.
Note | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
This feature is a bit different if you are still using TIXNGO v3 or already migrated to the newest TIXNGO v4. Please be sure to refer to the corresponding section below:
|
TIXNGO V4
...
Steps by step
Use the provided CSV template if need (click on the this CSV template link)
Fill the CSV with your ticket data. Please be sure that your file comply with the following constraints:
The CSV file must be encoded in UTF-8.
All dates must follow the RFC3339 standard for date and time.
No more than 100’000 tickets can be imported at once
Event(s) referenced must already exists in TIXNGO (use manual creation screen if needed before uploading)
Please refrain from including "injection" in the file name
Upload CSV file
Submit
Check the result in the table. Possible status are:
TIXNGO is currently processing the file you upload. Give it a bit of time and refresh the page later.Status colour Yellow title In progress
All tickets have been injected successfully. Good job! You can the download the output file for tracking purposes.Status colour Green title completed
Some tickets have been injected successfully, but at least one failed. --> Please download the output and review the errors.Status colour Blue title partial
Not a single tickets could be injected. Something most probably wrong with the format or data in your file. → Please download the output and review the errors. Make sure to use the provided template and check the Troubleshooting section below.Status colour Red title Failed
Past injections, including input and output files, are kept for a period of 30 days. So be sure to download the output file if you need longer traceability.
Troublesh
Typical errors
In case of errors, please check out some points below:
The CSV file must be encoded in UTF-8 to make sure your data format is valid
Instead of leaving unused columns empty, please delete them from the file. These empty cells could cause errors of wrong formatting.
When saving your CSV file using Excel, please be cautious of a common issue where quotation marks ("") may be doubled. This duplication can cause errors when uploading the file.
By ensuring that quotation marks are not doubled, you can prevent potential errors during the file upload process. To avoid this problem, follow these steps after saving the CSV file:
Open the CSV file using a text editor or spreadsheet software.
Search for any instances where quotation marks are doubled ("").
Remove the duplicate quotation marks, leaving only single quotation marks (").
Save the modified CSV file.
Fields detailed documentation
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
TIXNGO V3
Status | ||||
---|---|---|---|---|
|
Inject tickets by CSV file
Get an example template
Go to CSV Injection > Click CSV template at section 02
The minimal template contains all mandatory values that you need to inject tickets successfully to TIXNGO.
The full template contains all possible values that you can provide when injecting tickets to TIXNGO.
Upload CSV file
Go to CSV Injection > Choose file > Submit
...
What you should know:
General set-up: 
CSV File Specifications:
Maximum tickets per CSV file: 20,000 tickets
The CSV file must be encoded in UTF-8.
All dates must follow the RFC3339 standard for date and time.
Template Options:
Minimal Required Fields Template (CSV Minimal Template): Contains the minimum required fields.
Complete Template (CSV Full Template): Includes all possible ticket fields to assist with CSV setup.
Multilingual Template (CSV Full Template for Multilingual): Supports injecting with multilingual option.
With these 3 templates, please exclude "injection" from the file name to avoid any error
When using the Multilingual option, please ensure that you save your CSV file with the suffix "-multilingual".
If you failed to inject your CSV file, check out some points below to figure out what's the rootcause:
The CSV file must be encoded in UTF-8 to make sure your data format is valid
Instead of leaving unused columns empty, please delete them from the file. These empty cells will cause the errors of wrong formatting.
When saving your CSV file using Excel, please be cautious of a common issue where quotation marks ("") may be doubled. This duplication can cause errors when uploading the file.
By ensuring that quotation marks are not doubled, you can prevent potential errors during the file upload process. To avoid this problem, follow these steps after saving the CSV file:
Open the CSV file using a text editor or spreadsheet software.
Search for any instances where quotation marks are doubled ("").
Remove the duplicate quotation marks, leaving only single quotation marks (").
Save the modified CSV file.
Tracking status: 
On this page, you will find a comprehensive list of all CSV injection jobs sent by the organizer, along with their respective statuses (COMPLETED/FAILED/IN PROGRESS).
It is essential for organizers to review the output file to verify the actual status of each injected ticket, whether it is ACCEPTED or REJECTED
Bot
For more details on each field of the file, please check here for better understanding.
More details
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Expand | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Variable Name Mandatory Variable Type Value length Variable usage/description Examples ticketId Yes string PLAY-12345678901234 eventId Yes ticketNumber Yes ticketCode Yes activationRule No It will be fallback to the dataCollectionRule No It will be fallback to the designRule No It will be fallback to the emailRule No It will be fallback to the usageRule No It will be fallback to the purchaseDetails.fileNumber Yes purchaseDetails.purchaseDate Yes purchaseDetails.price Yes purchaseDetails.currency Yes purchaseDetails.seatCategoryId Yes purchaseDetails.contingentId No purchaseDetails.tariffId Yes ticketDetails.main No ticketDetails.extra No ticketDetails.hidden No seatingDetails.seated Yes seatingDetails.numbered Yes seatingDetails.area Conditional Condition: This field is required if value of seatingDetails.seated is true seatingDetails.level No seatingDetails.externalEntrance No seatingDetails.gate No seatingDetails.block No seatingDetails.row No seatingDetails.seat Conditional Condition: This field is required if value of seatingDetails.seated is true and seatingDetails.numbered is true seatingDetails.seatQuality No seatingDetails.leftSeatId No seatingDetails.rightSeatId No seatingDetails.physicalSeatId No seatingDetails.frontSeatId No seatingDetails.backSeatId No seatingDetails.companionSeatId No seatingDetails.salesSeatId No seatingDetails.xcoord No seatingDetails.ycoord No seatingDetails.temperature No spectatorDetails.firstName Yes spectatorDetails.lastName Yes spectatorDetails.email Yes spectatorDetails.appLanguage Yes keptByOwner No ticketHolder No singleEntry Yes mainApplicant No | YesmobileAppId
|
New version of TIXNGO
Status | ||||
---|---|---|---|---|
|
|