atlasAtlas

Grüner Punkt · verpackgo-m2

The calculators, mapped.Die Rechner, kartiert.

An architecture atlas of the Grüner Punkt licensing shop: 1 shop, 2 websites, 6 calculator surfaces, 4 material code families. 6 diagrams and 1 glossary. Ein Architektur-Atlas des Grüner-Punkt-Lizenzshops: 1 Shop, 2 Websites, 6 Rechner-Oberflächen, 4 Materialcode-Familien. 6 Diagramme und 1 Glossar.

Cmd+P exports this page as a PDF.Cmd+P exportiert die Seite als PDF.

01 · LandscapeLandkarte

1 domain, 2 websites, 1 hidden.1 Domain, 2 Websites, 1 davon versteckt.

1 Adobe Commerce Cloud project, 1 domain. base (id 1) is the public shop. digidot (id 2) is hidden: the Fastly corridor 302s every non-checkout path to /de/, robots say NOINDEX, the public sitemaps exclude it. The QA VPN bypasses the corridor. 1 Adobe-Commerce-Cloud-Projekt, 1 Domain. base (ID 1) ist der öffentliche Shop. digidot (ID 2) ist versteckt: Der Fastly-Korridor leitet jeden Nicht-Checkout-Pfad per 302 auf /de/, robots stehen auf NOINDEX, die öffentlichen Sitemaps lassen ihn aus. Das QA-VPN umgeht den Korridor.

ARCHITECTURE MAPARCHITEKTUR-KARTE entryEinstieg calculatorRechner channelKanal contentInhalt checkoutCheckout shared enginegemeinsamer Kern externalextern gate / retiringSperre / läuft aus planned / legacygeplant / alt
PNG
%%{init: {'flowchart': {'nodeSpacing': 24, 'rankSpacing': 42, 'curve': 'basis', 'htmlLabels': true, 'padding': 6}}}%%
flowchart LR
  subgraph gbase["<span class='dg-g'><svg viewBox='0 0 24 24'><use href='#lc-store'/></svg>BASE (1) · MAIN SHOP</span>"]
    home["<span class='dg dg-content'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-panels-top-left'/></svg></span><span class='dg-b'><span class='dg-cat'>CMS</span><span class='dg-t'>Homepage tiles</span><span class='dg-m'><span class='dg-chip'>plus footer links</span></span></span></span>"]
    selector["<span class='dg dg-entry'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-mouse-pointer-click'/></svg></span><span class='dg-b'><span class='dg-cat'>ENTRY</span><span class='dg-t'>Selector</span><span class='dg-m'><span class='dg-chip'>/<wbr>license/<wbr>configurator/<wbr>choose</span></span></span></span>"]
    confdisp["<span class='dg dg-calculator'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-sliders-horizontal'/></svg></span><span class='dg-b'><span class='dg-cat'>CALCULATOR</span><span class='dg-t'>License Configurator</span><span class='dg-m'><span class='dg-chip'>/<wbr>license/<wbr>configurator/<wbr>display</span></span></span></span>"]
    brand["<span class='dg dg-channel'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-shopping-bag'/></svg></span><span class='dg-b'><span class='dg-cat'>CHANNEL</span><span class='dg-t'>DigiDot Markenshop</span><span class='dg-m'><span class='dg-chip'>?type=digidot</span></span></span></span>"]
    bviews["<span class='dg dg-meta'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-globe'/></svg></span><span class='dg-b'><span class='dg-cat'>STORE VIEWS</span><span class='dg-t'>de · en · zh · fr</span><span class='dg-m'><span class='dg-chip'>ids 1–4</span><span class='dg-chip'>INDEX,FOLLOW</span></span></span></span>"]
  end
  subgraph gdigi["<span class='dg-g'><svg viewBox='0 0 24 24'><use href='#lc-lock-keyhole'/></svg>DIGIDOT (2) · HIDDEN SHOP</span>"]
    deeplink["<span class='dg dg-checkout'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-link-2'/></svg></span><span class='dg-b'><span class='dg-cat'>DEEPLINK</span><span class='dg-t'>/<wbr>digidot-checkout</span><span class='dg-m'><span class='dg-chip'>clears cart</span><span class='dg-chip'>adds digidot.code</span></span></span></span>"]
    dviews["<span class='dg dg-meta'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-globe'/></svg></span><span class='dg-b'><span class='dg-cat'>STORE VIEWS</span><span class='dg-t'>digidot_<wbr>de … digidot_<wbr>fr</span><span class='dg-m'><span class='dg-chip'>ids 11,14,17,20</span><span class='dg-chip'>NOINDEX,NOFOLLOW</span></span></span></span>"]
  end
  visitor["<span class='dg dg-visitor'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-user-round'/></svg></span><span class='dg-b'><span class='dg-cat'>VISITOR</span><span class='dg-t'>Public visitor</span><span class='dg-m'><span class='dg-chip'>www.verpackgo.com</span></span></span></span>"]
  foreign["<span class='dg dg-visitor'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-factory'/></svg></span><span class='dg-b'><span class='dg-cat'>VISITOR</span><span class='dg-t'>Foreign manufacturer</span><span class='dg-m'><span class='dg-chip'>direct link only</span></span></span></span>"]
  qa["<span class='dg dg-external'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-shield-check'/></svg></span><span class='dg-b'><span class='dg-cat'>QA</span><span class='dg-t'>Y1 QA</span><span class='dg-m'><span class='dg-chip'>VPN 18.159.42.168</span></span></span></span>"]
  corridor["<span class='dg dg-warning'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-route'/></svg></span><span class='dg-b'><span class='dg-cat'>FASTLY</span><span class='dg-t'>Access corridor</span><span class='dg-m'><span class='dg-chip'>non-checkout /<wbr>digidot_<wbr>*</span><span class='dg-chip'>302 /<wbr>de/<wbr></span></span></span></span>"]
  engine["<span class='dg dg-shared'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-cog'/></svg></span><span class='dg-b'><span class='dg-cat'>SHARED</span><span class='dg-t'>Configurator engine</span><span class='dg-m'><span class='dg-chip'>price lists</span><span class='dg-chip'>min order value</span></span></span></span>"]
  co["<span class='dg dg-checkout'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-shopping-cart'/></svg></span><span class='dg-b'><span class='dg-cat'>CHECKOUT</span><span class='dg-t'>Checkout, 2 steps</span><span class='dg-m'><span class='dg-chip'>Payone</span><span class='dg-chip'>SEPA</span></span></span></span>"]
  soap["<span class='dg dg-external'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-user-check'/></svg></span><span class='dg-b'><span class='dg-cat'>SOAP</span><span class='dg-t'>Existing-customer check</span><span class='dg-m'><span class='dg-chip'>esb0.gruener-punkt.de</span><span class='dg-chip'>WPVKundenpruefung</span></span></span></span>"]
  maps["<span class='dg dg-content'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-map'/></svg></span><span class='dg-b'><span class='dg-cat'>SITEMAP</span><span class='dg-t'>Public sitemaps</span><span class='dg-m'><span class='dg-chip'>base views only</span></span></span></span>"]

  visitor --> home
  home --> selector
  selector --> confdisp
  visitor --- brand
  foreign --> corridor
  corridor --> deeplink
  qa -.- deeplink
  confdisp --> engine
  brand --- engine
  engine --> co
  deeplink --> co
  soap -.-|"blocks duplicates"| co
  maps -.- bviews

  linkStyle default stroke:#27302F61,stroke-width:1.1px;
  linkStyle 0 stroke:#27302F9E,stroke-width:1.6px;
  linkStyle 1 stroke:#27302F9E,stroke-width:1.6px;
  linkStyle 2 stroke:#27302F9E,stroke-width:1.6px;
  linkStyle 4 stroke:#27302F9E,stroke-width:1.6px;
  linkStyle 5 stroke:#27302F9E,stroke-width:1.6px;
  linkStyle 7 stroke:#27302F9E,stroke-width:1.6px;
  linkStyle 9 stroke:#27302F9E,stroke-width:1.6px;
  linkStyle 10 stroke:#27302F9E,stroke-width:1.6px;

  classDef card fill:none,stroke:none;
  class visitor,foreign,qa,corridor,bviews,home,selector,confdisp,brand,dviews,deeplink,engine,co,soap,maps card;
  
