Export/Import of roster files

The biggest challenge is probably the roster file handling on different devices, id est downloading .pdf roster file from NetLine/Crew CrewLink, converting the .pdf file to an .ics file and importing this one into the personal calendar.

There are way too many possibilities and individual configurations, so that a general guideline is somewhat hard to give.

1. Download .pdf roster file from NetLine/Crew CrewLink

This is probably the most easiest step. Just visit the Airline's NetLine/Crew CrewLink page and download the desired roster, download and save the file to your favorite location - straight forward. This can be achieved either via PC/Mac or mobile (iPhone/Android). No big deal, but with iPhones, the .pdf file must be stored somewhere (iCloud Drive, Dropbox, Google Drive, ownCloud, ...). Other third-party Apps might work as well.

2. Convert the .pdf file to an .ics file

2.1 Website method
Visit the Convert the .pdf to .ics page and follow the post.

2.2 email method
Just send the .pdf file as email attachment to roster@geohei.lu. The body text of the email is ignored. You'll get the .ics file back to within less than a minute. Be aware that the returned email contains a summary of the parsed events, and that the .ics file can be found at the very bottom of the email.

None of both methods is better than the other. I's just what suits you best.

3. Import .ics roster file into the personal calendar

As calendar, you can use a local iPhone, Samsung, ... or the online version like Google Calendar or Yahoo Calendar. How to import .ics files into these calendars goes beyond the scope of this post, since it greatly varies depending on hardware, OS and Apps installed. Some "experimental" manipulations might be required.

Many devices try to be intelligent in terms of recognizing .ics files automatically and offering import. This works quite well, even if multiple calendars are used.

Below a guideline how to import the .ics file for Google Calendar using a browser:
1. Login your Google account
2. Select "Settings" from the "Settings" gear icon (top right corner)
3. Click on "Calendars" link from (top left corner)
4. Click on "Import calendar" link (bottom page)
5. Browse for your .ics roster file and select desired calendar (if more than one)
6. Press "Import"


Apple devices notes

- Chrome browser seems to handle file action easier than Safari. You might give it a try.

- Since end of 2016, Apple removed the "Add All" feature in the email client. In Safari, it still works. This is kind of a step back in evolution since it requires the user to manually add every individual event. This is everything other than comfortable. Details can be found here: Importing .ics calendar events from emails


What I do ... I download my .pdf roster file from NetLine/Crew CrewLink using my Windows 7 PC, save it locally on my Desktop, convert it into .ics roster using website method, import it into Google Calendar and that's it. All this takes less than a minutes.

Basically ... everybody can do all this with any device and any software. There are many ways to do it ... it's just a matter to find YOUR best way. This might take some time to discover. Once done, it's a piece of cake.

I don't have all these different devices and therefore, I can hardly simulate the entire range of possible hardware/software combinations. Hence I rely on user's feedback. Just post below ...

Many thanks,

News & Updates

News & Updates

21.05.2022 : rostoics 1.0.38-PL2 released
             wrong version string

21.05.2022 : rostoics 1.0.38-PL1 released
             reverted erroneous replacement of strptime() by strftime

20.05.2022 : rostoics 1.0.38 released
             added event type STBY : CRMI, EFB, FDRI, GF, SFCI, SFPI, UNFIT
             fixed bug w/ modified roster format ("[SBDT" / "(SBDT" event end marker)
             fixed bug w/ unpopulated day on roster

04.02.2021 : rostoics 1.0.37 released
             added event type STBY : numerous due NetLine codes restructuring
28.12.2020 : rostoics 1.0.36 released
             added event type STBY : CARGO, CHOMP, GDT, REVOMB, TRACO
                 (CHOMP should not be type STBY)
             added new emoji(s)
             fixed bug w/ c/m (crew message) due CrewLink format change
08.07.2020 : rostoics 1.0.35 released
             added -c argument implemented (add check-in events - Apple only)
             added -a argument implemented (add alert to check-in events - Apple only)
             added new emoji(s)
03.07.2020 : rostoics 1.0.34 released
             added event type STBY : CHOMPI, COVID, QUAL
             added new emoji(s)
             added -c argument (preparation; code in progress)
