Feedback and Bug Reports can be sent to or use contact form below.

Check-in events

The Settings Tab offers two switches which control Check-in events.

  1. Add check-in events
    If enabled, a check-in event is prepended to all events type FLIGHT. The Location property is set to the airport of departure. An alert is set for Time to Leave. It’s duration considers actual traffic situation at that time, and can vary therefore. This alert triggers two reminders. The first one goes off 16 minutes prior the Time to Leave, and the second one 3 minutes prior.
    Example: If the check-in event starts 11:00 and travel time is 30 minutes, the first reminder fires at 10:14 (11:00 -30 – 16) while the second one fires at 10:27 (11:00 – 30 – 3).


  2. Add alert to check-in events
    If enabled, an additional fix duration alert of 60 minutes is added to the check-in event. This triggers an additional reminder to get ready. Taken above example, this reminder would fire at 10:00.



Be advised about the following terminology used on this page.

  • By Notifications, iOS notifications are meant. They appear on the Lock Screen and Notification Centre of your Apple device.
  • A CrewLink notification is a pending (waiting for confirmation) CrewLink roster change issued by the Airline.

Notifications are sent for:

  1. Pending CrewLink notifications
  2. CrewLink validity end date changes

Both actions above are called Server check. The Server check always does both actions together in that order, and in one go. It checks for any pending CrewLink notifications and for a CrewLink validity end date change.

When does a Server check trigger?

  1. Automatic : Rostoics uses the iOS background fetch (BF) framework, which is active when the App is in background (= App is still running but not in foreground). To avoid hammering the servers, Server checks are spaced by at least 15 minutes (as of this writing – hardcoded, might change in the future). This doesn’t mean that BF fires every 15 minutes. The spacing could be hours, depending on battery life, user’s habits regarding his device and/or this App, the time of the day, network quality, … Basically, BF is a blackbox. Apple doesn’t reveal details when exactly it triggers. BF tries to optimize in terms of battery life and users need/wish to have updated information available when requested (some kind of simple artificial intelligence).
  2. Manual – App suspended : Because of the somewhat random behavior of BF, a Server check also fires when the App is starting up from suspended mode (= when the App doesn’t run in background, = the App was suspended (e.g. by App Switcher)).
  3. Manual – App in foreground : On top, notifications can also be forced while the App is running in foreground by using the Pull-to-refresh feature from the Info Tab.

Info Tab shows details about the Server checks:
Last notif. check : when (date & time) the last Server check took place
CrewLink validity end date : last date roster can be downloaded

Badge icons are used to show the user on the Home screen if there are any notifications. 1 can either be a pending CrewLink notification or a change in CrewLink validity end date. Check the Notification Centre which one fired. 2 means both were triggered. They appear the as grouped notifications in the Notification Centre.

When are badge icons reset?

  1. Pending Crewlink notifications:
    • when confirmed
    • anytime automatic or manual Server checks don’t find a pending CrewLink notification (anymore)
    • when Reset settings (Settings Tab) is used
  2. CrewLink validity end date changes:
    • after a successful download of a roster, using the CrewLink validity End date is used as End date

News & Updates

News & Updates

21.06.2020: Rostoics 1.6-36 released (App Store)
            Dark Mode is now available and can be enabled by App, or by System settings.
            Added support for Corendon Dutch Airlines (CD/CND). Stability was further
            improved and code was optimized in order to enhance user interface experience.
      new : added Airline - Corendon Dutch Airlines (CD/CND)
      new : [ Settings ] added Enable Dark Mode switch
   change : [ Roster ] Roster tab active only if roster was previously downloaded
   change : [ Settings ] Changed color of enabled switches
      fix : many fixes and improvements

10.06.2020: Rostoics 1.5.1-34 released (App Store)
            Stability was further improved, making Rostoics even more useful and user
            friendly. Code was optimized in order to enhance user interface response
            experience. Now, Generate calendar events gives the user the option to
            replace any existing Rostoics event for the given period and chosen
            calendar. This avoids cluttering the calendar with obsolete outdated events.
            This feature makes sure you always have the most recent events in your
      new : [ Settings ] Replace existing calendar events added
   change : [ Manage ] Generate calendar events code improved
   change : [ Manage ] [ Info ] change from continuously turning to remaining time progress indicator
      fix : [ Roster ] correct presentation of CrewLink notification
      fix : reduce badge number by one after successful CrewLink notification confirmation