The two websites, their gates, and the shared engine.
PNG
%%{init: {'flowchart': {'nodeSpacing': 24, 'rankSpacing': 42, 'curve': 'basis', 'htmlLabels': true, 'padding': 6}}}%%
flowchart LR
  subgraph gbase["<span class='dg-g'><svg viewBox='0 0 24 24'><use href='#lc-store'/></svg>BASE (1) · HAUPTSHOP</span>"]
    home["<span class='dg dg-content'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-panels-top-left'/></svg></span><span class='dg-b'><span class='dg-cat'>CMS</span><span class='dg-t'>Startseiten-Kacheln</span><span class='dg-m'><span class='dg-chip'>plus Footer-Links</span></span></span></span>"]
    selector["<span class='dg dg-entry'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-mouse-pointer-click'/></svg></span><span class='dg-b'><span class='dg-cat'>EINSTIEG</span><span class='dg-t'>Selector</span><span class='dg-m'><span class='dg-chip'>/<wbr>license/<wbr>configurator/<wbr>choose</span></span></span></span>"]
    confdisp["<span class='dg dg-calculator'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-sliders-horizontal'/></svg></span><span class='dg-b'><span class='dg-cat'>RECHNER</span><span class='dg-t'>Lizenzkonfigurator</span><span class='dg-m'><span class='dg-chip'>/<wbr>license/<wbr>configurator/<wbr>display</span></span></span></span>"]
    brand["<span class='dg dg-channel'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-shopping-bag'/></svg></span><span class='dg-b'><span class='dg-cat'>KANAL</span><span class='dg-t'>DigiDot-Markenshop</span><span class='dg-m'><span class='dg-chip'>?type=digidot</span></span></span></span>"]
    bviews["<span class='dg dg-meta'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-globe'/></svg></span><span class='dg-b'><span class='dg-cat'>STORE VIEWS</span><span class='dg-t'>de · en · zh · fr</span><span class='dg-m'><span class='dg-chip'>IDs 1–4</span><span class='dg-chip'>INDEX,FOLLOW</span></span></span></span>"]
  end
  subgraph gdigi["<span class='dg-g'><svg viewBox='0 0 24 24'><use href='#lc-lock-keyhole'/></svg>DIGIDOT (2) · VERSTECKTER SHOP</span>"]
    deeplink["<span class='dg dg-checkout'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-link-2'/></svg></span><span class='dg-b'><span class='dg-cat'>DEEPLINK</span><span class='dg-t'>/<wbr>digidot-checkout</span><span class='dg-m'><span class='dg-chip'>leert Warenkorb</span><span class='dg-chip'>digidot.code</span></span></span></span>"]
    dviews["<span class='dg dg-meta'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-globe'/></svg></span><span class='dg-b'><span class='dg-cat'>STORE VIEWS</span><span class='dg-t'>digidot_<wbr>de … digidot_<wbr>fr</span><span class='dg-m'><span class='dg-chip'>IDs 11,14,17,20</span><span class='dg-chip'>NOINDEX,NOFOLLOW</span></span></span></span>"]
  end
  visitor["<span class='dg dg-visitor'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-user-round'/></svg></span><span class='dg-b'><span class='dg-cat'>BESUCHER</span><span class='dg-t'>Öffentlicher Besucher</span><span class='dg-m'><span class='dg-chip'>www.verpackgo.com</span></span></span></span>"]
  foreign["<span class='dg dg-visitor'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-factory'/></svg></span><span class='dg-b'><span class='dg-cat'>BESUCHER</span><span class='dg-t'>Ausländischer Hersteller</span><span class='dg-m'><span class='dg-chip'>nur Direktlink</span></span></span></span>"]
  qa["<span class='dg dg-external'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-shield-check'/></svg></span><span class='dg-b'><span class='dg-cat'>QA</span><span class='dg-t'>Y1 QA</span><span class='dg-m'><span class='dg-chip'>VPN 18.159.42.168</span></span></span></span>"]
  corridor["<span class='dg dg-warning'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-route'/></svg></span><span class='dg-b'><span class='dg-cat'>FASTLY</span><span class='dg-t'>Zugangskorridor</span><span class='dg-m'><span class='dg-chip'>alles außer Checkout</span><span class='dg-chip'>302 /<wbr>de/<wbr></span></span></span></span>"]
  engine["<span class='dg dg-shared'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-cog'/></svg></span><span class='dg-b'><span class='dg-cat'>GEMEINSAM</span><span class='dg-t'>Konfigurator-Kern</span><span class='dg-m'><span class='dg-chip'>Preislisten</span><span class='dg-chip'>Mindestbestellwert</span></span></span></span>"]
  co["<span class='dg dg-checkout'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-shopping-cart'/></svg></span><span class='dg-b'><span class='dg-cat'>CHECKOUT</span><span class='dg-t'>Checkout, 2 Schritte</span><span class='dg-m'><span class='dg-chip'>Payone</span><span class='dg-chip'>SEPA</span></span></span></span>"]
  soap["<span class='dg dg-external'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-user-check'/></svg></span><span class='dg-b'><span class='dg-cat'>SOAP</span><span class='dg-t'>Bestandskundenprüfung</span><span class='dg-m'><span class='dg-chip'>esb0.gruener-punkt.de</span><span class='dg-chip'>WPVKundenpruefung</span></span></span></span>"]
  maps["<span class='dg dg-content'><span class='dg-ic'><svg viewBox='0 0 24 24'><use href='#lc-map'/></svg></span><span class='dg-b'><span class='dg-cat'>SITEMAP</span><span class='dg-t'>Öffentliche Sitemaps</span><span class='dg-m'><span class='dg-chip'>nur base-Views</span></span></span></span>"]

  visitor --> home
  home --> selector
  selector --> confdisp
  visitor --- brand
  foreign --> corridor
  corridor --> deeplink
  qa -.- deeplink
  confdisp --> engine
  brand --- engine
  engine --> co
  deeplink --> co
  soap -.-|"blockt Dubletten"| co
  maps -.- bviews

  linkStyle default stroke:#27302F61,stroke-width:1.1px;
  linkStyle 0 stroke:#27302F9E,stroke-width:1.6px;
  linkStyle 1 stroke:#27302F9E,stroke-width:1.6px;
  linkStyle 2 stroke:#27302F9E,stroke-width:1.6px;
  linkStyle 4 stroke:#27302F9E,stroke-width:1.6px;
  linkStyle 5 stroke:#27302F9E,stroke-width:1.6px;
  linkStyle 7 stroke:#27302F9E,stroke-width:1.6px;
  linkStyle 9 stroke:#27302F9E,stroke-width:1.6px;
  linkStyle 10 stroke:#27302F9E,stroke-width:1.6px;

  classDef card fill:none,stroke:none;
  class visitor,foreign,qa,corridor,bviews,home,selector,confdisp,brand,dviews,deeplink,engine,co,soap,maps card;
  
