Page tree

Page History

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Go to CSV Injection > Choose file > Submit

Image RemovedImage Added


What you should know:

...

  • 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".
  • (lightbulb) If you failed to inject your CSV file, check out some points below to figure out what's the rootcause:
    Note:
    • 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:
      1. Open the CSV file using a text editor or spreadsheet software.
      2. Search for any instances where quotation marks are doubled ("").
      3. Remove the duplicate quotation marks, leaving only single quotation marks (").
      4. Save the modified CSV file.

...

Understand each fields in CSV:

(question) 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 NameMandatoryVariable TypeValue lengthVariable usage/descriptionExamples
activationParameters.groupIdNostring50 charThe 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.methodYesstring"online"(question)/"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: 5-Understanding TIXnGO Activation flow
offline
activationParameters.timeNostringDate follows RFC 3339 standardIf online is chosen, define the time at which the tickets are activated (decrypted).2020-10-05T11:19:24+01:00 
activationParameters.instanceIdNostring128 charIf offline is chosen, define the bluetooth instance id that the mobile app should listen to to get the decryption key.
imageNostring256 charThe 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.idYesstring256 charID representing the event (unique).event-id-101
event.address.siteYesstring200 charName of the site the Event will take place.TIXNGO Stadium
event.address.line1Nostring200 charAddress line 1
event.address.line2Nostring200 charAddress line 2
event.address.line3Nostring200 charAddress line 3
event.address.cityYesstring
Variable NameVariable TypeValue lengthVariable usage/descriptionGenderstring1 charM (male), F (female), U (unknown), X (other)First Namestring50 charSpectator's first nameLast Namestring100 charSpectator's last nameEmailstring256 charSpectator's email addressMain ApplicantstringBoolean

Indicates if the spectator is the main applicant (SecuTix) for this ticket (default false).

Ticket IDstring256 charTicket ID in the TIXNGO system (a-z|A-Z / numbers / spaces / some special characters: *.-_+/())Barcodestring512 charPlain text ticket barcodeSorting Keystring256 charKey used to order the tickets for the spectator following the alphabetical order.PricenumberfloatPrice of the ticketCurrencystring20 charCurrency of the ticket's priceCategorystring512 charPurchase category (e.g. ADULT, CHILD, VIP, etc...)Tax. Numberstring256 charPurchase taxation numberTicket Image URLstring256 charDisplay image as per URL on following ticket views: Ticket View, Ticket Detailed ViewFile IDstring256 charSecuTix File ID (or any file ID that would list groups of ticket, e.g. injection file)Event IDstring256 charEvent ID in the TIXNGO systemEvent Namestring128 charName of the matchSitestring200 charSite name displayed at the Ticket View and Ticket Detailed View under Address titleCitycity
200 charCity where the event takes place
Country Codestring200 charcountry code for the address
Lausanne
event.address.countryCodeNo
Zip
string200 char
zip
Country code for the
address
AddressCH, FR, DE, etc
event.address.regionNo
Event Image URL
string
256 charDisplay image as per URL on following ticket views: My Tickets - "Group Image"Start Timestringmust follow RFC 3339 date formatDisplays Match date and kick-off time at the Ticket View and Ticket Detailed ViewRibbon Display Timestringmust follow RFC 3339 date formatTime at which a ribbon is displayed on the mobile app to notify spectator turn on BluetoothTransfer Group Idstring256 charTransfer rules can technically be different for every ticket. Organizer might want to chose to have different transfer rules for different types of ticket (ex: Adult, child, VIP, etc…). This GroupID is the Transfer rules group ID representing a group of transfer rules applied to certain tickets. If Organizers want to apply the same rules to every tickets, by default this groupID is set to the EventID and every ticket will be in this group.Max number of Ticket per receiver's PhoneintegerintegerMaximum amount of tickets per phone for this Transfer rules group idMax Resell Price increase (in %)integersmallint

Maximum profit (price increase in %) of the original ticket price for a resell between spectator.

Max number transfer per PhoneintegerintegerTotal amount of transfers per Phone (-1 feature is disabled). Counter is increased for every new transfer, but decrease on a Return.Max number transfer per TicketintegerintegerTotal amount of transfers per Ticket (-1 feature is disabled). Counter is increased for every new transfer, but decrease on a Return.Assign LimitintegerintegerUpper bound amount of transfer before the Assign function is disable (-1 means unlimited)Allow TransferBooleanBooleanEnables or Disables transfer functionality for given match (Send menu item in the ticket view hidden or displayed)Allow Transfer after ActivationBooleanBooleanEnables or Disables transfer functionality for given match for Activated Tickets (Send menu item in the ticket view hidden or displayed)Allow Transfer after ControlBooleanBooleanEnables or Disables transfer functionality for given match for Controlled Tickets (Send menu item in the ticket view hidden or displayed)Allow Return To OrganizerBooleanBooleanEnables or Disable allow everyone to release ticket to resale.Allow Return To Organizer For Initial SpectatorBooleanBooleanEnables or Disable only Initial Spectator can release ticket to resale.Resale Group Idstring256 char

Resale rules can technically be different for every ticket. Organizer might want to chose to have different resale rules for different types of ticket (ex: Adult, child, VIP, etc…). This GroupID is the Resale rules group ID representing a group of resale rules applied to certain tickets. If Organizers want to apply the same rules to every tickets, by default this groupID is set to the EventID and every ticket will be in this group.

It is editable or used only if organizer resale setting is enabled

Allow ResellBooleanBoolean

Enables or Disables resale functionality for given match for all Tickets (Send menu item in the ticket view hidden or displayed)

It is editable or used only if organizer resale setting is enabled

Allow Resell after ActivationBooleanBoolean

Enables or Disables resale functionality for given match for ActivatedTickets (Send menu item in the ticket view hidden or displayed)

It is editable or used only if organizer resale setting is enabled

Keep one Ticket OverallBooleanBooleanForce ALL ticket wallet holders to keep at least 1 ticket per given MatchKeep one Ticket at InjectionBooleanBooleanForce ticket wallet holder to whom tickets were originally injected to keep at least 1 ticket per given Match. E.g. all his transfer guests will be able to forward all the tickets they received

string 100 char

Support organizer define the resale price with three options A, B and C per Transfer Group Id:

  • "Option A: Price range" [the resale price of this ticket is allowed by the event organizer to be resold between a minimum and a maximum]
  • "Option B: Fixed price" [the resale price of this ticket is set by the event organizer]
  • "Option C: Unlimited price" [the resale price of this ticket is allowed by the event organizer to be resold at any price]

It is editable or used only if organizer resale setting is enabled

Min resale price decreasenumberfloat

Enable when Resale option A is selected. Min resale price decrease (in % of the initial price) of the ticket to be resold

It is editable or used only if organizer resale setting is enabled

Min resale price amountnumberfloat

Enable when Resale option A is selected. Min resale price amount of the ticket to be resold

It is editable or used only if organizer resale setting is enabled

Max resale price increasenumber float

Enable when Resale option A is selected. Max resale price Increase (in % of the initial price) of the ticket to be resold

It is editable or used only if organizer resale setting is enabled

Max resale price amountnumberfloatEnable when Resale option A is selected. Max resale price amount of the ticket to be resoldSpecific resale price decrease/increasenumberfloat

Enable when Resale option B is selected. Specific resale price decrease/increase (in % of the initial price) of the ticket to be resold

  • Value > 0: Increase
  • Value < 0: Decrease

It is editable or used only if organizer resale setting is enabled

Specific resale price amountnumberfloat

Enable when Resale option B is selected. Specific resale price amount of the ticket to be resold

  • Value > 0: Increase
  • Value < 0: Decrease

It is editable or used only if organizer resale setting is enabled

The Resale & Purchase Agreement URLstring512 char

The Resale & Purchase Agreement URL in P2P resale

It is editable or used only if organizer resale setting is enabled

Ticket Terms & Conditions URLstring512 char

Ticket Terms & Conditions URL in P2P resale

It is editable or used only if organizer resale setting is enabled

Activation Idstring50 charActivation group ID. Different tickets could have different activation method, this group ID make the distinction between them.Activation TimestringDate Time RFC3339 standardActivation time at which the system will activate the ticket (display barcode)Activation Methodstring"online"/"offline"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: 5-Understanding TIXNGO Activation flow
Purchase DatestringDate Time RFC3339 standardDate & time at which the ticket was boughtMain Ticket Detailsstringkey (32 char) - value (4096 char)Ticket details shown on the ticket's front (usually used to set entrance & seat details)Extra Ticket Detailsstringkey (32 char) - value (4096 char)Ticket extra details shown on the back of the ticket (usually used to set extra information about the ticket or the event)Hidden Ticket Detailsstringkey (32 char) - value (4096 char)Ticket hidden details (not displayed), used for different technical or business purposes, i.e. reserved key such as Seat Map, Sponsors details, etc...Hold (only CSV injection for now)BooleanBooleanActivate ticket holder (ticket is hold for someone else)Holder email (only CSV injection for now)string256 charTicket holder emailHolder date of birth (only CSV injection for now)stringrfc3339 standardTicket holder date of birthHolder first name (only CSV injection for now)string50 charTicket holder first nameHolder last name (only CSV injection for now)string100 charTicket holder last nameHolder gender (only CSV injection for now)string1 charTicket holder gender (M, F or U)Holder card numberstring200 charTicket holder ID card numberHolder nationalitystring2 charTicket holder nationalityHolder passport numberstring200 charTicket holder passport number
200 charRegion where the Event takes placeBavaria
event.address.zipYesstring50 charZip code where the Event takes place
event.address.longitudeNodoubledoubleLongitude where the Event takes place
event.address.latitudeNodoubledoubleLatitude where the Event takes place
event.nameYesstring128 charName of the Event“Team A vs Team B”
event.startTimeYesstringDate follows RFC 3339 standardTime 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.expirationDateNostringDate follows RFC 3339 standardTime at which the event expire. Expired event cannot be used anymore.2023-10-06T11:19:24+01:00 
event.bluetoothPreparationRibbonDisplayTimeNostringDate follows RFC 3339 standardTime at which a ribbon displays on the mobile app to notify spectator turn on Bluetooth on the phone2023-10-05T11:21:24+01:00
event.bluetoothPreparationRibbonEndTimeNostringDate follows RFC 3339 standardTime at which a ribbon disappear on the mobile app2023-10-05T13:21:24+01:00
event.metadataNolistlist 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.idNostring256 charId of the Group. Every Event with this Group ID will be part of that Group.GROUP-ID-101
event.group.nameNostring128 charName of the Group.CHAMPION LEAGUE
event.group.imageYesstring256 charThe Image of the Group (displayed on the "My Events" view).https://r.tixngo.io/tng/Concert%20Asset%20300x240.png
purchaseDetails.priceYesdoubledoubleThe Ticket's price. (Example 30, 55.50, 120.55,..._)45.50
purchaseDetails.currencyYesstring20 charThe currency used in the transaction using ISO-4217 standard (example: CHF, VND, USD).EUR
purchaseDetails.dateYesstringDate follows RFC 3339 standardThe date at which the Ticket was initially bought.2023-10-04T11:19:24Z 
purchaseDetails.priceCategoryYesstring512 charExamples of price category are adult, child, student, senior, VIP, etc.ADULT, CHILD, etc
purchaseDetails.taxationNumberYesstring512 char(UUID) taxation number of the Ticket.tax-num-1234
ticketDetails.mainNolistlist of key-value metadataFree "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.extraNolistlist 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"}]

