[
  {
    "source": "apim",
    "target": "labels.label-server",
    "port": "https/443",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "confidence": "assumed"
    },
    "declared": "saas.ca:8:3"
  },
  {
    "source": "product.pim",
    "target": "hoster-a-dc.filehub",
    "port": "sftp/22",
    "layers": [
      "flow"
    ],
    "carries": [
      "product-files"
    ],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "push",
      "channel": "pim-feed",
      "carries": [
        "product-files"
      ]
    },
    "declared": "systems.ca:9:5"
  },
  {
    "source": "product.photo-studio",
    "target": "hoster-a-dc.filehub",
    "port": "sftp/22",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "push",
      "channel": "product-images"
    },
    "declared": "systems.ca:14:5"
  },
  {
    "source": "product.price-processor",
    "target": "hoster-a-dc.filehub",
    "port": "sftp/22",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "pull",
      "channel": "price-files"
    },
    "declared": "systems.ca:28:5"
  },
  {
    "source": "product.price-processor",
    "target": "kafka-cloud",
    "port": "kafka/9092",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "push",
      "channel": "prices"
    },
    "declared": "systems.ca:29:5"
  },
  {
    "source": "product.price-processor",
    "target": "product.pim",
    "port": "sftp/22",
    "layers": [
      "flow"
    ],
    "carries": [
      "price-deltas"
    ],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "push",
      "carries": [
        "price-deltas"
      ]
    },
    "declared": "systems.ca:30:5"
  },
  {
    "source": "catalog.api",
    "target": "hoster-a-dc.filehub",
    "port": "http",
    "layers": [
      "flow"
    ],
    "carries": [
      "product-files"
    ],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "pull",
      "carries": [
        "product-files"
      ],
      "confidence": "assumed"
    },
    "declared": "systems.ca:41:5"
  },
  {
    "source": "catalog.api",
    "target": "catalog.db",
    "port": "jdbc",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "both"
    },
    "declared": "systems.ca:42:5"
  },
  {
    "source": "catalog.api",
    "target": "kafka-cloud",
    "port": "kafka/9092",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "pull",
      "channel": "prices"
    },
    "declared": "systems.ca:43:5"
  },
  {
    "source": "catalog.api",
    "target": "logistics",
    "port": "http",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "confidence": "assumed",
      "question": "Flow direction: does the API call logistics, or the other way round?"
    },
    "declared": "systems.ca:44:5"
  },
  {
    "source": "catalog.api",
    "target": "sales-transfer",
    "port": "http",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "confidence": "assumed"
    },
    "declared": "systems.ca:48:5"
  },
  {
    "source": "catalog.api",
    "target": "keycloak",
    "port": "http",
    "layers": [
      "auth"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {},
    "declared": "systems.ca:49:5"
  },
  {
    "source": "catalog.api",
    "target": "directory",
    "port": "ldap",
    "layers": [
      "auth"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {},
    "declared": "systems.ca:50:5"
  },
  {
    "source": "pricing.ui",
    "target": "pricing.db",
    "port": "jdbc",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "both"
    },
    "declared": "systems.ca:63:5"
  },
  {
    "source": "pricing.ui",
    "target": "hoster-a-dc.filehub",
    "port": "sftp/22",
    "layers": [
      "flow"
    ],
    "carries": [
      "item-prices"
    ],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "push",
      "channel": "price-files",
      "carries": [
        "item-prices"
      ]
    },
    "declared": "systems.ca:64:5"
  },
  {
    "source": "pricing.ui",
    "target": "hoster-a-dc.filehub",
    "port": "http",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "confidence": "doubtful",
      "question": "Is this HTTP flow still used?"
    },
    "declared": "systems.ca:65:5"
  },
  {
    "source": "pricing.price-push",
    "target": "pricing.ui",
    "port": "http",
    "layers": [
      "trigger"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {},
    "declared": "systems.ca:71:5"
  },
  {
    "source": "pricing.extractor",
    "target": "pricing.db",
    "port": "jdbc",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "pull"
    },
    "declared": "systems.ca:77:5"
  },
  {
    "source": "pricing.extractor",
    "target": "franchise-portal",
    "port": "ftp/21",
    "layers": [
      "flow"
    ],
    "carries": [
      "item-prices",
      "articles",
      "sales-sessions"
    ],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "push",
      "carries": [
        "item-prices",
        "articles",
        "sales-sessions"
      ]
    },
    "declared": "systems.ca:78:5"
  },
  {
    "source": "pricing.article-extractor",
    "target": "pricing.db",
    "port": "jdbc",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "pull"
    },
    "declared": "systems.ca:85:5"
  },
  {
    "source": "pricing.article-extractor",
    "target": "esb",
    "port": "http",
    "layers": [
      "flow"
    ],
    "carries": [
      "articles"
    ],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "push",
      "carries": [
        "articles"
      ]
    },
    "declared": "systems.ca:86:5"
  },
  {
    "source": "pricing.price-extractor",
    "target": "pricing.db",
    "port": "jdbc",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "pull"
    },
    "declared": "systems.ca:90:5"
  },
  {
    "source": "pricing.price-extractor",
    "target": "esb",
    "port": "http",
    "layers": [
      "flow"
    ],
    "carries": [
      "item-prices"
    ],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "push",
      "carries": [
        "item-prices"
      ]
    },
    "declared": "systems.ca:91:5"
  },
  {
    "source": "central-scheduler",
    "target": "pricing.ui",
    "port": null,
    "layers": [
      "trigger"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "confidence": "assumed"
    },
    "declared": "systems.ca:98:1"
  },
  {
    "source": "labels.label-server",
    "target": "labels.db",
    "port": "jdbc",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "both"
    },
    "declared": "systems.ca:108:5"
  },
  {
    "source": "labels.label-server",
    "target": "catalog.api",
    "port": "http",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "pull",
      "confidence": "assumed"
    },
    "declared": "systems.ca:109:5"
  },
  {
    "source": "labels.label-server",
    "target": "electronic-labels",
    "port": "https",
    "layers": [
      "flow"
    ],
    "carries": [
      "label-content"
    ],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "push",
      "carries": [
        "label-content"
      ]
    },
    "declared": "systems.ca:110:5"
  },
  {
    "source": "labels.label-server",
    "target": "paper-labels",
    "port": "https",
    "layers": [
      "flow"
    ],
    "carries": [
      "label-content"
    ],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "push",
      "carries": [
        "label-content"
      ]
    },
    "declared": "systems.ca:111:5"
  },
  {
    "source": "labels.label-server",
    "target": "keycloak",
    "port": "http",
    "layers": [
      "auth"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {},
    "declared": "systems.ca:112:5"
  },
  {
    "source": "labels.label-server",
    "target": "directory",
    "port": "ldap",
    "layers": [
      "auth"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {},
    "declared": "systems.ca:113:5"
  },
  {
    "source": "labels.desktop",
    "target": "labels.label-server",
    "port": "http",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "description": "Label batch",
      "confidence": "assumed"
    },
    "declared": "systems.ca:119:5"
  },
  {
    "source": "web-shop",
    "target": "hoster-a-dc.filehub",
    "port": "azcopy",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "pull",
      "channel": "product-images",
      "confidence": "assumed"
    },
    "declared": "systems.ca:130:3"
  },
  {
    "source": "web-shop",
    "target": "hoster-a-dc.filehub",
    "port": "sftp/22",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "exchange": "pull",
      "channel": "product-images",
      "confidence": "assumed"
    },
    "declared": "systems.ca:131:3"
  },
  {
    "source": "commercial-management",
    "target": "apim",
    "port": null,
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "confidence": "assumed"
    },
    "declared": "systems.ca:141:3"
  },
  {
    "source": "indexer",
    "target": "catalog.api",
    "port": "http",
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "confidence": "assumed"
    },
    "declared": "systems.ca:148:3"
  },
  {
    "source": "indexer",
    "target": "search-engine",
    "port": null,
    "layers": [
      "flow"
    ],
    "carries": [],
    "through": [],
    "through_steps": [],
    "through_deduced": false,
    "attributes": {
      "question": "Indexing?"
    },
    "declared": "systems.ca:149:3"
  }
]