Die zwei Websites, ihre Sperren und der gemeinsame Kern.
Website Store groupStore-Gruppe Store views ReachableErreichbar
base (1) · Main Website main_website_store (1) de(1) · en(2) · zh(3) · fr(4) public, indexedöffentlich, indexiert
digidot (2) · DigiDot digidot_store (2) digidot_de(11) · digidot_en(14) · digidot_zh(17) · digidot_fr(20) direct link only, checkout corridornur Direktlink, Checkout-Korridor

Store codes are de / en / zh / fr; locales de_DE, en_US, zh_Hans_CN, fr_FR. Source: app/etc/config.php.Store-Codes de / en / zh / fr; Locales de_DE, en_US, zh_Hans_CN, fr_FR. Quelle: app/etc/config.php.

02 · Calculator familyRechner-Familie

6 surfaces, 1 engine.6 Oberflächen, 1 Kern.

4 license types share 1 configurator route and differ by material family: B system participation, T transport, X commercial, M DigiDot. The BVM flow and the hidden-shop deeplink sit beside them. 4 Lizenztypen teilen sich 1 Konfigurator-Route und unterscheiden sich in der Materialfamilie: B Systembeteiligung, T Transport, X Gewerbe, M DigiDot. Daneben stehen der BVM-Fluss und der Deeplink des versteckten Shops.

