Skip to Content
Trips Enjoy
Business (BRD)

Business Requirements & Rules

BR-requirements by module and the platform business rules (BRL).

6. Business requirements

Priority uses MoSCoW: M must, S should, C could. Phase is the delivery phase in section 3.3.

6.1 Accounts and access (AUTH)

IDRequirementPriorityPhase
BR-AUTH-01Each role registers through its own path (traveler, driver, photographer, organization). There is no combined onboarding form.MP1
BR-AUTH-02Every registration form records the applicant's country.MP1
BR-AUTH-03Accounts verify contact details by one-time code before acting: travelers verify at least one of email or phone; drivers, photographers and organization owners verify both (D-20).MP1
BR-AUTH-04Sign-in strength follows the role: admins use password plus an authenticator; organization staff use password plus an SMS or authenticator code at every sign-in; travelers and suppliers use password or one-time code; moderators use a staff code.MP1
BR-AUTH-05One person can hold several roles (for example traveler and approved photographer) and switch between them without a second account.MP1
BR-AUTH-06Organization staff can switch between the organizations whose access list includes their email, and see no other organization.MP1
BR-AUTH-07Admin can suspend and reinstate any account. Suspension stops access at once and keeps the data.MP1
BR-AUTH-08A user can request account deletion, with a 30-day grace period during which signing in restores the account.MP5

6.2 Applications and approvals (ONB)

IDRequirementPriorityPhase
BR-ONB-01Organizations, platform drivers and platform photographers apply before they can act. Supplier actions stay blocked until approval.MP1 (organizations), P4 (suppliers)
BR-ONB-02All applications reach one admin queue with their documents. Admin can approve, request changes or reject; a rejection needs a reason.MP1
BR-ONB-03The median decision time is 2 working days or less; overdue applications are flagged.MP1
BR-ONB-04When changes are requested, the applicant has 14 days to respond, with a reminder on day 7 and one 7-day extension on request (D-235). Unanswered applications close.MP1
BR-ONB-05A rejected applicant can appeal within 14 days of the notice (statement and up to 5 files, decided within 5 working days, one appeal per rejection, D-237) and can re-apply after 30 days. A closed application counts as rejected. The traveler account keeps working.MP1
BR-ONB-06Photographer applications include at least 8 portfolio photos.MP4
BR-ONB-07Drivers using their own vehicle give plate, model, year, seat count, registration and insurance valid for at least 3 more months.MP4
BR-ONB-08Driver applications record consent to lab tests and include an initial lab result dated within the last 30 days.MP4
BR-ONB-09Applicants are notified of every status change in their language.MP1

6.3 Organizations and employees (ORG)

IDRequirementPriorityPhase
BR-ORG-01Each approved organization gets an isolated workspace that no other organization can see.MP1
BR-ORG-02The owner invites employees and grants each a permission set (trips, bookings, operations, accounting, coupons, employees, fleet, subscription, integrations, analytics). Employee count follows the plan.MP1
BR-ORG-03Organizations can onboard their own drivers and photographers, visible only to them and accepted on assignment without admin approval.MP1
BR-ORG-04Organizations register their vehicles (plate, model, year, seats, registration status).MP2
BR-ORG-05Organizations choose whether travelers can pick their own seats, per trip or for the account, where the plan allows.MP3
BR-ORG-06Organizations can connect a CRM and send trip, booking and check-in events to external apps through signed webhooks.SP6
BR-ORG-07Organizations issue B2B and B2C invoices for their trips; corrections are made by credit note.MP5
BR-ORG-08Enterprise organizations can apply custom branding to traveler-facing trip pages, emails and invoices.CP6

6.4 Trips, programs and fleet (TRIP, PRG, FLT)

IDRequirementPriorityPhase
BR-TRIP-01Organizations create trips through a guided wizard: basics, schedule and route, vehicles, staffing, programs, seating, pricing and capacity, publishing.MP2
BR-TRIP-02A trip can be saved as a hidden draft, published publicly, or published to targeted travelers only.MP2
BR-TRIP-03A trip can run several vehicles at once, each with one vehicle type, one driver and one moderator. The vehicle count follows the plan.MP3
BR-TRIP-04Programs can be added, edited and removed until the trip starts.MP3
BR-PRG-01Each program has one pricing model: free, per person, by quantity, per group, or tiered. Program count follows the plan.MP3
BR-PRG-02A program can be optional, pre-required (auto-included), capacity-limited or VIP-only.MP3
BR-PRG-03Travelers see a live booking total as they add or remove programs, including their plan's program discount.MP3
BR-PRG-04Organizations see who chose each program, quantities and revenue. Report depth by plan is OD-25.MP3
BR-FLT-01Vehicle types are reusable seat layouts with labeled seats.MP2

6.5 Staffing and deals (STF)

