Docking Slips¶
A docking slip is the physical berth a ship occupies while at a station. They aren't infinite — every station has a finite count, and at busy stations they fill up. Outside of Capital-tier stations and the Central Nexus, slip availability is genuinely scarce. The most-restricted slips are the construction berths at TradeDock shipyards where players build ships like the Warp Jumper — those are rare facilities with long queues, reputation gates, and competitive reservation cycles.
This doc covers the four-class slip taxonomy, per-station-class slip counts, the construction-slip restriction tiers (which shipyards can build which hulls), the queue and reservation system, and the pricing model that scales with scarcity.
The closely-related docs:
- ./port-ownership.md — station ownership and revenue.
- ./station-protection.md — security tiers and docking-fee economics. Slips and protection are independent dimensions; a Premium-tier station may still have only 4 transient slips because that's the station's hull capacity.
- ./tradedock-shipyard.md — TradeDock shipyard mechanics; construction-slip restriction tiers introduced below extend that doc.
Slip taxonomy¶
Four canonical slip classes. Each station carries a per-class count; some classes are zero at most stations.
| Class | Purpose | Typical hold time | Reservation? |
|---|---|---|---|
| Transient | Routine docking — trading, refueling, market visits, brief player breaks | 5 minutes – 24 hours | No (FIFO availability) |
| Long-term mooring | Multi-day stays for out-of-game players, NPC traders between routes, stored ships | 1–30 days | Optional pre-booking |
| Construction | Active ship-build projects at TradeDocks | 3–14 real-time days | Required — pre-book + reputation gate |
| Specialized construction | Restricted hull types (Carrier, Warp Jumper) at Tier-A TradeDocks | 7–17 real-time days | Required — high-tier reputation gate + competitive queue |
Slip class is a property of the slip itself; a station with 50 Transient slips and 8 Long-term slips can serve both at once but cannot build ships unless it also carries Construction slips.
Per-station-class slip counts¶
Capital stations and Central Nexus hubs are the only generous-slip facilities in the universe. Everywhere else, slips are limited. The galaxy generator's Phase 11 (anchored guarantees) sets these counts; player-ownable stations gain owner-tunable upgrades to add more slips at credit + time cost.
| Station class | Transient slips | Long-term slips | Construction slips | Specialized construction slips |
|---|---|---|---|---|
| Capital station (regional) | 80 | 30 | 0 | 0 |
| Central Nexus Starport Prime | 200 | 50 | 0 | 0 |
| Class 0–2 (basic trading) | 8 | 2 | 0 | 0 |
| Class 3–6 (mid-tier trading) | 12 | 4 | 0 | 0 |
| Class 7–10 (premium / refining) | 20 | 6 | 0 | 0 |
| Class 11 (Premium Tech Specialist) | 24 | 8 | 0 | 0 |
| SpaceDock (per DECISIONS AU4-4) | 30 | 10 | 0 | 0 |
| TradeDock (Tier-B — standard) | 20 | 8 | 12 | 0 |
| TradeDock (Tier-A — Warp-Jumper-capable) | 24 | 8 | 8 | 4 |
| Pirate / outlaw outpost | 6 | 2 | 0 (small black-market shipwright at 📐 future tier) | 0 |
| Frontier outpost | 4 | 1 | 0 | 0 |
A Class-3 trading station has 12 transient slips total. During a normal day on a moderately-trafficked region, those slips are usually all occupied. A player attempting to dock with all slips full gets ERR_NO_SLIPS_AVAILABLE and can:
- Wait in the sector for a slip to free up (FIFO queue).
- Travel to a different station with slip availability.
- Pay an emergency-priority fee (5× the normal docking fee) to bump the longest-occupant transient slip — only works if the occupant has been there ≥4 hours and is themselves a transient.
Capital stations and Starport Prime are sized for full-traffic surge handling — they don't hit the no-slips condition under normal play. The scarcity is a real Class-3-and-below-station problem.
Construction slip restriction tiers¶
The four Specialized construction slots in the universe are gated by TradeDock tier. Not every TradeDock can build every ship. The restriction is structural: building a Warp Jumper requires Quantum-resonance harmonization equipment, Lumen-Crystal-grade fabrication, and a 1,000,000-credit-grade hull bay — facilities that exist at only a handful of TradeDocks galaxy-wide.
Tier-B TradeDocks (the dominant case)¶
Build the 7 standard hull types: Light Freighter, Fast Courier, Scout, Cargo Hauler, Colony Ship, Defender. Cannot build Carrier or Warp Jumper. 12 standard construction slips. Tier-B is the "normal" TradeDock — most regions have 1–2 of them.
Tier-A TradeDocks (the rare case)¶
Build the 9 craft-able hull types — all of the above plus Carrier and Warp Jumper. 8 standard construction slips + 4 specialized construction slips dedicated to Carrier or Warp Jumper builds. Tier-A is the rare facility: typically 0–1 per region at launch (the Central Nexus has 2; Terran Space has 1; player regions have 1 if and only if the Region Owner has paid the Tier-A upgrade premium per ./tradedock-shipyard.md).
A new player who wants to build a Warp Jumper may need to travel cross-region via the Nexus warp gates to reach a Tier-A TradeDock, queue for a specialized slip, and meet the reputation requirements before construction can begin.
Per-tier reputation gates¶
Construction-slip queues require minimum reputation with the TradeDock's controlling faction. Higher-tier slots gate harder.
| Slip class | Tier-B TradeDock | Tier-A TradeDock |
|---|---|---|
| Standard construction | RECOGNIZED (≥ +50) |
ACKNOWLEDGED (≥ +100) |
| Specialized (Carrier) | n/a | TRUSTED (≥ +200) |
| Specialized (Warp Jumper) | n/a | HONORED (≥ +500) |
A player at NEUTRAL rep (-49 to +49) cannot enter the construction queue at any TradeDock. Faction reputation is the single largest gate; faction-rep grinding is part of the path to a Warp Jumper.
Queue and reservation system¶
Construction slips are strictly reservation-based. A player who wants a slip submits a ConstructionReservation with target hull type, posted deposit, and faction-rep snapshot. The TradeDock processes reservations using a deterministic lexicographic sort key:
priority_sort_key = (
slip_class_match, // boolean: matches the slip class? (only true rows eligible)
priority_bumps_count, // DESC — purchased advantage
faction_rep_tier, // DESC — HONORED=4, TRUSTED=3, ACKNOWLEDGED=2, RECOGNIZED=1
posted_deposit_cr, // DESC — credible signal of intent
created_at // ASC — FIFO tiebreaker
)
In plain reading order:
- Slip class match — only reservations matching the slip class are eligible.
- Priority bumps — within eligible, more bumps go first.
- Reputation tier — then higher-rep players.
- Posted deposit — then larger deposits.
- Reservation timestamp — then earlier reservations (FIFO).
When a reservation is accepted (the reservation reaches the front of the queue and the next slip frees), the player has 24 hours to arrive at the TradeDock with the required deposit + initial resources. Missed arrival forfeits the deposit (50% to the next-in-queue player as a goodwill payout, 50% to the TradeDock).
Reservation queue depths (typical)¶
| Slip class | Average queue depth | Wait time at queue tail |
|---|---|---|
| Tier-B standard | 2–4 reservations | 5–14 days |
| Tier-A standard | 4–8 reservations | 14–30 days |
| Tier-A Carrier specialized | 3–5 reservations | 21–45 days |
| Tier-A Warp Jumper specialized | 8–15 reservations | 45–90 days (universe peak) |
A Warp Jumper queue with 12 reservations ahead of you means ~9 weeks wall-clock before your build can start, and that's after you've reached HONORED reputation. This is the canonical answer to "why is the Warp Jumper a 1.1M cr risk capital ship" — the time investment is real, the queue is real, the prerequisite reputation is real.
Priority bump¶
Players can pay a priority bump fee to advance their reservation in the queue. Cost scales steeply:
- Bump 1 position: 5% of total project cost
- Bump 5 positions: 25% of total project cost
- Bump 10 positions: 60% of total project cost
- Bump to front: 100% of total project cost (effectively doubling the build cost)
The bumped reservations behind the buyer slide back one position each; their hold-time fees (📐) accrue accordingly. Priority-bump revenue is split per the standard TradeDock fee distribution.
Reservation cancellation¶
A player can cancel their reservation at any time before the slip becomes theirs. Refund schedule per DECISIONS AU2-6 (region-funded TradeDock construction lifecycle decision):
- Cancel before active build starts: pro-rata deposit refund minus 25% restocking fee.
- Cancel after build phase 1 begins: see
./tradedock-shipyard.mdfor phase-by-phase refund schedule.
Resources delivered are consumed irreversibly per delivery batch — see ADR-0039 (the cancel-and-rebook resource-reuse loophole resolution).
Slip rental fee structure¶
Independent of docking fees, slip rental scales with class and station type. A transient slip at a Class-3 station is 100 cr/hour; a specialized Warp Jumper slip is 50,000 cr/day.
| Slip class | Fee |
|---|---|
| Transient (Capital / Nexus / Class-11 / SpaceDock) | 100 cr/hour or daily cap (1,500 cr/day) |
| Transient (Class 0–10) | 50 cr/hour or daily cap (750 cr/day) |
| Long-term mooring | 200 cr/day |
| Construction (Tier-B standard) | 5,000 cr/day |
| Construction (Tier-A standard) | 8,000 cr/day |
| Specialized Carrier | 20,000 cr/day |
| Specialized Warp Jumper | 50,000 cr/day |
Construction slip fees compound across the build duration — a 14-day Warp Jumper build accumulates 700,000 cr in slip rental alone, on top of the materials and the Warp Jumper hull cost. This is folded into the all-in 1.1M cr figure quoted in ../galaxy/warp-gates.md gate-construction prerequisites.
Slip rental is not waived for owner-team-mates or allied factions (unlike docking fees) — slips are scarce; the station can't afford to give them away.
Schema impact¶
Station.docking_slip_inventory JSONB¶
A new column on Station (✅ Shipped) carrying the per-class slip count and current occupancy:
{
"transient": {"total": 80, "occupied": 47, "queue_depth": 0},
"long_term": {"total": 30, "occupied": 24, "queue_depth": 2},
"construction": {"total": 0, "occupied": 0, "queue_depth": 0},
"specialized_construction": {"total": 0, "occupied": 0, "queue_depth": 0}
}
Updated atomically on every slip transition (acquire / release / queue advance). Player-client UI reads this directly for dock-availability indicators.
TradeDock tier discriminator¶
The existing TradeDock model (per ../../DATA_MODELS/stations.md) gains a tier enum field:
| Field | Type | Notes |
|---|---|---|
tier |
Enum tradedock_tier |
tier_b (standard, dominant case) / tier_a (Warp-Jumper-capable, rare) |
specialized_slip_capable_hulls |
JSONB array | Which hulls can be specialized-slip-built. Tier-B = []; Tier-A = ["CARRIER", "WARP_JUMPER"]. |
region_assignment_role |
Enum | primary_tier_b / secondary_tier_b / tier_a_facility — used by the galaxy generator's Phase 10.5 (per ADR-0041) to ensure each region has at least one Tier-B TradeDock and at most one Tier-A. |
ConstructionReservation table¶
A table (✅ Shipped) for the queue:
| Field | Type | Notes |
|---|---|---|
id |
UUID | PK |
tradedock_id |
UUID FK | The TradeDock the reservation is held against. |
slip_class |
Enum | standard_construction / specialized_construction |
target_hull |
Enum ship_type |
The hull the player wants to build. |
player_id |
UUID FK | The reserving player. |
team_id |
UUID FK | If reserved for a team treasury build. |
posted_deposit_cr |
Integer | Deposit at reservation time (10% of project cost; refunded per cancellation rules). |
faction_rep_snapshot |
Integer | Player's rep with the TradeDock's faction at reservation time; used for queue ordering. |
priority_bumps_count |
Integer | How many priority bumps have been purchased. |
current_queue_position |
Integer | Live position; recomputed on bump / cancel events. |
expires_at |
DateTime | Reservation auto-cancels if not honored within (e.g.) 30 days at the front of the queue. |
created_at |
DateTime | |
updated_at |
DateTime |
Slip-availability service¶
The runtime service that processes slip transitions, queue advancement, and reservation acceptance. Runs on every dock attempt and on slip-release events.
Player UX¶
A player visiting Class-3 station "Auriga Spaceport" sees: - "Auriga Spaceport — Transient slips: 11/12 occupied. Estimated wait: 0 min (next slip frees in ~14 min)." - They can dock immediately if a slip is free, queue if full, or pay the emergency-priority fee.
A player at a Tier-A TradeDock checking Warp Jumper construction: - "Warp Jumper specialized slot — 12 reservations ahead. Estimated wait: 67 days. Your reputation tier: HONORED (eligible). Bump fee for front-of-queue: 1,100,000 cr."
A team coordinating a Warp Jumper build: - "Reservation #847 — 3 positions ahead. Slip available: estimated 2026-06-12. Posted deposit: 110,000 cr (refundable per cancellation rules)."
This is the load-bearing UX that gives gate-building real strategic weight. A player can't just decide on Tuesday "I'll build a Warp Jumper" — they need to plan months ahead, grind reputation, manage their reservation, and possibly outbid competitors via priority bumps.
Status¶
🚧 Partial. The slip-occupancy store,
ConstructionReservationtable, Tier-A / Tier-B TradeDock discriminator, and queue-and-reservation runtime service exist; the transient slip pool and FIFO wait queue are enforced, while the full four-class taxonomy is the launch target. TheTradeDockmodel carriestotal_slips = 12as a flat count without the four-class taxonomy. Migrating from "12 generic slips" to "8 standard + 4 specialized at Tier-A; 12 standard at Tier-B" is the launch-target schema; the liveConstructionSlip.statusenum (available/reserved/building/claim_pending/abandoned) survives the migration without change.✅ Shipped — long-term mooring.
POST /trading/mooring/long-term(1–30 days, 200 cr/day, separate long-term slip pool) andPOST /trading/mooring/long-term/releaseroute todocking_service.acquire_long_term/release_long_term, which enforce the duration, per-day fee, separate pool, and same-sector / reputation / credit / capacity gates.
Cross-references¶
./tradedock-shipyard.md— TradeDock construction pipeline that this doc adds restrictions to../station-protection.md— security tier system; orthogonal to slip availability../port-ownership.md— station revenue including slip-rental fees.../galaxy/warp-gates.md— Warp Jumper construction is gate-building's prerequisite; the queue depth here is why gate-building takes weeks.../gameplay/factions-and-teams.md— reputation tier definitions used by the queue gates.../../DATA_MODELS/stations.md—StationandTradeDockschema, gains the new fields.../../SYSTEMS/galaxy-generator-design.md— Phase 10.5 TradeDock placement (per ADR-0041) sets Tier-A vs Tier-B distribution.- DECISIONS AU2-6 — region-funded TradeDock cancellation refund schedule.
- ADR-0039 — TradeDock cancel-and-rebook resource-reuse mitigation.
- ADR-0041 — TradeDock placement (Phase 10.5 of the galaxy generator).