LIVE CALCULATORS
CALCULATORSystem participationB1–B8license.defaultCALCULATORDigiDotM1–M84 steps?type=digidotCALCULATORAuthorization, BVMSKU authorizationPayone bvm

The selector routes to system participation, TVP, and GEW. Abroad routes to BVM.

RETIRING 12.08.2026
CALCULATORTransport, TVPT1–T10until 11.08.2026CALCULATORCommercial, GEWX1–X14until 11.08.2026

Old URLs redirect to the TVGE selector from the cutover date.

PLANNED
PLANNEDTVGETG1–TG22from 12.08.2026

Follows the same build pattern as the DigiDot launch.

ENTRY AND SIDE FLOWS
ENTRYSelector/license/configurator/chooseDEEPLINKHidden shop/digidot-checkoutdigidot.codeLEGACYLizenzrechner/license-calculatorstill routableSHORTLINKSShortlinksnew module + legacy hashFORMPPWR advice/ppwrnot a calculator

The legacy Lizenzrechner feeds the Calculation Aid into system participation.

All calculator entry points with their routes, material codes, and bundle SKUs.
LIVE-RECHNER
RECHNERSystembeteiligungB1–B8license.defaultRECHNERDigiDotM1–M84 Schritte?type=digidotRECHNERBevollmächtigung, BVMSKU authorizationPayone bvm

Der Selector führt zu Systembeteiligung, TVP und GEW. Ausland führt zu BVM.

LAUFEN AUS 12.08.2026
RECHNERTransport, TVPT1–T10bis 11.08.2026RECHNERGewerbe, GEWX1–X14bis 11.08.2026

Alte URLs leiten ab Stichtag auf den TVGE-Selector um.

GEPLANT
GEPLANTTVGETG1–TG22ab 12.08.2026

Folgt demselben Bauplan wie der DigiDot-Launch.

EINSTIEG UND NEBENWEGE
EINSTIEGSelector/license/configurator/chooseDEEPLINKVersteckter Shop/digidot-checkoutdigidot.codeALTLizenzrechner/license-calculatornoch erreichbarSHORTLINKSShortlinksneues Modul + alter HashFORMULARPPWR-Beratung/ppwrkein Rechner

Der alte Lizenzrechner speist die Verwiegungshilfe in die Systembeteiligung ein.

Alle Rechner-Einstiege mit Routen, Materialcodes und Bundle-SKUs.

03 · End-to-end flowAblauf Ende-zu-Ende

From the first click to the order.Vom ersten Klick bis zur Bestellung.

3 steps for standard types, 4 for DigiDot. Every change fires a debounced price call. Add-to-cart writes the kg amount as the bundle option quantity. The price is recalculated on every totals collection, never stored on the product. 3 Schritte bei Standardtypen, 4 bei DigiDot. Jede Änderung löst einen entprellten Preis-Call aus. Add-to-Cart schreibt die kg-Menge als Bundle-Options-Menge. Der Preis wird bei jeder Totals-Berechnung neu ermittelt und liegt nie am Produkt.

1
ENTRYSelector/license/configurator/choose
2
CALCULATORConfiguratordisplay?type=…location=…KO component
DIGIDOT ONLYStep 0: locationhome / abroad
3
STEP 1Contract startpast year shows a notice
4
STEP 2Materials and kgB/T/X/MCalculation Aid
SERVICEPriceCalculationServicePOST /license/info/pricedebounced 1s
5
STEP 3Contract typeincluded servicesTrademarkUse G/T
6
SUMMARYLive total and coupon
7
CARTAdd to cartPOST /license/cart/addkg = bundle qty
8
QUOTEcustom_final_pricesales_quote_collect_totals_before
9
CHECKOUT 1StammdatencompanyVAT-ID or tax number
SOAPDuplicate checkblocks existing customers
10
CHECKOUT 2Review and paymentPayoneSEPAoffer per year
11
ORDEROrder and emaildefaultBVMDigiDot
Steps, live pricing, cart transformation, checkout, and the SOAP duplicate check.
1
EINSTIEGSelector/license/configurator/choose
2
RECHNERKonfiguratordisplay?type=…location=…KO-Komponente
NUR DIGIDOTSchritt 0: BetriebsstätteInland / Ausland
3
SCHRITT 1VertragsbeginnVorjahr zeigt Hinweis
4
SCHRITT 2Material und MengeB/T/X/MVerwiegungshilfe
SERVICEPriceCalculationServicePOST /license/info/price1 s entprellt
5
SCHRITT 3VertragsartLeistungenMarkennutzung G/T
6
ZUSAMMENFASSUNGLive-Summe und Gutschein
7
WARENKORBIn den WarenkorbPOST /license/cart/addkg = Bundle-Menge
8
QUOTEcustom_final_pricesales_quote_collect_totals_before
9
CHECKOUT 1StammdatenFirmaUSt-ID oder Steuernummer
SOAPDublettenprüfungblockt Bestandskunden
10
CHECKOUT 2Review und ZahlungPayoneSEPAAngebot pro Jahr
11
BESTELLUNGBestellung und E-MailStandardBVMDigiDot
Schritte, Live-Preis, Warenkorb-Transformation, Checkout und die SOAP-Dublettenprüfung.

