Post‐Trip Flow - 101-Coconsulting/TC3005B.501 GitHub Wiki

Post-Trip Flow

The whole objective of the Post-Trip Flow is for an application's trip expenses to be properly validated through the upload of the expense vouchers gathered by the applicant during their trip.

Since Applicant, N2 Authorizer, and N1 Authorizer role users can all create travel request applications, they must all upload expense vouchers to validate the budget they were awarded after the trip was initially quoted by an Accounts Payable role user. For the same reason, an Accounts Payable role user is in charge of the validation of the expense vouchers uploaded by the applicants.

The following diagram is an extract of the flowchart found in the home wiki page to visually explain the core of the Post-Trip Flow.

flowchart TB
    Application_Expenses["Application expenses<br>are uploaded"]
    Application_Validated["Application expenses<br>are validated"]

    Application_Expenses --> Application_Validated

On expense validation ping pong

A peculiarity of the Post-Trip Flow is that this is the only part in the whole workflow where there exisists a ping pong between the Accounts Payable role user and the applicant. Since the validation of the expense vouchers must be resolved before an application is considered as finished.

Each expense voucher is validated individually, and until they are all accepted, the Post-Trip Flow is not finished, and the rejected vouchers are returned to the applicant for them to correct any mistakes.

Applicant Application

The following diagram simply illustrates the flow between the different actors involved in the expenses validation of a travel request application by an applicant:

sequenceDiagram
    autonumber
    box rgb(50, 50, 50) Applicant
        actor Applicant
    end
    box rgb(50, 50, 50) Validator
        actor Accounts Payable
    end

    loop While Rejected
        Applicant ->> Accounts Payable: Upload expenses
        alt Rejected
            rect darkred
                Accounts Payable ->> Applicant: Expenses Rejected
            end
        else Accepted
            rect darkgreen
                Accounts Payable ->> Applicant: Expenses accepted
            end
        end
    end

N2 Authorizer Application

The following diagram simply illustrates the flow between the different actors involved in the expenses validation of a travel request application by an N2 Authorizer:

sequenceDiagram
    autonumber
    box rgb(50, 50, 50) Applicant
        actor N2 Authorizer
    end
    box rgb(50, 50, 50) Validator
        actor Accounts Payable
    end

    loop While Rejected
        N2 Authorizer ->> Accounts Payable: Upload expenses
        alt Rejected
            rect darkred
                Accounts Payable ->> N2 Authorizer: Expenses Rejected
            end
        else Accepted
            rect darkgreen
                Accounts Payable ->> N2 Authorizer: Expenses accepted
            end
        end
    end

N1 Authorizer Application

The following diagram simply illustrates the flow between the different actors involved in the expenses validation of a travel request application by an N1 Authorizer:

sequenceDiagram
    autonumber
    box rgb(50, 50, 50) Applicant
        actor N1 Authorizer
    end
    box rgb(50, 50, 50) Validator
        actor Accounts Payable
    end

    loop While Rejected
        N1 Authorizer ->> Accounts Payable: Upload expenses
        alt Rejected
            rect darkred
                Accounts Payable ->> N1 Authorizer: Expenses Rejected
            end
        else Accepted
            rect darkgreen
                Accounts Payable ->> N1 Authorizer: Expenses accepted
            end
        end
    end