Software Requirements Specification

SRS — Workshop 1 Requirements

Detailed functional and non-functional requirements for all 7 modules covered in Workshop 1: Contracts, Product Composer, Calendar, Reservations, Finance, Reports & P&L, and Analytics & BI.

TODAY — 15 March 2026 7 Modules 1:00–4:00 PM Bulgaria
Workshop 1 of 4
Core Operations & Product Management — 7 Modules (Base Scope)
1 / 4 Workshops
Global Requirements

Cross-Cutting Requirements — All Modules

These requirements apply to every module in the platform. They are enforced at the API Gateway level and are non-negotiable baseline behaviors.

RBAC
Per role + per user permissions
Audit
Immutable log on all ops
i18n
Multilingual all content
UAT
Staging before each production release
📄
Module 1 — Contracts Management
Supplier contract lifecycle end-to-end · Flights, Hotels, Transfers, Services, Insurance
Base Scope Workshop 1

Functional Requirements

M1-FR-001Structured manual entry forms for prices, seasons, capacities, cancellation policies, payment schedulesMUST
M1-FR-002File upload (Excel / CSV / PDF) with AI-assisted data extraction and validation workflow before activationMUST
M1-FR-003Full contract version history with change tracking and rollback capabilityMUST
M1-FR-004Flight contracts: charter seat blocks, scheduled airline net pricing, capacity tracking, payment schedules, cancellation rulesMUST
M1-FR-005Hotel contracts: allotments, on-request vs guaranteed, seasons/rates, release periods, room type configurationMUST
M1-FR-006Transfer contracts: route management, pricing models, vehicle configurations, confirmation workflowsMUST
M1-FR-007Ancillary services: excursions, guide services, entrance fees, bundling configurationMUST
M1-FR-008Insurance: provider management, policy types, auto-linkage rules, premium calculation rulesMUST
M1-FR-009Supplier self-service portal: restricted access to upload/manage rates, update availability, upload images with approval workflowSHOULD
M1-FR-010Bulk operations: mass edit, clone contracts, bulk status updatesSHOULD
M1-FR-011Automated alerts for contract expiry, release dates, payment milestones → feeds to Calendar module automaticallyMUST
M1-FR-012Multiple XML/API supplier integration (e.g. Sejour) with rate comparison and auto-selection of most competitive rateSHOULD
AI Extraction Scope: The complexity of AI-assisted contract extraction (M1-FR-002) must be defined precisely. Basic field extraction vs. full policy parsing are significantly different efforts. Bring sample supplier PDFs to the workshop.
📦
Module 2 — Product Composer & Dynamic Packaging
Build commercial products with dynamic pricing engine & profitability simulation
Base Scope

Functional Requirements

M2-FR-001Program templates with component assignment: flight, hotel, transfer, services. Date/duration configuration, capacity distributionMUST
M2-FR-002Pricing engine: net cost calculation, markup rules, campaign pricing, last-minute offers, agent-specific pricing tiersMUST
M2-FR-003Market and currency-based pricing rules per agency, market segment, or geographyMUST
M2-FR-004Dynamic packaging: simultaneous real-time availability check across all components at product activation and at bookingMUST
M2-FR-005Optional extras and upgrades configurable within packages. Sell standalone or bundledMUST
M2-FR-006Profitability simulation: real-time margin preview before publishing any productMUST
M2-FR-007Minimum margin validation gate — configurable threshold per product type. System blocks publishing below thresholdMUST
M2-FR-008Product cloning and mass editing. Missing-component alerts when required elements are absentSHOULD
M2-FR-009Markup rules configurable: per service, per supplier, per market/agency, fixed or percentage-basedMUST
💡
Key Discussion — Minimum Margin Threshold: Confirm whether this is a global setting or configurable per product category (cruises vs. city tours may have different economics). This is a core pricing governance rule.
📅
Module 3 — Calendar & Operations Control
Centralized operations timeline auto-populated from all module events
Base Scope

Functional Requirements

M3-FR-001Auto-populate calendar from all modules: payments due, release dates, departures, arrivals, supplier milestonesMUST
M3-FR-002Calendar views: monthly, weekly, daily, timeline. Filtering by program, supplier, destinationMUST
M3-FR-003Role-based dashboards: each role sees its relevant events and KPIs onlyMUST
M3-FR-004Smart alerts: configurable notification digest, escalation workflows for overdue itemsMUST
M3-FR-005Auto-task creation from calendar events (e.g., payment due → task auto-assigned to Finance)SHOULD
M3-FR-006Optional: Google Calendar / Outlook / iCal export and two-way sync (conditional on base spec inclusion)NICE
🎫
Module 4 — Reservations Management
Full booking lifecycle from creation to post-travel. Groups, amendments, cancellations, document generation
Core Module

Status Workflow — Booking States

NEW CONFIRMED PAID COMPLETED + CANCELLED / ON_HOLD variants

Functional Requirements