04 · DigiDot

1 product, 2 shops.1 Produkt, 2 Shops.

Markenshop: DigiDot as a license type on the base website. Hidden shop: the digidot website, reachable by direct link through the Fastly corridor. Both end in the same DigiDot checkout: 36 € minimum at order, then billed yearly by GTIN usage via Digi Cycle. Markenshop: DigiDot als Lizenztyp auf der base-Website. Versteckter Shop: die digidot-Website, erreichbar per Direktlink durch den Fastly-Korridor. Beide enden im selben DigiDot-Checkout: min. 36 € bei Bestellung, danach jährlich nach GTIN-Nutzung über Digi Cycle abgerechnet.

MARKENSHOP · BASE
ENTRY/digidotCMS page, links ?type=digidotCONFIGURATOR4 stepslocationyearM1–M8 kgcontractPRODUCTlicense.digidotcontract code DDMAVT
HIDDEN SHOP · DIGIDOT
FASTLYCorridorcheckout paths only302 /de/ENTRY/digidot-checkoutclears the cartPRODUCTdigidot.codeGTIN price text
RULEBuy alonenever mixed with other linesCHECKOUTWebsite handle digidotscoped layoutcustom summaryBILLINGOrder total 36 € minimumusage billed yearly via Digi Cycleto 100 GTINs 30 €/yrthen 15 €EMAILdigidot_order_new_guestplus success page
EXCEPTIONSNo BVM · full country listno BVMfull country list
Markenshop and hidden shop converge on the buy-alone rule and the DigiDot checkout.
MARKENSHOP · BASE
EINSTIEG/digidotCMS-Seite, verlinkt ?type=digidotKONFIGURATOR4 SchritteBetriebsstätteJahrM1–M8 kgVertragPRODUKTlicense.digidotVertragscode DDMAVT
VERSTECKTER SHOP · DIGIDOT
FASTLYKorridornur Checkout-Pfade302 /de/EINSTIEG/digidot-checkoutleert den WarenkorbPRODUKTdigidot.codeGTIN-Preistext
REGELAlleinkaufnie mit anderen PositionenCHECKOUTWebsite-Handle digidoteigenes Layouteigene SummaryABRECHNUNGBestellwert min. 36 €Nutzung jährlich über Digi Cyclebis 100 GTINs 30 €/Jahrdann 15 €E-MAILdigidot_order_new_guestplus Success-Seite
AUSNAHMENKein BVM · volle Länderlistekein BVMvolle Länderliste
Markenshop und versteckter Shop laufen in der Alleinkauf-Regel und dem DigiDot-Checkout zusammen.

05 · Pricing enginePreismaschine

Prices live in a table, not on products.Preise wohnen in einer Tabelle, nicht am Produkt.

Prices sit in license_configurator_price_list_item, imported by CSV in the ERP format. Contract types resolve to a contract code, each material matches a year-valid tier, rows are rounded before summing, a minimum order value clamps the result. Preise liegen in license_configurator_price_list_item, importiert per CSV im ERP-Format. Vertragsarten lösen zu einem Vertragscode auf, jedes Material trifft eine jahresgültige Staffel, Zeilen werden vor der Summierung gerundet, ein Mindestbestellwert begrenzt das Ergebnis.

1
IMPORTAdmin CSVV_VERTRAGSARTN_PREISD_GUELTIGAB
2
TABLEprice_list_itemcontractmaterialmin_qtyyears
3
RESOLVEContract codeBTVTMAVTBMVTDDMAVT
4
TIERTier matchqty over min_qtyyear valid
5
PRICE€/kg × kgone row per fraction
6
FEETrademark feeM codesdefault and DigiDot
7
ROUNDING2 decimals half-upper row, then sum
8
COUPONAlternate contract codesavings = old sum − new sum
9
MINIMUMMinimum order value36 € license250 € packaging
10
TOTALcustom_final_pricesales_quote_collect_totals_before
From the ERP CSV to the final quote price, including rounding and the minimum order value.
1
IMPORTAdmin-CSVV_VERTRAGSARTN_PREISD_GUELTIGAB
2
TABELLEprice_list_itemVertragMaterialmin_qtyJahre
3
AUFLÖSENVertragscodeBTVTMAVTBMVTDDMAVT
4
STAFFELStaffel-MatchMenge über min_qtyJahr gültig
5
PREIS€/kg × kgeine Zeile je Fraktion
6
GEBÜHRMarkengebührM-Codesdefault und DigiDot
7
RUNDUNG2 Stellen kaufmännischje Zeile, dann Summe
8
GUTSCHEINAlternativer VertragscodeErsparnis = alte − neue Summe
9
MINIMUMMindestbestellwert36 € Lizenz250 € Verpackung
10
SUMMEcustom_final_pricesales_quote_collect_totals_before
Vom ERP-CSV zum finalen Quote-Preis, inklusive Rundung und Mindestbestellwert.
Contract codeVertragscode ReadingLesart Used forVerwendet für
BTVT / BTV8B = participation, VT = contractB = Beteiligung, VT = Vertragsystem participation onlynur Systembeteiligung
MAVTM = trademark (Marke)M = Marketrademark usage onlynur Markennutzung
BMVT / BMV8B + M combinedB + M kombiniertparticipation plus trademarkBeteiligung plus Marke
BGP5 / KGP5legacy Grüner Punkt listsalte Grüner-Punkt-ListenBGP5 participation only, KGP5 combinedBGP5 nur Beteiligung, KGP5 kombiniert
DDMAVTDigiDot MarkeDigiDot MarkeDigiDot

