{
  "entities": [
    {
      "columns": [
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(16)",
          "description": "Account number (AC + 12 digits)",
          "name": "account_id",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(128)",
          "description": "Sign-in e-mail",
          "name": "login_email",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(32)",
          "description": "Second-factor phone",
          "name": "mfa_phone",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [
            "CREDENTIAL"
          ],
          "data_type": "VARCHAR(64)",
          "description": "Password verifier (a secret)",
          "name": "password_hash",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(2)",
          "description": "Country (synthetic 'ZZ')",
          "name": "country_code",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(12)",
          "description": "WEB / MOBILE_APP / TV_APP / PARTNER",
          "name": "signup_channel",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(10)",
          "description": "ACTIVE / LOCKED / CLOSED",
          "name": "status",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "TIMESTAMP",
          "description": "Sign-up time",
          "name": "created_at",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "A sign-in account (the natural subset root): one paying customer.",
      "name": "Account",
      "primary_key": [
        "account_id"
      ],
      "system": "identity",
      "table": "accounts"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Device registration id",
          "name": "device_record_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(16)",
          "description": "Owning account",
          "name": "account_id",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(24)",
          "description": "Device identifier (synthetic ZDV...)",
          "name": "device_identifier",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(10)",
          "description": "SMART_TV / MOBILE / WEB / CONSOLE / SPEAKER",
          "name": "device_type",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "PII",
            "QUASI_IDENTIFIER"
          ],
          "data_type": "VARCHAR(45)",
          "description": "Last network address (RFC 5737 range)",
          "name": "last_ip_address",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "TIMESTAMP",
          "description": "Registration time",
          "name": "registered_at",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(14)",
          "description": "ACTIVE / DEREGISTERED",
          "name": "status",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "A device registered to an account (TV, phone, browser, console, speaker).",
      "name": "Device",
      "primary_key": [
        "device_record_id"
      ],
      "system": "identity",
      "table": "devices"
    },
    {
      "columns": [
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(12)",
          "description": "Household id (HH + 9 digits)",
          "name": "household_id",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(16)",
          "description": "Identity account (cross-system)",
          "name": "account_ref",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "QUASI_IDENTIFIER"
          ],
          "data_type": "VARCHAR(10)",
          "description": "Postal code (service region)",
          "name": "postal_code",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "INT",
          "description": "Declared number of members",
          "name": "household_size",
          "nullable": true,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "DATE",
          "description": "Household creation date",
          "name": "created_on",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "The household that shares an account's subscriptions.",
      "name": "Household",
      "primary_key": [
        "household_id"
      ],
      "system": "subscriber_mgmt",
      "table": "households"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Profile id",
          "name": "profile_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(12)",
          "description": "Household",
          "name": "household_id",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(48)",
          "description": "Profile display name (often a first name)",
          "name": "display_name",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "QUASI_IDENTIFIER"
          ],
          "data_type": "INT",
          "description": "Year of birth (age gating)",
          "name": "birth_year",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "BOOLEAN",
          "description": "Kids profile",
          "name": "kids_profile",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(8)",
          "description": "ALL / KIDS / TEEN / ADULT",
          "name": "maturity_rating",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(5)",
          "description": "Preferred language (invented zz-.. tags)",
          "name": "language",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "A viewer profile inside a household (kids profiles carry a maturity limit).",
      "name": "Profile",
      "primary_key": [
        "profile_id"
      ],
      "system": "subscriber_mgmt",
      "table": "profiles"
    },
    {
      "columns": [
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(14)",
          "description": "Subscription number (SB + 10 digits)",
          "name": "subscription_id",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(12)",
          "description": "Household",
          "name": "household_id",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(12)",
          "description": "Plan (invented ZP_... codes)",
          "name": "plan_code",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(10)",
          "description": "ACTIVE / TRIAL / PAST_DUE / PAUSED / CANCELLED / EXPIRED",
          "name": "status",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(8)",
          "description": "MONTHLY / ANNUAL",
          "name": "billing_cycle",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "INT",
          "description": "Concurrent-stream cap of the plan",
          "name": "max_streams",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "DATE",
          "description": "Start date",
          "name": "started_on",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "DATE",
          "description": "End of the free trial",
          "name": "trial_ends_on",
          "nullable": true,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "DATE",
          "description": "Next renewal",
          "name": "renews_on",
          "nullable": true,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "DATE",
          "description": "Cancellation date",
          "name": "cancelled_on",
          "nullable": true,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(20)",
          "description": "Why it ended",
          "name": "cancel_reason",
          "nullable": true,
          "sensitive": false
        }
      ],
      "description": "A household's subscription to a plan, with trial, renewal and cancellation dates.",
      "name": "Subscription",
      "primary_key": [
        "subscription_id"
      ],
      "system": "subscriber_mgmt",
      "table": "subscriptions"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Entitlement id",
          "name": "entitlement_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(14)",
          "description": "Subscription",
          "name": "subscription_id",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(20)",
          "description": "Invented ZE_... entitlement",
          "name": "entitlement_code",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(16)",
          "description": "PLAN / ADD_ON / PROMOTION / PARTNER_BUNDLE",
          "name": "source",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "DATE",
          "description": "Granted",
          "name": "granted_on",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "DATE",
          "description": "Expiry (NULL = with the subscription)",
          "name": "expires_on",
          "nullable": true,
          "sensitive": false
        }
      ],
      "description": "A right to content or a feature granted by a plan, add-on, promotion or partner bundle.",
      "name": "Entitlement",
      "primary_key": [
        "entitlement_id"
      ],
      "system": "subscriber_mgmt",
      "table": "entitlements"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Invoice id",
          "name": "invoice_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(14)",
          "description": "Subscription (cross-system)",
          "name": "subscription_ref",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(16)",
          "description": "Paying account (cross-system)",
          "name": "account_ref",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "DATE",
          "description": "Service period start",
          "name": "period_start",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "DATE",
          "description": "Due date",
          "name": "due_date",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "FINANCIAL"
          ],
          "data_type": "DECIMAL(10,2)",
          "description": "Amount due",
          "name": "amount",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "FINANCIAL"
          ],
          "data_type": "DECIMAL(10,2)",
          "description": "Tax",
          "name": "tax_amount",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(3)",
          "description": "Currency (XTS)",
          "name": "currency",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(12)",
          "description": "PAID / OPEN / FAILED / REFUNDED / WRITTEN_OFF",
          "name": "status",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "A recurring invoice of a subscription.",
      "name": "Invoice",
      "primary_key": [
        "invoice_id"
      ],
      "system": "billing",
      "table": "invoices"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Attempt id",
          "name": "attempt_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Invoice",
          "name": "invoice_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "INT",
          "description": "1 = first collection, then retries",
          "name": "attempt_number",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "TIMESTAMP",
          "description": "Attempt time",
          "name": "attempted_at",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(14)",
          "description": "SUCCESS / SOFT_DECLINE / HARD_DECLINE / EXPIRED_CARD",
          "name": "outcome",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(14)",
          "description": "NONE / RETRY_1 / RETRY_2 / FINAL_NOTICE / SUSPENDED",
          "name": "dunning_stage",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "PAYMENT",
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(24)",
          "description": "Payment-gateway token (tok_zz_...)",
          "name": "card_token",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [
            "PAYMENT"
          ],
          "data_type": "VARCHAR(4)",
          "description": "Last four digits shown to the customer",
          "name": "card_last4",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [
            "FINANCIAL"
          ],
          "data_type": "DECIMAL(10,2)",
          "description": "Amount attempted",
          "name": "amount",
          "nullable": false,
          "sensitive": true
        }
      ],
      "description": "One collection attempt on an invoice; failed attempts move the account through dunning.",
      "name": "PaymentAttempt",
      "primary_key": [
        "attempt_id"
      ],
      "system": "billing",
      "table": "payment_attempts"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Event id",
          "name": "event_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(16)",
          "description": "Account (cross-system)",
          "name": "account_ref",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Viewer profile (cross-system)",
          "name": "profile_ref",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Device registration (cross-system)",
          "name": "device_ref",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "SENSITIVE"
          ],
          "data_type": "VARCHAR(12)",
          "description": "Title played (behavioural, synthetic ZT-...)",
          "name": "title_id",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(12)",
          "description": "Genre of the title",
          "name": "genre",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "QUASI_IDENTIFIER"
          ],
          "data_type": "TIMESTAMP",
          "description": "Playback start (behavioural timing)",
          "name": "started_at",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "INT",
          "description": "Seconds played",
          "name": "watch_seconds",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "INT",
          "description": "Share of the title completed",
          "name": "completion_pct",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "PII",
            "QUASI_IDENTIFIER"
          ],
          "data_type": "VARCHAR(45)",
          "description": "Streaming address (RFC 5737 range)",
          "name": "client_ip_address",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(6)",
          "description": "SD / HD / UHD / AUDIO",
          "name": "stream_quality",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "One playback session: who (account, profile, device) watched or listened to what, when.",
      "name": "ViewingEvent",
      "primary_key": [
        "event_id"
      ],
      "system": "content_delivery",
      "table": "viewing_events"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Contact id",
          "name": "contact_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(16)",
          "description": "Account (cross-system)",
          "name": "account_ref",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [
            "PII",
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(128)",
          "description": "Reply-to e-mail",
          "name": "contact_email",
          "nullable": true,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(6)",
          "description": "CHAT / PHONE / EMAIL",
          "name": "channel",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(16)",
          "description": "BILLING / PLAYBACK / ACCOUNT_ACCESS / ...",
          "name": "reason",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "TIMESTAMP",
          "description": "Opened",
          "name": "opened_at",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(10)",
          "description": "OPEN / RESOLVED / ESCALATED",
          "name": "status",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "SENSITIVE"
          ],
          "data_type": "VARCHAR(300)",
          "description": "Agent transcript excerpt",
          "name": "transcript_excerpt",
          "nullable": true,
          "sensitive": true
        }
      ],
      "description": "A customer-support contact (chat, phone or e-mail).",
      "name": "SupportContact",
      "primary_key": [
        "contact_id"
      ],
      "system": "crm",
      "table": "support_contacts"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Consent record id",
          "name": "consent_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(16)",
          "description": "Account (cross-system)",
          "name": "account_ref",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(28)",
          "description": "Processing purpose",
          "name": "purpose",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "BOOLEAN",
          "description": "Granted (FALSE = refused or withdrawn)",
          "name": "granted",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "TIMESTAMP",
          "description": "When the choice was recorded",
          "name": "captured_at",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(14)",
          "description": "Where the choice was recorded",
          "name": "capture_channel",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(8)",
          "description": "Privacy notice version shown",
          "name": "policy_version",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "The latest recorded choice of an account for one processing purpose.",
      "name": "ConsentPreference",
      "primary_key": [
        "consent_id"
      ],
      "system": "crm",
      "table": "consent_preferences"
    },
    {
      "columns": [
        {
          "classes": [],
          "data_type": "BIGINT",
          "description": "Redemption id",
          "name": "redemption_id",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [
            "DIRECT_IDENTIFIER"
          ],
          "data_type": "VARCHAR(14)",
          "description": "Subscription (cross-system)",
          "name": "subscription_ref",
          "nullable": false,
          "sensitive": true
        },
        {
          "classes": [],
          "data_type": "VARCHAR(16)",
          "description": "Campaign code (synthetic ZPROMO-...)",
          "name": "promo_code",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(14)",
          "description": "Bundling partner (invented)",
          "name": "partner_code",
          "nullable": true,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "INT",
          "description": "Discount in percent",
          "name": "discount_pct",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "TIMESTAMP",
          "description": "Redemption time",
          "name": "redeemed_at",
          "nullable": false,
          "sensitive": false
        },
        {
          "classes": [],
          "data_type": "VARCHAR(8)",
          "description": "APPLIED / EXPIRED / REVOKED",
          "name": "status",
          "nullable": false,
          "sensitive": false
        }
      ],
      "description": "A promotion or partner-bundle offer applied to a subscription.",
      "name": "PromotionRedemption",
      "primary_key": [
        "redemption_id"
      ],
      "system": "crm",
      "table": "promotion_redemptions"
    }
  ],
  "relationships": [
    {
      "child": "Device",
      "child_columns": [
        "account_id"
      ],
      "code": "FK_DEVICES_ACCOUNT_ID",
      "cross_system": false,
      "description": "Device references Account",
      "kind": "FOREIGN_KEY",
      "parent": "Account",
      "parent_columns": [
        "account_id"
      ]
    },
    {
      "child": "Profile",
      "child_columns": [
        "household_id"
      ],
      "code": "FK_PROFILES_HOUSEHOLD_ID",
      "cross_system": false,
      "description": "Profile references Household",
      "kind": "FOREIGN_KEY",
      "parent": "Household",
      "parent_columns": [
        "household_id"
      ]
    },
    {
      "child": "Subscription",
      "child_columns": [
        "household_id"
      ],
      "code": "FK_SUBSCRIPTIONS_HOUSEHOLD_ID",
      "cross_system": false,
      "description": "Subscription references Household",
      "kind": "FOREIGN_KEY",
      "parent": "Household",
      "parent_columns": [
        "household_id"
      ]
    },
    {
      "child": "Entitlement",
      "child_columns": [
        "subscription_id"
      ],
      "code": "FK_ENTITLEMENTS_SUBSCRIPTION_ID",
      "cross_system": false,
      "description": "Entitlement references Subscription",
      "kind": "FOREIGN_KEY",
      "parent": "Subscription",
      "parent_columns": [
        "subscription_id"
      ]
    },
    {
      "child": "PaymentAttempt",
      "child_columns": [
        "invoice_id"
      ],
      "code": "FK_PAYMENT_ATTEMPTS_INVOICE_ID",
      "cross_system": false,
      "description": "PaymentAttempt references Invoice",
      "kind": "FOREIGN_KEY",
      "parent": "Invoice",
      "parent_columns": [
        "invoice_id"
      ]
    },
    {
      "child": "Household",
      "child_columns": [
        "account_ref"
      ],
      "code": "MSB_HOUSEHOLD_ACCOUNT",
      "cross_system": true,
      "description": "Subscriber-management households are owned by identity accounts",
      "kind": "RELATIONSHIP_TEMPLATE",
      "parent": "Account",
      "parent_columns": [
        "account_id"
      ]
    },
    {
      "child": "ViewingEvent",
      "child_columns": [
        "account_ref"
      ],
      "code": "MSB_VIEWING_ACCOUNT",
      "cross_system": true,
      "description": "Playback sessions are attributed to an account by account number",
      "kind": "RELATIONSHIP_TEMPLATE",
      "parent": "Account",
      "parent_columns": [
        "account_id"
      ]
    },
    {
      "child": "ViewingEvent",
      "child_columns": [
        "profile_ref"
      ],
      "code": "MSB_VIEWING_PROFILE",
      "cross_system": true,
      "description": "Playback sessions name the viewer profile",
      "kind": "RELATIONSHIP_TEMPLATE",
      "parent": "Profile",
      "parent_columns": [
        "profile_id"
      ]
    },
    {
      "child": "ViewingEvent",
      "child_columns": [
        "device_ref"
      ],
      "code": "MSB_VIEWING_DEVICE",
      "cross_system": true,
      "description": "Playback sessions name the registered device they streamed to",
      "kind": "RELATIONSHIP_TEMPLATE",
      "parent": "Device",
      "parent_columns": [
        "device_record_id"
      ]
    },
    {
      "child": "Invoice",
      "child_columns": [
        "subscription_ref"
      ],
      "code": "MSB_INVOICE_SUBSCRIPTION",
      "cross_system": true,
      "description": "Billing invoices subscriptions by subscription number",
      "kind": "RELATIONSHIP_TEMPLATE",
      "parent": "Subscription",
      "parent_columns": [
        "subscription_id"
      ]
    },
    {
      "child": "Invoice",
      "child_columns": [
        "account_ref"
      ],
      "code": "MSB_INVOICE_ACCOUNT",
      "cross_system": true,
      "description": "Invoices are charged to the paying identity account",
      "kind": "RELATIONSHIP_TEMPLATE",
      "parent": "Account",
      "parent_columns": [
        "account_id"
      ]
    },
    {
      "child": "SupportContact",
      "child_columns": [
        "account_ref"
      ],
      "code": "MSB_CONTACT_ACCOUNT",
      "cross_system": true,
      "description": "Support contacts are raised for accounts",
      "kind": "RELATIONSHIP_TEMPLATE",
      "parent": "Account",
      "parent_columns": [
        "account_id"
      ]
    },
    {
      "child": "ConsentPreference",
      "child_columns": [
        "account_ref"
      ],
      "code": "MSB_CONSENT_ACCOUNT",
      "cross_system": true,
      "description": "Consent choices belong to accounts",
      "kind": "RELATIONSHIP_TEMPLATE",
      "parent": "Account",
      "parent_columns": [
        "account_id"
      ]
    },
    {
      "child": "PromotionRedemption",
      "child_columns": [
        "subscription_ref"
      ],
      "code": "MSB_REDEMPTION_SUBSCRIPTION",
      "cross_system": true,
      "description": "Promotions and partner bundles are applied to subscriptions",
      "kind": "RELATIONSHIP_TEMPLATE",
      "parent": "Subscription",
      "parent_columns": [
        "subscription_id"
      ]
    }
  ]
}