M4-FR-001Booking creation with full passenger management, services configuration, real-time availability validationMUST
M4-FR-002Configurable status workflow engine: approval gates, automated transitions, role-based permissions per transitionMUST
M4-FR-003Agency and client profile management: credit limits, commission rates, statements, sub-agent supportMUST
M4-FR-004Booking modifications: hotel change, date change, airline change, service add/removeMUST
M4-FR-005Each modification auto-triggers: reprice, revalidate availability, calc charge/refund, regenerate all docs, add audit entryMUST
M4-FR-006Cancellation workflow: auto calc cancel fee → auto credit note → auto agent balance update → refund instruction (bank API if available)MUST
M4-FR-007Group reservations: rooming lists, group pricing tiers, partial cancellation, partial payment operationsMUST
M4-FR-008Document generation: customer contract, manifests, QR-coded vouchers, invoices, credit notes, pre-departure packsMUST
M4-FR-009Immutable audit trail for all booking lifecycle events: who, what, when, before/after valuesMUST
M4-FR-010Automated agent notifications: booking confirmation, payment reminders, document issuance, cancellation noticesMUST
Recalculation Engine Complexity: Automatic repricing on modification must handle: same-category upgrades, cross-season date changes, mid-booking service additions, partial cancellations. Each scenario has different pricing logic. Map all expected modification types during this workshop.
💰
Module 5 — Finance & Accounting Control
Receivables, payables, commissions, invoicing, multi-currency, multi-company
Base Scope

Functional Requirements

M5-FR-001Payment tracking: deposit / balance / full payment. Multiple methods, automated reminders, digital receiptsMUST
M5-FR-002Supplier obligations: milestone payment tracking, approval workflows, reconciliation supportMUST
M5-FR-003Agency accounts: balances, deposit management, credit limits, account statementsMUST
M5-FR-004Commission rules configuration and automated settlement workflows per agency tierMUST
M5-FR-005Invoicing: generate invoices and credit notes. Multi-currency, multi-company, tax handling as configuredMUST
M5-FR-006Multi-company: separate tax IDs, separate invoice templates, per-company and aggregated cross-entity reportingMUST
M5-FR-007Financial reporting: cash flow, exposure, profitability, discrepancy alertsMUST
M5-FR-008Bank API integration for automated payment instructions (conditional on third-party bank API capability)SHOULD
M5-FR-009Automated credit note on cancellation with agent balance auto-update and bank refund instructionMUST
🚫
Bank API — Confirm With Client: The bank refund automation is conditional on the client having a supported bank API. This must be confirmed during the workshop with specific bank names and API availability. Build the fallback manual-instruction flow regardless.
📊
Module 6 — Reports & Profit & Loss (P&L)
Departure-level and program-level financial performance reporting
Base Scope

Functional Requirements

M6-FR-001Program-level and departure-level P&L: actual revenue, cost, margin, variance vs. budgetedMUST
M6-FR-002Load factor and capacity KPIs: seat fill rate, cabin occupancy, capacity utilization per departureMUST
M6-FR-003Attach rate and service uptake: which extras sell, which don't, revenue contribution per service typeMUST
M6-FR-004Export formats: PDF and Excel. Report archiving with date stampingMUST
M6-FR-005Per-company reporting and cross-entity aggregated reporting for multi-company structureMUST
📈
Module 7 — Analytics & Business Intelligence
Executive dashboards, KPI tracking, trend analytics, agent performance
Base Scope AI Recs: EXCLUDED

Functional Requirements

M7-FR-001Executive dashboard: high-level KPIs, revenue overview, operational health, top-line metricsMUST
M7-FR-002Sales dashboard: conversion rates, booking velocity, booking value, agent performance rankingMUST
M7-FR-003Operations dashboard: departures, capacity alerts, resource assignments, exceptionsMUST
M7-FR-004Finance dashboard: cash flow summary, receivables aging, commission settlement statusMUST
M7-FR-005KPI tracking: conversion, booking value, sales velocity, attach rate, load factor, agent performanceMUST
M7-FR-006Trend and benchmarking analytics: period-over-period comparison, seasonal trendsMUST
M7-FR-007Custom dashboard widgets to extent specified in Technical ProposalSHOULD
🚫
EXPLICIT EXCLUSION — AI Recommendations: AI-powered recommendations in Module 7 Analytics are OUT OF SCOPE in the base agreement. Including this feature requires a separate signed Change Request. Client must formally acknowledge this exclusion in writing during the workshop to prevent future disputes.
Non-Functional

Non-Functional Requirements

Performance
API Response Time
< 500ms at 95th percentile for standard operations
Availability
Platform Uptime
99.5% excluding planned maintenance windows
Scalability
Horizontal Scaling
Docker / Kubernetes-ready microservices architecture
Security
Data Encryption
All transit encrypted. Least-privilege access. Secure JWT auth
Multilingual
RTL + LTR Support
Arabic and English minimum. Translatable UI, docs, emails
Data Isolation
Multi-Company
Company A data completely isolated from Company B at DB level
API Docs
Swagger / OpenAPI
Full documentation for all APIs. Auto-generated from code
Testing
UAT Per Module
Staging delivery before production. Client feedback cycle included