Documentatie

Documentation

Catch a Break Wiki

Catch a Break Wiki

Hulp, referentie en tips voor de reisplanner — laatst bijgewerkt: april 2026.

Help, reference and tips for the trip planner — last updated: April 2026.

Catch a Break is een reisplanner die uw vluchten, hotels, restaurants en meer op één plek bewaart. De app werkt op telefoon en in elke moderne webbrowser, en houdt al uw apparaten automatisch synchroon.

Catch a Break is a trip planner that keeps your flights, hotels, restaurants and more in one place. It runs on phone and in any modern browser, and keeps all your devices in sync automatically.

Aan de slagGetting started

U kunt Catch a Break op drie manieren gebruiken:

You can use Catch a Break in three ways:

  1. Mobiele app (Android) — installeer via de Play Store.Mobile app (Android) — install from the Play Store.
  2. Web versie — open catch-a-break.web.app in elke browser. Dezelfde Flutter-app, draait online.Web build — open catch-a-break.web.app in any browser. Same Flutter app, online.
  3. PWA op struisict.com — open de web-app hier en installeer als webapp via uw browser.PWA on struisict.com — open the web app here and install it via your browser's "Install app" option.

Meld u aan met uw Google-account en al uw reizen worden automatisch gesynchroniseerd tussen de drie surfaces.

Sign in with your Google account and all your trips are automatically synced across all three surfaces.

ReizenTrips

Een reis bevat een naam, datums, notities en een lijst van items. Reizen kunnen drie statussen hebben:

A trip has a name, dates, notes and a list of items. Trips have three statuses:

SjablonenTemplates

Markeer een reis als sjabloon om hem te hergebruiken. Wanneer u een reis dupliceert vanuit een sjabloon, worden alle items meegekopieerd zodat u ze niet opnieuw hoeft in te voeren.

Mark a trip as a template to reuse it. When you duplicate a trip from a template, all items are copied so you don't have to re-enter them.

Tip:Tip: houd een sjabloon "Weekendje weg" met de standaardspullen die u altijd boekt. keep a "Weekend trip" template with the staples you always book.

ReisitemsTrip items

Elke reis bevat items die u op twee assen indeelt: internationaal (vluchten, hotels, …) of lokaal (restaurants, activiteiten, …). De app toont per reistype de juiste velden.

Every trip contains items grouped along two axes: international (flights, hotels, …) or local (restaurants, activities, …). The app shows the right fields for each item type.

✈️ VluchtFlight

Vluchtnummer (autocomplete uit de OpenFlights-database), van/naar, vertrek-/aankomsttijd, stoel.

Flight number (autocomplete from the OpenFlights dataset), from/to, departure/arrival time, seat.

🚆 TreinTrain

Treinnummer, van/naar, vertrek/aankomst, perron.

Train number, from/to, departure/arrival, platform.

🚗 HuurautoCar rental

Type, ophaal- en inleverlocatie, datums.

Type, pickup/dropoff location, dates.

🏨 HotelHotel

Adres (autocomplete via OpenStreetMap), check-in/-out, kamertype.

Address (autocomplete via OpenStreetMap), check-in/out, room info.

🎢 PretparkTheme park

Adres, openingsuren, website, ticket-URL.

Address, opening hours, website, ticket URL.

🍽️ RestaurantRestaurant

Adres, openingsuren, website, reserverings-URL.

Address, opening hours, website, reservation URL.

CaféCafé

Adres, openingsuren, website.

Address, opening hours, website.

🎟️ ActiviteitActivity

Ontmoetingspunt, starttijd, website, tickets.

Meeting point, start time, website, tickets.

🛍️ WinkelenShopping

Adres, openingsuren, website.

Address, opening hours, website.

📌 OverigOther

Vrije tekst voor alles wat niet in een categorie past.

Free-form for anything that doesn't fit a category.

Gemeenschappelijke veldenCommon fields

Elk item heeft naast de typespecifieke velden ook: titel, kosten (met valutakeuze), boekingsreferentie, boekings-URL, notities en een optionele herinnering.

Every item has, in addition to its type-specific fields: title, cost (with currency selector), booking reference, booking URL, notes and an optional reminder.

HerinneringenReminders

Op de mobiele app krijgt u een lokale notificatie op de gekozen tijd. Op web wordt de herinnering opgeslagen, maar niet als push-melding getoond — open de app om hem te zien.

On mobile you get a local notification at the chosen time. On web the reminder is saved but not shown as a push — open the app to see it.

SynchronisatieSync

Synchronisatie verloopt volledig automatisch via Firebase Firestore. Wanneer u op een apparaat een reis of item toevoegt, bewerkt of verwijdert, ziet u de wijziging op alle andere apparaten verschijnen binnen ~5 seconden — zolang u op alle apparaten bent ingelogd met hetzelfde Google-account.

Sync runs fully automatically via Firebase Firestore. When you add, edit or delete a trip or item on one device, the change appears on every other device within ~5 seconds — as long as you're signed in with the same Google account on every device.