02.08.2019 : Rostoics 1.0.0-5 released (App Store)
      code : Manage tab
             Start date / End date order algorithm changed.
      code : Manage tab
             rostoics (DH) server basename format including version & build.
             (e.g. 1564685846623_iOS-0-0.4-4.pdf)
      code : TLCs tab
             TLC background download (if required) and local storage.
      code : TLCs tab
             TLC view reloaded if changing connectivity from offline to online.
             real-time update if data becomes available.

29.07.2019 : Rostoics 0.0.3-3 released (beta testers only)
       fix : Manage tab
             'Generate calendar events' button bug w/ partial import.
       fix : Settings tab > Misc section > About
             text ident formatting corrected.
    change : Settings tab > Privacy section >
             'Show own details in TLC list' radio button removed.
       add : Manage tab
             'Download today's roster' button added.

24.07.2019 : Rostoics 0.0.2-2 released (beta testers only)
       fix : Manage tab
             'Generate calendar events' code now shows proper SVProgressHUDs.
       add : statusOnline code implemented using delegates.
       add : TLCs tab
             enable/disable implemented as per statusOnline.
       add : Info tab
             'User authenticated' implemented.
      code : skipped TLCs implemented.

02.07.2019 : Rostoics 0.0.1-1 released (beta testers only)
             first release.

Privacy Policy

Privacy Policy

This privacy policy ("Policy") describes how Mobile Application Developer ("Mobile Application Developer", "we", "us" or "our") collects, protects and uses the personally identifiable information ("Personal Information") you ("User", "you" or "your") may provide in the Rostoics mobile application and any of its products or services (collectively, "Mobile Application" or "Services"). It also describes the choices available to you regarding our use of your Personal Information and how you can access and update this information. This Policy does not apply to the practices of companies that we do not own or control, or to individuals that we do not employ or manage.

Collection of personal information

We receive and store any information you knowingly provide to us when you fill any online forms in the Mobile Application. You can choose not to provide us with certain information, but then you may not be able to take advantage of some of the Mobile Application's features. Users who are uncertain about what information is mandatory are welcome to contact us.

Collection of non-personal information

When you open the Mobile Application our servers automatically record information that your device sends. This data may include information such as your device's IP address and location, device name and version, operating system type and version, language preferences, information you search for in our Mobile Application, access times and dates, and other statistics.

Use and processing of collected information

Any of the information we collect from you may be used to personalize your experience; improve our Mobile Application; improve customer service and respond to queries and emails of our customers; run and operate our Mobile Application and Services. Non-Personal Information collected is used only to identify potential cases of abuse and establish statistical information regarding Mobile Application traffic and usage. This statistical information is not otherwise aggregated in such a way that would identify any particular user of the system.

We may process Personal Information related to you if one of the following applies: (i) You have given your consent for one or more specific purposes. Note that under some legislations we may be allowed to process information until you object to such processing (by opting out), without having to rely on consent or any other of the following legal bases below. This, however, does not apply, whenever the processing of Personal Information is subject to European data protection law; (ii) Provision of information is necessary for the performance of an agreement with you and/or for any pre-contractual obligations thereof; (ii) Processing is necessary for compliance with a legal obligation to which you are subject; (iv) Processing is related to a task that is carried out in the public interest or in the exercise of official authority vested in us; (v) Processing is necessary for the purposes of the legitimate interests pursued by us or by a third party. In any case, we will be happy to clarify the specific legal basis that applies to the processing, and in particular whether the provision of Personal Data is a statutory or contractual requirement, or a requirement necessary to enter into a contract.

Information transfer and storage

Depending on your location, data transfers may involve transferring and storing your information in a country other than your own. You are entitled to learn about the legal basis of information transfers to a country outside the European Union or to any international organization governed by public international law or set up by two or more countries, such as the UN, and about the security measures taken by us to safeguard your information. If any such transfer takes place, you can find out more by checking the relevant sections of this document or inquire with us using the information provided in the contact section.