20.04.2020 : rostoics 1.0.33 released
             added event type(s) FREE: CHOMP
             added event type(s) STBY: SB, SB-L
             added new emojis to accommodate for new event types
22.03.2020 : rostoics 1.0.32 released
             fixed bug(s):
             - '-' in LOCATION: tag in case of 'DH/'
             added event type(s) FREE: COSO, DISP, FCT, QUART
             added event type(s) STBY: NATHLA, OBS, PERF, SERV, TTTI
             added new emojis to accommodate for new event types
02.08.2019 : rostoics 1.0.31 released
             added event type(s) FREE: V32
             added event type(s) STBY: PREP
03.06.2019 : rostoics 1.0.30 released
             added event type(s) STBY: PBN
             minor bugs fixed
16.04.2019 : rostoics 1.0.29 released
             added event type(s) STBY: CPT, RNP
             fixed bug(s):
             - removed trailing dash in LOCATION tag after Cockpit Crew
               if Cabin Crew doesn't exist.
13.03.2019 : rostoics 1.0.28 released
             added event type(s) STBY: CONF, CWOI, HGS, PLRI
             added event type(s) FREE: FSP
             added new emoji EMOJI_DESKTOP_COMPUTER (for event type STBY: HGS)
08.02.2019 : rostoics 1.0.27 released
             added event types STBY: CPTI, DTCH, IUPAX, TECI
16.01.2019 : rostoics 1.0.26 released
             added event types STBY: GFT, OMA, OMB, OMC, CRS
             added event types FREE: FLT
             corrected some emoji code
14.11.2018 : rostoics 1.0.25 released
             added event types STBY: OTH_SBY
20.10.2018 : PHP Code: Added UID (timestamp in ms) to server filename in order to
                       get unique filenames. This avoids crossed file access by users
                       uploading rosters simultaniously using identical filenames. 
18.10.2018 : rostoics 1.0.24 released
             added event types STBY: AGD
15.09.2018 : rostoics 1.0.23 released
             added event types STBY: ISIM-737
             fixed bug(s):
             - malformed parsing of roster due lack of new line between last
               TLC of month and following "Recurrent Training / Checks" 
17.08.2018 : rostoics 1.0.22 released
             changed emoji for event type FLIGHT: TAX and TAXI
             added event types STBY: ADM/OPS
             added emojis: EMOJI_V_TRAFFIC_LIGHT
             fixed bug(s):
             - event type STBY end date next day not correct
               end date was not increased by 1 if event ending next day
               e.g. simulator spawing across 00:00
07.06.2018 : rostoics 1.0.21-PL1 released
             major bug in event type STBY code fixed (segmentation fault)
23.05.2018 : rostoics 1.0.21 released
             added event detail line as LOCATION tag for all event types
             added emojis for all event types
             added event type STBY : PFC
18.05.2018 : rostoics 1.0.20-PL1 released
             minor bug w/ event type STBY logging fixed
18.05.2018 : rostoics 1.0.20 released
             added emojis for event type STBY
             minor bugs fixed
28.04.2018 : rostoics 1.0.19-PL1 released
             MySQL/rostoics UTF-8 (special characters) problem fixed
18.04.2018 : Web hoster changed some global PHP configuration which created
             "Error 404" for some users. Error occurred or not according
             local device settings.
             PHP code modified to cope with new configuration!
17.04.2018 : rostoics 1.0.19 released
             Emojis introduced (experimental - F and flight events only)
             TLC database updated
             improved logging (content and presentation)
             minor bugs fixed
16.03.2018 : rostoics 1.0.18-PL2 released
             fixed (nasty) bugs w/:
             - complete failure to import any event
             - "Notes" of all events not shown
15.03.2018   rostoics 1.0.18-PL1 released
             minor bug fixed
             added event : SICK
             added "roster printed" info
