sequenceDiagram
    participant Passenger
    participant Driver
    participant Controller
    participant OEF(BlockChain)
    Driver->Controller: Registering to Accept Passengers
    Passenger->Controller: Journey Contract Registered
    Controller->OEF(BlockChain): Journey Contract 
    Note left of OEF(BlockChain): Status in Pending  
    loop Matching Service
        Controller->Controller: Match Drivers to Buyers
    end
    Controller->OEF(BlockChain): Journey Contract 
    Note left of OEF(BlockChain): Status In Tender
    Controller->Driver: Passenger Agent Details 
    Controller->Passenger: Driver Agent Details
    loop Matching Service
        Passenger->Driver: Match Drivers to Buyers
    end
    Driver->Controller: Register Acceptance
    Passenger->Controller: Register Acceptance
    Controller->OEF(BlockChain): Journey Contract 
    Note left of OEF(BlockChain): Status Accepted
    Passenger->Controller: Register Journey Completion Via GPS
    Driver->Controller: Register Journey Completion Via GPS
    Controller->OEF(BlockChain): Contract Completed
