{
  // Teil 26: Team-Workflows — Shared Modell mit Ownership-Tags pro Team
  "specification": {
    "elements": {
      "actor":   { "notation": "Actor" },
      "system":  { "notation": "Software System", "container": true },
      "service": { "notation": "Service",          "container": true },
      "database":{ "notation": "Database" }
    },
    "relationships": {
      "uses":  { "notation": "uses"  },
      "async": { "notation": "async", "dashed": true }
    },
    "tags": [
      { "id": "team-shop",    "description": "Shop-Team",    "style": { "fillColor": "#d5e8d4", "strokeColor": "#82b366" } },
      { "id": "team-auth",    "description": "Auth-Team",    "style": { "fillColor": "#dae8fc", "strokeColor": "#6c8ebf" } },
      { "id": "team-payment", "description": "Payment-Team", "style": { "fillColor": "#ffe6cc", "strokeColor": "#d6b656" } }
    ]
  },
  "model": {
    "customer": { "kind": "actor", "title": "Customer" },
    "shop": {
      "kind": "system", "title": "E-Commerce Platform",
      "children": {
        "frontend":     { "kind": "service",  "title": "Web Frontend",    "technology": "React",      "tags": ["team-shop"]    },
        "shopapi":      { "kind": "service",  "title": "Shop API",         "technology": "Go",         "tags": ["team-shop"]    },
        "authservice":  { "kind": "service",  "title": "Auth Service",     "technology": "Go",         "tags": ["team-auth"]    },
        "paymentservice":{"kind": "service",  "title": "Payment Service",  "technology": "Go",         "tags": ["team-payment"] },
        "db":           { "kind": "database", "title": "PostgreSQL",       "technology": "PostgreSQL", "tags": ["team-shop"]    }
      }
    }
  },
  "relationships": [
    { "from": "customer",              "to": "shop",                  "label": "kauft ein",     "kind": "uses"  },
    { "from": "shop.frontend",         "to": "shop.shopapi",          "label": "REST calls",    "kind": "uses"  },
    { "from": "shop.shopapi",          "to": "shop.authservice",      "label": "authenticate",  "kind": "uses"  },
    { "from": "shop.shopapi",          "to": "shop.paymentservice",   "label": "charge()",      "kind": "uses"  },
    { "from": "shop.shopapi",          "to": "shop.db",               "label": "reads/writes",  "kind": "uses"  }
  ],
  "views": {
    "context":      { "title": "Platform Context",   "include": ["customer", "shop"] },
    "team-shop":    { "title": "Shop-Team View",     "scope": "shop", "include": ["shop.*"], "filter-tags": ["team-shop"]    },
    "team-payment": { "title": "Payment-Team View",  "scope": "shop", "include": ["shop.*"], "filter-tags": ["team-payment"] }
  }
}