06.03.2018   rostoics 1.0.18 released
             added events : RSEN, NC, RFC
             TLC database updated
             improved presentation of modified "unparsed event"
             improved logging (content and presentation)
             code optimization
             fixed bugs w/:
             - support for 2nd suffix line (added in 1.0.17)
               corrupted formatting of misc data in event w/ 2nd suffix line
             - event end date next day not correct (e.g. night duty)
               end date was not increased by 1 if event ending next day
             - wrong formatting of .sum file with event type FLIGHT
               event type FLIGHT w/ 3 chars (e.g. "CAR") misaligned .sum file
             - missing mcm in events type FREE and STANDBY
               mcm missing under certain circumstances
               mcm retained for next event under certain circumstamces
             - TLCs previous flight shown when no Crew on roster (e.g. "CAR")
               only for event type FLIGHT w/o aircraft 3 letter IATA aircraft code
             - incorrect parsing of hotel details if more than 1 hotel on roster
               event details for hotel were badly parsed
27.06.2017   rostoics 1.0.17 released
             added support for 2nd suffix line
             added support for cockpit/cabin crew change during same rotation
             added processed hotel counter
             minor bugs fixed
18.03.2017   rostoics 1.0.16-PL1 released
             minor bug fixed
15.03.2017   rostoics 1.0.16 released
             added events : FF, VSP
             reported bugs fixed
15.02.2017   roster@geohei.lu rostoics interface online
             Export/Import of roster files post rewritten
23.01.2017   rostoics 1.0.15 released
             added events : X, FP
             reported bugs fixed
12.01.2017   rostoics 1.0.14 released
             added MySQL database support for TLC (3-letter-code) name resolution
             reported bugs fixed
21.12.2016   rostoics 1.0.13 released
             "To c/m:" (message to crew member) support added
20.12.2016   rostoics 1.0.12 released
             added events : RC, IRC
19.12.2016   rostoics 1.0.11 released
             added event : REV
             .pdf file names including spaces and special characters are accepted now
             .pdf files other than NetLink/Crew CrewLink roster are rejected
18.12.2016   rostoics 1.0.10 released (first stable version)
             added events : H?, H1, ... (Hotels)
             reported bugs fixed
             code optimization

Screenshots iPhone

Below you see some screenshots how events are presented on iPhones (iOS 10.1.1) after .pdf conversion and .ics import (rostics 0.1.2).





Video tutorials

Below you see a QAD (quick and dirty) screenshot video tuorial which shows how to convert a roster using the www method. Screenshots taken on iPhone 6S (iOS 11.2.6). rostics 1.0.18-PL2 was used.

CrewLink App

Details about the CrewLink App (by Harold Dijkstra) can be found here: CrewLink App (App Store)

It is designed to be a standalone App to locally store the roster as .pdf file. Calendar integration, like rostoics does it, is not featured. In the context of rostoics, CrewLink can be used to download and e-mail the roster to a specific address. This might sometimes be faster than accessing the company's NetLIne/Crew Crewlink web interface for downloading the roster. Such an e-mailed roster .pdf file is identical to the one downloaded directly via web interface.

Below some screenshots. Use the "Email" button on the second screenshot to send the roster .pdf file.



Protected: santa moments

This content is password protected. To view it please enter your password below:

santa moments (w/o audio)

Without audio due copyright.

Protected: flight moments

This content is password protected. To view it please enter your password below:

flight moments (w/o audio)

Without audio due copyright.

DNS Stock update script

dnsstock_update_screenshotThis script updates the DNS records of DNS Stock.

It generates an URL http://dyndns.dns-stock.com/?hostname=<domain>&username=<username>&password=<pass>&myip=<ipaddr>, which is eventually passed to the DNS Stock server. The code is basically about parsing, validating, checking and formatting the returned WAN IP <ipaddr>. Two URLs are configured to check WAN IP. If the first one returns an error, the second one is queried. If that one fails as well, the script abandons. The logfile dnsstock_update.log reveals relevant details about what happened.

Configured passwords can either be plain text (depreciated) or MD5 crypted (preferred), as visible on DNS Stock site. The DNS Stock server accepts both formats.

Code and logfile entries should be self-explanatory.

Download: dnsstock_update.sh

Comments are desired.