IDRequirementPriorityPhase
BR-STF-01Each vehicle is driven either by an organization-owned driver or by a platform driver hired through a deal.MP3
BR-STF-02A trip's photographer is either organization-owned or a platform photographer hired through a deal.MP4
BR-STF-03Organizations and platform suppliers negotiate the price of a deal: either side proposes, counters or rejects, with no round limit. An offer expires 72 hours after the last counter (BRL-26). Platform suppliers are available only on plans that include them.MP4
BR-STF-04A platform supplier is assigned only after both parties accept the same terms.MP4
BR-STF-05A trip is Ready only when every vehicle has a confirmed driver and moderator and every platform deal is finalized.MP3
BR-STF-06Suppliers see trip, route, date and pay before they respond to a deal.MP4

6.6 Seats (SEAT)

IDRequirementPriorityPhase
BR-SEAT-01Seating is company-assigned by default. Self-selection is available only on Growth and Enterprise and only where the organization enables it.MP3
BR-SEAT-02With self-selection on, travelers see a live seat map where taken seats show as unavailable immediately.MP3
BR-SEAT-03Explorer and VIP travelers get a priority window for seat selection (length [OPEN: D-316]).SP3
BR-SEAT-04A seat chosen at checkout is held for 15 minutes and released automatically if payment does not complete.MP3

6.7 Booking and payment (BKG)

IDRequirementPriorityPhase
BR-BKG-01A booking holds the passengers, chosen programs, seats where allowed, at most one coupon unless the coupon is stackable, and a payment method.MP2
BR-BKG-02Travelers pay on the gateway's own page or SDK, with the methods of the organization's market. Card data never reaches Trips Enjoy.MP2
BR-BKG-03A failed payment can be retried without losing the cart while the hold lasts, up to 3 attempts per hold (D-197). A retry after the hold expires re-checks the seats and starts a new hold only if they are free (D-191).MP2
BR-BKG-04Travelers can cancel a booking and receive a refund under the cancellation policy (BRL-12). Requests after the cut-off go to the organization, which decides within 2 working days, then to admin (D-151). No cancellation after departure or after check-in (D-152, D-153).MP2
BR-BKG-05Every confirmed booking yields a receipt and an invoice the traveler can view. A traveler who enters a tax number at checkout gets a B2B invoice (BRL-28).MP2

6.8 Coupons (CPN)

IDRequirementPriorityPhase
BR-CPN-01Admins, organizations, drivers and photographers create coupons that apply only inside their own scope.MP5
BR-CPN-02Coupon use across entity boundaries is always rejected with a generic message that does not name the other entity (OD-20).MP5
BR-CPN-03Coupons support fixed amount, percentage, program-specific, free program, first booking and minimum spend types, and are validated in real time at checkout.MP5
BR-CPN-04Each redemption is recorded against its booking and reversed on refund.MP5
BR-CPN-05Creators see coupon analytics; admin sees platform-wide analytics and abuse flags. Flags never block automatically and are reviewed within 2 working days (D-217).MP5

6.9 Check-in, moderators and tracking (CHK, MOD, TRK)

IDRequirementPriorityPhase
BR-CHK-01Moderators check each passenger in at boarding and out at each stop and at the destination.MP3
BR-CHK-02A passenger can be checked in only to the vehicle they are assigned to.MP3
BR-CHK-03Every check-in and check-out records time, moderator, vehicle and location where permitted, and reaches the platform within 60 seconds, including after short connection loss.MP3
BR-CHK-04A moderator sees and acts on their assigned vehicle only.MP3
BR-CHK-05Moderators, parents and staff can report incidents and child-safety concerns, which reach the organization's operations team at once. Incident categories: safety, medical, vehicle fault, lost traveler, conduct, other (D-331).SP3
BR-MOD-01At the end of the trip each moderator submits a report with the final headcount; a mismatch needs a reason.MP3
BR-TRK-01Operations staff see each vehicle's live location and which vehicle each passenger is in. Travelers never see the live vehicle position (BRL-29).MP6

6.10 Parents and children (PAR)

IDRequirementPriorityPhase
BR-PAR-01Parents see only their own linked children: vehicle, seat, check-in status and programs. Child data is never used for marketing, advertising or model training.MP6
BR-PAR-02Parents link a child to a booking with a valid booking reference and a guardianship declaration (D-126). The link ends when the booking is cancelled or refunded.MP6
BR-PAR-03Parents are notified when boarding is confirmed, the trip starts, a stop is reached and the trip ends.MP6
BR-PAR-04Child tracking is available where the parent is on Explorer or VIP and the organization is on Growth or Enterprise with tracking enabled for the trip (OD-05). Live position is shown only while the trip is In Progress (D-317).MP6

6.11 Media and photographers (MED, PHO)

