/* Landing copy — EN / PL */ /* global window */ window.LANDING_COPY = { en: { nav: { product: 'Product', howItWorks: 'How it works', forOps: 'For operators', forInv: 'For investors', login: 'Log in', demo: 'Book demo', }, hero: { eyebrow: 'Revenue intelligence for European rail', title: ['Every seat. Every kilometre.', 'Priced like it ', 'matters', '.'], sub: 'Rubin is a revenue management platform for passenger rail. We turn booking data, competitor pricing, and demand signals into pricing decisions — per train, per day, per fare class.', primary: 'Book a demo', secondary: 'See live map', note: 'Live pilot · 2 carriers · PL+CZ', }, ticker: [ { k: 'WAW → KRK', v: 'Load factor', n: '82.4%', d: '+3.1pp', up: true }, { k: 'WAW → GDN', v: 'Yield', n: '0.41 zł/pkm', d: '+4.8%', up: true }, { k: 'KRK → PRG', v: 'Competitor gap', n: '−18 zł', d: 'undercut', up: false }, { k: 'POZ → WRO', v: 'Forecast var.', n: '±2.2%', d: 'on track', up: true }, { k: 'WAW → POZ', v: 'Fare class C', n: '14 days lead', d: 'reprice', up: false }, { k: 'WAW → WRO', v: 'RASK', n: '0.37 zł', d: '+6.1%', up: true }, { k: 'WRO → BER', v: 'Channel mix', n: '62% direct', d: '+4pp', up: true }, { k: 'KRK → GDN', v: 'Overbook risk', n: '3 trains', d: 'alert', up: false }, ], problem: { label: '01 / The gap', title: ['Rail is a ', '€90bn market', ' still priced like a timetable.'], sub: "Airlines rebuild their pricing hundreds of times a day. Most rail operators still publish a fare sheet and hope. The gap between what a seat could earn and what it actually earns is not small.", cards: [ { big: ['30', '%'], t: 'Seats that fly empty', d: 'Average European IC load factor. Half the trains leaving tomorrow are underpriced. The other half are overpriced.', src: 'UIC, 2024' }, { big: ['6', 'x'], t: 'Faster price changes in aviation', d: 'Rail operators reprice on a calendar. Airlines reprice on demand, competitor moves, and weather — in minutes.', src: 'IATA vs. CER benchmark' }, { big: ['€2.1', 'bn'], t: 'Revenue left on the table', d: 'Our estimate of yield uplift across European open-access carriers if modern RM were deployed on mainline services.', src: 'Rubin internal model' }, ], }, caps: { label: '02 / Product', title: ['One control surface for ', 'revenue, capacity, and price', '.'], sub: 'Four modules that share the same booking backbone. Built for revenue managers who live in spreadsheets and want to stop.', items: [ { num: 'Module 01', tag: 'Forecast', title: 'Demand forecasting, per train, per fare class', desc: 'Booking-curve forecasts that update every hour. See exactly how each departure is pacing versus same-day-of-week, same-season, and your own plan.', bullets: [ 'Hour-level refresh on 100% of departures', 'Per fare-class elasticity model', 'Weather, events & holiday uplifts built in', ], viz: 'curve', }, { num: 'Module 02', tag: 'Price', title: 'Dynamic pricing with guardrails you actually trust', desc: 'Recommend fares by fare class and date-to-departure. Set floors, ceilings, and competitive rules. Approve in one click — or let it auto-apply within limits you set.', bullets: [ 'Rule-based or ML-driven, your choice', 'What-if simulator on every recommendation', 'Audit trail for regulators & board', ], viz: 'pricing', }, { num: 'Module 03', tag: 'Compete', title: 'Competitive intelligence on every corridor', desc: 'Scraped and reconciled fares from every open-access competitor, bus operators, and low-cost airlines. Know the price gap before your customer does.', bullets: [ 'Koleo · RegioJet · Leo Express · FlixBus · Ryanair', 'Corridor-level share of capacity', 'Alerts on price moves > threshold', ], viz: 'compete', }, { num: 'Module 04', tag: 'Optimise', title: 'Capacity optimisation across the network', desc: 'See where your trains run empty and where you turn away revenue. Rebalance rolling stock, add coaches, or re-time slots — with the revenue impact quantified up front.', bullets: [ 'O&D matrix across every stop pair', 'Rolling-stock reassignment simulator', 'Board-ready capacity reports', ], viz: 'matrix', }, ], }, how: { label: '03 / How it works', title: ['From raw ticketing data to ', 'priced departures', ', in under an hour.'], cols: [ { step: 'Step 01 — Connect', t: 'We speak your systems', p: 'Plug into GTFS, your PSS, payment gateway, and channel partners. No rip-and-replace. Historical import in days, not quarters.', sources: ['GTFS-RT', 'PSS / PAO', 'PCI-compliant channels', 'BI warehouse'] }, { step: 'Step 02 — Model', t: 'Your demand, your patterns', p: 'We train on two years of your history. Every model is your model — no pooled data, no leakage, no surprise anywhere in the audit log.', sources: ['Per-departure model', 'Competitive signal', 'Weather & events', 'Elasticity priors'] }, { step: 'Step 03 — Act', t: 'One screen. One decision.', p: 'Revenue managers review recommendations and approve. Or define rules and let Rubin apply them inside the guardrails you set. Every change is logged.', sources: ['Dashboard', 'API', 'Slack / Teams alerts', 'Approval workflow'] }, ], }, demo: { label: '04 / See it live', title: ['The same data we price on, ', 'shown to the public', '.'], sub: '"Gdzie jest złoty pociąg?" is our public-facing live map — the consumer-friendly surface of the engine that powers Rubin. Every dot is a real train, with a real revenue number behind it.', cta: 'Open live dashboard', sub2: 'Built from the same GTFS-RT, PSS, and booking feeds that drive our pricing engine. What you see on the map is a 5% slice of what operators see in Rubin.', }, audiences: { label: '05 / Who it’s for', title: ['Two buyers. ', 'One platform', '.'], ops: { icon: 'For operators', h: 'Revenue managers & commercial directors', pitch: 'You are running 2024 trains on 1994 pricing logic. Rubin is the first platform built by ex-airline RM people for the way rail actually works — mandatory reservation or not.', bullets: [ 'Deploy on a single corridor in 6 weeks', 'Proven +4.8% RASK uplift in open-access pilot', 'Works with mandatory-reservation & open-seating', 'Polish, Czech, German, English UI', ], cta: 'Request pilot', }, inv: { icon: 'For investors', h: 'Infrastructure, mobility & vertical SaaS funds', pitch: 'European rail liberalisation is a decade-long tailwind. Every new open-access entrant needs revenue tooling on day one. We want to be the default.', bullets: [ '€90bn addressable market, <2% digitised', 'Seed round closed Q1 2026 · Series A opening', 'Team: ex-Amadeus, ex-PKP IC, ex-Uber', 'Pilot revenue from day 30', ], cta: 'Request deck', }, }, metrics: { label: '06 / Early numbers', title: ['What ', 'the pilot', ' has shown so far.'], sub: 'Two carriers, four corridors, six months. Numbers benchmarked against the same operators’ same-corridor performance one year prior.', items: [ { v: ['+4.8', '%'], l: 'RASK uplift', d: 'vs. same corridor, prior year' }, { v: ['+6.1', 'pp'], l: 'Load factor gain', d: 'on high-demand departures' }, { v: ['−18', '%'], l: 'Price under-cut events', d: 'caught within 60 seconds' }, { v: ['2', 'h'], l: 'From sign-off to live', d: 'for a new fare-class rule' }, ], }, cta: { h: ['Ready to stop pricing by spreadsheet?'], p: 'We ship pilots in six weeks. We do not do year-long integrations. Tell us which corridor, and we will quote you the revenue upside before the contract is signed.', primary: 'Book a 30-min demo', secondary: 'hello@rubin.rail', }, footer: { copy: '© 2026 Rubin sp. z o.o. · Warszawa · All data shown on this page is illustrative.', links: ['Privacy', 'Terms', 'Cookies', 'Contact'], hrefs: ['/privacy.html', '/terms.html', '/cookies.html', '/demo.html'], }, }, pl: { nav: { product: 'Produkt', howItWorks: 'Jak to działa', forOps: 'Dla przewoźników', forInv: 'Dla inwestorów', login: 'Zaloguj', demo: 'Umów demo', }, hero: { eyebrow: 'Revenue intelligence dla europejskiej kolei', title: ['Każde miejsce. Każdy kilometr.', 'Wycenione tak, jakby ', 'miało znaczenie', '.'], sub: 'Rubin to platforma zarządzania przychodem dla kolei pasażerskiej. Zamieniamy dane rezerwacyjne, ceny konkurencji i sygnały popytu w decyzje cenowe — dla każdego pociągu, dnia i klasy taryfowej.', primary: 'Umów demo', secondary: 'Zobacz mapę live', note: 'Pilotaż · 2 przewoźników · PL+CZ', }, ticker: [ { k: 'WAW → KRK', v: 'Obłożenie', n: '82,4%', d: '+3,1pp', up: true }, { k: 'WAW → GDN', v: 'Yield', n: '0,41 zł/pkm', d: '+4,8%', up: true }, { k: 'KRK → PRG', v: 'Luka do konkur.', n: '−18 zł', d: 'poniżej', up: false }, { k: 'POZ → WRO', v: 'Odchyl. progn.', n: '±2,2%', d: 'OK', up: true }, { k: 'WAW → POZ', v: 'Klasa C', n: '14 dni', d: 'do zmiany', up: false }, { k: 'WAW → WRO', v: 'RASK', n: '0,37 zł', d: '+6,1%', up: true }, { k: 'WRO → BER', v: 'Kanały', n: '62% direct', d: '+4pp', up: true }, { k: 'KRK → GDN', v: 'Overbook', n: '3 pociągi', d: 'alert', up: false }, ], problem: { label: '01 / Problem', title: ['Kolej to rynek wart ', '90 mld €', ' wyceniany jak rozkład jazdy.'], sub: 'Linie lotnicze przeliczają ceny setki razy dziennie. Większość kolei wciąż publikuje cennik i czeka. Różnica między tym, co mogłoby zarobić miejsce, a tym co faktycznie zarabia, nie jest mała.', cards: [ { big: ['30', '%'], t: 'Miejsc jeździ pustych', d: 'Średnie obłożenie pociągów IC w Europie. Połowa pociągów jutro jest za tania. Druga połowa — za droga.', src: 'UIC, 2024' }, { big: ['6', 'x'], t: 'Szybsze zmiany cen w lotnictwie', d: 'Kolej zmienia ceny według kalendarza. Linie lotnicze — na podstawie popytu, ruchów konkurencji i pogody. W minutach.', src: 'Porównanie IATA / CER' }, { big: ['2,1', ' mld €'], t: 'Przychód zostawiony na stole', d: 'Nasze oszacowanie wzrostu yieldu u europejskich przewoźników open-access przy wdrożeniu nowoczesnego RM.', src: 'Model Rubin' }, ], }, caps: { label: '02 / Produkt', title: ['Jedna powierzchnia dla ', 'przychodu, pojemności i ceny', '.'], sub: 'Cztery moduły na jednym fundamencie rezerwacyjnym. Dla revenue managerów, którzy mieszkają w arkuszach i chcą z nich wyjść.', items: [ { num: 'Moduł 01', tag: 'Prognoza', title: 'Prognozowanie popytu, dla każdego pociągu i klasy', desc: 'Krzywe booking-pace odświeżane co godzinę. Widzisz dokładnie, jak dany kurs zapełnia się względem tego samego dnia tygodnia, sezonu i Twojego planu.', bullets: [ 'Odświeżanie godzinowe dla 100% kursów', 'Model elastyczności na poziomie klasy', 'Pogoda, wydarzenia i święta w modelu', ], viz: 'curve', }, { num: 'Moduł 02', tag: 'Cena', title: 'Dynamic pricing z ograniczeniami, którym ufasz', desc: 'Rekomendacje taryf wg klasy i dni do odjazdu. Ustawiasz dolne, górne i konkurencyjne limity. Zatwierdzasz kliknięciem — albo Rubin stosuje je automatycznie w Twoich widełkach.', bullets: [ 'Regułowo lub ML — wybierasz', 'Symulator „co jeśli" przy każdej rekomendacji', 'Ślad audytowy dla regulatora i zarządu', ], viz: 'pricing', }, { num: 'Moduł 03', tag: 'Konkurencja', title: 'Wywiad cenowy na każdej relacji', desc: 'Zebrane i ujednolicone ceny wszystkich przewoźników open-access, autobusów i tanich linii. Znasz lukę cenową, zanim pozna ją Twój klient.', bullets: [ 'Koleo · RegioJet · Leo Express · FlixBus · Ryanair', 'Udział pojemności na korytarzu', 'Alerty przy zmianach ceny > próg', ], viz: 'compete', }, { num: 'Moduł 04', tag: 'Optymalizacja', title: 'Optymalizacja pojemności w sieci', desc: 'Widzisz, gdzie pociągi jadą puste i gdzie odprawiasz pasażerów. Przesuwasz tabor, dostawiasz wagony, zmieniasz sloty — z wpływem na przychód policzonym z góry.', bullets: [ 'Macierz O&D dla każdej pary stacji', 'Symulator realokacji taboru', 'Raporty pojemności gotowe na zarząd', ], viz: 'matrix', }, ], }, how: { label: '03 / Jak to działa', title: ['Od surowych danych biletowych do ', 'wycenionych kursów', ', w mniej niż godzinę.'], cols: [ { step: 'Krok 01 — Integracja', t: 'Mówimy Twoimi systemami', p: 'Łączymy się z GTFS, PSS, bramkami płatności i partnerami sprzedażowymi. Bez wymiany systemu. Import historii w dniach, nie kwartałach.', sources: ['GTFS-RT', 'PSS / PAO', 'Kanały PCI', 'Hurtownia BI'] }, { step: 'Krok 02 — Model', t: 'Twój popyt, Twoje wzorce', p: 'Uczymy model na dwóch latach Twojej historii. Każdy model jest Twój — bez mieszania danych, bez wycieków, wszystko w logu audytowym.', sources: ['Model per-kurs', 'Sygnał konkurencyjny', 'Pogoda i wydarzenia', 'Priors elastyczności'] }, { step: 'Krok 03 — Działanie', t: 'Jeden ekran. Jedna decyzja.', p: 'Revenue manager przegląda rekomendacje i zatwierdza. Albo definiuje reguły i Rubin działa w Twoich limitach. Każda zmiana w logu.', sources: ['Dashboard', 'API', 'Alerty Slack / Teams', 'Workflow akceptacji'] }, ], }, demo: { label: '04 / Zobacz na żywo', title: ['Te same dane, na których wyceniamy, ', 'pokazane publicznie', '.'], sub: '„Gdzie jest złoty pociąg?" to nasza publiczna mapa live — konsumencka twarz silnika, który napędza Rubin. Każda kropka to prawdziwy pociąg z prawdziwym przychodem.', cta: 'Otwórz dashboard live', sub2: 'Zbudowane na tych samych źródłach GTFS-RT, PSS i bookingowych, które zasilają nasz silnik cenowy. Mapa pokazuje 5% tego, co widzą przewoźnicy w Rubin.', }, audiences: { label: '05 / Dla kogo', title: ['Dwóch odbiorców. ', 'Jedna platforma', '.'], ops: { icon: 'Dla przewoźników', h: 'Revenue managerowie i dyrektorzy handlowi', pitch: 'Prowadzisz pociągi z 2024 na logice cenowej z 1994. Rubin to pierwsza platforma zbudowana przez ludzi z RM z lotnictwa dla kolei — z rezerwacją obowiązkową lub bez.', bullets: [ 'Wdrożenie na jednej relacji w 6 tygodni', 'Udokumentowany wzrost RASK o 4,8% w pilotażu', 'Dla rezerwacji obowiązkowej i wolnych miejsc', 'Interfejs PL, CZ, DE, EN', ], cta: 'Zamów pilotaż', }, inv: { icon: 'Dla inwestorów', h: 'Fundusze infra, mobility i vertical SaaS', pitch: 'Liberalizacja europejskiej kolei to trend na dekadę. Każdy nowy przewoźnik open-access potrzebuje narzędzi RM od dnia zero. Chcemy być standardem.', bullets: [ 'Rynek 90 mld €, digitalizacja <2%', 'Seed zamknięty Q1 2026 · otwieramy rundę A', 'Zespół: ex-Amadeus, ex-PKP IC, ex-Uber', 'Przychód pilotażowy od dnia 30', ], cta: 'Poproś o deck', }, }, metrics: { label: '06 / Pierwsze wyniki', title: ['Co ', 'pilotaż', ' pokazał do tej pory.'], sub: 'Dwóch przewoźników, cztery korytarze, sześć miesięcy. Wyniki odniesione do tych samych relacji rok wcześniej.', items: [ { v: ['+4,8', '%'], l: 'Wzrost RASK', d: 'vs. ta sama relacja, rok wcześniej' }, { v: ['+6,1', 'pp'], l: 'Wzrost obłożenia', d: 'na kursach szczytowych' }, { v: ['−18', '%'], l: 'Zdarzeń podcięcia ceny', d: 'wykrytych w 60 sekund' }, { v: ['2', 'h'], l: 'Od akceptu do produkcji', d: 'dla nowej reguły taryfowej' }, ], }, cta: { h: ['Koniec z wyceną w arkuszu.'], p: 'Pilotaże wdrażamy w sześć tygodni. Nie robimy rocznych integracji. Powiedz nam, który korytarz — wycenimy Ci wzrost przychodu przed podpisaniem umowy.', primary: 'Umów 30-min demo', secondary: 'hello@rubin.rail', }, footer: { copy: '© 2026 Rubin sp. z o.o. · Warszawa · Wszystkie dane na tej stronie są poglądowe.', links: ['Prywatność', 'Regulamin', 'Pliki cookie', 'Kontakt'], hrefs: ['/privacy.html?lang=pl', '/terms.html?lang=pl', '/cookies.html?lang=pl', '/demo.html?lang=pl'], }, }, };