How can I automatically import profile data via a CSV file?

Modified on Wed, 15 Apr at 10:21 PM

Please note that profile data import may be subject to additional charges.


TABLE OF CONTENTS


With this process, you can transfer your travellers’ profile data into our system automatically via a CSV file. The file is transmitted through an sFTP server provided by us.


Benefits of this process

  • Automated transfer without manual maintenance of individual profiles
  • Clean, repeatable data delivery from HR or master data systems
  • Fast processing of larger data volumes
  • Suitable for regular updates, new joiners, and leavers


How the import works

  1. We create your company in the system.
  2. You receive the sFTP credentials from us.
  3. You receive your company’s company.uuid from us.
  4. You create the CSV file according to the agreed structure.
  5. You upload the CSV file to the sFTP server.
  6. The file is processed automatically.


Important prerequisite

Your company profile must already have been created by us before the first import. Please use the company.uuid provided by us to assign travellers correctly.


Required CSV file structure

The CSV file must always be structured as follows:

  • Row 1: Technical header row
  • Row 2: Field names
  • From row 3 onward: Profile data


The first two rows must always be present so that the file can be processed correctly.


Control logic for the import


Create new profiles

  • metadata.action = SAVE
  • uuid remains empty
  • company.uuid must be filled with the company ID provided by us


Update existing profiles

  • metadata.action = SAVE
  • uuid of the existing traveller must be present
  • company.uuid must be set


Delete profiles

  • metadata.action = DELETE
  • uuid of the traveller to be deleted must be present

Important minimum fields for an import


Column
Meaning
Values / Notes
metadata.actionActionSAVE or DELETE
uuidUnique traveller profile IDLeave empty for new profiles, provide for updates/deletions; alternatively, matching is performed using the company.uuid
usernameTraveller usernameIndividual for each traveller
emailEmail addressValid email address
genderSalutation / GreetingMR, MRS, U
nameLast nameAs shown in passport / travel document
firstnameFirst nameAs shown in passport / travel document
company.uuidCompany IDProvided by us in advance and used for assignment
company.nameCompany nameOptional or included additionally depending on the agreed setup


Overview of standard fields

The following table helps you look up individual columns. Not all fields are required for every import. The fields you actually use depend on the profile scope you want to maintain.

Column
Meaning
Values / Format / Notes
metadata.actionActionSAVE, DELETE
uuidTraveller profile IDLeave empty for new profiles
usernameUsernameIndividual for each traveller
emailEmail addressValid email address
languageLanguagede_DE, en_GB, en_US, fr_FR etc.
genderSalutationMR, MRS, U
titleTitleDR, PROF
nameLast nameAs shown in passport
middlenameAdditional first name / middle nameOptional
firstnameFirst nameAs shown in passport
birthdateDate of birthFormat: dd.mm.yyyy
nationalityNationality2-letter country code, e.g. DE, CH
additionalFormOfPaymentAdditional form of paymentCASH, INV
hotelGuaranteeHotel guaranteeT/00 to T/02 or C/00 to C/02
carGuaranteeCar guaranteeT/00 to T/02 or C/00 to C/02
webPaymentWebcardT/00 to T/02 or C/00 to C/02
phoneBusinessBusiness phoneFree text / number
phonePrivatePrivate phoneFree text / number
phoneMobileMobile numberFree text / number
receivedocsSend travel documents / e-tickettrue, false
preferredSeatSeat preferenceA = aisle, W = window
preferredFoodMeal preferencee.g. VGML
smokerSmokertrue, false
travellerTravellertrue, false
arrangerArranger / assistanttrue, false
approverApprovertrue, false
commentGeneral commentFree text
company.recordlocatorCompany / profile numberOptional
company.uuidCompany IDProvided by us
company.nameCompany nameOptional or included depending on the agreed setup
railExtension.deliveryRail: deliveryBAHNTIX, ONLINE, PAPERTICKET
railExtension.wagonTypeRail: coach typeCOMPARTMENT, PREFER_WIDEBODY, REQUIRE_WIDEBODY, SINGLE, TABLE
railExtension.wagonExtraTypeRail: extra areaPHONEAREA, QUIETAREA
railExtension.seatprefRail: seat preferenceAISLE, WINDOW
railExtension.railclassRail: classFIRST, SECOND
railExtension.idInfoRail: card / bank data infoOptional
sortedRailCards0.cardtypeRailcard typeValues defined by the rail system used
sortedRailCards0.cardnumberRailcard numberFree text
sortedRailCards0.cardExpirationRailcard expiry dateFormat: dd.mm.yyyy
residentExtension.areaResident discount areaCANARY, BALEARIC, CEUTA, MELILLA
residentExtension.areaCodeArea / postal codeNumeric
residentExtension.cardTypeID typeNATIONAL_ID, MINOR_RESIDENT, RESIDENT_CARD, TEMP_RESIDENT
residentExtension.cardNumberID numberFree text
residentExtension.firstSurnameFirst surnameOptional
residentExtension.secondSurnameSecond surnameOptional
flightmemberships0.allianceFrequent flyer program: airline2-letter airline code, e.g. LH
flightmemberships0.membernumberFrequent flyer numberFree text
flightmemberships0.additionalinfoAdditional info / PINOptional
hotelmemberships0.allianceHotel program: chain2-letter hotel code


Repeating fields

Some fields can occur multiple times, for example frequent flyer programs, hotel programs, or card information. These fields are numbered.

  • flightmemberships0.alliance = first entry
  • flightmemberships1.alliance = second entry
  • flightmemberships2.alliance = third entry

Numbering always starts at 0.


Important notes

  • Always use the company.uuid provided by us.
  • Do not change column names or the file structure on your own.
  • Use SAVE for creating and updating profiles, and DELETE for deletions.

Summary

For automated profile import, upload a correctly structured CSV file to the provided sFTP server. The two header rows, the correct control via metadata.action, the proper use of the traveller uuid, and the company.uuid provided by us in advance are all essential for correct processing.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article