19 distinct contract codes in the live price table. Legacy product SKUs still encode them: BTVT2025B1 = list BTVT, year 2025, fraction B1.19 verschiedene Vertragscodes in der Live-Preistabelle. Alte Produkt-SKUs kodieren sie noch: BTVT2025B1 = Liste BTVT, Jahr 2025, Fraktion B1.

06 · CutoverStichtag

12 August 2026: TVGE replaces TVP and GEW.12. August 2026: TVGE ersetzt TVP und GEW.

TVGE with 22 products replaces TVP and GEW. GEW leaves the homepage, footer, and sitemap. The authorization flow narrows. Checkout becomes Germany-only for standard carts. DigiDot is the exception throughout. These changes are planned for the cutover date; nothing is live yet. TVGE mit 22 Produkten ersetzt TVP und GEW. GEW verschwindet von Homepage, Footer und Sitemap. Der Bevollmächtigungsfluss wird schmaler. Der Checkout wird für Standard-Warenkörbe auf Deutschland begrenzt. DigiDot ist durchgehend die Ausnahme. Diese Änderungen sind für den Stichtag geplant; noch nichts ist live.

BEFORE 12.08.2026
CALCULATORTVP transportT1–T10Navision TVPVCALCULATORGEW commercialX1–X14Navision GEWVSELECTORAbroad question optionalyes/no authorizationCHECKOUTAll countriesfull listNOTICEFrom 01.08.2026current config text
DATE GATEDate gate 12.08.2026one shared switchflips automatically
FROM 12.08.2026
CalculatorCALCULATORTVGE calculatorTG1–TG22CSV importredirects
Content and navigationCONTENTGEW deactivatedtilesfootersitemap
Authorization and routingAUTHORIZATIONBVM narrowedcommercial droppedtransport to TVGEROUTINGAbroad goes to BVMquestion removedDigiDot exempt
Country rulesCOUNTRYGermany onlystandard carts, by cart content
CommunicationNOTICEFrom 12.08.2026notice text updated
What stops and what starts on the cutover date.
VOR DEM 12.08.2026
RECHNERTVP TransportT1–T10Navision TVPVRECHNERGEW GewerbeX1–X14Navision GEWVSELECTORAusland-Frage optionalJa/Nein BevollmächtigungCHECKOUTAlle Ländervolle ListeHINWEISAb 01.08.2026aktueller Config-Text
DATUMS-GATEDatums-Gate 12.08.2026ein zentraler Schalterschaltet automatisch
AB 12.08.2026
RechnerRECHNERTVGE-RechnerTG1–TG22CSV-ImportUmleitungen
Inhalt und NavigationINHALTGEW deaktiviertKachelnFooterSitemap
Bevollmächtigung und RoutingBEVOLLMÄCHTIGUNGBVM verschlanktGewerbe entfälltTransport zu TVGEROUTINGAusland direkt zu BVMFrage entfälltDigiDot ausgenommen
LänderregelnLANDNur DeutschlandStandard-Warenkörbe, nach Inhalt
KommunikationHINWEISAb 12.08.2026Hinweistext aktualisiert
Was am Stichtag endet und was beginnt.
AreaBereich What changes on 12.08.2026Was sich am 12.08.2026 ändert
CalculatorRechnerNew TVGE contract type and calculator. TVP and GEW retire; their old URLs redirect to the TVGE selector.Neuer Vertragstyp TVGE samt Rechner. TVP und GEW laufen aus; ihre alten URLs leiten auf den TVGE-Selector um.
ProductsProdukte22 products TG1–TG22 with prices, loaded through the existing CSV import.22 Produkte TG1–TG22 mit Preisen, über den bestehenden CSV-Import geladen.
Content and navigationInhalt und NavigationGEW leaves the homepage tiles, footer, and sitemap.GEW verschwindet aus Homepage-Kacheln, Footer und Sitemap.
Authorization (BVM)Bevollmächtigung (BVM)Commercial packaging is dropped; transport folds into TVGE.Gewerbeverpackung entfällt; Transport geht in TVGE auf.
RoutingRoutingA location abroad goes straight into authorization; the obligation notice moves to 12.08.2026.Ausland führt direkt in die Bevollmächtigung; der Pflichthinweis wechselt auf den 12.08.2026.
Checkout countryCheckout-LandGermany only for standard carts, decided by what is in the cart.Nur Deutschland für Standard-Warenkörbe, entschieden nach Warenkorbinhalt.
RolloutRolloutOne shared date gate flips every change automatically. DigiDot stays the exception throughout.Ein zentrales Datums-Gate schaltet alle Änderungen automatisch. DigiDot bleibt durchgehend die Ausnahme.