ApparaatDeviceURL
Mobiele appMobile appPlay Store
Web (Flutter)Web (Flutter)catch-a-break.web.app
Web (PWA)Web (PWA)struisict.com/catchabreakapp.html

Geen handmatige uploads of downloads meer. Sinds versie 1.0.5 zijn de oude "upload alles" / "download alles" knoppen verwijderd — alles gaat realtime.

No more manual uploads or downloads. As of version 1.0.5 the old "upload all" / "download all" buttons are gone — everything is real-time.

Offline gebruikOffline use

De mobiele app slaat al uw gegevens lokaal op (SQLite). U kunt zonder verbinding reizen openen, items bekijken en zelfs nieuwe items toevoegen — zodra u weer online bent worden ze gesynchroniseerd.

The mobile app stores everything locally (SQLite). You can open trips, view items and even add new items without a connection — they sync as soon as you're back online.

De PWA-versie op struisict.com werkt grotendeels offline dankzij de service worker; de Flutter web-versie heeft een actieve verbinding nodig om gegevens te laden.

The PWA on struisict.com works largely offline thanks to its service worker; the Flutter web build needs an active connection to load data.

TalenLanguages

De mobiele en Flutter-web app zijn beschikbaar in 8 talen: Nederlands, Engels, Frans, Duits, Spaans, Italiaans, Zweeds en Pools. U vindt de keuze in Instellingen → Taal.

The mobile and Flutter web app ship in 8 languages: Dutch, English, French, German, Spanish, Italian, Swedish and Polish. Pick yours in Settings → Language.

Tips & trucsTips & tricks

Veelgestelde vragenFrequently asked questions

Waar worden mijn gegevens opgeslagen?Where is my data stored?

In Firebase Firestore (Google Cloud, Europese regio). Alleen u, ingelogd met uw Google-account, heeft toegang. Zie het privacybeleid voor details.

In Firebase Firestore (Google Cloud, EU region). Only you, signed in with your Google account, can access it. See the privacy policy for details.

Werkt de app op iPhone?Does the app work on iPhone?

De native iOS-app is nog niet gepubliceerd, maar de webversies (catch-a-break.web.app en struisict.com/catchabreakapp.html) draaien probleemloos in Safari en kunnen als webapp aan het beginscherm worden toegevoegd.

A native iOS app isn't published yet, but the web versions (catch-a-break.web.app and struisict.com/catchabreakapp.html) run fine in Safari and can be added to the home screen as web apps.

Worden vluchtprijzen automatisch opgehaald?Are flight prices fetched automatically?

Nee. De app slaat het bedrag op dat u zelf invoert. Vluchtprijzen veranderen voortdurend en koppelingen aan boekingsplatforms zou betaalde API's vereisen — daarom houden we het simpel en handmatig.

No. The app stores the amount you enter yourself. Flight prices change constantly and integrating booking platforms would require paid APIs — so we keep it simple and manual.

Kan ik items delen?Can I share items?

U kunt een hele reis exporteren als PDF (mobiele app) en delen via uw normale deelmenu. Realtime samenwerking met andere accounts staat op de roadmap.

You can export a whole trip as a PDF (mobile app) and share it via the standard share sheet. Real-time collaboration with other accounts is on the roadmap.

Hoeveel kost de app?How much does the app cost?

€0,99 als eenmalige aankoop op de Play Store. Daarna heeft u toegang tot alle huidige en toekomstige functies — geen abonnement.

€0.99 as a one-time purchase on the Play Store. After that you have access to all current and future features — no subscription.

Problemen oplossenTroubleshooting

"Sign-in failed: null check operator on a null value""Sign-in failed: null check operator on a null value"

Dit was een bug in versie 1.0.5+7 op de Flutter-webversie. Hard-refresh (Ctrl/Cmd+Shift+R) om de update te halen — versie 1.0.5+8 of nieuwer lost het op.

This was a bug in version 1.0.5+7 on the Flutter web build. Hard-refresh (Ctrl/Cmd+Shift+R) to fetch the update — version 1.0.5+8 or newer fixes it.

Items verschijnen niet op een ander apparaatItems don't appear on another device

Controleer dat u op beide apparaten bent ingelogd met hetzelfde Google-account. Ververs de app of herlaad de pagina. Als het probleem aanhoudt, log uit en weer in.

Make sure you're signed in with the same Google account on both devices. Refresh the app or reload the page. If the problem persists, sign out and back in.

De mobiele app crasht direct na het openenThe mobile app crashes right after launch

Dit kan voorkomen na een upgrade vanaf een oude versie. Verwijder en herinstalleer de app — uw cloud-gegevens worden automatisch teruggehaald.

This can happen after an upgrade from an old version. Uninstall and reinstall the app — your cloud data will be restored automatically.

Contact

Vragen, bugs of verzoeken? Stuur een mail naar dstruis@gmail.com of bezoek struisict.com.

Questions, bugs or requests? Email dstruis@gmail.com or visit struisict.com.