@startdot service_providing_group_product_application_status
digraph G {
    layout=dot;
    overlap=false;

    node [shape=rect,width=0.1,height=0.1,margin=0.04];

    start [shape=point];

    // status
    requested;
    {
        rank = same;
        prequalification;
        temporary_qualified;
    }
    {
        rank = same;
        verified;
        prequalified;
        rejected;
    }


    start -> requested [label="", color="pink"];
    requested -> prequalification [label="SO chooses to\nprequalify", color="green"];
    requested -> temporary_qualified [label="SO chooses to\nonly verify", color="green"];

    prequalification -> prequalified [label="Prequalified\nby other PSO", color="green"];
    prequalification -> prequalified [label="Contains only\nsmall\nand/or already\nprequalified CUs", color="green"];
    prequalification -> rejected [color="green"];

    temporary_qualified -> verified [color="green"];
    temporary_qualified -> rejected [label="Verification\nfailed", color="green"];

    prequalified -> requested [label="SPG has changed\nsignificantly", color="green"];
    verified -> requested [label="SPG has changed\nsignificantly", color="green"];
    rejected -> requested [label="SP has made \nupdates to \ncomply", color="blue"];
}
@enddot
