GDS
Distribution — GDS connects BORA's ticket inventory to maps, travel apps and third-party booking platforms, so a ferry operator sells everywhere its passengers already look.
All modulesBORA Systems is a ferry operations platform built in Tallinn, Estonia — 33 modules across 6 functional categories, each on its own microservice with a local API. Certified to ISO/IEC 27001 and GDPR-compliant. As of 2026, in daily service across three regions: the Baltic, the Channel Islands and the Persian Gulf.
What does it do?
GDS is the module that puts a ferry operator's sailings in front of passengers who never visit its website. It exposes inventory and pricing to external channels — maps, travel apps, agencies, aggregators — and pulls the resulting sales back into the same system as a direct booking.
One connection covers a channel; the module handles the sync both ways, so an operator adds a distribution partner without building an integration per partner.
How does it work?
Connect
A distribution partner connects once to the module's API, rather than to a bespoke per-partner integration.
Sync
Availability and prices flow out; the channel sees the same live inventory a direct passenger does.
Sell
A booking made on the channel lands in BORA as the same object as a direct sale.
Reconcile
Channel commissions and settlement reconcile automatically into the ledger.
What does it connect to?
GDS reads from Inventory and Dynamic pricing and writes into Sales and Payment gateway, over a local API (REST and GraphQL).
Externally it connects to maps, travel apps, agency systems and aggregators — named channels, not a vague 'integrates with everything'.
What are its limits?
What it deliberately does not do:
- GDS distributes what Inventory and Dynamic pricing describe; it is not a place to set prices or define availability, only to expose them.
- GDS does not guarantee parity a channel breaks on its own side — it publishes correct data, but cannot enforce a partner's display.
Frequently asked questions
Do we build an integration per channel?
No. A channel connects once to the module's API; the sync both ways is handled for you.
Is a channel booking different from a direct one?
No. It lands as the same object, valid at the same ramp and counted the same way.
Where do the prices come from?
From the Dynamic pricing module. GDS exposes them; it does not set them.
See GDS on live data
A 30-minute walkthrough, from a web booking to the ramp closing.
Akadeemia tee 15a, 12618 Tallinn, Estonia