ticketDetails.hiddenNolistlist of key-value metadata

Free "key-value" fields usually used to add hidden information, ex: used between Organizer and TIXnGO (Not displayed on the Ticket).

Reserved Keys :

transfer_extra : optional field set by the sender during a ticket transfer in transferOrder.extra

background_color : optional field set by the Organizer at injection. Define the background color of the ticket.

hosp_room: optional field set by the Organizer at injection. Define the hospitality room of the ticket.

show_price: optional field set by the Organizer at injection. Define to show or not show the price on ticket extra 

at_icon: optional field set by the Organizer at injection. Define to show extra icon on the top-left of ticket layout

ticketDetailMainNotInBoxes: optional field set by the Organizer at injection. Define how many fields (of ticketDetails.main) that will not stay in boxes (count from the last one)

specialColor: optional field set by the Organizer at injection. Define the horizontal stripe color on QRcode part ticket layout

Furthermore, you can override the all the event.metadata keys on a per ticket level.

[{"key": "background_color", "value": "#010101"},{"key": "show_price", "value": "false"}, {"key": "ticketDetailMainNotInBoxes", "value": "2"}]

security.barcodeYesstring512 charBarcode of the Ticket.1234567890
security.clearanceLevelNointegerintegerClearance level of the ticket. If 1 is chosen: the organizer require the spectator to provide its name,surname,gender. If 2 is chosen, then all field of SpectatorIdentity are required except for the passport and idcard number, only one of them is required.
spectatorDetails.residenceCountryNostringISO Alpha-2 formatInitial spectator's residence country.
spectatorDetails.phoneNumberNostring50 charInitial spectator's phone number.
spectatorDetails.emailYesstring256 charInitial spectator's email.user1234@domain.com
spectatorDetails.firstNameYesstring50 char

