generated: '2026-07-20' method: derived source: openapi/westpac-cds-banking-products-openapi.yml note: >- Entity-relationship graph derived from the CDS Get Products schema $ref graph. The domain is a single aggregate root (BankingProduct) with several composed child collections; there are no cross-entity id references (the model is a nested document, not a relational graph), so relationships are all composition (has_one / has_many via embedded arrays). entities: - name: BankingProductV3 id_field: productId id_type: ASCIIString description: A banking product openly offered to the market (list view). - name: BankingProductDetailV3 extends: BankingProductV3 description: Full product detail, adding bundles, features, constraints, eligibility, fees and rates. - name: BankingProductBundle description: A named bundle a product participates in, referencing other productIds. - name: BankingProductFeature - name: BankingProductConstraint - name: BankingProductEligibility - name: BankingProductFee - name: BankingProductDiscount - name: BankingProductDiscountEligibility - name: BankingProductDepositRate - name: BankingProductLendingRateV2 - name: BankingProductRateTierV3 - name: BankingProductRateCondition relationships: - from: BankingProductDetailV3 to: BankingProductBundle kind: has_many via: bundles - from: BankingProductDetailV3 to: BankingProductFeature kind: has_many via: features - from: BankingProductDetailV3 to: BankingProductConstraint kind: has_many via: constraints - from: BankingProductDetailV3 to: BankingProductEligibility kind: has_many via: eligibility - from: BankingProductDetailV3 to: BankingProductFee kind: has_many via: fees - from: BankingProductDetailV3 to: BankingProductDepositRate kind: has_many via: depositRates - from: BankingProductDetailV3 to: BankingProductLendingRateV2 kind: has_many via: lendingRates - from: BankingProductFee to: BankingProductDiscount kind: has_many via: discounts - from: BankingProductDiscount to: BankingProductDiscountEligibility kind: has_many via: eligibility - from: BankingProductDepositRate to: BankingProductRateTierV3 kind: has_many via: tiers - from: BankingProductLendingRateV2 to: BankingProductRateTierV3 kind: has_many via: tiers - from: BankingProductRateTierV3 to: BankingProductRateCondition kind: has_one via: applicabilityConditions - from: BankingProductBundle to: BankingProductV3 kind: references via: productIds detail: Soft reference by productId to other products included in the bundle.