Skip to Content
Trips Enjoy
Software (SRS)

State Machines

Trip, booking, seat and deal lifecycles as event/guard transition tables.

Transitions not listed are refused. Guards marked (proposed) need product confirmation.

7.1 Trip lifecycle

States: Draft, Published, Negotiating, Ready, Filling Up, Sold Out, In Progress, Partially Completed, Completed, Post-Processing, Archived, Cancelled, Refunds Issued.

FromEventGuardTo
(none)Organization creates a tripActive plan; market liveDraft
DraftPublish publicly or to targetsWizard complete; active-trip limit not reachedPublished
PublishedA platform deal is startedAt least one slot staffed through a platform supplierNegotiating
NegotiatingLast platform deal finalizedEvery vehicle has driver and moderator (BRL-07)Ready
PublishedLast vehicle staffed with own staffBRL-07Ready
Published, Negotiating or ReadyReserved seats reach 80 percent of capacityD-189Filling Up
Filling UpEvery vehicle fullSold Out
Sold OutA seat is releasedFilling Up
Filling UpReserved seats fall below 80 percent(proposed)Ready, or Published if not yet Ready
Ready, Filling Up or Sold OutFirst vehicle departsTrip start time reached; trip is Ready (BRL-07)In Progress
In ProgressCancellation requestedNot allowed (D-25); incident flow onlyIn Progress
In ProgressSome vehicles endedAt least one ended, others runningPartially Completed
In Progress or Partially CompletedLast vehicle endedEvery trip report submittedCompleted
CompletedSettlement opensAutomaticPost-Processing
Post-ProcessingArchive job30 days after Completed and settlement closed (BRL-25)Archived
Draft through Sold OutOrganization or admin cancelsReason recorded; full refunds queued (BRL-30)Cancelled
CancelledAll refunds confirmedEvery confirmed booking RefundedRefunds Issued
Refunds IssuedArchive job30 days laterArchived

7.2 Booking

States: Cart, Seats Held, Payment Pending, Confirmed, Payment Failed, Checked In, Checked Out, Cancelled, Refund Pending, Refunded.

FromEventGuardTo
(none)Traveler starts a bookingTrip bookable; traveler not in deletion graceCart
CartSeats selected or capacity reserved (company-assigned)Seats free; hold starts; price lockedSeats Held
Seats HeldProceed to paymentHold active; attempts under 3Payment Pending
Seats HeldHold expires15 minutesCart (cart kept, D-191)
Payment PendingGateway successCallback verifiedConfirmed
Payment PendingGateway failurePayment Failed
Payment PendingNo answer in 30 sPayment Pending (checks at 1, 5, 10 min; admin at 15, D-30)
Payment Pending (Fawry)Voucher unpaid at 48 hD-31Cart
Payment FailedRetryHold active; attempts under 3 (D-197)Payment Pending
Payment FailedHold expiresCart
ConfirmedModerator checks passenger inVehicle matchChecked In
Checked InCheck-out at a stop or destinationChecked Out
Checked OutRe-boards at a stopSame vehicle (proposed)Checked In
ConfirmedTraveler cancelsBefore departure; BRL-12Cancelled
ConfirmedOrganization cancels tripBRL-30Cancelled
CancelledRefund sentAmount above zeroRefund Pending
CancelledNo refund dueUnder 24 hoursCancelled (final)
Refund PendingGateway confirmsRefunded

7.3 Seat

States: Available, Held, Reserved, Checked In, Checked Out, Released.

FromEventGuardTo
AvailableSelected at checkoutSelf-selection on, or staff assignmentHeld
HeldPayment succeedsBooking ConfirmedReserved
HeldHold or voucher expiresBRL-08Available
ReservedPassenger checks inVehicle matchChecked In
Checked InPassenger checks outChecked Out
Checked OutPassenger re-boards(proposed)Checked In
ReservedBooking cancelled before departureReleased
ReleasedSeat re-offeredTrip still bookableAvailable

7.4 Deal

States: Proposed, Countered by Provider, Countered by Organization, Accepted by One Side, Finalized, Rejected.

