Parallax Release 2 — Client Functional Brief¶
Source. Original functional brief received from the client (captured from an Excalidraw export). Cleaned and re-organised for reference only — this is the client-requested scope that anchors the Release 2 plan. Items added by the internal team are tagged
Internalin the requirements table on that page and are not listed here.
This document outlines the functional requirements for Parallax Release 2. The goal is to optimise performance, enhance data handling, and refine the user interface for more intuitive strategy management.
General¶
- System Refresh Logic. Eliminate the requirement for a software refresh when loading data. Provide a manual refresh button for edge cases, though the objective is a seamless, refresh-free data update process.
- Global Selection Sync. Synchronise hotel selection across the entire application. Selecting a hotel in any tab must automatically update the context in all other tabs.
Hotel Management¶
Hotels¶
- Strategy Tiering. Update the "Primary Strategy" configuration to include the following tiers for the new Base Strategy framework:
- High-tier hotels
- Mid-tier hotels
- Low-tier hotels
Events¶
- Visual Clarity. Replace numerical identifiers with descriptive names for Event "Impact Type" and "Level" in the overview table.
- Data Portability. Support bulk import and export of events via a standardised template.
- Customisation. Enable the creation of custom Event Types.
- Cross-Property Tools. Implement functionality to copy events from one hotel to another.
Hotel Data¶
Add New Template¶
- Source-Based Logic. Enable template creation categorised by source (e.g. Lighthouse, Duetto, PMS) rather than specific hotels.
- Template Inheritance. Allow hotels to select a master template from the Hotel Template tab, which can then be refined at the individual hotel level.
- Automated Stay Dates. Streamline stay date updates to occur automatically, removing the manual two-step process of saving "number" then "date".
- Qualifier Consolidation. Use qualifiers to merge data entries from various imports into a single reporting field.
- Logic: If "Map To" is active without a qualifier, display the raw field name. If a qualifier is assigned, display the qualifier name in the report.
- Analytical Storage. Store all imported data locally to allow the system to calculate Pick-up and Same-Time-Last-Year (STLY) internally.
- Import Resilience. Fix parsing issues for "Duetto" reports (e.g. eliminate the need to manually expand date columns for the upload to succeed).
Hotel Template¶
- Dynamic Calculations. Enable formula-based stay date calculations (e.g. Stay Date + 364) to accurately map comparable days of the week for year-over-year data.
Load Data¶
- Batch Processing. Support multiple file uploads; the system should automatically identify and route files to their corresponding templates.
- Performance Goal. Optimise the data loading sequence to complete within 3 seconds.
Price Override¶
- Audit Trail. Repurpose this tab exclusively for tracking price override history. The actual execution of overrides will shift to the Interactive Strategy Report.
Reservations Update¶
- Table Customisation. Allow users to customise the top-level table, including date ranges and specific revenue streams per hotel.
Strategies¶
Base Strategy¶
- Tiered Framework. Introduce three major strategies: High-tier, Mid-tier, and Low-tier.
- Simplified Parameters. Remove the "Stay Window" requirement.
- Replace "Day of Week" with Yielding categories: High, Medium, and Low yielding. (DOW remains in the specific Strategy tab.)
- Pricing Triggers. Add Pick-up and Pace as conditional triggers for pricing changes.
- User Experience. Use shortened, intuitive attribute names and enable template-based import/export.
Strategy¶
- Automated Onboarding. When a hotel is added, assign it to a class (High/Mid/Low) to automatically inherit the relevant Base Strategies.
- Hotel-Level Refinement. Allow users to update DOW logic, rankings, and specific strategies during onboarding, including creating unique strategies not found in the Base set.
- Data Integrity. Calculate strategy conditions via the Interactive Strategy Report rather than template qualifiers.
- Bulk Updates. Provide a template for mass import/export of strategies, featuring an integrated validation tool to flag duplicates or errors.
- System Stability. Prevent crashes when duplicate condition names exist; allow users to edit these names without a system refresh.
- Functional Enhancements.
- Enable full Strategy copying.
- Remove "Stay Window" (functionality moves to ISR).
- Test Tool. Default the test button to "Today's Date" and display the day's occupancy.
- Expression Builder. Redesign for a more user-friendly experience.
- Strategy Categorisation. Introduce a "Strategy Type" toggle:
- Pricing. Appears in the dropdown within the Interactive Strategy Report.
- Other. Appears in a separate, static column in the Interactive Strategy Report.
- Performance. Calculation speed should be optimised to under 2 seconds.
- Triggers. Re-integrate Pick-up and Pace as conditions and use shortened attribute names.
Reports¶
- Formatting. Enable support for symbols (Currency, %, #) and customisable decimal precision per column.
Interactive Strategy Report¶
- Standardised Layout. A pre-configured report based on the "Daily Pick Up" layout that allows revenue managers to assign daily strategies.
- Visibility Control. Users can add or hide columns but cannot delete mandatory pre-configured fields.
- Strategy Assignment. Enable strategy selection via a calendar view or a multi-select advanced filter.
- Manual Overrides. Provide a dropdown per date for "High Season", "Low Season", "Positive Event", "Negative Event", or "Price Override".
- Advanced Filtering. Include dynamic date options like "Today", "Today +/- X", "Beginning of Month/Year", or specific dates.
- Live Calculation. The report must trigger a recalculation immediately upon any strategy change by date.
Manage Reports¶
- Naming. Support the use of spaces in report names.
- Field Logic. Available fields should display the chosen Qualifier or the raw imported column name if "Map To" is selected without a qualifier.
User Management¶
User Groups & Permissions¶
- Admin. Full access to all hotels, editing rights for all tabs, and user administration.
- Untapped. Global hotel access; edit rights for template creation/loading; view-only for other tabs; no access to strategies.
- Read Only. Specific hotel access; view-only for reports/summary; edit/view access for Reservation Update; no access to strategies.
- External User. Specific hotel access; edit access for Hotel Data, Events, and Hotel Management; edit access for Reports; no access to strategies.
- External User Limited. Specific hotel access; view-only access to reports; edit access for Reservation Update.
Admin Tools¶
- Enable Admin users to create new user profiles and assign roles directly within the interface.
Round 2 additions (post-first-review)¶
Additional requirements raised by the client after the first stakeholder review. Each is tagged with the plan ID assigned in the requirements table.
General¶
- Header status widget (G4). Single header widget combining (a) a "refresh in progress" pill while a cache or strategy refresh is running, (b) a last-load timestamp, and (c) a stale-data indicator when the most recent load is older than the configured threshold. (Absorbs the earlier internal G3 stale-data widget.)
Hotel Data¶
- Shared drive per hotel (T15). Provide a per-hotel shared drive (SFTP or object storage) with read/write access. Files dropped into the drive are auto-discovered and loaded into Parallax. Provide automated success/failure alerts.
Strategies¶
- Crash fix on duplicate name after copy (S15). Copying a strategy that produces a duplicate name on the filter currently crashes the system. Add a defensive check and surface a user-facing error.
- AI Helper — Coder / Decoder (S16). Provide an AI assistant in the strategy builder that can:
- Coder. Convert natural-language descriptions into a valid strategy expression.
- Decoder. Convert an existing strategy expression into a plain-English explanation.
Reports¶
- Round-trip Excel import (R12). Allow exporting an Interactive Strategy Report (ISR) to Excel and re-importing it. On import, only Manual Override and Strategy to Publish columns may be edited; any other change is rejected and the corresponding fields are updated in place.
- Per-date Rate-to-Publish selection (R13). In the pickup report, allow the user to select, per date, which strategy's output is published as the Rate-to-Publish. A dropdown lists available strategies for that date; the user can change the selection across multiple dates and save them in one action. All changes are written to an audit trail.
- Lazy tab calculation (R14). Do not calculate all tabs of a report automatically on load. Only the first tab calculates; others calculate on activation.
- Report Subscriptions (R15). Per-user, per-report scheduled subscriptions with:
- Per-strategy refresh schedule.
- Automated error reporting on refresh failure.
- Optional report attachment (e.g. PDF / Excel).
- Default Daily Pick-Up — Master / Hotel / User view inheritance (R16). The default Daily Pick-Up report supports three tiers:
- Master (system default).
- Per Hotel (hotel-level customisation).
- Per User (user-level customisation).
- Changes at the Master level automatically sync down to Hotel and User views, with a full audit trail of overrides.
- Session persistence on Summary report (R17). Preserve filter selections, scroll position, and column selection on the Summary report between sessions.
- Static Summary report by default (R18). Ship a pre-configured static Summary report as a default alongside the Daily Pick-Up Report.
User Management¶
- Hotel Admin role (U6). Introduce a Hotel Admin role: scoped to the user's own hotel(s), with the ability to create and manage internal users within that scope.