{
  "entities": [
    {
      "columns": [
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(12)",
          "description": "Shopper number",
          "name": "shopper_id",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(64)",
          "description": "Given name",
          "name": "given_name",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(64)",
          "description": "Family name",
          "name": "family_name",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(128)",
          "description": "Login e-mail",
          "name": "email",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(32)",
          "description": "Contact phone",
          "name": "phone",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "QUASI_IDENTIFIER"
          ],
          "data_type": "DATE",
          "description": "Date of birth (optional)",
          "name": "birth_date",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "QUASI_IDENTIFIER"
          ],
          "data_type": "VARCHAR(45)",
          "description": "Last login IP (RFC 5737 documentation range)",
          "name": "last_ip_address",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "BOOLEAN",
          "description": "Marketing consent flag",
          "name": "marketing_opt_in",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "TIMESTAMP",
          "description": "Registration time",
          "name": "signed_up_at",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "A registered shopper account (the natural subset root).",
      "name": "Shopper",
      "primary_key": [
        "shopper_id"
      ],
      "system": "storefront",
      "table": "shoppers"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Address record id",
          "name": "location_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(12)",
          "description": "Owning shopper",
          "name": "shopper_id",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(10)",
          "description": "SHIPPING / BILLING",
          "name": "usage_type",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "PII",
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(96)",
          "description": "Recipient full name",
          "name": "recipient_name",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "QUASI_IDENTIFIER"
          ],
          "data_type": "VARCHAR(128)",
          "description": "Street line",
          "name": "street_address",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "QUASI_IDENTIFIER"
          ],
          "data_type": "VARCHAR(64)",
          "description": "City",
          "name": "city",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "QUASI_IDENTIFIER"
          ],
          "data_type": "VARCHAR(10)",
          "description": "Postal code",
          "name": "postal_code",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(2)",
          "description": "Country (synthetic 'ZZ')",
          "name": "country_code",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "A saved shipping or billing address of a shopper.",
      "name": "ShopperAddress",
      "primary_key": [
        "location_id"
      ],
      "system": "storefront",
      "table": "shopper_addresses"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "VARCHAR(12)",
          "description": "SKU (SKU-Znnnnnn)",
          "name": "product_sku",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(64)",
          "description": "Product name (invented)",
          "name": "product_name",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(16)",
          "description": "Category",
          "name": "category",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "DECIMAL(10,2)",
          "description": "List price",
          "name": "unit_price",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "BOOLEAN",
          "description": "Sellable",
          "name": "active",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "A catalogue product (reference data; invented names).",
      "name": "Product",
      "primary_key": [
        "product_sku"
      ],
      "system": "storefront",
      "table": "products"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Cart id",
          "name": "cart_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(12)",
          "description": "Shopper",
          "name": "shopper_id",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "QUASI_IDENTIFIER"
          ],
          "data_type": "VARCHAR(24)",
          "description": "Device identifier of the session",
          "name": "device_id",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(4)",
          "description": "WEB / APP",
          "name": "channel",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(10)",
          "description": "ACTIVE / ABANDONED / CONVERTED",
          "name": "status",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "TIMESTAMP",
          "description": "Cart created",
          "name": "created_at",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "A shopping cart of one session; converted carts become orders.",
      "name": "Cart",
      "primary_key": [
        "cart_id"
      ],
      "system": "storefront",
      "table": "carts"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Cart item id",
          "name": "cart_item_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Cart",
          "name": "cart_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(12)",
          "description": "Product",
          "name": "product_sku",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "INT",
          "description": "Quantity",
          "name": "quantity",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "TIMESTAMP",
          "description": "Added to cart",
          "name": "added_at",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "A product placed in a cart.",
      "name": "CartItem",
      "primary_key": [
        "cart_item_id"
      ],
      "system": "storefront",
      "table": "cart_items"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Review id",
          "name": "review_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(12)",
          "description": "Author",
          "name": "shopper_id",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(12)",
          "description": "Reviewed product",
          "name": "product_sku",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "INT",
          "description": "Stars 1-5",
          "name": "rating",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "PII",
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(64)",
          "description": "Public display name",
          "name": "reviewer_display_name",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "SENSITIVE"
          ],
          "data_type": "VARCHAR(2000)",
          "description": "Review free text",
          "name": "review_text",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "TIMESTAMP",
          "description": "Posted",
          "name": "posted_at",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "A product review; its free text can contain personal data.",
      "name": "Review",
      "primary_key": [
        "review_id"
      ],
      "system": "storefront",
      "table": "reviews"
    },
    {
      "columns": [
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(12)",
          "description": "Order number",
          "name": "order_number",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(12)",
          "description": "Storefront shopper (cross-system)",
          "name": "shopper_ref",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Storefront cart converted into this order (cross-system)",
          "name": "cart_ref",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Storefront shipping address (cross-system)",
          "name": "shipping_location_ref",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(4)",
          "description": "WEB / APP",
          "name": "channel",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(20)",
          "description": "PLACED / SHIPPED / DELIVERED / CANCELLED / PARTIALLY_RETURNED",
          "name": "status",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "FINANCIAL"
          ],
          "data_type": "DECIMAL(12,2)",
          "description": "Order total",
          "name": "order_total",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(3)",
          "description": "Currency (test code XTS)",
          "name": "currency_code",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(16)",
          "description": "Promotion code used (ZPROMO...)",
          "name": "promo_code",
          "nullable": true,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "BOOLEAN",
          "description": "Referred for promotion-abuse review",
          "name": "promo_abuse_flag",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "TIMESTAMP",
          "description": "Order time",
          "name": "placed_at",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "An order placed from a converted cart and shipped to one of the shopper's addresses.",
      "name": "Order",
      "primary_key": [
        "order_number"
      ],
      "system": "orders",
      "table": "orders"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Order line id",
          "name": "line_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(12)",
          "description": "Order",
          "name": "order_number",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(12)",
          "description": "Storefront product (cross-system)",
          "name": "product_sku",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "INT",
          "description": "Quantity",
          "name": "quantity",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "DECIMAL(10,2)",
          "description": "Price paid per unit",
          "name": "unit_price",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "DECIMAL(12,2)",
          "description": "Line total",
          "name": "line_total",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "One product line of an order.",
      "name": "OrderLine",
      "primary_key": [
        "line_id"
      ],
      "system": "orders",
      "table": "order_lines"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Payment id",
          "name": "payment_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(12)",
          "description": "Order",
          "name": "order_number",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(14)",
          "description": "CARD / WALLET / BANK_TRANSFER",
          "name": "method",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "PAYMENT",
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(19)",
          "description": "Card number (test range only)",
          "name": "card_number",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [
            "PAYMENT"
          ],
          "data_type": "VARCHAR(5)",
          "description": "Card expiry MM/YY",
          "name": "card_expiry",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(96)",
          "description": "Name on the card",
          "name": "cardholder_name",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [
            "FINANCIAL",
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(34)",
          "description": "Wallet / bank IBAN-shaped number (country ZZ)",
          "name": "wallet_iban",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [
            "FINANCIAL"
          ],
          "data_type": "DECIMAL(12,2)",
          "description": "Amount",
          "name": "amount",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(12)",
          "description": "CAPTURED / AUTHORISED / DECLINED / REFUNDED",
          "name": "status",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(24)",
          "description": "Why a payment was declined",
          "name": "decline_reason",
          "nullable": true,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "TIMESTAMP",
          "description": "Attempt time",
          "name": "attempted_at",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "A payment attempt for an order (card, wallet or bank transfer).",
      "name": "Payment",
      "primary_key": [
        "payment_id"
      ],
      "system": "orders",
      "table": "payments"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Return id",
          "name": "return_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(12)",
          "description": "Order",
          "name": "order_number",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Returned order line (of the same order)",
          "name": "line_ref",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(20)",
          "description": "Return reason",
          "name": "reason",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(10)",
          "description": "REQUESTED / RECEIVED / REFUNDED / REJECTED",
          "name": "status",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "FINANCIAL"
          ],
          "data_type": "DECIMAL(12,2)",
          "description": "Refunded amount",
          "name": "refund_amount",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "FINANCIAL",
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(20)",
          "description": "Refund reference (RFND-ZZ-...)",
          "name": "refund_reference",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "SENSITIVE"
          ],
          "data_type": "VARCHAR(400)",
          "description": "Shopper's free-text comment",
          "name": "customer_comment",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "TIMESTAMP",
          "description": "Return requested",
          "name": "requested_at",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "A return and refund of one order line.",
      "name": "Return",
      "primary_key": [
        "return_id"
      ],
      "system": "orders",
      "table": "returns"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Shipment id",
          "name": "shipment_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(12)",
          "description": "Orders-system order number (cross-system)",
          "name": "order_ref",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "INT",
          "description": "Parcel number within the order (1..n)",
          "name": "parcel_index",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(20)",
          "description": "Carrier tracking number (TRK-ZZ-...)",
          "name": "tracking_number",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(20)",
          "description": "Carrier (invented)",
          "name": "carrier",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "PII",
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(96)",
          "description": "Recipient",
          "name": "recipient_name",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "QUASI_IDENTIFIER"
          ],
          "data_type": "VARCHAR(128)",
          "description": "Delivery street line",
          "name": "delivery_street",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "QUASI_IDENTIFIER"
          ],
          "data_type": "VARCHAR(64)",
          "description": "Delivery city",
          "name": "delivery_city",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "QUASI_IDENTIFIER"
          ],
          "data_type": "VARCHAR(10)",
          "description": "Delivery postal code",
          "name": "delivery_postal_code",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(16)",
          "description": "LABEL_CREATED / IN_TRANSIT / DELIVERED / FAILED_DELIVERY",
          "name": "status",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "TIMESTAMP",
          "description": "Handed to carrier",
          "name": "shipped_at",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "TIMESTAMP",
          "description": "Delivered (NULL until delivered)",
          "name": "delivered_at",
          "nullable": true,
          "sensitive": false
        }
      ],
      "description": "A parcel of an order (split orders have several), with its delivery address.",
      "name": "Shipment",
      "primary_key": [
        "shipment_id"
      ],
      "system": "fulfilment",
      "table": "shipments"
    },
    {
      "columns": [
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(12)",
          "description": "Loyalty number",
          "name": "loyalty_id",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(12)",
          "description": "Storefront shopper (cross-system)",
          "name": "shopper_ref",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(8)",
          "description": "BRONZE / SILVER / GOLD",
          "name": "tier",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "FINANCIAL"
          ],
          "data_type": "INT",
          "description": "Points balance",
          "name": "points_balance",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "DATE",
          "description": "Enrolment date",
          "name": "enrolled_on",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "A loyalty programme membership with a points balance.",
      "name": "LoyaltyAccount",
      "primary_key": [
        "loyalty_id"
      ],
      "system": "loyalty",
      "table": "loyalty_accounts"
    }
  ],
  "relationships": [
    {
      "child": "ShopperAddress",
      "child_columns": [
        "shopper_id"
      ],
      "code": "FK_SHOPPER_ADDRESSES_SHOPPER_ID",
      "cross_system": false,
      "description": "ShopperAddress references Shopper",
      "kind": "FOREIGN_KEY",
      "parent": "Shopper",
      "parent_columns": [
        "shopper_id"
      ]
    },
    {
      "child": "Cart",
      "child_columns": [
        "shopper_id"
      ],
      "code": "FK_CARTS_SHOPPER_ID",
      "cross_system": false,
      "description": "Cart references Shopper",
      "kind": "FOREIGN_KEY",
      "parent": "Shopper",
      "parent_columns": [
        "shopper_id"
      ]
    },
    {
      "child": "CartItem",
      "child_columns": [
        "cart_id"
      ],
      "code": "FK_CART_ITEMS_CART_ID",
      "cross_system": false,
      "description": "CartItem references Cart",
      "kind": "FOREIGN_KEY",
      "parent": "Cart",
      "parent_columns": [
        "cart_id"
      ]
    },
    {
      "child": "CartItem",
      "child_columns": [
        "product_sku"
      ],
      "code": "FK_CART_ITEMS_PRODUCT_SKU",
      "cross_system": false,
      "description": "CartItem references Product",
      "kind": "FOREIGN_KEY",
      "parent": "Product",
      "parent_columns": [
        "product_sku"
      ]
    },
    {
      "child": "Review",
      "child_columns": [
        "shopper_id"
      ],
      "code": "FK_REVIEWS_SHOPPER_ID",
      "cross_system": false,
      "description": "Review references Shopper",
      "kind": "FOREIGN_KEY",
      "parent": "Shopper",
      "parent_columns": [
        "shopper_id"
      ]
    },
    {
      "child": "Review",
      "child_columns": [
        "product_sku"
      ],
      "code": "FK_REVIEWS_PRODUCT_SKU",
      "cross_system": false,
      "description": "Review references Product",
      "kind": "FOREIGN_KEY",
      "parent": "Product",
      "parent_columns": [
        "product_sku"
      ]
    },
    {
      "child": "OrderLine",
      "child_columns": [
        "order_number"
      ],
      "code": "FK_ORDER_LINES_ORDER_NUMBER",
      "cross_system": false,
      "description": "OrderLine references Order",
      "kind": "FOREIGN_KEY",
      "parent": "Order",
      "parent_columns": [
        "order_number"
      ]
    },
    {
      "child": "Payment",
      "child_columns": [
        "order_number"
      ],
      "code": "FK_PAYMENTS_ORDER_NUMBER",
      "cross_system": false,
      "description": "Payment references Order",
      "kind": "FOREIGN_KEY",
      "parent": "Order",
      "parent_columns": [
        "order_number"
      ]
    },
    {
      "child": "Return",
      "child_columns": [
        "order_number"
      ],
      "code": "FK_RETURNS_ORDER_NUMBER",
      "cross_system": false,
      "description": "Return references Order",
      "kind": "FOREIGN_KEY",
      "parent": "Order",
      "parent_columns": [
        "order_number"
      ]
    },
    {
      "child": "Order",
      "child_columns": [
        "shopper_ref"
      ],
      "code": "RET_ORDER_SHOPPER",
      "cross_system": true,
      "description": "Orders are placed by storefront shoppers",
      "kind": "RELATIONSHIP_TEMPLATE",
      "parent": "Shopper",
      "parent_columns": [
        "shopper_id"
      ]
    },
    {
      "child": "Order",
      "child_columns": [
        "shipping_location_ref"
      ],
      "code": "RET_ORDER_SHIPPING_ADDRESS",
      "cross_system": true,
      "description": "Orders ship to a saved storefront address",
      "kind": "RELATIONSHIP_TEMPLATE",
      "parent": "ShopperAddress",
      "parent_columns": [
        "location_id"
      ]
    },
    {
      "child": "Order",
      "child_columns": [
        "cart_ref"
      ],
      "code": "RET_ORDER_CART",
      "cross_system": true,
      "description": "Orders are converted storefront carts",
      "kind": "RELATIONSHIP_TEMPLATE",
      "parent": "Cart",
      "parent_columns": [
        "cart_id"
      ]
    },
    {
      "child": "OrderLine",
      "child_columns": [
        "product_sku"
      ],
      "code": "RET_ORDER_LINE_PRODUCT",
      "cross_system": true,
      "description": "Order lines sell catalogue products",
      "kind": "RELATIONSHIP_TEMPLATE",
      "parent": "Product",
      "parent_columns": [
        "product_sku"
      ]
    },
    {
      "child": "Return",
      "child_columns": [
        "line_ref"
      ],
      "code": "RET_RETURN_LINE",
      "cross_system": false,
      "description": "Returns refund one order line",
      "kind": "RELATIONSHIP_TEMPLATE",
      "parent": "OrderLine",
      "parent_columns": [
        "line_id"
      ]
    },
    {
      "child": "Shipment",
      "child_columns": [
        "order_ref"
      ],
      "code": "RET_SHIPMENT_ORDER",
      "cross_system": true,
      "description": "Shipments fulfil orders",
      "kind": "RELATIONSHIP_TEMPLATE",
      "parent": "Order",
      "parent_columns": [
        "order_number"
      ]
    },
    {
      "child": "LoyaltyAccount",
      "child_columns": [
        "shopper_ref"
      ],
      "code": "RET_LOYALTY_SHOPPER",
      "cross_system": true,
      "description": "Loyalty accounts belong to storefront shoppers",
      "kind": "RELATIONSHIP_TEMPLATE",
      "parent": "Shopper",
      "parent_columns": [
        "shopper_id"
      ]
    }
  ]
}