IDRequirementPriorityPhase
BR-MED-01Photographers upload albums after the trip is Completed, within 14 days (D-267). Album count per trip follows the plan.MP4
BR-MED-02Albums use one of three privacy modes allowed by the photographer's plan: public to trip participants, shared link, or selected users.MP4
BR-MED-03Studio and Pro photographers can watermark public copies (bottom right, inset 3 percent, 30 percent opacity, D-275).SP4
BR-MED-04Signed-in travelers who took the trip view the albums they are allowed to see. Public albums allow download of the watermarked or medium copy; shared-link and selected-user albums do not offer download (D-264, D-266).MP4
BR-PHO-01Photographers manage portfolio, rates and availability (dates and ranges, no weekly rules, D-89) and see earnings and payouts.MP4

6.12 Notifications (NTF)

IDRequirementPriorityPhase
BR-NTF-01Notifications go out on the channels each user enables per category: email, SMS, WhatsApp, push and in-app.MP1
BR-NTF-02Notifications use the user's language, with right-to-left layout for Arabic.MP1
BR-NTF-03SMS and push respect quiet hours 22:00 to 07:00 local time, except urgent messages; deferred messages go at 07:00, and trip-day events older than 2 hours are dropped (D-290).SP3

6.13 Plans and subscriptions (SUB)

IDRequirementPriorityPhase
BR-SUB-01Admin defines plans per role and market: limits, features, monthly and annual prices, annual discount and trial length.MP5
BR-SUB-02Plan limits and features are enforced automatically. A blocked action shows an upgrade prompt. Every non-traveler role needs an active plan to use the app (BRL-02).MP5
BR-SUB-03Failed renewals trigger dunning and a 7-day grace period before the account loses plan features.MP5
BR-SUB-04Admin sees recurring revenue, churn, upgrades, downgrades and plan distribution.MP5
BR-SUB-05Admin can grant, revoke or change a plan for one account, with a reason, a second admin's approval and an end date.MP5

6.14 Accounting, invoices and settlements (ACC)

IDRequirementPriorityPhase
BR-ACC-01Organizations see, per trip, base revenue, program revenue, coupon impact, supplier costs, commission and gateway fees. Depth follows the plan.MP5
BR-ACC-02Admin sees system-wide finance: subscription revenue, commission, deal audit, coupon redemptions, disputes and payouts.MP5
BR-ACC-03Suppliers see their earnings and receive weekly payouts. A negative balance is netted against the next payout in the same currency (D-173).MP4
BR-ACC-04Exports in CSV and PDF follow the plan; admin system-wide exports are CSV only; export files expire after 7 days (D-249).MP5
BR-ACC-05Every financial event is recorded in a double-entry ledger and reconciled daily with gateway records (D-29).MP2
BR-ACC-06The platform records amounts owed between the platform, organizations and suppliers per trip and tracks each settlement to completion. A settlement opens when the trip is Completed and closes when every payout is made and no dispute is open (D-174).MP4
BR-ACC-07Settlements and invoices cover every party pair: traveler to organization (B2C or B2B), organization to supplier (deal), platform to organization and supplier (commission and payout), and organization or supplier to platform (plan).MP5

6.15 Platform administration (ADM)

IDRequirementPriorityPhase
BR-ADM-01Admin reviews all applications and appeals from one queue.MP1
BR-ADM-02Admin manages any account: suspend, reinstate, reset credentials, review deletion and data-copy requests.MP1
BR-ADM-03Admin can require any approved driver to take a lab test at any time; the driver is paused until the result is accepted (BRL-16, BRL-17). Lab tests apply to drivers only (D-98).MP4
BR-ADM-04Admin records disputes, decides outcomes and issues refunds, including refunds outside policy with a reason.MP3
BR-ADM-05Every admin action and permission change is written to an audit log no one can edit.MP1
BR-ADM-06Admin manages plans, coupons, notification templates, feature flags and market settings.MP1
BR-ADM-07Disputes are acknowledged within 2 working days and resolved within 10 working days; information requests are answered within 5 working days. Types: booking, payment, refund, supplier conduct, organization conduct, other (D-32, D-254).MP3

6.16 Markets (MKT)

IDRequirementPriorityPhase
BR-MKT-01Admin configures each market: currency, enabled payment methods and gateways, tax rules and invoice format, default time zone, and plan prices.MP2
BR-MKT-02An account's market is set from the country it registered with. An organization's market decides the currency, payment methods and tax rules of its trips.MP2
BR-MKT-03Travelers see trips from every market, with prices in the trip's currency, and pay with that market's methods.MP5
BR-MKT-04A market can be switched on or off; trips in a market that is off cannot be published.SP5

6.17 Analytics (ANL)