Existing TVP and GEW orders keep rendering unchanged. Only new sign-ups move to TVGE.Bestehende TVP- und GEW-Bestellungen werden unverändert dargestellt. Nur Neuabschlüsse laufen über TVGE.

07 · Module mapModul-Karte

Where the code lives.Wo der Code wohnt.

All calculator code sits under app/code/GruenerPunkt. One engine, grouped by the role each module plays around it. Der gesamte Rechner-Code liegt unter app/code/GruenerPunkt. Ein Kern, gruppiert nach der Rolle jedes Moduls darum herum.

CORE ENGINEKERN

The engine. LicenseType and MaterialCode enums, the KO uiComponent builder, cart transformation, per-row rounding, config-as-content.Der Kern. Enums LicenseType und MaterialCode, KO-uiComponent-Builder, Warenkorb-Transformation, zeilenweise Rundung, Config-as-Content.

PriceCalculationService: contract-code resolution, tier match, trademark fee.PriceCalculationService: Vertragscode-Auflösung, Staffel-Match, Markengebühr.

The price table and its admin CSV import in the ERP column format.Die Preistabelle und ihr Admin-CSV-Import im ERP-Spaltenformat.

ENTRY AND CONFIGURATIONEINSTIEG UND KONFIGURATION

The choose pre-step: operational location and the authorization question, plus the obligation notice for locations abroad.Der choose-Vorschritt: Betriebsstätte und Bevollmächtigungsfrage, samt Pflichthinweis fürs Ausland.

The BVM flow: authorization products, registration-number validation, own agreements and order email, unsupported-license contact form.Der BVM-Fluss: Bevollmächtigungs-Produkte, Registrierungsnummern-Validierung, eigene AGB und Bestell-Mail, Kontaktformular.

Coupon codes that swap the contract code and surface the savings.Gutscheincodes, die den Vertragscode tauschen und die Ersparnis ausweisen.

Pre-filled configurator links with their own payment exclusions and agreements.Vorbefüllte Konfigurator-Links mit eigenen Zahlungsausschlüssen und AGB.

DIGIDOT AND CHECKOUTDIGIDOT UND CHECKOUT

DigiDot glue: the deeplink controller, buy-alone enforcement, website-scoped checkout, email identity, all product and text patches.DigiDot-Verbindung: Deeplink-Controller, Alleinkauf-Erzwingung, Website-Checkout, E-Mail-Identität, alle Produkt- und Textpatches.

Swaps the Payone credentials to account_bvm when the authorization SKU is in the cart.Tauscht die Payone-Zugangsdaten auf account_bvm, sobald die authorization-SKU im Warenkorb liegt.

Per-product minimum order value: 36 € for license and DigiDot, 250 € for packaging.Mindestbestellwert je Produkt: 36 € für Lizenz und DigiDot, 250 € für Verpackung.

EXTERNAL AND LEGACYEXTERN UND ALT

The SOAP existing-customer check over the Adobe Private Link. Blocks duplicates, fails open on downtime.Die SOAP-Bestandskundenprüfung über den Adobe Private Link. Blockt Dubletten, blockiert nicht bei Ausfall.

The old Lizenzrechner. Still routable standalone; today it mainly feeds the Calculation Aid into the new configurator.Der alte Lizenzrechner. Noch eigenständig erreichbar; heute speist er vor allem die Verwiegungshilfe in den neuen Konfigurator ein.

08 · GlossaryGlossar

Abbreviations and terms.Abkürzungen und Begriffe.

Verified against the codebase, docs, or i18n files. Verifiziert gegen Codebasis, Docs oder i18n-Dateien.

