How xiv-venue-manager/xvm-plugin works
XIV Venue Manager Sync is a Dalamud plugin for tracking patrons at FFXIV venues and syncing venue operations with an XIVVenueManager server. The main workflow starts with in-game location and patron events, updates venue-specific guest state, and can report visits to the server; users also manage venues, log sales, and clock shifts through the plugin UI or commands. The graph includes these documented product branches and the shared API and persistence layers. Some tab and event wiring is based on README capabilities; unsampled implementation details are not asserted.
Main entry points: MainWindow.cs Main window · Plugin.cs Plugin runtime · XIVAppApiClient.cs API client · SettingsTab.cs Settings tab
Components 26
Plugin entry
- Plugin runtime
VenueManager/Plugin.cs - Main window
VenueManager/Windows/MainWindow.cs - Slash commands
VenueManager/Plugin.cs
Venue tracking
- Guest tracking
VenueManager/GuestList.cs - Event presence
VenueManager/EventPresenceCache.cs - Guests tab
VenueManager/UI/Tabs/GuestsTab.cs - Guest log tab
VenueManager/UI/Tabs/GuestLogTab.cs - Venue registry
VenueManager/VenueList.cs - Venues tab
VenueManager/UI/Tabs/VenuesTab.cs - Alert sounds
VenueManager/Sound.cs - Lifestream IPC
VenueManager/LifestreamIpc.cs
Venue operations
- Sales tab
VenueManager/UI/Tabs/SalesTab.cs - Shifts tab
VenueManager/UI/Tabs/ShiftsTab.cs - Inventory tab
VenueManager/UI/Tabs/InventoryTab.cs - Rooms tab
VenueManager/UI/Tabs/RoomsTab.cs - Settings tab
VenueManager/UI/Tabs/SettingsTab.cs
Server integration
- API client
VenueManager/XIVAppApiClient.cs - Venue API
VenueManager/XIVAppVenueApi.cs - Patron API
VenueManager/XIVAppPatronApi.cs - Shift API
VenueManager/XIVAppShiftApi.cs
Local state
- Configuration
VenueManager/Configuration.cs - File store
VenueManager/Utils/FileStore.cs - Plugin state
VenueManager/PluginState.cs
Other components
- Player
- FFXIV game
- XIVVenueManager
Connections 33
- Player → Slash commands: issues commands
- FFXIV game → Plugin runtime: reports events
- Slash commands → Plugin runtime: dispatches
- Plugin runtime → Main window: opens window
- Main window → Guests tab: shows tab
- Main window → Guest log tab: shows tab
- Main window → Venues tab: shows tab
- Main window → Sales tab: shows tab
- Main window → Shifts tab: shows tab
- Main window → Inventory tab: shows tab
- Main window → Rooms tab: shows tab
- Main window → Settings tab: shows tab
- Plugin runtime → Plugin state: updates location
- Plugin runtime → Guest tracking: updates visits
- Plugin runtime → Event presence: checks event
- Plugin runtime → Alert sounds: plays alerts
- Plugin runtime → Patron API: syncs visits
- Plugin runtime → Venue API: fetches venue data
- Slash commands → Shift API: clocks shifts
- Sales tab → Patron API: logs transactions
- Shifts tab → Shift API: manages shifts
- Settings tab → API client: configures sync
- Settings tab → Venue API: loads venue data
- API client → XIVVenueManager: sends HTTP requests
- Venue API → API client: uses HTTP helpers
- Patron API → API client: uses HTTP helpers
- Shift API → API client: uses HTTP helpers
- Venues tab → Venue registry: manages venues
- Venues tab → Lifestream IPC: requests teleport
- Guest tracking → File store: persists guest data
- Venue registry → File store: persists venues
- Configuration → File store: persists settings
- Settings tab → Configuration: saves preferences