IDRequirementPriorityPhase
BR-ANL-01Organizations see analytics by trip (views, conversion, bookings, revenue, occupancy, programs), by page (trip page and organization page traffic), by customer (new and returning travelers, repeat rate) and by provider (deals, costs, on-time record). Depth follows the plan (Growth basic, Enterprise full).MP6
BR-ANL-02Drivers and photographers see analytics for their own bookings and earnings at the depth of their plan.SP6
BR-ANL-03Admin sees platform analytics by market, organization, role and plan.MP6
BR-ANL-04Analytics offer 7, 30 and 90-day presets and a custom range, lag the source by no more than 5 minutes, and exports are ready within 15 minutes (D-177, D-281).SP6
BR-API-01Organizations and partners can use a documented public API for trips and bookings.CP6

7. Business rules

IDRule
BRL-01Trip records are tenant-isolated. Only the owning organization's staff, the platform admin, and the people on a booking within their own scope (traveler, linked parent, assigned moderator, driver or photographer) may see them.
BRL-02Every non-traveler role must hold an active plan to use the app. A traveler can always use the app for free.
BRL-03A coupon applies only inside its creator's scope: admin to any trip; organization to its own trips; driver or photographer to bookings where they are assigned. Cross-entity use is rejected.
BRL-04A platform driver or photographer is assigned only after a finalized deal accepted by both parties.
BRL-05An organization-owned driver or photographer is accepted on assignment and is never visible to other organizations.
BRL-06A rejected supplier or organization application can be re-submitted after 30 days. A closed application counts as rejected. The traveler account keeps working throughout.
BRL-07A trip cannot move to Ready until every vehicle has a driver and a moderator and every platform deal is finalized.
BRL-08A seat hold lasts 15 minutes and is released automatically when it expires. Exception: a Fawry cash voucher holds seats for the voucher's 48-hour window (D-31, D-41).
BRL-09A moderator can check a passenger in only to the vehicle assigned to that passenger on that trip.
BRL-10Parents see data only for children linked to their own bookings.
BRL-11A refund reverses the coupon redemption and frees the traveler's per-user limit.
BRL-12Cancellation refund depends on time before departure: 80 percent at 48 hours or more, 50 percent from 24 to under 48 hours, none under 24 hours (placeholder, D-07, OD-07). All fees are refundable until non-refundable fees are set (D-156).
BRL-13A plan upgrade takes effect at once with proration; a downgrade takes effect at the end of the cycle.
BRL-14A failed renewal starts a 7-day grace period with features kept.
BRL-15Account deletion becomes permanent after a 30-day grace period. Trip records are kept 5 years after deletion. Future bookings are cancelled and refunded; remaining earnings are paid on the next payout date. No booking or payment is allowed during the grace period.
BRL-16A lab test has a deadline of 3 days from request (admin may set 1 to 7 days, D-21). A missed deadline suspends the driver; a suspension longer than 30 days closes the driver account. A second failed result within 12 months closes the account (D-242).
BRL-17A driver whose lab test is requested is paused at once. Upcoming trips return to their organizers. Completed trips are paid; trips not yet completed are held (D-175).
BRL-18Every financial event (booking, refund, coupon, subscription charge, payout, deal cost, commission, invoice) is written to a double-entry ledger.
BRL-19Every admin action and every permission change is written to an immutable audit log.
BRL-20Verification codes expire after 5 minutes. After 5 wrong codes, verification pauses for 15 minutes. A resend does not reset the wrong-code count; after 3 failed deliveries the code goes by the other channel (D-58, D-59).
BRL-21Accounts lock for 15 minutes after 5 failed sign-in attempts (all roles, D-53).
BRL-22Web sessions end after 12 hours of use. Drafts are kept.
BRL-23Every registration form records the applicant's country.
BRL-24A trip's programs, seat mode or vehicles cannot be changed in a way that breaks a confirmed booking until the traveler is notified and offered a remedy. The traveler has 7 days to choose; then the case goes to admin (D-148).
BRL-25A trip is archived 30 days after Completed, and only once its settlement is closed (D-26).
BRL-26A deal offer expires 72 hours after the last counter-offer and the deal ends as Rejected with reason "expired" (D-14).
BRL-27Market values (currency, payment methods, tax and invoicing rules, default time zone) follow the country: the organization's country for its trips and invoices, and the account's country for its own plan.
BRL-28An invoice is B2B when the buyer gives a tax number, otherwise B2C (D-180). An issued invoice is never edited; a correction is a credit note that references it (D-181).
BRL-29Travelers never see a vehicle's live position. Only operations staff of the owning organization, the platform admin and eligible linked parents do, and parents only while the trip is In Progress (D-317).
BRL-30When an organization cancels a trip, every confirmed booking is refunded in full and coupon redemptions are reversed (D-150). A trip that is In Progress cannot be cancelled; it is handled as an incident (D-25, OD-22).

On this page