The rights of users

You may exercise certain rights regarding your information processed by us. In particular, you have the right to do the following: (i) you have the right to withdraw consent where you have previously given your consent to the processing of your information; (ii) you have the right to object to the processing of your information if the processing is carried out on a legal basis other than consent; (iii) you have the right to learn if information is being processed by us, obtain disclosure regarding certain aspects of the processing and obtain a copy of the information undergoing processing; (iv) you have the right to verify the accuracy of your information and ask for it to be updated or corrected; (v) you have the right, under certain circumstances, to restrict the processing of your information, in which case, we will not process your information for any purpose other than storing it; (vi) you have the right, under certain circumstances, to obtain the erasure of your Personal Information from us; (vii) you have the right to receive your information in a structured, commonly used and machine readable format and, if technically feasible, to have it transmitted to another controller without any hindrance. This provision is applicable provided that your information is processed by automated means and that the processing is based on your consent, on a contract which you are part of or on pre-contractual obligations thereof.

The right to object to processing

Where Personal Information is processed for the public interest, in the exercise of an official authority vested in us or for the purposes of the legitimate interests pursued by us, you may object to such processing by providing a ground related to your particular situation to justify the objection. You must know that, however, should your Personal Information be processed for direct marketing purposes, you can object to that processing at any time without providing any justification. To learn, whether we are processing Personal Information for direct marketing purposes, you may refer to the relevant sections of this document.

How to exercise these rights

Any requests to exercise User rights can be directed to the Owner through the contact details provided in this document. These requests can be exercised free of charge and will be addressed by the Owner as early as possible and always within one month.

Privacy of children

We do not knowingly collect any Personal Information from children under the age of 13. If you are under the age of 13, please do not submit any Personal Information through our Mobile Application or Service. We encourage parents and legal guardians to monitor their children's Internet usage and to help enforce this Policy by instructing their children never to provide Personal Information through our Mobile Application or Service without their permission. If you have reason to believe that a child under the age of 13 has provided Personal Information to us through our Mobile Application or Service, please contact us. You must also be at least 16 years of age to consent to the processing of your personal data in your country (in some countries we may allow your parent or guardian to do so on your behalf).

Links to other mobile applications

Our Mobile Application contains links to other mobile applications that are not owned or controlled by us. Please be aware that we are not responsible for the privacy practices of such other mobile applications or third-parties. We encourage you to be aware when you leave our Mobile Application and to read the privacy statements of each and every mobile application that may collect Personal Information.

Information security

We secure information you provide on computer servers in a controlled, secure environment, protected from unauthorized access, use, or disclosure. We maintain reasonable administrative, technical, and physical safeguards in an effort to protect against unauthorized access, use, modification, and disclosure of Personal Information in its control and custody. However, no data transmission over the Internet or wireless network can be guaranteed. Therefore, while we strive to protect your Personal Information, you acknowledge that (i) there are security and privacy limitations of the Internet which are beyond our control; (ii) the security, integrity, and privacy of any and all information and data exchanged between you and our Mobile Application cannot be guaranteed; and (iii) any such information and data may be viewed or tampered with in transit by a third-party, despite best efforts.

Data breach

In the event we become aware that the security of the Mobile Application has been compromised or users Personal Information has been disclosed to unrelated third parties as a result of external activity, including, but not limited to, security attacks or fraud, we reserve the right to take reasonably appropriate measures, including, but not limited to, investigation and reporting, as well as notification to and cooperation with law enforcement authorities. In the event of a data breach, we will make reasonable efforts to notify affected individuals if we believe that there is a reasonable risk of harm to the user as a result of the breach or if notice is otherwise required by law. When we do, we will post a notice in the Mobile Application.

Changes and amendments

We reserve the right to modify this Policy relating to the Mobile Application or Services at any time, effective upon posting of an updated version of this Policy in the Mobile Application. When we do we will post a notification in our Mobile Application. Continued use of the Mobile Application after any such changes shall constitute your consent to such changes. Policy was created with WebsitePolicies.

Acceptance of this policy

