1Basis & shared assumptions
How the ranges are sized
- Sized from the audit's measured divergence: the 27-module drift table, 53 composer version skews, the DI/plugin surface, the Magestore estate and the integration map
- Confidence per line uses the audit's complexity scale — wider bands where the evidence is thinner
- Engineering QA included per line; add 15–20% PM / tech-lead overhead to route totals
- Estimate class: ROM ±40% in developer-days (1 day = 8 hours); costs = days × blended day rate
Assumptions common to all routes
- Shared basket scope is within territory only
- The Daylesford delivery-matrix rebuild is separately funded and delivered multi-brand-aware (if not: add 15–25 days to Route 3 Phase 1)
- Excluded, as per the audit scope: ERP/warehouse process redesign, target-state ERP builds, content production, other-territory instances
What firms these up: environment/config access (config parity, catalogue overlap, data
volumes), the Adobe health checks, and client decisions on the audit's decision register — especially Magestore,
subscriptions and content tooling.
2Route 1 — Keep both instances; shared stock purchasable directly on each store
A curated set of each brand's products becomes purchasable directly on the other site — the customer
shops cross-brand in one basket, one checkout, on whichever store they are on. Stock truth stays with the
owning brand, so sync and oversell protection are the heart of the build. No dependency on the March '27 renewal.
| Workstream | Evidence base | Days (low–high) | Confidence |
| Cross-brand navigation & merchandising — header/footer links, content slots, cross-brand campaigns |
Both sites already run content-slot tooling (Tryzens PLP slots, Magezon, Develo widgets) |
5–8 | High |
| Cross-brand product listing — push a curated product set from each brand onto the other site, incl. scheduled stock sync and low-stock buffers to prevent overselling |
Xtento ProductExport + StockImport already installed on both sites; Zoe's notes anticipate limits on transferable SKUs |
10–16 | Medium |
| Cross-listed order routing & fulfilment handoff — order captured on one instance, fulfilled by the owning brand |
Existing Xtento OrderExport / ShipStation flows to extend |
5–8 | Medium |
| Cross-brand analytics & attribution — GTM cross-domain, journey tracking |
Yireo GTM2 aligned on both sites |
3–5 | Medium |
| Optional: shared sign-on across the two instances (single customer identity) |
Two separate customer databases; no SSO today |
15–30 | Low–Medium |
Route 1 total: ~23–37 days core · ~38–67 days with shared sign-on · plus PM overhead
Stock integrity is the critical risk. The selling site holds a copy of stock it does not
own, so overselling is prevented by design, not luck: near-real-time stock sync on the existing Xtento toolkit,
low-stock buffer thresholds that pull items off sale before the last units go, and a curated, deliberately
limited SKU set — fast-moving ambient lines, never fresh/date-based delivery items. Two non-technical questions
need answering before build: merchant of record and inter-company accounting for cross-listed sales (the legal
entities stay separate), and how returns of the other brand's product are handled.
3Route 2 — Keep both instances; carry the basket between stores (CartTransfer)
Both websites stay exactly as they are. When a customer moves from one site to the other, their
basket follows them as a summary — a representation of what they've added on the other brand, shown so they
don't lose track of it. The products themselves don't exist on the store they've moved to (each site only sells its
own brand's range), so nothing is added to the new site's basket. To place the order, the customer finishes
checkout on the brand site where they added those items — one checkout per brand, with clear prompts guiding
them back. Builds on the Develo_CartTransfer module already live on both sites; the
smallest build of the three routes, and nearly all of the work still applies if the sites are later merged.
| Workstream | Evidence base | Days (low–high) | Confidence |
| Cross-brand navigation & merchandising — header/footer links, content slots, cross-brand campaigns |
Both sites already run content-slot tooling (Tryzens PLP slots, Magezon, Develo widgets) |
5–8 | High |
| CartTransfer v2 — carry a summary of the customer's basket across the two sites, display it clearly, and prompt them back to the right brand's checkout to finish that order |
Develo_CartTransfer v1.2 live on both sites; gaps known and small |
8–12 | High |
| Cross-brand analytics & attribution — GTM cross-domain, journey tracking |
Yireo GTM2 aligned on both sites |
3–5 | Medium |
| Optional: shared sign-on across the two instances (single customer identity) |
Two separate customer databases; no SSO today |
15–30 | Low–Medium |
Route 2 total: ~16–25 days core · ~31–55 days with shared sign-on · plus PM overhead. Routes 1 & 2 share three workstreams, built once if both ship: combined core ~31–50 days
4Route 3 — Consolidate onto one instance, phased
Phase 1 consolidates with baskets still scoped per website; Phase 2 adds the shared basket on the
combined instance. Natural landing for Phase 1: the March '27 Magento renewal. The audit strengthened this route —
same version, cloud, frontend generation, checkout framework and core vendors.
Phase 1 — Consolidation only
| Workstream | Evidence base | Days (low–high) | Confidence |
| Target architecture & Website/Store topology design, incl. config-parity exercise |
The Website-vs-Store cart-scoping decision; needs environment access |
10–15 | Medium |
| Dependency alignment — Symfony 6.4→7.4, Adyen lib v20→v27, 53 version skews, patch-set merge, Redis/RabbitMQ |
Measured in the audit's composer & platform sections |
8–12 | High |
| Shared-module reconciliation — 27 drifted modules → single packages (Xtento via upgrade; Develo forks by hand) |
Drift measured per module in the audit |
15–25 | High |
| Magestore estate retirement/isolation (assumes retire, per decision register) |
82 registry modules, 15 already disabled, POS suite parked |
10–20 | Low–Medium |
| Functional gap decisions build-out — feeds, blog vs builder, reviews, fraud, subscriptions alignment onto SARP |
Decision register directions |
20–35 | Medium |
| Integration rewiring per website — Xtento profiles, ShipStation, Streetwise, Klevu/Klaviyo/GTM |
Audit integration map |
12–20 | Medium |
| Data migration — one brand's catalogue, customers, order history into the combined instance + URL/SEO migration |
Biggest unknown — needs data volumes & catalogue overlap |
25–40 | Low |
| Multi-website build & environment config — websites/stores/store-views, domains, Fastly, cloud sizing |
Both already Adobe Commerce Cloud |
8–12 | High |
| Regression QA, UAT, cutover rehearsals + cutover |
Full-platform regression across both brands |
25–40 | Medium |
Phase 1 total: ~133–219 days · plus PM overhead
Phase 2 — Shared basket (within territory, on the consolidated instance)
| Workstream | Evidence base | Days (low–high) | Confidence |
| Topology decision implementation & customer/session model |
Same-Website-separate-Stores vs separate Websites |
5–8 | Medium |
| Cross-brand basket & checkout UX (Hyvä/Magewire) |
Single Hyvä Checkout stack post-consolidation |
15–25 | Medium |
| Mixed-fulfilment checkout — fresh date-based + flat-rate + subscription items in one basket |
The audit's Very High item — multi-shipment consignment UX |
25–40 | Low |
| Promotions, gift cards & loyalty across brands |
Givex/Adyen gift cards (D), SARP/Club (B) coexistence rules |
10–18 | Medium |
| Per-brand order attribution & reporting on shared baskets |
Legal entities stay separate; mapping logic |
8–12 | Medium |
| E2E QA across brand permutations |
Basket permutation matrix |
12–20 | Medium |
Phase 2 total: ~75–123 days · plus PM overhead
Route 3 total (both phases): ~208–342 days, sequenced across FY 26/27–27/28 with Phase 1 anchored to the March '27 renewal
5Reading the numbers side by side
| Route 1 — shared stock on each store | Route 2 — basket transfer | Route 3 — consolidate (P1+P2) |
| Ballpark | 23–37 days (38–67 w/ SSO) | 16–25 days (31–55 w/ SSO) | 208–342 days |
| Delivers the actual ask (one basket) | Partially — cross-brand items in one checkout, curated range only | No — a basket summary travels with the customer; each order completes on its own brand's checkout | Yes |
| Ongoing overhead added | Stock-sync operation to run & monitor | Minimal | Reduced — one platform, not two |
| Throwaway on later consolidation | Sync & order-routing plumbing | Transfer plumbing only | None |
| Timing constraint | None | None | Phase 1 ↔ March '27 renewal |
Routes 1 and 2 are not mutually exclusive — the shared workstreams
(navigation, merchandising, analytics, optional sign-on) are built once, so the two can ship separately or together
as the interim play while Route 3 Phase 1 is planned. Neither delivers a true single basket across the brands;
Route 3 remains the only route that does. The strategic comparison to make is "interim cross-brand experience
now (Routes 1/2) + Route 3 phased".