Initial spectator's first name.

Michael

spectatorDetails.lastNameYesstring100 charInitial spectator's last name.Harry
spectatorDetails.genderNostring1 char (m/f/u/x)Initial spectator's gender. m, f, u or x (For Male, Female, Other, Unknown)m
spectatorDetails.dateOfBirthNostringDate follows RFC 3339 standardInitial spectator's birth date.
spectatorDetails.nationalityNostringISO Alpha-2 formatInitial spectator's nationality.
spectatorDetails.passportNumberNostring200 charInitial spectator's passport number.
spectatorDetails.idCardNumberNostring200 charInitial spectator's ID card number.
spectatorDetails.spectatorStatusNostring"Activated" / "Not activatied"If the initial spectator is registered in the TIXnGO system.
spectatorDetails.ticketHolder.identity.firstNameNostring50 charTicket Holder's first name.
spectatorDetails.ticketHolder.identity.lastNameNostring100 charTicket Holder's last name.
spectatorDetails.ticketHolder.identity.genderNostring1 char (m/f/u/x)Ticket Holder's gender m, f, u or x(For Male, Female, Other, Unknown)
spectatorDetails.ticketHolder.identity.dateOfBirthNostringDate follows RFC 3339 standardTicket Holder's birth date.
spectatorDetails.ticketHolder.identity.nationalityNostringISO Alpha-2 formatTicket Holder's nationality.
spectatorDetails.ticketHolder.identity.passportNumberNostring200 charTicket Holder's passport number.
spectatorDetails.ticketHolder.identity.idCardNumberNostring200 charTicket Holder's ID card number.
spectatorDetails.ticketHolder.identity.emailNostring256 char