You acknowledge that you have read this Policy and agree to all its terms and conditions. By using the Mobile Application or its Services you agree to be bound by this Policy. If you do not agree to abide by the terms of this Policy, you are not authorized to use or access the Mobile Application and its Services.

Contacting us

If you have any questions about this Policy, please contact us.

This document was last updated on July 2, 2019

Convert .pdf to .ics

rostoics_mainThis tool converts NetLine/Crew CrewLink roster .pdf files into .ics calendar files.


Please read these Instructions carefully prior using this tool !!!



1a. Download your roster using your company's web interface (NetLine/Crew CrewLink).
1b. Download your roster using the CrewLink App.
2. Save the roster locally as .pdf file.
3. Go to Convert .pdf to .ics.
4. Press Browse... button and select the just downloaded .pdf file.
5. Press Upload roster (.pdf file). Roster is then processed by rostoics tool.
6. Press Download roster (.ics file) and save that file locally.
7. Import the .ics file into your calendar using your preferred gateway.

Select roster (.pdf file) to be uploaded:

(wait 5-10 seconds for roster processing to finish)

rsync backup from Ubuntu server to Synology NAS

This tutorial describes how to do scripted passwordless encrypted automatic rsync backups from an Ubuntu server to a Synology NAS. It is supposed to be a general guide, which can be used with other Linux variants as well. Only minor changes should be required.

I did this first of all in order to help other Synology NAS users perform efficient and secure backups to their NAS, but also to get get my scratch pad like personal installation notes in a more reasonable shape, so I can recall later on myself what I did, how, and why.

Synology NAS shell – Basics

synology_dsmThe following article describes some basics regarding first contact with Synology DSM shell.

I used DSM 6.1.3 out of the box, running in a Virtual machine (using Virtual Machine Manager) on DS1817+ hardware.

Null client Postfix setup

The following setup describes a postix setup to send e-mails using an existing SMTP server. It is not designed to receive e-mails. My provider is DreamHost, but setup should be very similar with other hosters. I used a VM with the Ubuntu Server 16.04.1 out of the box installtion (ubuntu-16.04.1-server-amd64). This VM has no real FQDN, hence an imaginary needs to be configured in order to make the SMPT server accept sent e-mails.


rostoics is a tool which converts NetLine/Crew CrewLink roster .pdf files into .ics calendar files. The .ics files are used to create calendar events on iPhone, iPad, Samsung, ... basically any device able to deal with .ics files. Google Calendar also supports .ics file import.

Who should use it ...
All those who make extensive use of online as well as local calendar entries, being it for private or professional purpose. Basically all those who have a highly charged daily schedule requiring organization to some extent. Online integration adds sharing features to friends an family members. Tedious and error prone manual event entries can be avoided.

Who should disregard it ...
When hardcopies of Crew roster, downloaded PDF documents or CrewLink App roster consultations are sufficient for planning purpose, calendar setup isn't really necessary.

- event : Any calendar entry e.g. flight, ground duty, standby, free day, ...
- .pdf file : The format of the roster file downloaded from NetLine/Crew CrewLink.
- .ics file : Standardized calendar file format, generated by subject rostoics tool.

1. Only plain rosters are accepted. No notifications (schedule changes).
2. Only Luxair rosters are accepted for the time being.
3. Event spawning across more than one month is not allowed. - REMOVED (BETA)

I try to lift restrictions gradually.

Nota bene
Be aware that apparently parsed events might be incorrect or incomplete. Always check every event after import !!!

Debug messages on Convert .pdf to .ics page (bottom) shows events not parsed properly. Manual modification is required. E.g. ...
debug : unparsed event!
        [20161129] Tue29 DH/LG 8361 /30 LUX 0540 0645 GVA [FT 00:00]

Please report (using Comment feature at the bottom of this page) any non parsed or badly parsed events.

Bug fixes could possibly introduce new bugs. Of course I try to avoid by all means, nevertheless there is a potential risk this might occur.

Any suggestions regarding formatting of event, additional information, this web interface, mistakes, ... just anything ... are welcomed!

Tested browsers
Firefox 47.0.1 on Windows 7
Safari on iOS 10.1.1 (iPhone 6s)
Safari on iOS 9.3.5 (iPad [3rd generation])
Please report any browser related compatilities and incompatilities.