Skip to content
Skip to documentation content

Command / Members / Account Villages

Account Villages

Inspect the captured village troop table for an account selected from Members.

At a glance

Product route: /workspaces/{workspace_id}/members/{account}/villages.

Who can open this page: collection. Opening collection pages requires enabled entitlement and verified membership, including for the owner. A non-owner needs active membership and the collection grant; the owner bypasses grant checks only after verification.

Primary data owners: backend-derived, extension-collected, roster-ingest, signed-in-member, workspace-manager. Values reflect recorded data at page load; they are not a live view of Travian.

What you see

In Trapitan, select an account name on Members or Villages. Account Villages names that account in its heading and offers a Members return link. It uses the same troop table as Troops Overview: village map links, ten tribe-specific unit-icon columns, per-village Total, Tournament Square, Treasury, Tags and footer slot/account totals. Coordinates are carried in the village map link; no separate coordinate column is printed. The rows are ordered by x then y.

All fields here are read-only, including building levels and manual/automatic tags. The table displays counts, not offensive/defensive combat strength or Off/Deff crop upkeep. There are no separate siege columns, capture-time columns, filters, pagination controls or account selector. Roman icons are the fallback for unknown tribe. Use Members to choose another account; use your own Troops Overview for your building corrections and Villages for tag changes.

Who fills in each field

Field or data What it means Who fills it in Can it be changed here? When it updates
Village and coordinates Captured village name links to its coordinates on the Travian map; coordinates are in the link, not printed as a separate column. Account comes from the Members detail route. extension-collected Read-only Page load from latest recorded values
Troop slots t1–t10 Latest captured per-village counts; tribe determines unit icons. Missing observations are not evidence of zero live troops. extension-collected Read-only Newest valid captured snapshot per village/day
Total Sum of ten slots per village; footer sums each slot and all villages. These are counts, not combat strength or crop upkeep. backend-derived Read-only Page load from latest recorded values
Tournament Square Stored building level 0–20; collector observations may refresh a member correction. extension-collected, signed-in-member Read-only Building observation or current-account correction
Treasury Stored building level 0–20; collector observations may refresh a member correction. extension-collected, signed-in-member Read-only Building observation or current-account correction
Tags Manual tags from Villages plus artifact-size and catapult automatic labels; read-only here. signed-in-member, workspace-manager, backend-derived Read-only Page load from latest recorded values

Calculations

Troop count totals

Calculation ID: troops.slot-total. Per-village, per-slot and account-wide troop counts.

Rule: For each recorded village read slots1..10, sum row counts; footer slot i sums that slot over villages; grand total sums every row total. Unit headers use resolved tribe with Roman icon fallback.

Input Who fills it in Unit Required or optional Fallback
Village troop counts extension-collected troops per slot Required Required; no fallback
Resolved tribe roster-ingest tribe ID Optional Roman icons for unsupported tribe

Output unit: troops. Precision: Exact integer. Rounding: No rounding. Clamping: No output clamp. Time zone: not-applicable.

Edge cases: Empty village list yields ten zero footer slots and total zero. Missing capture is not a zero live army. No combat/crop-upkeep weighting is applied.

Canonical implementation: IntelligenceService._build_account_troops_page. Non-canonical mirrors: None registered.

Used on: Troops Overview, Account Villages

Calculation source references

Village automatic tags

Calculation ID: village.auto-tags. Current artifact-size and siege threshold labels, following manual tags.

Rule: artifact size small/large/unique =>s.arti/l.arti/u.arti; catapults>=configured cata threshold =>cata point. Manual labels normalized defaults-first then custom; automatic labels follow fixed order s.arti,l.arti,u.arti,cata point. No automatic tag is stored/edited here.

Input Who fills it in Unit Required or optional Fallback
artifact_size extension-collected size label Optional Missing/unrecognized => no artifact tag
catapults backend-derived catapult count Required Required; no fallback
cata_threshold backend-derived units Optional Configured default60
Manual values/custom label map signed-in-member, workspace-manager tags Optional Empty manual list; unknown stored label falls back raw value

Output unit: ordered labels. Precision: Exact ordered labels. Rounding: No rounding. Clamping: No output clamp. Time zone: not-applicable.

Edge cases: Threshold equality adds cata point. Unknown artifact size adds none. Current troop table tags are read-only; manual edits live on Villages.

Canonical implementation: auto_tag_labels. Non-canonical mirrors: None registered.

Used on: Troops Overview, Villages, Account Villages

Calculation source references

Freshness and updates

The detail reads current captured overviews for the route’s account within this workspace. Extension troop/building observations refresh the stored values; that member’s own Troops Overview corrections can change Tournament Square/Treasury. Roster supplies resolved tribe icons. Manual tags from Villages and artifact/catapult automatic labels are read at page load. History preserves the newest valid snapshot per village per day. There is no capture timestamp in this table, so check Members Last update for account-level freshness and remember that it can hide older individual captures.

Actions and permissions

Who can take action / Who can perform each action: the following gates are separate from page visibility. Hidden navigation alone never authorizes a request.

Action Actor Permission
Return to Members signed-in-member Verified collection and enabled entitlement; this detail has no correction/tag edit controls

In Trapitan, Members returns to the account list under its collection access check. External village links open the stored coordinate on the workspace’s Travian server; game authentication remains separate. Viewing another account here does not permit correcting that account’s building levels. This route is workspace-scoped and does not use the current-account resolver because it is a selected-account read view. It has no tag or building-write controls.

States and edge cases

No stored account or no village rows displays No villages recorded for this account, an empty table body, ten zero footer slots and total zero. An unknown account name within the route produces this empty read view rather than a separate not-found screen. Missing capture does not establish zero live troops. An unsupported roster tribe uses Roman unit headers as an icon fallback, not a claim of Roman identity. Missing tags display a dash. Disabled entitlement, failed verification, inactive membership or missing collection grant blocks access. There is no inline mutation error state because this page has no editing actions.

Source references

Source reviewed: 2026-10-05

Source references

Stable page ID: command.account-villages.

  • src/trapitan/api/routes/web.py
  • src/trapitan/web/templates/village_detail.html
  • src/trapitan/web/templates/partials/troops_overview_table.html
  • src/trapitan/intelligence/service.py
  • src/trapitan/intelligence/repository.py
  • src/trapitan/authorization/dependencies.py
  • src/trapitan/authorization/policy.py