<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="Electron" agent="Standing Order Agent" version="24.7.17">
  <diagram name="End-to-End User Flow" id="standing-order-end-to-end-user-flow">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1900" pageHeight="900" math="0" shadow="0">
      <root>
        <mxCell id="0"/>
        <mxCell id="1" parent="0"/>
        <mxCell id="u1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9AB8AD;strokeWidth=2;dashed=0;endArrow=block;endFill=1;fontColor=#547067;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="onboard" target="setup"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="u2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9AB8AD;strokeWidth=2;dashed=0;endArrow=block;endFill=1;fontColor=#547067;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="setup" target="trigger"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="u3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9AB8AD;strokeWidth=2;dashed=0;endArrow=block;endFill=1;fontColor=#547067;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="trigger" target="auth"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="u4" value="No" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9AB8AD;strokeWidth=2;dashed=0;endArrow=block;endFill=1;fontColor=#547067;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="auth" target="reauth"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="u5" value="user returns" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9AB8AD;strokeWidth=2;dashed=1;endArrow=block;endFill=1;fontColor=#547067;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="reauth" target="auth"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="u6" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9AB8AD;strokeWidth=2;dashed=0;endArrow=block;endFill=1;fontColor=#547067;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="auth" target="build"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="u7" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9AB8AD;strokeWidth=2;dashed=0;endArrow=block;endFill=1;fontColor=#547067;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="build" target="slot"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="u8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9AB8AD;strokeWidth=2;dashed=0;endArrow=block;endFill=1;fontColor=#547067;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="slot" target="review"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="u9" value="user opens" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9AB8AD;strokeWidth=2;dashed=0;endArrow=block;endFill=1;fontColor=#547067;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="review" target="change"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="u10" value="Yes · new snapshot" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9AB8AD;strokeWidth=2;dashed=0;endArrow=block;endFill=1;fontColor=#547067;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="change" target="build"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="u11" value="No · continue" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9AB8AD;strokeWidth=2;dashed=0;endArrow=block;endFill=1;fontColor=#547067;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="change" target="manual"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="u12" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9AB8AD;strokeWidth=2;dashed=0;endArrow=block;endFill=1;fontColor=#547067;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="manual" target="confirm"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="u13" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#9AB8AD;strokeWidth=2;dashed=0;endArrow=block;endFill=1;fontColor=#547067;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#FFFFFF;" edge="1" parent="1" source="confirm" target="done"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
        <mxCell id="onboard" value="1 · Connect account&#xa;User signs in and completes MFA" style="rounded=1;whiteSpace=wrap;html=1;arcSize=18;fillColor=#E4EFFB;strokeColor=#5F88B5;fontColor=#17352B;fontFamily=Helvetica;fontSize=14;fontStyle=1;spacing=10;strokeWidth=1.5;" vertex="1" parent="1"><mxGeometry x="40" y="320" width="220" height="110" as="geometry"/></mxCell>
        <mxCell id="setup" value="2 · Define standing order&#xa;Schedule · budget · products · rules" style="rounded=1;whiteSpace=wrap;html=1;arcSize=18;fillColor=#DDF4E6;strokeColor=#4F8B6B;fontColor=#17352B;fontFamily=Helvetica;fontSize=14;fontStyle=1;spacing=10;strokeWidth=1.5;" vertex="1" parent="1"><mxGeometry x="320" y="320" width="240" height="110" as="geometry"/></mxCell>
        <mxCell id="trigger" value="3 · Schedule becomes due&#xa;Durable occurrence is created" style="rounded=1;whiteSpace=wrap;html=1;arcSize=18;fillColor=#FFF1D6;strokeColor=#C58A2C;fontColor=#17352B;fontFamily=Helvetica;fontSize=14;fontStyle=1;spacing=10;strokeWidth=1.5;" vertex="1" parent="1"><mxGeometry x="620" y="320" width="230" height="110" as="geometry"/></mxCell>
        <mxCell id="auth" value="Session valid?" style="rounded=1;whiteSpace=wrap;html=1;arcSize=18;fillColor=#FFF1D6;strokeColor=#C58A2C;fontColor=#17352B;fontFamily=Helvetica;fontSize=14;fontStyle=1;spacing=10;strokeWidth=1.5;shape=rhombus;perimeter=rhombusPerimeter;arcSize=0;" vertex="1" parent="1"><mxGeometry x="920" y="325" width="150" height="100" as="geometry"/></mxCell>
        <mxCell id="reauth" value="Ask user to reconnect&#xa;No cart changes" style="rounded=1;whiteSpace=wrap;html=1;arcSize=18;fillColor=#FDE7E0;strokeColor=#C8755E;fontColor=#17352B;fontFamily=Helvetica;fontSize=14;fontStyle=1;spacing=10;strokeWidth=1.5;" vertex="1" parent="1"><mxGeometry x="890" y="90" width="210" height="90" as="geometry"/></mxCell>
        <mxCell id="build" value="4 · Build and reconcile cart&#xa;History + preferences + rules" style="rounded=1;whiteSpace=wrap;html=1;arcSize=18;fillColor=#DDF4E6;strokeColor=#4F8B6B;fontColor=#17352B;fontFamily=Helvetica;fontSize=14;fontStyle=1;spacing=10;strokeWidth=1.5;" vertex="1" parent="1"><mxGeometry x="1140" y="310" width="250" height="130" as="geometry"/></mxCell>
        <mxCell id="slot" value="5 · Select delivery slot&#xa;Ranked allowed windows" style="rounded=1;whiteSpace=wrap;html=1;arcSize=18;fillColor=#E4EFFB;strokeColor=#5F88B5;fontColor=#17352B;fontFamily=Helvetica;fontSize=14;fontStyle=1;spacing=10;strokeWidth=1.5;" vertex="1" parent="1"><mxGeometry x="1450" y="320" width="220" height="110" as="geometry"/></mxCell>
        <mxCell id="review" value="6 · Ready for review&#xa;Notify user + freeze snapshot" style="rounded=1;whiteSpace=wrap;html=1;arcSize=18;fillColor=#EEE9FA;strokeColor=#7D68AA;fontColor=#17352B;fontFamily=Helvetica;fontSize=14;fontStyle=1;spacing=10;strokeWidth=1.5;" vertex="1" parent="1"><mxGeometry x="1450" y="570" width="230" height="120" as="geometry"/></mxCell>
        <mxCell id="change" value="Request changes?" style="rounded=1;whiteSpace=wrap;html=1;arcSize=18;fillColor=#FFF1D6;strokeColor=#C58A2C;fontColor=#17352B;fontFamily=Helvetica;fontSize=14;fontStyle=1;spacing=10;strokeWidth=1.5;shape=rhombus;perimeter=rhombusPerimeter;arcSize=0;" vertex="1" parent="1"><mxGeometry x="1150" y="580" width="170" height="100" as="geometry"/></mxCell>
        <mxCell id="manual" value="7 · Manual final checkout&#xa;Phase 1 safety boundary" style="rounded=1;whiteSpace=wrap;html=1;arcSize=18;fillColor=#DDF4E6;strokeColor=#4F8B6B;fontColor=#17352B;fontFamily=Helvetica;fontSize=14;fontStyle=1;spacing=10;strokeWidth=1.5;" vertex="1" parent="1"><mxGeometry x="820" y="570" width="240" height="110" as="geometry"/></mxCell>
        <mxCell id="confirm" value="8 · Verify confirmation&#xa;Record order number + delivery" style="rounded=1;whiteSpace=wrap;html=1;arcSize=18;fillColor=#E4EFFB;strokeColor=#5F88B5;fontColor=#17352B;fontFamily=Helvetica;fontSize=14;fontStyle=1;spacing=10;strokeWidth=1.5;" vertex="1" parent="1"><mxGeometry x="500" y="570" width="250" height="110" as="geometry"/></mxCell>
        <mxCell id="done" value="Order confirmed&#xa;Audit + notification" style="rounded=1;whiteSpace=wrap;html=1;arcSize=18;fillColor=#DDF4E6;strokeColor=#4F8B6B;fontColor=#17352B;fontFamily=Helvetica;fontSize=14;fontStyle=1;spacing=10;strokeWidth=1.5;shape=ellipse;perimeter=ellipsePerimeter;" vertex="1" parent="1"><mxGeometry x="200" y="570" width="220" height="110" as="geometry"/></mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