FromEventGuardTo
(none)Organization or supplier proposesSlot open; supplier available; plan allowsProposed
Proposed or Countered by OrganizationSupplier countersCountered by Provider
Proposed or Countered by ProviderOrganization countersCountered by Organization
Any open stateOne party accepts current termsAccepted by One Side
Accepted by One SideOther party acceptsTerms unchangedFinalized
Accepted by One SideOther party countersFirst acceptance voidCountered by that party
Any open stateEither party rejectsRejected (reason rejected)
Any open state72 hours since last counterBRL-26Rejected (reason expired)
Any open stateSupplier paused for lab testBRL-17Rejected (reason provider paused)
Any open stateTrip cancelledRejected (reason trip cancelled)

7.5 Application

States: Draft, Submitted, Pending Review, Changes Requested, Approved, Rejected, Appealed, Closed.

FromEventGuardTo
DraftApplicant submitsContacts verified per role; required documents presentSubmitted
SubmittedEnters queueAutomaticPending Review
Pending ReviewApproveApproved (plan assigned, tenant or profile created)
Pending ReviewRequest changesItems and message recordedChanges Requested
Pending ReviewRejectReason code recordedRejected
Changes RequestedResubmitWithin 14 days, or 21 with extensionPending Review
Changes RequestedNo response by the due dateOD-32Closed
Rejected or ClosedAppealWithin 14 days; one per rejectionAppealed
AppealedAppeal upheldWithin 5 working daysApproved
AppealedAppeal refusedRejected (final)
Rejected or ClosedRe-apply30 days after decisionSubmitted (new application)

7.6 Subscription

States: Trial, Active, Grace, Downgraded, Cancelling, Ended.

FromEventGuardTo
(none)Plan startsTrial configured, or payment taken; application approvedTrial or Active
TrialTrial ends, payment succeedsActive
TrialTrial ends, payment failsGrace
ActiveRenewal failsGrace
GracePayment succeedsRetries on days 1, 3, 5, 7Active
Grace7 days passOD-29 (current rule D-08)Downgraded
GraceOwner cancelsNo refund (D-223)Ended
DowngradedPayment succeedsActive
ActiveUpgradePayment succeedsActive (new plan at once)
ActiveDowngradeEffective at period endActive (downgrade scheduled)
ActiveCancelCancelling
CancellingPeriod endsEnded
AnyAdmin overrideSecond admin; end dateActive on the override plan; reverts at end date

7.7 Coupon

States: Draft, Active, Paused, Expired, Exhausted, Revoked.

FromEventGuardTo
(none)CreatedScope valid; plan count not reachedDraft
DraftActivated or start time reachedActive
ActivePaused by creatorPaused
PausedResumedWindow still openActive
Active or PausedEnd time passesExpired
ActiveUsage limit reachedExhausted
ExhaustedA redemption is reversedWindow openActive
Draft, Active, Paused or ExhaustedRevoked by creator or adminRevoked

7.8 Lab test

States: Requested, Pending, Result Uploaded, Passed, Failed, Missed.

FromEventGuardTo
(none)Admin requestsApproved driverRequested
RequestedDriver notified and pausedBRL-17Pending (deadline 1 to 7 days, default 3)
PendingResult received from lab or uploadedBefore deadlineResult Uploaded
PendingDeadline passesMissed (driver suspended)
MissedLate result receivedReviewed within 2 working daysResult Uploaded
Result UploadedAdmin passesPassed (driver unpaused; early lift from suspension needs a second admin)
Result UploadedAdmin failsFailed (driver stays paused; second failure in 12 months closes the account)
MissedSuspension exceeds 30 daysBRL-16Account closed

7.9 Settlement

States: Open, Awaiting Payouts, Disputed, Closed.

FromEventGuardTo
(none)Trip CompletedOpen (lines computed from the ledger)
OpenPayout instructions createdAwaiting Payouts
Open or Awaiting PayoutsDispute opened on the tripDisputed
DisputedDispute closedAdjustment lines postedAwaiting Payouts
Awaiting PayoutsEvery line paidNo open dispute (D-174)Closed

7.10 Dispute

States: Open, Information Requested, Under Review, Resolved, Closed.

FromEventGuardTo
(none)Party raises a disputeBooking, payment or deal referenceOpen
OpenAdmin acknowledgesWithin 2 working daysUnder Review
Under ReviewAdmin requests informationInformation Requested
Information RequestedParty respondsWithin 5 working daysUnder Review
Under ReviewOutcome recordedWithin 10 working days of openingResolved
ResolvedNo appeal within 7 days (proposed)Closed

On this page