@topy-ai/maggie 0.7.38 → 0.7.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README-zh-TW.md +82 -6
- package/README.md +99 -7
- package/bin/maggie.js +30 -3
- package/bundled-contracts/maggie-clone/interaction-state-v1.schema.json +26 -0
- package/bundled-contracts/maggie-content/provenance-v1.schema.json +20 -0
- package/bundled-contracts/maggie-design/brand-kit-v1.schema.json +18 -0
- package/bundled-contracts/maggie-design/browser-interactions-v1.schema.json +27 -0
- package/bundled-contracts/maggie-design/css-utility-evidence-v1.schema.json +10 -0
- package/bundled-contracts/maggie-design/dashboard-surface-v1.schema.json +11 -0
- package/bundled-contracts/maggie-design/progressive-enhancement-v1.schema.json +12 -0
- package/bundled-contracts/maggie-design/sample-surface-v1.schema.json +13 -0
- package/bundled-contracts/maggie-design/style-editing-v1.schema.json +35 -0
- package/bundled-contracts/maggie-media/image-generation-policy-v1.json +28 -0
- package/bundled-contracts/maggie-media/video-generation-policy-v1.json +40 -0
- package/bundled-contracts/maggie-media/video-job-v1.schema.json +20 -0
- package/bundled-contracts/maggie-media/video-playback-evidence-v1.schema.json +15 -0
- package/bundled-contracts/maggie-ops/npm11-preflight-v1.schema.json +17 -0
- package/bundled-contracts/maggie-scaffold/host-scaffold-v1.schema.json +25 -0
- package/bundled-contracts/maggie-seo/gsc-readiness-v1.schema.json +19 -0
- package/bundled-contracts/maggie-seo/privacy-origin-evidence-v1.schema.json +11 -0
- package/bundled-contracts/maggie-service-booking/delivery-provider-default-v1.json +8 -0
- package/bundled-contracts/maggie-service-booking/delivery-provider-v1.schema.json +16 -0
- package/bundled-contracts/maggiedash/booking-access-v1.json +5 -4
- package/bundled-contracts/maggiedash/booking-customer-surface-v1.json +12 -1
- package/bundled-contracts/maggiedash/booking-email-templates-v1.json +2 -0
- package/bundled-contracts/maggiedash/booking-host-adapter-v1.json +14 -2
- package/bundled-contracts/maggiedash/booking-runtime.v1.json +41 -0
- package/bundled-contracts/maggiedash/browser-session-v1.schema.json +18 -0
- package/bundled-contracts/maggiedash/content-overrides-v1.schema.json +19 -0
- package/bundled-contracts/maggiedash/execution-board.json +526 -26
- package/bundled-contracts/maggiedash/host-capabilities-v1.schema.json +10 -0
- package/bundled-contracts/maggiedash/public-session-cache-v1.schema.json +17 -0
- package/bundled-contracts/maggiedash/site-structure-v1.schema.json +13 -0
- package/bundled-references/browser-inspection.md +21 -0
- package/bundled-references/maggiedash-booking/ARCHITECTURE.md +218 -0
- package/bundled-references/maggiedash-booking/CURRENT-STATE.md +92 -0
- package/bundled-references/maggiedash-booking/DATA-FLOW.md +143 -0
- package/bundled-references/maggiedash-booking/DATA-MODEL.md +367 -0
- package/bundled-references/maggiedash-booking/DECISIONS.md +94 -0
- package/bundled-references/maggiedash-booking/EXECUTION-BOARD.json +2387 -0
- package/bundled-references/maggiedash-booking/HOST-ADAPTER.md +314 -0
- package/bundled-references/maggiedash-booking/ORAWELLNESS-INTEGRATION-AUDIT.md +227 -0
- package/bundled-references/maggiedash-booking/PAYMENT-GATEWAY.md +267 -0
- package/bundled-references/maggiedash-booking/PRD.md +228 -0
- package/bundled-references/maggiedash-booking/PROGRESS.md +2434 -0
- package/bundled-references/maggiedash-booking/QA-TEST-PLAN.md +235 -0
- package/bundled-references/maggiedash-booking/README.md +271 -0
- package/bundled-references/maggiedash-booking/RUNTIME-OPERATIONS.md +152 -0
- package/bundled-references/maggiedash-booking/SECURITY-COMPLIANCE.md +158 -0
- package/bundled-references/maggiedash-booking/SKILLS-AND-CLI.md +542 -0
- package/bundled-references/maggiedash-booking/STRIPE-INTEGRATION.md +129 -0
- package/bundled-references/maggiedash-booking/TASK-RUNBOOK.md +107 -0
- package/bundled-references/maggiedash-booking/TASKS.md +137 -0
- package/bundled-references/maggiedash-booking/USER-JOURNEYS.md +224 -0
- package/bundled-references/maggiedash-booking/diagrams/booking-dfd.excalidraw +1 -0
- package/bundled-references/maggiedash-booking/diagrams/booking-dfd.mmd +16 -0
- package/bundled-references/maggiedash-booking/diagrams/booking-dfd.png +0 -0
- package/bundled-references/maggiedash-booking/diagrams/booking-dfd.svg +1 -0
- package/bundled-references/maggiedash-booking/diagrams/booking-state-machine.mmd +19 -0
- package/bundled-references/maggiedash-booking/diagrams/booking-state-machine.png +0 -0
- package/bundled-references/maggiedash-booking/diagrams/booking-state-machine.svg +1 -0
- package/bundled-references/maggiedash-booking/diagrams/manager-journey.excalidraw +1 -0
- package/bundled-references/maggiedash-booking/diagrams/manager-journey.mmd +11 -0
- package/bundled-references/maggiedash-booking/diagrams/manager-journey.png +0 -0
- package/bundled-references/maggiedash-booking/diagrams/manager-journey.svg +1 -0
- package/bundled-references/maggiedash-booking/diagrams/payment-sequence.mmd +20 -0
- package/bundled-references/maggiedash-booking/diagrams/payment-sequence.png +0 -0
- package/bundled-references/maggiedash-booking/diagrams/payment-sequence.svg +1 -0
- package/bundled-references/maggiedash-booking/diagrams/system-context.excalidraw +1 -0
- package/bundled-references/maggiedash-booking/diagrams/system-context.mmd +10 -0
- package/bundled-references/maggiedash-booking/diagrams/system-context.png +0 -0
- package/bundled-references/maggiedash-booking/diagrams/system-context.svg +1 -0
- package/bundled-skills/maggie-blog/SKILL.md +12 -0
- package/bundled-skills/maggie-blog-bootstrap/SKILL.md +39 -0
- package/bundled-skills/maggie-booking/SKILL.md +112 -18
- package/bundled-skills/maggie-clone/SKILL.md +13 -0
- package/bundled-skills/maggie-deployment/SKILL.md +6 -0
- package/bundled-skills/maggie-design/SKILL.md +64 -3
- package/bundled-skills/maggie-ops/SKILL.md +12 -0
- package/bundled-skills/maggie-seo-geo/SKILL.md +45 -0
- package/bundled-skills/maggie-service-booking/SKILL.md +14 -0
- package/bundled-tools/clis/maggie_analytics.py +43 -1
- package/bundled-tools/clis/maggie_booking.py +161 -26
- package/bundled-tools/clis/maggie_browser_audit.py +99 -3
- package/bundled-tools/clis/maggie_clone.py +46 -1
- package/bundled-tools/clis/maggie_contracts.py +393 -0
- package/bundled-tools/clis/maggie_dash.py +22 -6
- package/bundled-tools/clis/maggie_design.py +84 -12
- package/bundled-tools/clis/maggie_service_booking.py +50 -1
- package/bundled-tools/clis/maggie_workflows.py +387 -0
- package/bundled-tools/clis/site_audit.py +77 -1
- package/bundled-tools/integrations/analytics.md +14 -0
- package/bundled-tools/runtime/site_baseline.py +3 -0
- package/package.json +1 -1
- package/references/browser-inspection.md +21 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"excalidraw","version":2,"source":"gstack-diagram-render","elements":[{"id":"u4EqnCejFrToIvaMV2D-I","type":"rectangle","x":238.14453125,"y":0,"width":91.453125,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a0","roundness":null,"seed":1279264211,"version":3,"versionNonce":109388829,"isDeleted":false,"boundElements":[{"type":"text","id":"HE6GXJyZI03jyNiASF8PM"},{"id":"5nBMKg_xrC3609qQlL1AK","type":"arrow"}],"updated":1789908596231,"link":null,"locked":false},{"id":"AaOtUVXbjREQ5AkbQnd_M","type":"rectangle","x":211.05078125,"y":94,"width":145.640625,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a1","roundness":null,"seed":470430941,"version":4,"versionNonce":1444315357,"isDeleted":false,"boundElements":[{"type":"text","id":"A_ZvGxxO4TtSok6XkHpKm"},{"id":"5nBMKg_xrC3609qQlL1AK","type":"arrow"},{"id":"mDphSzUtTsGO4oQUeadUF","type":"arrow"}],"updated":1789908596231,"link":null,"locked":false},{"id":"wj8Au4VLaseaygLk1wVEe","type":"rectangle","x":178.38671875,"y":188,"width":210.96875,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a2","roundness":null,"seed":679859059,"version":5,"versionNonce":1975434589,"isDeleted":false,"boundElements":[{"type":"text","id":"0GHcFJl9Y2oINVlQ5uemZ"},{"id":"mDphSzUtTsGO4oQUeadUF","type":"arrow"},{"id":"N5lenR6ENB8CtWouECp4e","type":"arrow"},{"id":"bIZYs7ngoDxHUOehfYXZr","type":"arrow"}],"updated":1789908596234,"link":null,"locked":false},{"id":"LggfXjLRfoTYykr5pZLWa","type":"rectangle","x":257.98828125,"y":282,"width":309.140625,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a3","roundness":null,"seed":1779011901,"version":4,"versionNonce":497330781,"isDeleted":false,"boundElements":[{"type":"text","id":"PC18n_3lzctw13mg6OOsz"},{"id":"N5lenR6ENB8CtWouECp4e","type":"arrow"},{"id":"2k3VghES0ypUGMrQVde7U","type":"arrow"}],"updated":1789908596232,"link":null,"locked":false},{"id":"ypXUkbHhcMci2xWkhoqTc","type":"rectangle","x":263.98828125,"y":376,"width":297.140625,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a4","roundness":null,"seed":1107356947,"version":4,"versionNonce":1060730653,"isDeleted":false,"boundElements":[{"type":"text","id":"rmslpzfjNqHEViEuTTuNB"},{"id":"2k3VghES0ypUGMrQVde7U","type":"arrow"},{"id":"cCoxl1FWFSSjcSVGw_LFb","type":"arrow"}],"updated":1789908596232,"link":null,"locked":false},{"id":"WmPp7-gEKKeJCAt6tB0AM","type":"diamond","x":295.49609375,"y":470,"width":234.125,"height":234.125,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a5","roundness":null,"seed":211706269,"version":5,"versionNonce":271239709,"isDeleted":false,"boundElements":[{"type":"text","id":"DIlkRAzIjL8xDztpsBL9q"},{"id":"cCoxl1FWFSSjcSVGw_LFb","type":"arrow"},{"id":"QN_jUrmXCAgYGDxP72Z7T","type":"arrow"},{"id":"CCFwRIoZV_GxG6DEtsPie","type":"arrow"}],"updated":1789908596234,"link":null,"locked":false},{"id":"1NFP1PiR4RplFiEtzbXKy","type":"rectangle","x":0,"y":783.125,"width":253.984375,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a6","roundness":null,"seed":1546113715,"version":4,"versionNonce":2029675773,"isDeleted":false,"boundElements":[{"type":"text","id":"imcD1fruFOzXlTVB4qjMo"},{"id":"QN_jUrmXCAgYGDxP72Z7T","type":"arrow"},{"id":"bIZYs7ngoDxHUOehfYXZr","type":"arrow"}],"updated":1789908596234,"link":null,"locked":false},{"id":"hnH9OdYKPqxSYHmdMVy2z","type":"rectangle","x":303.984375,"y":783.125,"width":273.53125,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a7","roundness":null,"seed":955917821,"version":4,"versionNonce":1124771549,"isDeleted":false,"boundElements":[{"type":"text","id":"sLIap4MGiHfePtvt_4KUT"},{"id":"CCFwRIoZV_GxG6DEtsPie","type":"arrow"},{"id":"1bL4Icf6WwIvg8SYWY8Cx","type":"arrow"}],"updated":1789908596235,"link":null,"locked":false},{"id":"64o5KZ1R-LwDezP1-XxID","type":"rectangle","x":340.8203125,"y":877.125,"width":199.859375,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a8","roundness":null,"seed":127992915,"version":4,"versionNonce":1068127133,"isDeleted":false,"boundElements":[{"type":"text","id":"S3YtupHcBoDnmylFHzeRx"},{"id":"1bL4Icf6WwIvg8SYWY8Cx","type":"arrow"},{"id":"R0CmKdkMCIVDtMAqyReFX","type":"arrow"}],"updated":1789908596235,"link":null,"locked":false},{"id":"-a52_go-9nXdlmjU8YU7J","type":"rectangle","x":315.8359375,"y":971.125,"width":249.828125,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a9","roundness":null,"seed":35544669,"version":3,"versionNonce":1236785149,"isDeleted":false,"boundElements":[{"type":"text","id":"cjtuwQYL2PV0wz1y71Z-w"},{"id":"R0CmKdkMCIVDtMAqyReFX","type":"arrow"}],"updated":1789908596235,"link":null,"locked":false},{"id":"5nBMKg_xrC3609qQlL1AK","type":"arrow","x":283.871,"y":44,"width":0,"height":44.7,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aA","roundness":{"type":2},"seed":2084766195,"version":4,"versionNonce":1793357875,"isDeleted":false,"boundElements":null,"updated":1789908596231,"link":null,"locked":false,"points":[[0,0.5],[0,44.2]],"lastCommittedPoint":null,"startBinding":{"elementId":"u4EqnCejFrToIvaMV2D-I","focus":0.0000020502306503084084,"gap":1},"endBinding":{"elementId":"AaOtUVXbjREQ5AkbQnd_M","focus":-0.0000012874155135964726,"gap":5.299999999999997},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"mDphSzUtTsGO4oQUeadUF","type":"arrow","x":283.871,"y":138,"width":0,"height":44.69999999999999,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aB","roundness":{"type":2},"seed":517769917,"version":4,"versionNonce":489965427,"isDeleted":false,"boundElements":null,"updated":1789908596231,"link":null,"locked":false,"points":[[0,0.5],[0,44.19999999999999]],"lastCommittedPoint":null,"startBinding":{"elementId":"AaOtUVXbjREQ5AkbQnd_M","focus":0.0000012874155135964726,"gap":1},"endBinding":{"elementId":"wj8Au4VLaseaygLk1wVEe","focus":-8.88757221850724e-7,"gap":5.300000000000011},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"N5lenR6ENB8CtWouECp4e","type":"arrow","x":344.108,"y":232,"width":68.45100000000002,"height":44.69999999999999,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aC","roundness":{"type":2},"seed":856968083,"version":4,"versionNonce":650725043,"isDeleted":false,"boundElements":null,"updated":1789908596232,"link":null,"locked":false,"points":[[0,0.5],[68.45100000000002,25],[68.45100000000002,44.19999999999999]],"lastCommittedPoint":null,"startBinding":{"elementId":"wj8Au4VLaseaygLk1wVEe","focus":-1.5839851009078535e-7,"gap":1},"endBinding":{"elementId":"LggfXjLRfoTYykr5pZLWa","focus":0.0000026282537277335994,"gap":5.300000000000011},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"2k3VghES0ypUGMrQVde7U","type":"arrow","x":412.559,"y":326,"width":0,"height":44.69999999999999,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aD","roundness":{"type":2},"seed":1876306717,"version":4,"versionNonce":2081912307,"isDeleted":false,"boundElements":null,"updated":1789908596232,"link":null,"locked":false,"points":[[0,0.5],[0,44.19999999999999]],"lastCommittedPoint":null,"startBinding":{"elementId":"LggfXjLRfoTYykr5pZLWa","focus":-0.0000026282537277335994,"gap":1},"endBinding":{"elementId":"ypXUkbHhcMci2xWkhoqTc","focus":0.000002734395541024044,"gap":5.300000000000011},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"cCoxl1FWFSSjcSVGw_LFb","type":"arrow","x":412.559,"y":420,"width":0.39599999999995816,"height":45.20100000000002,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aE","roundness":{"type":2},"seed":1078681907,"version":4,"versionNonce":76731699,"isDeleted":false,"boundElements":null,"updated":1789908596233,"link":null,"locked":false,"points":[[0.5,0.5],[0,25],[-0.10400000000004184,44.70100000000002]],"lastCommittedPoint":null,"startBinding":{"elementId":"ypXUkbHhcMci2xWkhoqTc","focus":-0.000002734395541024044,"gap":1},"endBinding":{"elementId":"WmPp7-gEKKeJCAt6tB0AM","focus":0.0237928970414316,"gap":4.829408187996628},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"QN_jUrmXCAgYGDxP72Z7T","type":"arrow","x":354.468,"y":646.035,"width":176.65900000000002,"height":134.80500000000006,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aF","roundness":{"type":2},"seed":1165803389,"version":4,"versionNonce":2060475923,"isDeleted":false,"boundElements":[{"type":"text","id":"impv163tAw3ZvOx2sZS30"}],"updated":1789908596234,"link":null,"locked":false,"points":[[-0.5,0.5],[-98.78800000000001,97.59000000000003],[-176.15900000000002,134.30500000000006]],"lastCommittedPoint":null,"startBinding":{"elementId":"WmPp7-gEKKeJCAt6tB0AM","focus":-0.013551476003416158,"gap":1},"endBinding":{"elementId":"1NFP1PiR4RplFiEtzbXKy","focus":0.000007833639814861678,"gap":2.284999999999968},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"bIZYs7ngoDxHUOehfYXZr","type":"arrow","x":120.556,"y":783.125,"width":87.898,"height":549.749,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aG","roundness":{"type":2},"seed":1833878227,"version":4,"versionNonce":1980249427,"isDeleted":false,"boundElements":null,"updated":1789908596234,"link":null,"locked":false,"points":[[0.5,-0.5],[-11.555999999999997,-39.5],[-11.555999999999997,-196.062],[-11.555999999999997,-338.125],[-11.555999999999997,-385.125],[-11.555999999999997,-432.125],[-11.555999999999997,-479.125],[-11.555999999999997,-526.125],[75.842,-549.249]],"lastCommittedPoint":null,"startBinding":{"elementId":"1NFP1PiR4RplFiEtzbXKy","focus":4.92133136173897e-7,"gap":1},"endBinding":{"elementId":"wj8Au4VLaseaygLk1wVEe","focus":-0.00001158710063706148,"gap":1.3759999999999764},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"CCFwRIoZV_GxG6DEtsPie","type":"arrow","x":430.921,"y":686.763,"width":9.829000000000008,"height":91.06200000000001,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aH","roundness":{"type":2},"seed":1712441309,"version":4,"versionNonce":1951674931,"isDeleted":false,"boundElements":[{"type":"text","id":"HvrHmJB5gxHYeSleXezXo"}],"updated":1789908596234,"link":null,"locked":false,"points":[[0,0.5],[9.829000000000008,56.861999999999966],[9.829000000000008,90.56200000000001]],"lastCommittedPoint":null,"startBinding":{"elementId":"WmPp7-gEKKeJCAt6tB0AM","focus":-0.009639873471169597,"gap":1},"endBinding":{"elementId":"hnH9OdYKPqxSYHmdMVy2z","focus":0,"gap":5.2999999999999545},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"1bL4Icf6WwIvg8SYWY8Cx","type":"arrow","x":440.75,"y":827.125,"width":0,"height":44.700000000000045,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aI","roundness":{"type":2},"seed":313847923,"version":4,"versionNonce":1165853043,"isDeleted":false,"boundElements":null,"updated":1789908596235,"link":null,"locked":false,"points":[[0,0.5],[0,44.200000000000045]],"lastCommittedPoint":null,"startBinding":{"elementId":"hnH9OdYKPqxSYHmdMVy2z","focus":0,"gap":1},"endBinding":{"elementId":"64o5KZ1R-LwDezP1-XxID","focus":0,"gap":5.2999999999999545},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"R0CmKdkMCIVDtMAqyReFX","type":"arrow","x":440.75,"y":921.125,"width":0,"height":44.700000000000045,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aJ","roundness":{"type":2},"seed":1403438141,"version":4,"versionNonce":629932211,"isDeleted":false,"boundElements":null,"updated":1789908596235,"link":null,"locked":false,"points":[[0,0.5],[0,44.200000000000045]],"lastCommittedPoint":null,"startBinding":{"elementId":"64o5KZ1R-LwDezP1-XxID","focus":0,"gap":1},"endBinding":{"elementId":"-a52_go-9nXdlmjU8YU7J","focus":0,"gap":5.2999999999999545},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"HE6GXJyZI03jyNiASF8PM","type":"text","x":255.2529296875,"y":9.5,"width":57.236328125,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aK","roundness":null,"seed":1348763219,"version":3,"versionNonce":810512979,"isDeleted":false,"boundElements":null,"updated":1789908596235,"link":null,"locked":false,"text":"Sign in","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"u4EqnCejFrToIvaMV2D-I","originalText":"Sign in","autoResize":true,"lineHeight":1.25},{"id":"A_ZvGxxO4TtSok6XkHpKm","type":"text","x":236.380859375,"y":103.5,"width":94.98046875,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aL","roundness":null,"seed":310852595,"version":3,"versionNonce":1414910045,"isDeleted":false,"boundElements":null,"updated":1789908596235,"link":null,"locked":false,"text":"Set location","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"AaOtUVXbjREQ5AkbQnd_M","originalText":"Set location","autoResize":true,"lineHeight":1.25},{"id":"0GHcFJl9Y2oINVlQ5uemZ","type":"text","x":211.9521484375,"y":197.5,"width":143.837890625,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aM","roundness":null,"seed":683754899,"version":3,"versionNonce":552841203,"isDeleted":false,"boundElements":null,"updated":1789908596235,"link":null,"locked":false,"text":"Configure catalog","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"wj8Au4VLaseaygLk1wVEe","originalText":"Configure catalog","autoResize":true,"lineHeight":1.25},{"id":"PC18n_3lzctw13mg6OOsz","type":"text","x":307.490234375,"y":291.5,"width":210.13671875,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aN","roundness":null,"seed":709434163,"version":3,"versionNonce":1565899965,"isDeleted":false,"boundElements":null,"updated":1789908596235,"link":null,"locked":false,"text":"Assign staff and resources","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"LggfXjLRfoTYykr5pZLWa","originalText":"Assign staff and resources","autoResize":true,"lineHeight":1.25},{"id":"rmslpzfjNqHEViEuTTuNB","type":"text","x":312.8564453125,"y":385.5,"width":199.404296875,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aO","roundness":null,"seed":59063507,"version":3,"versionNonce":427768211,"isDeleted":false,"boundElements":null,"updated":1789908596235,"link":null,"locked":false,"text":"Set hours and exceptions","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"ypXUkbHhcMci2xWkhoqTc","originalText":"Set hours and exceptions","autoResize":true,"lineHeight":1.25},{"id":"DIlkRAzIjL8xDztpsBL9q","type":"text","x":376.7021484375,"y":562.03125,"width":71.650390625,"height":50,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aP","roundness":null,"seed":1342974579,"version":3,"versionNonce":744037661,"isDeleted":false,"boundElements":null,"updated":1789908596235,"link":null,"locked":false,"text":"Ready to\nbook?","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"WmPp7-gEKKeJCAt6tB0AM","originalText":"Ready to book?","autoResize":true,"lineHeight":1.25},{"id":"imcD1fruFOzXlTVB4qjMo","type":"text","x":40.8837890625,"y":792.625,"width":172.216796875,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aQ","roundness":null,"seed":1956930579,"version":3,"versionNonce":925404979,"isDeleted":false,"boundElements":null,"updated":1789908596235,"link":null,"locked":false,"text":"Show missing checks","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"1NFP1PiR4RplFiEtzbXKy","originalText":"Show missing checks","autoResize":true,"lineHeight":1.25},{"id":"sLIap4MGiHfePtvt_4KUT","type":"text","x":347.44921875,"y":792.625,"width":186.6015625,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aR","roundness":null,"seed":2034526643,"version":3,"versionNonce":416379261,"isDeleted":false,"boundElements":null,"updated":1789908596235,"link":null,"locked":false,"text":"Open booking calendar","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"hnH9OdYKPqxSYHmdMVy2z","originalText":"Open booking calendar","autoResize":true,"lineHeight":1.25},{"id":"S3YtupHcBoDnmylFHzeRx","type":"text","x":373.826171875,"y":886.625,"width":133.84765625,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aS","roundness":null,"seed":588430163,"version":3,"versionNonce":743846099,"isDeleted":false,"boundElements":null,"updated":1789908596235,"link":null,"locked":false,"text":"Operate booking","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"64o5KZ1R-LwDezP1-XxID","originalText":"Operate booking","autoResize":true,"lineHeight":1.25},{"id":"cjtuwQYL2PV0wz1y71Z-w","type":"text","x":354.9443359375,"y":980.625,"width":171.611328125,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aT","roundness":null,"seed":1315297523,"version":3,"versionNonce":268450269,"isDeleted":false,"boundElements":null,"updated":1789908596235,"link":null,"locked":false,"text":"Check in or complete","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"-a52_go-9nXdlmjU8YU7J","originalText":"Check in or complete","autoResize":true,"lineHeight":1.25},{"id":"impv163tAw3ZvOx2sZS30","type":"text","x":243.4583203125,"y":731.125,"width":24.443359375,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aU","roundness":null,"seed":545765075,"version":3,"versionNonce":446602867,"isDeleted":false,"boundElements":null,"updated":1789908596235,"link":null,"locked":false,"text":"No","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"QN_jUrmXCAgYGDxP72Z7T","originalText":"No","autoResize":true,"lineHeight":1.25},{"id":"HvrHmJB5gxHYeSleXezXo","type":"text","x":426.19921875,"y":731.125,"width":29.1015625,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aV","roundness":null,"seed":1486623475,"version":3,"versionNonce":1526134333,"isDeleted":false,"boundElements":null,"updated":1789908596235,"link":null,"locked":false,"text":"Yes","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"CCFwRIoZV_GxG6DEtsPie","originalText":"Yes","autoResize":true,"lineHeight":1.25}],"appState":{"viewBackgroundColor":"#ffffff"},"files":{}}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
graph TD
|
|
2
|
+
S["Sign in"] --> L["Set location"]
|
|
3
|
+
L --> C["Configure catalog"]
|
|
4
|
+
C --> T["Assign staff and resources"]
|
|
5
|
+
T --> H["Set hours and exceptions"]
|
|
6
|
+
H --> Q{"Ready to book?"}
|
|
7
|
+
Q -->|No| F["Show missing checks"]
|
|
8
|
+
F --> C
|
|
9
|
+
Q -->|Yes| K["Open booking calendar"]
|
|
10
|
+
K --> O["Operate booking"]
|
|
11
|
+
O --> X["Check in or complete"]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg id="manager-journey" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 505.1015625px;" viewBox="0 0 505.1015625 972.1875" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#manager-journey{font-family:Helvetica,"Liberation Sans",Arial,"Hiragino Kaku Gothic ProN","Noto Sans CJK JP","Microsoft YaHei","Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:16px;fill:#000000;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#manager-journey .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#manager-journey .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#manager-journey .error-icon{fill:#552222;}#manager-journey .error-text{fill:#552222;stroke:#552222;}#manager-journey .edge-thickness-normal{stroke-width:1px;}#manager-journey .edge-thickness-thick{stroke-width:3.5px;}#manager-journey .edge-pattern-solid{stroke-dasharray:0;}#manager-journey .edge-thickness-invisible{stroke-width:0;fill:none;}#manager-journey .edge-pattern-dashed{stroke-dasharray:3;}#manager-journey .edge-pattern-dotted{stroke-dasharray:2;}#manager-journey .marker{fill:#666;stroke:#666;}#manager-journey .marker.cross{stroke:#666;}#manager-journey svg{font-family:Helvetica,"Liberation Sans",Arial,"Hiragino Kaku Gothic ProN","Noto Sans CJK JP","Microsoft YaHei","Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:16px;}#manager-journey p{margin:0;}#manager-journey .label{font-family:Helvetica,"Liberation Sans",Arial,"Hiragino Kaku Gothic ProN","Noto Sans CJK JP","Microsoft YaHei","Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;color:#000000;}#manager-journey .cluster-label text{fill:#333;}#manager-journey .cluster-label span{color:#333;}#manager-journey .cluster-label span p{background-color:transparent;}#manager-journey .label text,#manager-journey span{fill:#000000;color:#000000;}#manager-journey .node rect,#manager-journey .node circle,#manager-journey .node ellipse,#manager-journey .node polygon,#manager-journey .node path{fill:#eee;stroke:#999;stroke-width:1px;}#manager-journey .rough-node .label text,#manager-journey .node .label text,#manager-journey .image-shape .label,#manager-journey .icon-shape .label{text-anchor:middle;}#manager-journey .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#manager-journey .rough-node .label,#manager-journey .node .label,#manager-journey .image-shape .label,#manager-journey .icon-shape .label{text-align:center;}#manager-journey .node.clickable{cursor:pointer;}#manager-journey .root .anchor path{fill:#666!important;stroke-width:0;stroke:#666;}#manager-journey .arrowheadPath{fill:#333333;}#manager-journey .edgePath .path{stroke:#666;stroke-width:2.0px;}#manager-journey .flowchart-link{stroke:#666;fill:none;}#manager-journey .edgeLabel{background-color:white;text-align:center;}#manager-journey .edgeLabel p{background-color:white;}#manager-journey .edgeLabel rect{opacity:0.5;background-color:white;fill:white;}#manager-journey .labelBkg{background-color:rgba(255, 255, 255, 0.5);}#manager-journey .cluster rect{fill:hsl(0, 0%, 98.9215686275%);stroke:#707070;stroke-width:1px;}#manager-journey .cluster text{fill:#333;}#manager-journey .cluster span{color:#333;}#manager-journey div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:Helvetica,"Liberation Sans",Arial,"Hiragino Kaku Gothic ProN","Noto Sans CJK JP","Microsoft YaHei","Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:12px;background:hsl(-160, 0%, 93.3333333333%);border:1px solid #707070;border-radius:2px;pointer-events:none;z-index:100;}#manager-journey .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#000000;}#manager-journey rect.text{fill:none;stroke-width:0;}#manager-journey .icon-shape,#manager-journey .image-shape{background-color:white;text-align:center;}#manager-journey .icon-shape p,#manager-journey .image-shape p{background-color:white;padding:2px;}#manager-journey .icon-shape rect,#manager-journey .image-shape rect{opacity:0.5;background-color:white;fill:white;}#manager-journey .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#manager-journey .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#manager-journey :root{--mermaid-font-family:Helvetica,"Liberation Sans",Arial,"Hiragino Kaku Gothic ProN","Noto Sans CJK JP","Microsoft YaHei","Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;}</style><g><marker id="manager-journey_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker><marker id="manager-journey_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker><marker id="manager-journey_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></circle></marker><marker id="manager-journey_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></circle></marker><marker id="manager-journey_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"></path></marker><marker id="manager-journey_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"></path></marker><g class="root"><g class="clusters"></g><g class="edgePaths"><path d="M249.26,55L249.26,59.167C249.26,63.333,249.26,71.667,249.26,79.333C249.26,87,249.26,94,249.26,97.5L249.26,101" id="L_S_L_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_S_L_0" data-points="W3sieCI6MjQ5LjI1OTc2NTYyNSwieSI6NTV9LHsieCI6MjQ5LjI1OTc2NTYyNSwieSI6ODB9LHsieCI6MjQ5LjI1OTc2NTYyNSwieSI6MTA1fV0=" marker-end="url(#manager-journey_flowchart-v2-pointEnd)"></path><path d="M249.26,152L249.26,156.167C249.26,160.333,249.26,168.667,249.26,176.333C249.26,184,249.26,191,249.26,194.5L249.26,198" id="L_L_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_L_C_0" data-points="W3sieCI6MjQ5LjI1OTc2NTYyNSwieSI6MTUyfSx7IngiOjI0OS4yNTk3NjU2MjUsInkiOjE3N30seyJ4IjoyNDkuMjU5NzY1NjI1LCJ5IjoyMDJ9XQ==" marker-end="url(#manager-journey_flowchart-v2-pointEnd)"></path><path d="M303.096,249L312.642,253.167C322.187,257.333,341.278,265.667,350.824,273.333C360.369,281,360.369,288,360.369,291.5L360.369,295" id="L_C_T_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_C_T_0" data-points="W3sieCI6MzAzLjA5NjI2NjkxMzY1OTgsInkiOjI0OX0seyJ4IjozNjAuMzY5MTQwNjI1LCJ5IjoyNzR9LHsieCI6MzYwLjM2OTE0MDYyNSwieSI6Mjk5fV0=" marker-end="url(#manager-journey_flowchart-v2-pointEnd)"></path><path d="M360.369,346L360.369,350.167C360.369,354.333,360.369,362.667,360.369,370.333C360.369,378,360.369,385,360.369,388.5L360.369,392" id="L_T_H_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_T_H_0" data-points="W3sieCI6MzYwLjM2OTE0MDYyNSwieSI6MzQ2fSx7IngiOjM2MC4zNjkxNDA2MjUsInkiOjM3MX0seyJ4IjozNjAuMzY5MTQwNjI1LCJ5IjozOTZ9XQ==" marker-end="url(#manager-journey_flowchart-v2-pointEnd)"></path><path d="M360.369,443L360.369,447.167C360.369,451.333,360.369,459.667,360.369,467.333C360.369,475,360.369,482,360.369,485.5L360.369,489" id="L_H_Q_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_H_Q_0" data-points="W3sieCI6MzYwLjM2OTE0MDYyNSwieSI6NDQzfSx7IngiOjM2MC4zNjkxNDA2MjUsInkiOjQ2OH0seyJ4IjozNjAuMzY5MTQwNjI1LCJ5Ijo0OTN9XQ==" marker-end="url(#manager-journey_flowchart-v2-pointEnd)"></path><path d="M317.438,609.256L302.13,622.328C286.823,635.4,256.208,661.544,230.348,680.22C204.487,698.896,183.38,710.104,172.826,715.708L162.273,721.312" id="L_Q_F_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Q_F_0" data-points="W3sieCI6MzE3LjQzNzU1MzYzMjE5OTA3LCJ5Ijo2MDkuMjU1OTEzMDA3MTk5MX0seyJ4IjoyMjUuNTkzNzUsInkiOjY4Ny42ODc1fSx7IngiOjE1OC43Mzk4MDQwMjU0MjM3MiwieSI6NzIzLjE4NzV9XQ==" marker-end="url(#manager-journey_flowchart-v2-pointEnd)"></path><path d="M108.056,723.188L106.438,717.271C104.819,711.354,101.583,699.521,99.964,674.422C98.346,649.323,98.346,610.958,98.346,574.344C98.346,537.729,98.346,502.865,98.346,477.349C98.346,451.833,98.346,435.667,98.346,419.5C98.346,403.333,98.346,387.167,98.346,371C98.346,354.833,98.346,338.667,98.346,322.5C98.346,306.333,98.346,290.167,110.676,278.121C123.007,266.075,147.667,258.149,159.998,254.187L172.328,250.224" id="L_F_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_F_C_0" data-points="W3sieCI6MTA4LjA1NjI1OTkzMTE0NDA3LCJ5Ijo3MjMuMTg3NX0seyJ4Ijo5OC4zNDU3MDMxMjUsInkiOjY4Ny42ODc1fSx7IngiOjk4LjM0NTcwMzEyNSwieSI6NTcyLjU5Mzc1fSx7IngiOjk4LjM0NTcwMzEyNSwieSI6NDY4fSx7IngiOjk4LjM0NTcwMzEyNSwieSI6NDE5LjV9LHsieCI6OTguMzQ1NzAzMTI1LCJ5IjozNzF9LHsieCI6OTguMzQ1NzAzMTI1LCJ5IjozMjIuNX0seyJ4Ijo5OC4zNDU3MDMxMjUsInkiOjI3NH0seyJ4IjoxNzYuMTM2NDU2OTkwOTc5MzgsInkiOjI0OX1d" marker-end="url(#manager-journey_flowchart-v2-pointEnd)"></path><path d="M373.944,638.612L375.626,646.792C377.308,654.971,380.671,671.329,382.353,684.758C384.035,698.188,384.035,708.688,384.035,713.938L384.035,719.188" id="L_Q_K_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Q_K_0" data-points="W3sieCI6MzczLjk0NDE2MzA1Nzk2NSwieSI6NjM4LjYxMjQ3NzU2NzAzNX0seyJ4IjozODQuMDM1MTU2MjUsInkiOjY4Ny42ODc1fSx7IngiOjM4NC4wMzUxNTYyNSwieSI6NzIzLjE4NzV9XQ==" marker-end="url(#manager-journey_flowchart-v2-pointEnd)"></path><path d="M384.035,770.188L384.035,774.354C384.035,778.521,384.035,786.854,384.035,794.521C384.035,802.188,384.035,809.188,384.035,812.688L384.035,816.188" id="L_K_O_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_K_O_0" data-points="W3sieCI6Mzg0LjAzNTE1NjI1LCJ5Ijo3NzAuMTg3NX0seyJ4IjozODQuMDM1MTU2MjUsInkiOjc5NS4xODc1fSx7IngiOjM4NC4wMzUxNTYyNSwieSI6ODIwLjE4NzV9XQ==" marker-end="url(#manager-journey_flowchart-v2-pointEnd)"></path><path d="M384.035,867.188L384.035,871.354C384.035,875.521,384.035,883.854,384.035,891.521C384.035,899.188,384.035,906.188,384.035,909.688L384.035,913.188" id="L_O_X_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_O_X_0" data-points="W3sieCI6Mzg0LjAzNTE1NjI1LCJ5Ijo4NjcuMTg3NX0seyJ4IjozODQuMDM1MTU2MjUsInkiOjg5Mi4xODc1fSx7IngiOjM4NC4wMzUxNTYyNSwieSI6OTE3LjE4NzV9XQ==" marker-end="url(#manager-journey_flowchart-v2-pointEnd)"></path></g><g class="edgeLabels"><g><rect class="background" style="stroke: none"></rect></g><g><rect class="background" style="stroke: none"></rect></g><g><rect class="background" style="stroke: none"></rect></g><g><rect class="background" style="stroke: none"></rect></g><g><rect class="background" style="stroke: none"></rect></g><g><rect class="background" style="stroke: none"></rect></g><g><rect class="background" style="stroke: none"></rect></g><g><rect class="background" style="stroke: none"></rect></g><g class="edgeLabel"><g class="label" data-id="L_S_L_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g><g class="edgeLabel"><g class="label" data-id="L_L_C_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g><g class="edgeLabel"><g class="label" data-id="L_C_T_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g><g class="edgeLabel"><g class="label" data-id="L_T_H_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g><g class="edgeLabel"><g class="label" data-id="L_H_Q_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g><g class="edgeLabel" transform="translate(242.73466, 673.04973)"><g class="label" data-id="L_Q_F_0" transform="translate(-12.27734375, -10.5)"><g><rect class="background" style="" x="-2" y="0" width="24.5546875" height="21"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">No</tspan></tspan></text></g></g></g><g class="edgeLabel"><g class="label" data-id="L_F_C_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g><g class="edgeLabel" transform="translate(384.03515625, 687.6875)"><g class="label" data-id="L_Q_K_0" transform="translate(-15.0546875, -10.5)"><g><rect class="background" style="" x="-2" y="0" width="30.109375" height="21"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Yes</tspan></tspan></text></g></g></g><g class="edgeLabel"><g class="label" data-id="L_K_O_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g><g class="edgeLabel"><g class="label" data-id="L_O_X_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g></g><g class="nodes"><g class="node default" id="flowchart-S-0" transform="translate(249.259765625, 31.5)"><rect class="basic label-container" style="" x="-54.46875" y="-23.5" width="108.9375" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Sign</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> in</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-L-1" transform="translate(249.259765625, 128.5)"><rect class="basic label-container" style="" x="-71.8046875" y="-23.5" width="143.609375" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Set</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> location</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-C-3" transform="translate(249.259765625, 225.5)"><rect class="basic label-container" style="" x="-92.7109375" y="-23.5" width="185.421875" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Configure</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> catalog</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-T-5" transform="translate(360.369140625, 322.5)"><rect class="basic label-container" style="" x="-124.1328125" y="-23.5" width="248.265625" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Assign</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> staff</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> and</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> resources</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-H-7" transform="translate(360.369140625, 419.5)"><rect class="basic label-container" style="" x="-120.28125" y="-23.5" width="240.5625" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Set</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> hours</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> and</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> exceptions</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-Q-9" transform="translate(360.369140625, 572.59375)"><polygon points="79.59375,0 159.1875,-79.59375 79.59375,-159.1875 0,-79.59375" class="label-container" transform="translate(-79.09375, 79.59375)"></polygon><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Ready</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> to</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> book?</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-F-11" transform="translate(114.484375, 746.6875)"><rect class="basic label-container" style="" x="-106.484375" y="-23.5" width="212.96875" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Show</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> missing</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> checks</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-K-15" transform="translate(384.03515625, 746.6875)"><rect class="basic label-container" style="" x="-113.06640625" y="-23.5" width="226.1328125" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Open</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> booking</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> calendar</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-O-17" transform="translate(384.03515625, 843.6875)"><rect class="basic label-container" style="" x="-89.15625" y="-23.5" width="178.3125" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Operate</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> booking</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-X-19" transform="translate(384.03515625, 940.6875)"><rect class="basic label-container" style="" x="-105.203125" y="-23.5" width="210.40625" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Check</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> in</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> or</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> complete</tspan></tspan></text></g></g></g></g></g></g></svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
sequenceDiagram
|
|
2
|
+
participant C as Customer
|
|
3
|
+
participant UI as Booking UI
|
|
4
|
+
participant API as Booking API
|
|
5
|
+
participant DB as PostgreSQL
|
|
6
|
+
participant PG as Payment gateway
|
|
7
|
+
participant WH as Webhook endpoint
|
|
8
|
+
|
|
9
|
+
C->>UI: Select slot
|
|
10
|
+
UI->>API: Create hold with idempotency key
|
|
11
|
+
API->>DB: Allocate slot and save hold
|
|
12
|
+
DB-->>API: Hold active
|
|
13
|
+
API-->>UI: Payment action and expiry
|
|
14
|
+
UI->>PG: Complete payment
|
|
15
|
+
PG-->>UI: Return to pending page
|
|
16
|
+
PG->>WH: Signed payment event
|
|
17
|
+
WH->>DB: Deduplicate and project payment
|
|
18
|
+
DB-->>WH: Payment state saved
|
|
19
|
+
WH->>DB: Convert hold to confirmed booking
|
|
20
|
+
DB-->>UI: Confirmation on refresh
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg id="payment-sequence" width="100%" xmlns="http://www.w3.org/2000/svg" style="max-width: 1452px;" viewBox="-50 -10 1452 699" role="graphics-document document" aria-roledescription="sequence"><g><rect x="1198" y="613" fill="#eaeaea" stroke="#666" width="154" height="65" name="WH" rx="3" ry="3" class="actor actor-bottom"></rect><text x="1275" y="645.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;"><tspan x="1275" dy="0">Webhook endpoint</tspan></text></g><g><rect x="970" y="613" fill="#eaeaea" stroke="#666" width="150" height="65" name="PG" rx="3" ry="3" class="actor actor-bottom"></rect><text x="1045" y="645.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;"><tspan x="1045" dy="0">Payment gateway</tspan></text></g><g><rect x="770" y="613" fill="#eaeaea" stroke="#666" width="150" height="65" name="DB" rx="3" ry="3" class="actor actor-bottom"></rect><text x="845" y="645.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;"><tspan x="845" dy="0">PostgreSQL</tspan></text></g><g><rect x="510" y="613" fill="#eaeaea" stroke="#666" width="150" height="65" name="API" rx="3" ry="3" class="actor actor-bottom"></rect><text x="585" y="645.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;"><tspan x="585" dy="0">Booking API</tspan></text></g><g><rect x="200" y="613" fill="#eaeaea" stroke="#666" width="150" height="65" name="UI" rx="3" ry="3" class="actor actor-bottom"></rect><text x="275" y="645.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;"><tspan x="275" dy="0">Booking UI</tspan></text></g><g><rect x="0" y="613" fill="#eaeaea" stroke="#666" width="150" height="65" name="C" rx="3" ry="3" class="actor actor-bottom"></rect><text x="75" y="645.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;"><tspan x="75" dy="0">Customer</tspan></text></g><g><line id="actor5" x1="1275" y1="65" x2="1275" y2="613" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="WH"></line><g id="root-5"><rect x="1198" y="0" fill="#eaeaea" stroke="#666" width="154" height="65" name="WH" rx="3" ry="3" class="actor actor-top"></rect><text x="1275" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;"><tspan x="1275" dy="0">Webhook endpoint</tspan></text></g></g><g><line id="actor4" x1="1045" y1="65" x2="1045" y2="613" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="PG"></line><g id="root-4"><rect x="970" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" name="PG" rx="3" ry="3" class="actor actor-top"></rect><text x="1045" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;"><tspan x="1045" dy="0">Payment gateway</tspan></text></g></g><g><line id="actor3" x1="845" y1="65" x2="845" y2="613" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="DB"></line><g id="root-3"><rect x="770" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" name="DB" rx="3" ry="3" class="actor actor-top"></rect><text x="845" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;"><tspan x="845" dy="0">PostgreSQL</tspan></text></g></g><g><line id="actor2" x1="585" y1="65" x2="585" y2="613" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="API"></line><g id="root-2"><rect x="510" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" name="API" rx="3" ry="3" class="actor actor-top"></rect><text x="585" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;"><tspan x="585" dy="0">Booking API</tspan></text></g></g><g><line id="actor1" x1="275" y1="65" x2="275" y2="613" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="UI"></line><g id="root-1"><rect x="200" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" name="UI" rx="3" ry="3" class="actor actor-top"></rect><text x="275" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;"><tspan x="275" dy="0">Booking UI</tspan></text></g></g><g><line id="actor0" x1="75" y1="65" x2="75" y2="613" class="actor-line 200" stroke-width="0.5px" stroke="#999" name="C"></line><g id="root-0"><rect x="0" y="0" fill="#eaeaea" stroke="#666" width="150" height="65" name="C" rx="3" ry="3" class="actor actor-top"></rect><text x="75" y="32.5" dominant-baseline="central" alignment-baseline="central" class="actor actor-box" style="text-anchor: middle; font-size: 16px; font-weight: 400; font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;"><tspan x="75" dy="0">Customer</tspan></text></g></g><style>#payment-sequence{font-family:Helvetica,"Liberation Sans",Arial,"Hiragino Kaku Gothic ProN","Noto Sans CJK JP","Microsoft YaHei","Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:16px;fill:#000000;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#payment-sequence .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#payment-sequence .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#payment-sequence .error-icon{fill:#552222;}#payment-sequence .error-text{fill:#552222;stroke:#552222;}#payment-sequence .edge-thickness-normal{stroke-width:1px;}#payment-sequence .edge-thickness-thick{stroke-width:3.5px;}#payment-sequence .edge-pattern-solid{stroke-dasharray:0;}#payment-sequence .edge-thickness-invisible{stroke-width:0;fill:none;}#payment-sequence .edge-pattern-dashed{stroke-dasharray:3;}#payment-sequence .edge-pattern-dotted{stroke-dasharray:2;}#payment-sequence .marker{fill:#666;stroke:#666;}#payment-sequence .marker.cross{stroke:#666;}#payment-sequence svg{font-family:Helvetica,"Liberation Sans",Arial,"Hiragino Kaku Gothic ProN","Noto Sans CJK JP","Microsoft YaHei","Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:16px;}#payment-sequence p{margin:0;}#payment-sequence .actor{stroke:hsl(0, 0%, 83%);fill:#eee;}#payment-sequence text.actor>tspan{fill:#333;stroke:none;}#payment-sequence .actor-line{stroke:hsl(0, 0%, 83%);}#payment-sequence .innerArc{stroke-width:1.5;stroke-dasharray:none;}#payment-sequence .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#payment-sequence .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#payment-sequence #arrowhead path{fill:#333;stroke:#333;}#payment-sequence .sequenceNumber{fill:white;}#payment-sequence #sequencenumber{fill:#333;}#payment-sequence #crosshead path{fill:#333;stroke:#333;}#payment-sequence .messageText{fill:#333;stroke:none;}#payment-sequence .labelBox{stroke:hsl(0, 0%, 83%);fill:#eee;}#payment-sequence .labelText,#payment-sequence .labelText>tspan{fill:#333;stroke:none;}#payment-sequence .loopText,#payment-sequence .loopText>tspan{fill:#333;stroke:none;}#payment-sequence .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(0, 0%, 83%);fill:hsl(0, 0%, 83%);}#payment-sequence .note{stroke:#999;fill:#666;}#payment-sequence .noteText,#payment-sequence .noteText>tspan{fill:#fff;stroke:none;}#payment-sequence .activation0{fill:#f4f4f4;stroke:#666;}#payment-sequence .activation1{fill:#f4f4f4;stroke:#666;}#payment-sequence .activation2{fill:#f4f4f4;stroke:#666;}#payment-sequence .actorPopupMenu{position:absolute;}#payment-sequence .actorPopupMenuPanel{position:absolute;fill:#eee;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#payment-sequence .actor-man line{stroke:hsl(0, 0%, 83%);fill:#eee;}#payment-sequence .actor-man circle,#payment-sequence line{stroke:hsl(0, 0%, 83%);fill:#eee;stroke-width:2px;}#payment-sequence :root{--mermaid-font-family:Helvetica,"Liberation Sans",Arial,"Hiragino Kaku Gothic ProN","Noto Sans CJK JP","Microsoft YaHei","Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;}</style><g></g><defs><symbol id="computer" width="24" height="24"><path transform="scale(.5)" d="M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z"></path></symbol></defs><defs><symbol id="database" fill-rule="evenodd" clip-rule="evenodd"><path transform="scale(.5)" d="M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z"></path></symbol></defs><defs><symbol id="clock" width="24" height="24"><path transform="scale(.5)" d="M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z"></path></symbol></defs><defs><marker id="arrowhead" refX="7.9" refY="5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto-start-reverse"><path d="M -1 0 L 10 5 L 0 10 z"></path></marker></defs><defs><marker id="crosshead" markerWidth="15" markerHeight="8" orient="auto" refX="4" refY="4.5"><path fill="none" stroke="#000000" stroke-width="1pt" d="M 1,2 L 6,7 M 6,2 L 1,7" style="stroke-dasharray: 0, 0;"></path></marker></defs><defs><marker id="filled-head" refX="15.5" refY="7" markerWidth="20" markerHeight="28" orient="auto"><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker id="sequencenumber" refX="15" refY="15" markerWidth="60" markerHeight="40" orient="auto"><circle cx="15" cy="15" r="6"></circle></marker></defs><text x="174" y="80" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 16px; font-weight: 400;">Select slot</text><line x1="76" y1="109" x2="271" y2="109" class="messageLine0" stroke-width="2" stroke="none" marker-end="url(#arrowhead)" style="fill: none;"></line><text x="429" y="124" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 16px; font-weight: 400;">Create hold with idempotency key</text><line x1="276" y1="153" x2="581" y2="153" class="messageLine0" stroke-width="2" stroke="none" marker-end="url(#arrowhead)" style="fill: none;"></line><text x="714" y="168" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 16px; font-weight: 400;">Allocate slot and save hold</text><line x1="586" y1="197" x2="841" y2="197" class="messageLine0" stroke-width="2" stroke="none" marker-end="url(#arrowhead)" style="fill: none;"></line><text x="717" y="212" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 16px; font-weight: 400;">Hold active</text><line x1="844" y1="241" x2="589" y2="241" class="messageLine1" stroke-width="2" stroke="none" marker-end="url(#arrowhead)" style="stroke-dasharray: 3, 3; fill: none;"></line><text x="432" y="256" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 16px; font-weight: 400;">Payment action and expiry</text><line x1="584" y1="285" x2="279" y2="285" class="messageLine1" stroke-width="2" stroke="none" marker-end="url(#arrowhead)" style="stroke-dasharray: 3, 3; fill: none;"></line><text x="659" y="300" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 16px; font-weight: 400;">Complete payment</text><line x1="276" y1="329" x2="1041" y2="329" class="messageLine0" stroke-width="2" stroke="none" marker-end="url(#arrowhead)" style="fill: none;"></line><text x="662" y="344" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 16px; font-weight: 400;">Return to pending page</text><line x1="1044" y1="373" x2="279" y2="373" class="messageLine1" stroke-width="2" stroke="none" marker-end="url(#arrowhead)" style="stroke-dasharray: 3, 3; fill: none;"></line><text x="1159" y="388" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 16px; font-weight: 400;">Signed payment event</text><line x1="1046" y1="417" x2="1271" y2="417" class="messageLine0" stroke-width="2" stroke="none" marker-end="url(#arrowhead)" style="fill: none;"></line><text x="1062" y="432" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 16px; font-weight: 400;">Deduplicate and project payment</text><line x1="1274" y1="461" x2="849" y2="461" class="messageLine0" stroke-width="2" stroke="none" marker-end="url(#arrowhead)" style="fill: none;"></line><text x="1059" y="476" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 16px; font-weight: 400;">Payment state saved</text><line x1="846" y1="505" x2="1271" y2="505" class="messageLine1" stroke-width="2" stroke="none" marker-end="url(#arrowhead)" style="stroke-dasharray: 3, 3; fill: none;"></line><text x="1062" y="520" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 16px; font-weight: 400;">Convert hold to confirmed booking</text><line x1="1274" y1="549" x2="849" y2="549" class="messageLine0" stroke-width="2" stroke="none" marker-end="url(#arrowhead)" style="fill: none;"></line><text x="562" y="564" text-anchor="middle" dominant-baseline="middle" alignment-baseline="middle" class="messageText" dy="1em" style="font-family: Helvetica, "Liberation Sans", Arial, "Hiragino Kaku Gothic ProN", "Noto Sans CJK JP", "Microsoft YaHei", "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; font-size: 16px; font-weight: 400;">Confirmation on refresh</text><line x1="844" y1="593" x2="279" y2="593" class="messageLine1" stroke-width="2" stroke="none" marker-end="url(#arrowhead)" style="stroke-dasharray: 3, 3; fill: none;"></line></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"excalidraw","version":2,"source":"gstack-diagram-render","elements":[{"id":"QQgFMXMGlwJSbzCNZcobM","type":"rectangle","x":0,"y":188,"width":258.15625,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a0","roundness":null,"seed":815064605,"version":3,"versionNonce":1491629587,"isDeleted":false,"boundElements":[{"type":"text","id":"NYdiBXzE-J1AZOa-inIfG"},{"id":"xZQfXYYna5_7hhrJeLSRQ","type":"arrow"}],"updated":1789908584011,"link":null,"locked":false},{"id":"OLfFE0FRStsQNUdGeV3YC","type":"rectangle","x":308.15625,"y":188,"width":130.34375,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a1","roundness":null,"seed":2083116595,"version":4,"versionNonce":251284819,"isDeleted":false,"boundElements":[{"type":"text","id":"gte7QtCS7sot2MnNCi7co"},{"id":"xZQfXYYna5_7hhrJeLSRQ","type":"arrow"},{"id":"9rKSRYaQ0RV2NC-_VTkgv","type":"arrow"}],"updated":1789908584012,"link":null,"locked":false},{"id":"OHxeSbmN_fkg7FK_yhsgb","type":"rectangle","x":488.5,"y":188,"width":231.796875,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a2","roundness":null,"seed":346823293,"version":4,"versionNonce":158291091,"isDeleted":false,"boundElements":[{"type":"text","id":"DRWpVIEtA5wgaRwrYOLzT"},{"id":"9rKSRYaQ0RV2NC-_VTkgv","type":"arrow"},{"id":"-Xh_zotnRsXYWS5nUFWBh","type":"arrow"}],"updated":1789908584012,"link":null,"locked":false},{"id":"xH-dND6aj4HnVv7XHmcV3","type":"rectangle","x":770.296875,"y":188,"width":231.828125,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a3","roundness":null,"seed":1872140243,"version":8,"versionNonce":720303539,"isDeleted":false,"boundElements":[{"type":"text","id":"RniTAXQ4hF_rYM-wsmAE6"},{"id":"-Xh_zotnRsXYWS5nUFWBh","type":"arrow"},{"id":"PEJhs_BwgmDEsfMVMmeze","type":"arrow"},{"id":"XdRiIOqh6Ii0OOQlpkKEV","type":"arrow"},{"id":"JXuEgCj82NYuoE0FD12iY","type":"arrow"},{"id":"lGLdknouHnIPzFID-zjF0","type":"arrow"},{"id":"NzSfqkfryY0mwZCMf5Zqw","type":"arrow"}],"updated":1789908584014,"link":null,"locked":false},{"id":"m1JSEfG25vYu0wIrUN-zX","type":"rectangle","x":1094.5,"y":0,"width":151.1875,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a4","roundness":null,"seed":1822278365,"version":3,"versionNonce":203463027,"isDeleted":false,"boundElements":[{"type":"text","id":"jTTSkAE0TfPup6fYMNDAb"},{"id":"PEJhs_BwgmDEsfMVMmeze","type":"arrow"}],"updated":1789908584013,"link":null,"locked":false},{"id":"53bTrOpx95xqSaY5L-izI","type":"rectangle","x":1063.234375,"y":94,"width":213.71875,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a5","roundness":null,"seed":121251187,"version":4,"versionNonce":1977895123,"isDeleted":false,"boundElements":[{"type":"text","id":"mwBxy5YX-hj6w4VV0IP-C"},{"id":"XdRiIOqh6Ii0OOQlpkKEV","type":"arrow"},{"id":"ZxpYk6TRreO4ujYsYE3uE","type":"arrow"}],"updated":1789908584014,"link":null,"locked":false},{"id":"w98T1N7RU-3foggnD4LT8","type":"rectangle","x":1052.125,"y":188,"width":235.9375,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a6","roundness":null,"seed":1023106877,"version":3,"versionNonce":1363855347,"isDeleted":false,"boundElements":[{"type":"text","id":"NdmpaoBsZBB8C7oYwaZ3h"},{"id":"JXuEgCj82NYuoE0FD12iY","type":"arrow"}],"updated":1789908584014,"link":null,"locked":false},{"id":"fzCAopjatNLMo8f4pX4vN","type":"rectangle","x":1063.234375,"y":282,"width":213.71875,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a7","roundness":null,"seed":710606611,"version":3,"versionNonce":1587128115,"isDeleted":false,"boundElements":[{"type":"text","id":"fBXJK1KlXUMm04g5B-Vwd"},{"id":"lGLdknouHnIPzFID-zjF0","type":"arrow"}],"updated":1789908584014,"link":null,"locked":false},{"id":"e9RbHbgXOjYPqjOk_u7Pf","type":"rectangle","x":1338.0625,"y":216.5,"width":205.40625,"height":44,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a8","roundness":null,"seed":2082893725,"version":4,"versionNonce":1269854227,"isDeleted":false,"boundElements":[{"type":"text","id":"zWnM7qUBe_COz4plODcpu"},{"id":"ZxpYk6TRreO4ujYsYE3uE","type":"arrow"},{"id":"NzSfqkfryY0mwZCMf5Zqw","type":"arrow"}],"updated":1789908584014,"link":null,"locked":false},{"id":"xZQfXYYna5_7hhrJeLSRQ","type":"arrow","x":258.156,"y":210,"width":44.69999999999999,"height":0,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"a9","roundness":{"type":2},"seed":326083763,"version":4,"versionNonce":1620043933,"isDeleted":false,"boundElements":null,"updated":1789908584011,"link":null,"locked":false,"points":[[0.5,0],[44.19999999999999,0]],"lastCommittedPoint":null,"startBinding":{"elementId":"QQgFMXMGlwJSbzCNZcobM","focus":0,"gap":1},"endBinding":{"elementId":"OLfFE0FRStsQNUdGeV3YC","focus":0,"gap":5.3002500000000055},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"9rKSRYaQ0RV2NC-_VTkgv","type":"arrow","x":438.5,"y":210,"width":44.69999999999999,"height":0,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aA","roundness":{"type":2},"seed":1481667581,"version":4,"versionNonce":781854045,"isDeleted":false,"boundElements":null,"updated":1789908584012,"link":null,"locked":false,"points":[[0.5,0],[44.19999999999999,0]],"lastCommittedPoint":null,"startBinding":{"elementId":"OLfFE0FRStsQNUdGeV3YC","focus":0,"gap":1},"endBinding":{"elementId":"OHxeSbmN_fkg7FK_yhsgb","focus":0,"gap":5.300000000000011},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"-Xh_zotnRsXYWS5nUFWBh","type":"arrow","x":720.297,"y":210,"width":44.69999999999993,"height":0,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aB","roundness":{"type":2},"seed":1780389459,"version":4,"versionNonce":122434077,"isDeleted":false,"boundElements":null,"updated":1789908584012,"link":null,"locked":false,"points":[[0.5,0],[44.19999999999993,0]],"lastCommittedPoint":null,"startBinding":{"elementId":"OHxeSbmN_fkg7FK_yhsgb","focus":0,"gap":1},"endBinding":{"elementId":"xH-dND6aj4HnVv7XHmcV3","focus":0,"gap":5.299875000000043},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"PEJhs_BwgmDEsfMVMmeze","type":"arrow","x":902.701,"y":188,"width":186.49900000000002,"height":166,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aC","roundness":{"type":2},"seed":1031466077,"version":4,"versionNonce":519179997,"isDeleted":false,"boundElements":null,"updated":1789908584013,"link":null,"locked":false,"points":[[0.5,0],[124.42399999999998,-166],[185.99900000000002,-166]],"lastCommittedPoint":null,"startBinding":{"elementId":"xH-dND6aj4HnVv7XHmcV3","focus":0.0000010180143105172604,"gap":1},"endBinding":{"elementId":"m1JSEfG25vYu0wIrUN-zX","focus":0,"gap":5.2999999999999545},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"XdRiIOqh6Ii0OOQlpkKEV","type":"arrow","x":919.191,"y":188,"width":138.74299999999994,"height":72,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aD","roundness":{"type":2},"seed":490623987,"version":4,"versionNonce":114801565,"isDeleted":false,"boundElements":null,"updated":1789908584013,"link":null,"locked":false,"points":[[0.5,0],[107.93399999999997,-72],[138.24299999999994,-72]],"lastCommittedPoint":null,"startBinding":{"elementId":"xH-dND6aj4HnVv7XHmcV3","focus":0.0000015391273454803124,"gap":1},"endBinding":{"elementId":"53bTrOpx95xqSaY5L-izI","focus":0,"gap":5.300375000000031},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"JXuEgCj82NYuoE0FD12iY","type":"arrow","x":1002.125,"y":210,"width":44.700000000000045,"height":0,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aE","roundness":{"type":2},"seed":460806333,"version":4,"versionNonce":1833515101,"isDeleted":false,"boundElements":null,"updated":1789908584014,"link":null,"locked":false,"points":[[0.5,0],[44.200000000000045,0]],"lastCommittedPoint":null,"startBinding":{"elementId":"xH-dND6aj4HnVv7XHmcV3","focus":0,"gap":1},"endBinding":{"elementId":"w98T1N7RU-3foggnD4LT8","focus":0,"gap":5.2999999999999545},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"lGLdknouHnIPzFID-zjF0","type":"arrow","x":919.191,"y":232,"width":138.74299999999994,"height":72,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aF","roundness":{"type":2},"seed":2094357907,"version":4,"versionNonce":1569883421,"isDeleted":false,"boundElements":null,"updated":1789908584014,"link":null,"locked":false,"points":[[0.5,0],[107.93399999999997,72],[138.24299999999994,72]],"lastCommittedPoint":null,"startBinding":{"elementId":"xH-dND6aj4HnVv7XHmcV3","focus":-0.0000015391273456150696,"gap":1},"endBinding":{"elementId":"fzCAopjatNLMo8f4pX4vN","focus":0,"gap":5.300375000000031},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"ZxpYk6TRreO4ujYsYE3uE","type":"arrow","x":1276.953,"y":116,"width":137.0530000000001,"height":96.83099999999999,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aG","roundness":{"type":2},"seed":1810315549,"version":4,"versionNonce":2147459549,"isDeleted":false,"boundElements":null,"updated":1789908584014,"link":null,"locked":false,"points":[[0.5,0.5],[36.11000000000013,0],[136.5530000000001,96.33099999999999]],"lastCommittedPoint":null,"startBinding":{"elementId":"53bTrOpx95xqSaY5L-izI","focus":0,"gap":1},"endBinding":{"elementId":"e9RbHbgXOjYPqjOk_u7Pf","focus":-0.000004552295824857297,"gap":3.669000000000011},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"NzSfqkfryY0mwZCMf5Zqw","type":"arrow","x":1417.831,"y":260.5,"width":507.47399999999993,"height":125.125,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aH","roundness":{"type":2},"seed":337261363,"version":4,"versionNonce":1507626653,"isDeleted":false,"boundElements":null,"updated":1789908584014,"link":null,"locked":false,"points":[[-0.5,-0.5],[-104.7679999999998,100.5],[-247.73699999999985,100.5],[-390.7059999999999,100.5],[-506.97399999999993,-24.125]],"lastCommittedPoint":null,"startBinding":{"elementId":"e9RbHbgXOjYPqjOk_u7Pf","focus":0.0000026778869189070143,"gap":1},"endBinding":{"elementId":"xH-dND6aj4HnVv7XHmcV3","focus":0.000005618912496212266,"gap":3.875},"startArrowhead":null,"endArrowhead":"arrow","elbowed":false},{"id":"NYdiBXzE-J1AZOa-inIfG","type":"text","x":42.4375,"y":197.5,"width":173.28125,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aI","roundness":null,"seed":1104013533,"version":3,"versionNonce":2011869949,"isDeleted":false,"boundElements":null,"updated":1789908584015,"link":null,"locked":false,"text":"Customer or manager","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"QQgFMXMGlwJSbzCNZcobM","originalText":"Customer or manager","autoResize":true,"lineHeight":1.25},{"id":"gte7QtCS7sot2MnNCi7co","type":"text","x":331.3896484375,"y":197.5,"width":83.876953125,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aJ","roundness":null,"seed":87475517,"version":3,"versionNonce":1468778323,"isDeleted":false,"boundElements":null,"updated":1789908584015,"link":null,"locked":false,"text":"Host route","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"OLfFE0FRStsQNUdGeV3YC","originalText":"Host route","autoResize":true,"lineHeight":1.25},{"id":"DRWpVIEtA5wgaRwrYOLzT","type":"text","x":524.69140625,"y":197.5,"width":159.4140625,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aK","roundness":null,"seed":872748445,"version":3,"versionNonce":225790813,"isDeleted":false,"boundElements":null,"updated":1789908584015,"link":null,"locked":false,"text":"Booking workspace","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"OHxeSbmN_fkg7FK_yhsgb","originalText":"Booking workspace","autoResize":true,"lineHeight":1.25},{"id":"RniTAXQ4hF_rYM-wsmAE6","type":"text","x":804.833984375,"y":197.5,"width":162.75390625,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aL","roundness":null,"seed":694835709,"version":3,"versionNonce":668820723,"isDeleted":false,"boundElements":null,"updated":1789908584015,"link":null,"locked":false,"text":"Booking application","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"xH-dND6aj4HnVv7XHmcV3","originalText":"Booking application","autoResize":true,"lineHeight":1.25},{"id":"jTTSkAE0TfPup6fYMNDAb","type":"text","x":1121.2021484375,"y":9.5,"width":97.783203125,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aM","roundness":null,"seed":1583878749,"version":3,"versionNonce":1523439549,"isDeleted":false,"boundElements":null,"updated":1789908584015,"link":null,"locked":false,"text":"PostgreSQL","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"m1JSEfG25vYu0wIrUN-zX","originalText":"PostgreSQL","autoResize":true,"lineHeight":1.25},{"id":"mwBxy5YX-hj6w4VV0IP-C","type":"text","x":1099.283203125,"y":103.5,"width":141.62109375,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aN","roundness":null,"seed":802143933,"version":3,"versionNonce":1667911315,"isDeleted":false,"boundElements":null,"updated":1789908584015,"link":null,"locked":false,"text":"Payment gateway","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"53bTrOpx95xqSaY5L-izI","originalText":"Payment gateway","autoResize":true,"lineHeight":1.25},{"id":"NdmpaoBsZBB8C7oYwaZ3h","type":"text","x":1085.396484375,"y":197.5,"width":169.39453125,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aO","roundness":null,"seed":1682104093,"version":3,"versionNonce":437639197,"isDeleted":false,"boundElements":null,"updated":1789908584015,"link":null,"locked":false,"text":"Notification provider","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"w98T1N7RU-3foggnD4LT8","originalText":"Notification provider","autoResize":true,"lineHeight":1.25},{"id":"fBXJK1KlXUMm04g5B-Vwd","type":"text","x":1097.623046875,"y":291.5,"width":144.94140625,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aP","roundness":null,"seed":1915941757,"version":3,"versionNonce":485033011,"isDeleted":false,"boundElements":null,"updated":1789908584015,"link":null,"locked":false,"text":"Calendar provider","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"fzCAopjatNLMo8f4pX4vN","originalText":"Calendar provider","autoResize":true,"lineHeight":1.25},{"id":"zWnM7qUBe_COz4plODcpu","type":"text","x":1369.3984375,"y":226,"width":142.734375,"height":25,"angle":0,"strokeColor":"#1e1e1e","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":2,"strokeStyle":"solid","roughness":1,"opacity":100,"groupIds":[],"frameId":null,"index":"aQ","roundness":null,"seed":98663389,"version":3,"versionNonce":1161743485,"isDeleted":false,"boundElements":null,"updated":1789908584015,"link":null,"locked":false,"text":"Verified webhook","fontSize":20,"fontFamily":5,"textAlign":"center","verticalAlign":"middle","containerId":"e9RbHbgXOjYPqjOk_u7Pf","originalText":"Verified webhook","autoResize":true,"lineHeight":1.25}],"appState":{"viewBackgroundColor":"#ffffff"},"files":{}}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
graph LR
|
|
2
|
+
U["Customer or manager"] --> R["Host route"]
|
|
3
|
+
R --> D["Booking workspace"]
|
|
4
|
+
D --> A["Booking application"]
|
|
5
|
+
A --> DB["PostgreSQL"]
|
|
6
|
+
A --> P["Payment gateway"]
|
|
7
|
+
A --> N["Notification provider"]
|
|
8
|
+
A --> C["Calendar provider"]
|
|
9
|
+
P --> W["Verified webhook"]
|
|
10
|
+
W --> A
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg id="system-context" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 1398.796875px;" viewBox="0 0 1398.796875 389" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#system-context{font-family:Helvetica,"Liberation Sans",Arial,"Hiragino Kaku Gothic ProN","Noto Sans CJK JP","Microsoft YaHei","Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:16px;fill:#000000;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#system-context .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#system-context .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#system-context .error-icon{fill:#552222;}#system-context .error-text{fill:#552222;stroke:#552222;}#system-context .edge-thickness-normal{stroke-width:1px;}#system-context .edge-thickness-thick{stroke-width:3.5px;}#system-context .edge-pattern-solid{stroke-dasharray:0;}#system-context .edge-thickness-invisible{stroke-width:0;fill:none;}#system-context .edge-pattern-dashed{stroke-dasharray:3;}#system-context .edge-pattern-dotted{stroke-dasharray:2;}#system-context .marker{fill:#666;stroke:#666;}#system-context .marker.cross{stroke:#666;}#system-context svg{font-family:Helvetica,"Liberation Sans",Arial,"Hiragino Kaku Gothic ProN","Noto Sans CJK JP","Microsoft YaHei","Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:16px;}#system-context p{margin:0;}#system-context .label{font-family:Helvetica,"Liberation Sans",Arial,"Hiragino Kaku Gothic ProN","Noto Sans CJK JP","Microsoft YaHei","Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;color:#000000;}#system-context .cluster-label text{fill:#333;}#system-context .cluster-label span{color:#333;}#system-context .cluster-label span p{background-color:transparent;}#system-context .label text,#system-context span{fill:#000000;color:#000000;}#system-context .node rect,#system-context .node circle,#system-context .node ellipse,#system-context .node polygon,#system-context .node path{fill:#eee;stroke:#999;stroke-width:1px;}#system-context .rough-node .label text,#system-context .node .label text,#system-context .image-shape .label,#system-context .icon-shape .label{text-anchor:middle;}#system-context .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#system-context .rough-node .label,#system-context .node .label,#system-context .image-shape .label,#system-context .icon-shape .label{text-align:center;}#system-context .node.clickable{cursor:pointer;}#system-context .root .anchor path{fill:#666!important;stroke-width:0;stroke:#666;}#system-context .arrowheadPath{fill:#333333;}#system-context .edgePath .path{stroke:#666;stroke-width:2.0px;}#system-context .flowchart-link{stroke:#666;fill:none;}#system-context .edgeLabel{background-color:white;text-align:center;}#system-context .edgeLabel p{background-color:white;}#system-context .edgeLabel rect{opacity:0.5;background-color:white;fill:white;}#system-context .labelBkg{background-color:rgba(255, 255, 255, 0.5);}#system-context .cluster rect{fill:hsl(0, 0%, 98.9215686275%);stroke:#707070;stroke-width:1px;}#system-context .cluster text{fill:#333;}#system-context .cluster span{color:#333;}#system-context div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:Helvetica,"Liberation Sans",Arial,"Hiragino Kaku Gothic ProN","Noto Sans CJK JP","Microsoft YaHei","Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:12px;background:hsl(-160, 0%, 93.3333333333%);border:1px solid #707070;border-radius:2px;pointer-events:none;z-index:100;}#system-context .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#000000;}#system-context rect.text{fill:none;stroke-width:0;}#system-context .icon-shape,#system-context .image-shape{background-color:white;text-align:center;}#system-context .icon-shape p,#system-context .image-shape p{background-color:white;padding:2px;}#system-context .icon-shape rect,#system-context .image-shape rect{opacity:0.5;background-color:white;fill:white;}#system-context .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#system-context .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#system-context :root{--mermaid-font-family:Helvetica,"Liberation Sans",Arial,"Hiragino Kaku Gothic ProN","Noto Sans CJK JP","Microsoft YaHei","Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;}</style><g><marker id="system-context_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker><marker id="system-context_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></path></marker><marker id="system-context_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></circle></marker><marker id="system-context_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"></circle></marker><marker id="system-context_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"></path></marker><marker id="system-context_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"></path></marker><g class="root"><g class="clusters"></g><g class="edgePaths"><path d="M224.297,225.5L228.464,225.5C232.63,225.5,240.964,225.5,248.63,225.5C256.297,225.5,263.297,225.5,266.797,225.5L270.297,225.5" id="L_U_R_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_U_R_0" data-points="W3sieCI6MjI0LjI5Njg3NSwieSI6MjI1LjV9LHsieCI6MjQ5LjI5Njg3NSwieSI6MjI1LjV9LHsieCI6Mjc0LjI5Njg3NSwieSI6MjI1LjV9XQ==" marker-end="url(#system-context_flowchart-v2-pointEnd)"></path><path d="M408.219,225.5L412.385,225.5C416.552,225.5,424.885,225.5,432.552,225.5C440.219,225.5,447.219,225.5,450.719,225.5L454.219,225.5" id="L_R_D_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_R_D_0" data-points="W3sieCI6NDA4LjIxODc1LCJ5IjoyMjUuNX0seyJ4Ijo0MzMuMjE4NzUsInkiOjIyNS41fSx7IngiOjQ1OC4yMTg3NSwieSI6MjI1LjV9XQ==" marker-end="url(#system-context_flowchart-v2-pointEnd)"></path><path d="M657.07,225.5L661.237,225.5C665.404,225.5,673.737,225.5,681.404,225.5C689.07,225.5,696.07,225.5,699.57,225.5L703.07,225.5" id="L_D_A_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_D_A_0" data-points="W3sieCI6NjU3LjA3MDMxMjUsInkiOjIyNS41fSx7IngiOjY4Mi4wNzAzMTI1LCJ5IjoyMjUuNX0seyJ4Ijo3MDcuMDcwMzEyNSwieSI6MjI1LjV9XQ==" marker-end="url(#system-context_flowchart-v2-pointEnd)"></path><path d="M821.529,202L839.749,173.583C857.97,145.167,894.411,88.333,920.699,59.917C946.988,31.5,963.125,31.5,971.193,31.5L979.262,31.5" id="L_A_DB_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_DB_0" data-points="W3sieCI6ODIxLjUyODg3NDAzMzUwNTIsInkiOjIwMn0seyJ4Ijo5MzAuODUxNTYyNSwieSI6MzEuNX0seyJ4Ijo5ODMuMjYxNzE4NzUsInkiOjMxLjV9XQ==" marker-end="url(#system-context_flowchart-v2-pointEnd)"></path><path d="M836.597,202L852.306,189.75C868.015,177.5,899.433,153,919.883,140.75C940.333,128.5,949.815,128.5,954.556,128.5L959.297,128.5" id="L_A_P_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_P_0" data-points="W3sieCI6ODM2LjU5NjgxMDU2NzAxMDMsInkiOjIwMn0seyJ4Ijo5MzAuODUxNTYyNSwieSI6MTI4LjV9LHsieCI6OTYzLjI5Njg3NSwieSI6MTI4LjV9XQ==" marker-end="url(#system-context_flowchart-v2-pointEnd)"></path><path d="M905.852,225.5L910.018,225.5C914.185,225.5,922.518,225.5,930.185,225.5C937.852,225.5,944.852,225.5,948.352,225.5L951.852,225.5" id="L_A_N_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_N_0" data-points="W3sieCI6OTA1Ljg1MTU2MjUsInkiOjIyNS41fSx7IngiOjkzMC44NTE1NjI1LCJ5IjoyMjUuNX0seyJ4Ijo5NTUuODUxNTYyNSwieSI6MjI1LjV9XQ==" marker-end="url(#system-context_flowchart-v2-pointEnd)"></path><path d="M836.597,249L852.306,261.25C868.015,273.5,899.433,298,919.827,310.25C940.221,322.5,949.591,322.5,954.276,322.5L958.961,322.5" id="L_A_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_C_0" data-points="W3sieCI6ODM2LjU5NjgxMDU2NzAxMDMsInkiOjI0OX0seyJ4Ijo5MzAuODUxNTYyNSwieSI6MzIyLjV9LHsieCI6OTYyLjk2MDkzNzUsInkiOjMyMi41fV0=" marker-end="url(#system-context_flowchart-v2-pointEnd)"></path><path d="M1150.484,128.5L1155.892,128.5C1161.299,128.5,1172.115,128.5,1192.864,145.135C1213.613,161.77,1244.296,195.04,1259.637,211.675L1274.979,228.31" id="L_P_W_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_P_W_0" data-points="W3sieCI6MTE1MC40ODQzNzUsInkiOjEyOC41fSx7IngiOjExODIuOTI5Njg3NSwieSI6MTI4LjV9LHsieCI6MTI3Ny42OTA0OTM1MDI0NzUyLCJ5IjoyMzEuMjV9XQ==" marker-end="url(#system-context_flowchart-v2-pointEnd)"></path><path d="M1277.69,278.25L1261.897,295.375C1246.104,312.5,1214.517,346.75,1177.717,363.875C1140.917,381,1098.904,381,1056.891,381C1014.878,381,972.865,381,934.676,359.521C896.487,338.041,862.123,295.082,844.94,273.603L827.758,252.124" id="L_W_A_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_W_A_0" data-points="W3sieCI6MTI3Ny42OTA0OTM1MDI0NzUyLCJ5IjoyNzguMjV9LHsieCI6MTE4Mi45Mjk2ODc1LCJ5IjozODF9LHsieCI6MTA1Ni44OTA2MjUsInkiOjM4MX0seyJ4Ijo5MzAuODUxNTYyNSwieSI6MzgxfSx7IngiOjgyNS4yNTk1MjA2OTkzNTY5LCJ5IjoyNDl9XQ==" marker-end="url(#system-context_flowchart-v2-pointEnd)"></path></g><g class="edgeLabels"><g><rect class="background" style="stroke: none"></rect></g><g><rect class="background" style="stroke: none"></rect></g><g><rect class="background" style="stroke: none"></rect></g><g><rect class="background" style="stroke: none"></rect></g><g><rect class="background" style="stroke: none"></rect></g><g><rect class="background" style="stroke: none"></rect></g><g><rect class="background" style="stroke: none"></rect></g><g><rect class="background" style="stroke: none"></rect></g><g><rect class="background" style="stroke: none"></rect></g><g class="edgeLabel"><g class="label" data-id="L_U_R_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g><g class="edgeLabel"><g class="label" data-id="L_R_D_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g><g class="edgeLabel"><g class="label" data-id="L_D_A_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g><g class="edgeLabel"><g class="label" data-id="L_A_DB_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g><g class="edgeLabel"><g class="label" data-id="L_A_P_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g><g class="edgeLabel"><g class="label" data-id="L_A_N_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g><g class="edgeLabel"><g class="label" data-id="L_A_C_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g><g class="edgeLabel"><g class="label" data-id="L_P_W_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g><g class="edgeLabel"><g class="label" data-id="L_W_A_0" transform="translate(0, 0)"><text y="-10.1"><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"></tspan></text></g></g></g><g class="nodes"><g class="node default" id="flowchart-U-0" transform="translate(116.1484375, 225.5)"><rect class="basic label-container" style="" x="-108.1484375" y="-23.5" width="216.296875" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Customer</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> or</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> manager</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-R-1" transform="translate(341.2578125, 225.5)"><rect class="basic label-container" style="" x="-66.9609375" y="-23.5" width="133.921875" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Host</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> route</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-D-3" transform="translate(557.64453125, 225.5)"><rect class="basic label-container" style="" x="-99.42578125" y="-23.5" width="198.8515625" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Booking</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> workspace</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-A-5" transform="translate(806.4609375, 225.5)"><rect class="basic label-container" style="" x="-99.390625" y="-23.5" width="198.78125" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Booking</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> application</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-DB-7" transform="translate(1056.890625, 31.5)"><rect class="basic label-container" style="" x="-73.62890625" y="-23.5" width="147.2578125" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">PostgreSQL</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-P-9" transform="translate(1056.890625, 128.5)"><rect class="basic label-container" style="" x="-93.59375" y="-23.5" width="187.1875" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Payment</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> gateway</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-N-11" transform="translate(1056.890625, 225.5)"><rect class="basic label-container" style="" x="-101.0390625" y="-23.5" width="202.078125" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Notification</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> provider</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-C-13" transform="translate(1056.890625, 322.5)"><rect class="basic label-container" style="" x="-93.9296875" y="-23.5" width="187.859375" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Calendar</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> provider</tspan></tspan></text></g></g></g><g class="node default" id="flowchart-W-15" transform="translate(1299.36328125, 254.75)"><rect class="basic label-container" style="" x="-91.43359375" y="-23.5" width="182.8671875" height="47"></rect><g class="label" style="" transform="translate(0, -8.5)"><rect></rect><g><rect class="background" style="stroke: none"></rect><text y="-10.1" style=""><tspan class="text-outer-tspan" x="0" y="-0.1em" dy="1.1em"><tspan font-style="normal" class="text-inner-tspan" font-weight="normal">Verified</tspan><tspan font-style="normal" class="text-inner-tspan" font-weight="normal"> webhook</tspan></tspan></text></g></g></g></g></g></g></svg>
|
|
@@ -103,3 +103,15 @@ maggie blog integration-state --configured --authorized # ready
|
|
|
103
103
|
|
|
104
104
|
Provider adapters should preserve the same `not-configured`,
|
|
105
105
|
`awaiting-consent`, `awaiting-authorization`, `ready`, and `error` semantics.
|
|
106
|
+
|
|
107
|
+
Content evidence should also capture the Git source revision before an agent
|
|
108
|
+
writes or publishes a post:
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
maggie provenance --project . --source src/content/post.md \
|
|
112
|
+
--output .maggie/content-provenance.json
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
The report records commit, branch, dirty state, and authoring boundary. Host
|
|
116
|
+
write paths should reject stale writes unless the source revision still
|
|
117
|
+
matches; private paths and secrets are never included.
|
|
@@ -94,9 +94,48 @@ response fields. It does not accept a static source scan as runtime evidence.
|
|
|
94
94
|
`--non-interactive --answers-file FILE --confirm`; it exits with a concise
|
|
95
95
|
remediation message instead of emitting an EOF traceback.
|
|
96
96
|
|
|
97
|
+
### Host capability and site structure contracts
|
|
98
|
+
|
|
99
|
+
Do not assume every MaggieDash host implements every panel endpoint. Publish a
|
|
100
|
+
capability manifest and provider-neutral site structure model, then validate
|
|
101
|
+
rendered evidence before deployment:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
maggie dash capabilities-validate --manifest .maggie/host-capabilities.json
|
|
105
|
+
maggie dash structure-validate --model .maggie/site-structure.json \
|
|
106
|
+
--evidence .maggie/site-structure-rendered.json
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
The dashboard can show a working panel or an explicit unsupported state. The
|
|
110
|
+
structure model covers menus, templates, pages, and bands; the deploy check
|
|
111
|
+
fails on route, source, template, or band identity drift.
|
|
112
|
+
|
|
97
113
|
## Completion gate
|
|
98
114
|
|
|
99
115
|
The project must have a passing foundation state, a real public route graph,
|
|
100
116
|
published-only sitemap/canonical metadata, responsive UI evidence, an explicit
|
|
101
117
|
Ops decision, and a documented rollback/deployment plan. A rendered button or
|
|
102
118
|
mock editor is not evidence that a backend operation works.
|
|
119
|
+
|
|
120
|
+
### Authenticated browser QA and CDN safety
|
|
121
|
+
|
|
122
|
+
Authenticated browser evidence must use a host-owned short-lived session
|
|
123
|
+
contract. The host mints and revokes the session, passwords never enter the
|
|
124
|
+
browser harness, TTL is bounded, and the token is never written to Maggie
|
|
125
|
+
artifacts. Validate the contract with:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
maggie dash session-check --manifest .maggie/browser-session.json
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Public HTML must be identical across sessions so a CDN cannot cache an
|
|
132
|
+
administrator control for anonymous visitors. Keep the real session cookie
|
|
133
|
+
`httpOnly`; use a non-authoritative readable hint cookie only to decide whether
|
|
134
|
+
the browser should request identity client-side. Validate evidence with:
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
maggie dash cache-boundary-check --evidence .maggie/public-session-cache.json
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
If a host cannot provide these routes, record the browser session feature as
|
|
141
|
+
deferred rather than inserting a database session from a shared CLI.
|