Ticket Holder's email.


spectatorDetails.ticketHolder.identity.phoneNumberNostring50 charTicket Holder's phone number.
spectatorDetails.ticketHolder.identity.birthCityNostring50 charTicket Holder's birth city.
spectatorDetails.ticketHolder.identity.birthCountryNostringISO Alpha-2 formatTicket Holder's birth country.
spectatorDetails.ticketHolder.identity.residenceCountryNostringISO Alpha-2 formatTicket Holder's residence country.
spectatorDetails.ticketHolder.identity.address.line1Nostring200 charTIcket Holder's address line 1.
spectatorDetails.ticketHolder.identity.address.line2Nostring200 charTicket Holder's address line 2.
spectatorDetails.ticketHolder.identity.address.line3Nostring200 charTicket Holder's address line 3.
spectatorDetails.ticketHolder.identity.address.cityNostring200 charTicket Holder's residence city.
spectatorDetails.ticketHolder.identity.address.countryCodeNostring200 charTicket Holder's country code.
spectatorDetails.ticketHolder.identity.address.zipNostring50 charTicket Holder's zip code.
spectatorDetails.ticketHolder.extraInfo1Nostring100 charFree field of extra info about the Ticket Holder.
spectatorDetails.ticketHolder.extraInfo2Nostring100 charSecond free field of extra info about the Ticket Holder.
spectatorDetails.ticketHolder.reasonNostring512 charReason of why the assignment happen. Can be modified later by the spectator. (Optional)
spectatorDetails.organizerSpectatorPreference.allowPromoEmailNobooleanbooleanDefault false. Spectator accept promotional email from TIXnGO.
spectatorDetails.organizerSpectatorPreference.allowPromoThirdPartyEmail
NobooleanbooleanDefault false. Spectator accept promotional email from Third-Party.
spectatorDetails.organizerSpectatorPreference.allowTrackingNobooleanbooleanDefault false. Spectator accept to be tracked and data matching.
ticketIdYesstring256 charTicket ID differentiating each ticket. It must be unique (UUID).tng-1234567890
langNostring5 char ISO 639‑1 formatThe default language for the Ticket. Injection communications will be sent in this language. Example: fr, en, de, it, es
transferRules.groupIdNostring256 charTransfer rules can technically be different for every ticket. Organizer might want to chose to have different transfer rules for different types of ticket (ex: Adult, child, VIP, etc…). This GroupID is the Transfer rules group ID representing a group of transfer rules applied to certain tickets. If Organizers want to apply the same rules to every tickets, by default this groupID is set to the EventID and every ticket will be in this group.
transferRules.maxNumberOfTransferPerTicketInGroupIdNointegerintegerTotal amount of transfers per Ticket (-1 feature is disabled).
transferRules.assignTransferLimitNointegerintegerDefine upper bound of ticket's transfer level for the "Assign" function
transferRules.allowTransferNobooleanbooleanEnables or Disables transfer functionality for given match (Send menu item in the ticket view hidden or displayed).
transferRules.allowTransferMainApplicantNobooleanbooleanEnable or Disable transfer functionality for Main Applicant ticket's.
transferRules.allowTransferAfterActivationNobooleanbooleanEnables or Disables transfer functionality for given match for Activated Tickets (Send menu item in the ticket view hidden or displayed).
transferRules.allowTransferAfterActivationByBTNobooleanbooleanEnables or Disables transfer functionality for Checked Tickets (Send menu item in the ticket view hidden or displayed).
transferRules.allowTransferAfterControlNobooleanbooleanEnables or Disables transfer functionality for given match for Controlled Tickets (Send menu item in the ticket view hidden or displayed).
transferRules.allowReturnToOrganizerNobooleanbooleanAllow to release ticket to resale / allow ticket shop resale
transferRules.allowReturnToOrganizerForInitialSpectatorNobooleanbooleanOnly Initial Spectator can release ticket to resale
transferRules.keepOneInGroupIdNobooleanbooleanForce ALL ticket wallet holders to keep at least 1 ticket per given Match.

