Transport
Levente has a 7-seat minibus. He's going to Bucegi on Saturday anyway. He publishes a transport offer for Ghiță's activity: 7 seats, departure from Bucharest, two pickup points (Pitești and Sinaia), price 80 RON for the full route. Six people reserve seats within an hour. Ana picks up at Sinaia and her share is recalculated to 30 RON, because she's only on the second half of the route.
That's how transport works in Terranos. Drivers publish offers, participants reserve seats, costs split per pickup point.
How transport fits in
Transport is its own thing, separate from the activity itself. An activity might have:
- No transport at all (everyone gets there on their own).
- One transport offer with a few seats.
- Multiple offers — different drivers, different routes.
Each offer has its own thread in the Messages hub under the Transport tab, so the people sharing a car can coordinate without spamming the whole activity.
As a participant
Open the activity, tap Transport. The board shows:
- All offers for this activity.
- Per-offer: driver name, departure city, ordered pickup points, total seats, free seats, price for the full route.
- A button to Reserve seat on each offer with availability.
Tap Reserve seat. The pickup-point picker opens:
- Pick the point closest to you. Each point has its own departure time.
- The seat selector shows the in-car layout (driver-left, passenger-right, back-left, back-right, etc.). Pick a free seat or let the system place you.
- Confirm.
Your share is computed proportionally to the route length from your pickup point. The driver sees you in their passenger list with your pickup point next to your name.
If you change your mind, Cancel reservation releases the seat. The offer's free-seats count goes back up. The driver is notified.
As a driver
From the activity page, tap Transport and then Publish offer (or do it from your own Events > Driver tab).
Fill in:
- Departure city — where you're starting from.
- Pickup points — ordered. The order matters because it defines the route. "Bucharest → Pitești → Sinaia → Bâlea Lac" is a geographic sequence; reordering it doesn't make sense.
- Departure time per pickup point — the time you'll be at each one.
- Total seats — driver excluded. A 5-seat car gives you 4 seats to offer.
- Price — what the full route costs (fuel + tolls + your time, whatever you decide). Per-pickup-point cost is computed from this.
- Minimum passengers (optional) — if you only want to drive when the car is at least this full, set the threshold. Below it, you can cancel without penalty.
- Visibility —
Participant(only people in this activity see it),Commercial(paid driver, shown with a badge), orPrivate(you invite specific people; doesn't appear in the public list).
Publish. Reservations come in. You get notified for each.
Driver actions
From your offer page:
- See passengers — list of who's reserved, with their pickup point and seat.
- Block a seat — mark a seat as reserved for someone external (a friend who's not on Terranos). The blocked seat doesn't accept reservations.
- Move passenger — propose moving a passenger between pickup points or to another offer. They have to accept the move.
- Cancel offer — releases all reserved seats. Reserved passengers are notified.
The per-car discussion thread auto-opens in Messages > Transport. Use it for the practical bits — what time you'll arrive, where exactly to meet, what to bring.
Cost recalculation
When passengers join from different pickup points, the per-passenger cost adjusts proportionally to the route distance from each point:
- Full route: Bucharest → Pitești → Sinaia → Bâlea (400 km).
- Andrei from Bucharest pays the full distance share.
- Ana from Sinaia pays for the Sinaia → Bâlea segment only.
The total cost stays at what the driver set; the per-passenger split is what changes. Specific math is in Costs and financial summary.
Hold and lock deadline
When you tap Reserve seat, the seat is held for you for a few minutes (the lock deadline, configurable per offer, typical default 10 minutes). If you don't confirm before the deadline, the hold expires and the seat goes back to the pool. This prevents two people from racing for the last seat and stops "I'll think about it" from blocking everyone else.
Live transport board
During the activity, if the driver opts in to live tracking, passengers see the car's position on the map and an updated ETA to each pickup point. The transport board itself shows a state: gathering, to_next_pickup, to_trailhead, arrived.
This is meant to keep everyone informed without a stream of "where are you" messages.
Visibility rules
- Participant offers — visible only to people in the activity (joined or pending). Don't appear in the public preview.
- Commercial offers — visible to participants, marked with a commercial badge. The driver is operating commercially (regulated carpool, taxi, transport business).
- Private offers — invited only. Don't appear in any public list. Useful when the driver wants to fill the car with specific people.
When something looks off
- Reserve seat is greyed out. The offer is full, or you haven't joined the activity yet. Join first.
- Lock expired before I confirmed. Tap Reserve seat again. If the seat was claimed by someone else in the meantime, you'll see a different layout.
- My pickup point time conflicts with the activity start time. The driver mis-ordered the points or set the times wrong. Send a message in the per-car thread.
- Cost on my side looks wrong. The proportional split is based on route distance, not equal-shares. If the driver edits the price later, your share recalculates.
- Driver cancelled and nobody told me. You should have received a push notification. Check
Updatesfor the cancellation event.