Feltham Station Post Box Demystified

 digraph postbox { graph[fontsize="18", dpi=100, size="8,30", ratio="compress"]; node[fontsize="18"]; edge[fontsize="18"];

node[shape="box", style="rounded,filled", fillcolor="#eeeeee"] start; end;

node[shape="diamond", style="filled", fillcolor="#efefff"] which_day; is_before_feb_15; is_before_feb_29; is_after_5pm; is_after_415pm; is_before_9am; is_after_1130am; sat_is_before_feb_15; is_before_7am;

node[shape="box", style="filled"] too_late; in_time; maybe_ok; no_collection;

node[shape="ellipse", style=""] which_day_weekday; which_day_sat; which_day_sun; is_feb_15_yes; is_feb_15_no; is_feb_29_yes; is_feb_29_no;

which_day_weekday[label="Today's a\nnormal week day"]; which_day_sat[label="Today's Saturday"]; which_day_sun[label="Today's a Sunday\nor public holiday"];

{ rank=same; which_day_weekday which_day_sat which_day_sun }

is_feb_15_yes[label="Yes"]; is_feb_15_no[label="No"];

{ rank=same; is_feb_15_yes is_feb_15_no }

is_feb_29_yes[label="Yes"]; is_feb_29_no[label="No"];

{ rank=same; is_feb_29_yes is_feb_29_no }

after_415[label="Yes"]; not_yet_415[label="No"];

{ rank=same; after_415 not_yet_415 }

after_9am[label="No"]; not_yet_9am[label="Yes"];

{ rank=same; after_9am not_yet_9am }

after_5pm[label="Yes"]; not_yet_5pm[label="No"];

{ rank=same; after_5pm not_yet_5pm }

after_1130am[label="Yes"]; not_yet_1130am[label="No"];

{ rank=same; after_1130am not_yet_1130am }

sat_is_feb_15_yes[label="Yes"]; sat_is_feb_15_no[label="No"];

{ rank=same; sat_is_feb_15_yes sat_is_feb_15_no }

after_7am[label="No"]; not_yet_7am[label="Yes"];

{ rank=same; after_7am not_yet_7am }

start               -> which_day; which_day           -> which_day_weekday  -> is_before_feb_15; is_before_feb_15    -> is_feb_15_yes      -> is_before_feb_29; is_before_feb_29    -> is_feb_29_yes      -> is_after_415pm; is_after_415pm      -> after_415          -> too_late; is_after_415pm      -> not_yet_415        -> is_before_9am; is_before_9am       -> not_yet_9am        -> in_time; is_before_9am       -> after_9am          -> maybe_ok; is_before_feb_29    -> is_feb_29_no       -> is_after_5pm; is_before_feb_15    -> is_feb_15_no       -> is_after_5pm; is_after_5pm        -> not_yet_5pm        -> in_time; is_after_5pm        -> after_5pm          -> too_late; which_day           -> which_day_sun      -> no_collection which_day           -> which_day_sat      -> is_after_1130am; is_after_1130am     -> after_1130am       -> too_late; is_after_1130am     -> not_yet_1130am     -> sat_is_before_feb_15; sat_is_before_feb_15 -> sat_is_feb_15_no  -> in_time; sat_is_before_feb_15 -> sat_is_feb_15_yes -> is_before_7am; is_before_7am       -> not_yet_7am        -> in_time; is_before_7am       -> after_7am          -> maybe_ok; too_late            -> end; in_time             -> end; maybe_ok            -> end; no_collection       -> end;

start[label="Start"]; which_day[label="Which day of\nthe week is it?"]; is_before_feb_15[label="Is it on or after\nFebruary 15th 2016?"]; sat_is_before_feb_15[label="Is it on or after\nFebruary 15th 2016?"]; is_before_feb_29[label="Is it on or after\nFebruary 29th 2016?"]; is_after_5pm[label="Is it\nafter 5pm\nin the UK?"]; is_after_415pm[label="Is it\nafter 4.15pm\nin the UK?"]; is_before_9am[label="Is it\nbefore 9am\nin the UK?"]; is_before_7am[label="Is it\nbefore 7am\nin the UK?"]; is_after_1130am[label="Is it\nafter 11.30am\nin the UK?"]; in_time[fillcolor="#ccffcc",label="Congrats! This should be collected today!"]; too_late[fillcolor="#ffcccc",label="Sorry, you're too late for today's post"]; maybe_ok[fillcolor="orange",label="You might have missed the last collection today"]; no_collection[fillcolor="#ffcccc",label="There's no collection today"]; end[label="End"]; }