transferRules.keepOneAtInjectInGroupId

NobooleanbooleanForce ticket wallet holder to whom tickets were originally injected to keep at least 1 ticket per given Match. E.g. all his transfer guests will be able to forward all the tickets they received.
design.idNostring256 charThe Design Id applies to the ticket.
design.backgroundColorNostring7 char hexadecimal color codeThe background color of the corresponding design.
design.secureColorNostring7 char hexadecimal color codeThe secure color of the corresponding design, which will be displayed on the event day.
design.secureImageNostring256 charThe secure image of the corresponding design, which will be displayed on the event day.
ticketInjectionDateNostringDate follows RFC 3339 standardThe date at which the ticket was injected.
mainApplicantNobooleanbooleanOptional Main Applicant flag (SecuTix)
sortingKeyNostring256 charA key to sort the tickets in the spectator view. The tickets will be sorted according to this key in alphabetical order.
mobileAppIdYesstring256 charMandatory
mobileAppIdstring256 charOptional
Mobile Application App Id to use associated invitation email template (used by organizer using their own app or branded
apps).langstring5 char ISO 639‑1 formatThe default language for the Ticket. Injection communications will be sent in this language. Example: fr, en, de, it, esDesign Idstring256 charThis Design Id representing a design applied to certain tickets in an Event
apps).io.tixngo.app
contingentNostring256 charThe type of contingent applies to the ticket
Background Colorstring7 char hexadecimal colorThe background color of the Ticket and the corresponding Design Id (If the Design Id is set). Example: #bbccdd