TermBegriff Deutsch English What it means hereWas es hier bedeutet AnchorAnker
BestandskundenprüfungBestandskundenprüfungexisting-customer checkSOAP operation WPVUstDublettenPruefung, endpoint path WPVKundenpruefung, over the Adobe Private Link; blocks known customers at checkoutSOAP-Operation WPVUstDublettenPruefung, Endpoint-Pfad WPVKundenpruefung, über den Adobe Private Link; blockt Bestandskunden im CheckoutService/ApiClient.php
BetriebsstätteBetriebsstätteoperational locationhome or abroad; abroad drives the BVM and DigiDot logicInland oder Ausland; Ausland steuert die BVM- und DigiDot-LogikOperationalLocation.php
BVMBevollmächtigungauthorization / authorized representativeflow for foreign producers appointing Green Dot Rep GmbH; SKU authorization, own Payone account bvmFluss für ausländische Hersteller mit Green Dot Rep GmbH als Bevollmächtigter; SKU authorization, eigenes Payone-Konto bvmLicenseConfiguratorAuthorization
Der Grüne PunktDer Grüne PunktThe Green Dotthe trademark customers license for their packagingdie Marke, die Kunden für ihre Verpackungen lizenzierenconfig.php:498
Digi CycleDigi CycleDigi Cyclethe portal that does the annual retroactive usage billing for DigiDotdas Portal, das die jährliche nachträgliche Nutzungsabrechnung für DigiDot machtclient-context.md
DigiDotDigiDotDigiDotdigital trademark platform of the Green Dot group; fourth license type, sold via two channelsdigitale Markenplattform der Green-Dot-Gruppe; vierter Lizenztyp, verkauft über zwei KanäleLicenseType.php
DSDDuales System DeutschlandDual System Germanythe client company behind Der Grüne Punkt, operator of the dual recycling systemdie Kundenfirma hinter Der Grüne Punkt, Betreiberin des dualen Systemsclient-context.md
FraktionFraktionfraction / materialmaterial families per license type: B1–B8 default, M1–M8 DigiDot, T1–T10 transport, X1–X14 commercialMaterialfamilien je Lizenztyp: B1–B8 Standard, M1–M8 DigiDot, T1–T10 Transport, X1–X14 GewerbeMaterialCode.php
GEWGewerbeverpackungcommercial packaginglicense type with fractions X1–X14, Navision GEWV, retires 12.08.2026Lizenztyp mit Fraktionen X1–X14, Navision GEWV, endet 12.08.2026LicenseType.php
GTINGTINGlobal Trade Item Numberdrives the DigiDot tiers: up to 100 → 30 €/yr, from the 101st → 15 €/yrtreibt die DigiDot-Staffeln: bis 100 → 30 €/Jahr, ab der 101. → 15 €/JahrDigiDotProductTextInstaller
LizenzkonfiguratorLizenzkonfiguratorLicense Configuratorthe current stepwise engine behind /license/configurator/displayder aktuelle Schritt-für-Schritt-Kern hinter /license/configurator/displayLicenseConfigurator
LizenzrechnerLizenzrechnerLicense Calculatorthe old generation, still routable, feeds the Calculation Aiddie alte Generation, noch erreichbar, liefert die VerwiegungshilfeLicenseCalculator
LUCID / ZSVRVerpackungsregister / Zentrale Stellepackaging register / central agencythe official register every producer must be listed in, run by the ZSVRdas amtliche Register, in dem jeder Hersteller stehen muss, betrieben von der ZSVRCMS fixtures
MarkennutzungMarkennutzungtrademark usagethe right to print the mark; DigiDot relabels it "DigiDot and Trademark use"das Recht, die Marke zu drucken; DigiDot benennt es in "DigiDot und Markennutzung" umContractType.php
MarkenshopMarkenshopbrand shopDigiDot as a license type on the public base website, ?type=digidotDigiDot als Lizenztyp auf der öffentlichen base-Website, ?type=digidotREADME.md:91
MOVMindestbestellwertminimum order value36 € for license and DigiDot carts, 250 € for packaging36 € für Lizenz- und DigiDot-Warenkörbe, 250 € für VerpackungProductMinimumOrderValue
PPWREU-VerpackungsverordnungPackaging and Packaging Waste RegulationEU regulation, served by an advice-request form under /ppwrEU-Verordnung, bedient über ein Beratungsformular unter /ppwrPackagingWasteRegulationForm
RegistrierungsnummerRegistrierungsnummerregistration numberLUCID id validated in the BVM checkout, hidden on the DigiDot checkoutLUCID-Nummer, im BVM-Checkout validiert, im DigiDot-Checkout ausgeblendetValidateRegistrationNumber
SKU-MusterSKU-MusterSKU patternslicense.<type>, material.<code>, digidot.code; legacy: BTVT2025B1 = list + year + fractionlicense.<type>, material.<code>, digidot.code; alt: BTVT2025B1 = Liste + Jahr + FraktionLicenseProduct + DigiDotShop
SystembeteiligungSystembeteiligungsystem participationpaying into the dual system; the default license typeEinzahlung ins duale System; der Standard-LizenztypContractType.php
TrademarkUse G/TMarkennutzung G/Ttrademark use G/TG = for all packaging subject to participation, T = only for certain articlesG = für sämtliche beteiligungspflichtigen Verpackungen, T = nur für bestimmte ArtikelTrademarkUse.php
TVGETransport- und Gewerbeverpackungcombined transport + commercialthe new contract type from 12.08.2026, products TG1–TG22, replaces TVP and GEWder neue Vertragstyp ab 12.08.2026, Produkte TG1–TG22, ersetzt TVP und GEWLicenseType.php
TVPTransportverpackungtransport packaginglicense type with fractions T1–T10, Navision TVPV, retires 12.08.2026Lizenztyp mit Fraktionen T1–T10, Navision TVPV, endet 12.08.2026LicenseType.php
VEVerkaufseinheitsales unitsales unit; always spelled out as Verkaufseinheit in the texts, never abbreviatedVerkaufseinheit; in den Texten immer ausgeschrieben, nie abgekürzttooltip CMS blocks
VerpackGVerpackungsgesetzPackaging Actthe law (§ 7) that forces system participationdas Gesetz (§ 7), das die Systembeteiligung erzwingti18n de_DE.csv
Versteckter Shopversteckter Shophidden shopthe separate digidot website (id 2), Fastly-gated, NOINDEX, checkout corridor onlydie eigene digidot-Website (ID 2), Fastly-geschützt, NOINDEX, nur Checkout-Korridorconfig/fastly/
VertragscodeVertragscodecontract codeprice-list key: BTVT, MAVT, BMVT, BGP5, DDMAVT and more; 19 codes in the live tablePreislisten-Schlüssel: BTVT, MAVT, BMVT, BGP5, DDMAVT und weitere; 19 Codes in der Live-TabellePriceList.php
VerwiegungshilfeVerwiegungshilfeCalculation AidS/M/L weight-estimation helper injected into the material step for the default typeS/M/L-Gewichtsschätzhilfe, in den Materialschritt des Standardtyps eingespeistCalculationAid.php

The sources live in the repo.Die Quellen liegen im Repo.