Data model
"accounts"."ACCOUNT" {
shape: sql_table
link: "../../accounts/internals/models/#components.payment_gateway.subcomponents.accounts.models.account.Account"
"id": UUID {constraint: primary_key}
"account_holder_id": UUID
"description": TEXT
"external_id": VARCHAR(255)
"provider": VARCHAR(255)
"reference": TEXT
"terminated_at": DATETIME
}
"cards"."CARD_HOLDER" {
shape: sql_table
link: "../internals/models/#components.payment_gateway.subcomponents.cards.models.card_holder.CardHolder"
"id": UUID {constraint: primary_key}
"display_name": TEXT
"external_id": VARCHAR(255)
"first_name": TEXT
"last_name": TEXT
"provider": VARCHAR(255)
"short_name": VARCHAR(18)
"terminated_at": DATETIME
}
"cards"."CARD" {
shape: sql_table
link: "../internals/models/#components.payment_gateway.subcomponents.cards.models.card.Card"
"id": UUID {constraint: primary_key}
"account_id": UUID
"card_holder_id": UUID
"description": TEXT
"display_name": TEXT
"expiration_date": DATE
"external_id": VARCHAR(255)
"is_virtual": BOOLEAN
"issuance_reason": TEXT
"issued_at": DATETIME
"last_four_digits": VARCHAR(4)
"provider": VARCHAR(255)
"reference": TEXT
"terminated_at": DATETIME
}
"cards"."CARD_STATUS_LOG" {
shape: sql_table
link: "../internals/models/#components.payment_gateway.subcomponents.cards.models.card.CardStatusLog"
"id": UUID {constraint: primary_key}
"card_id": UUID
"reason": TEXT
"status": VARCHAR(255)
"suspension_source": VARCHAR(255)
}
"transfers"."CARD_PAYMENT" {
shape: sql_table
link: "../../transfers/internals/models/#components.payment_gateway.subcomponents.transfers.models.card_transfer.CardTransfer"
"id": UUID {constraint: primary_key}
"account_id": UUID
"card_id": UUID
"city": VARCHAR(255)
"country": VARCHAR(255)
"effective_date": DATETIME
"external_id": VARCHAR(255)
"mcc": VARCHAR(10)
"merchant_id": VARCHAR(255)
"name": VARCHAR(255)
"postal_code": VARCHAR(255)
"provider": VARCHAR(255)
"raw": JSONB
"transfer_history_id": UUID
}
"cards"."CARD_ORDER" {
shape: sql_table
link: "../internals/models/#components.payment_gateway.subcomponents.cards.models.card_order.CardOrder"
"id": UUID {constraint: primary_key}
"card_id": UUID
"delivery_status": VARCHAR(255)
"shipping_method": VARCHAR(255)
"tracking_number": VARCHAR(255)
}
"cards"."CARD_PROVISIONING" {
shape: sql_table
link: "../internals/models/#components.payment_gateway.subcomponents.cards.models.card_provisioning.CardProvisioning"
"id": UUID {constraint: primary_key}
"card_id": UUID
"external_id": VARCHAR(255)
"provider": VARCHAR(255)
"provisioning_date": DATETIME
"provisioning_type": VARCHAR(255)
"wallet_provider": VARCHAR
}
"rules"."EXPENSE_LIMIT_RULE" {
shape: sql_table
link: "../../rules/internals/models/#components.payment_gateway.subcomponents.rules.models.expense_limit_rule.ExpenseLimitRule"
"id": UUID {constraint: primary_key}
"amount": INTEGER
"card_id": UUID
"criteria": JSONB
"currency": VARCHAR(255)
"description": TEXT
"end": DATETIME
"external_id": VARCHAR(255)
"first_day": INTEGER
"is_active": BOOLEAN
"period": VARCHAR(255)
"reference": TEXT
"start": DATETIME
"terminated_at": DATETIME
}
"cards"."CARD_HOLDER"."id" -> "cards"."CARD"."card_holder_id": {
source-arrowhead.shape: cf-one
target-arrowhead.shape: cf-many
}
"accounts"."ACCOUNT"."id" -> "cards"."CARD"."account_id": {
source-arrowhead.shape: cf-one
target-arrowhead.shape: cf-many
}
"cards"."CARD"."id" -> "cards"."CARD_STATUS_LOG"."card_id": {
source-arrowhead.shape: cf-one-required
target-arrowhead.shape: cf-many
}
"cards"."CARD"."id" -> "transfers"."CARD_PAYMENT"."card_id": {
source-arrowhead.shape: cf-one
target-arrowhead.shape: cf-many
}
"accounts"."ACCOUNT"."id" -> "transfers"."CARD_PAYMENT"."account_id": {
source-arrowhead.shape: cf-one
target-arrowhead.shape: cf-many
}
"cards"."CARD"."id" -> "cards"."CARD_ORDER"."card_id": {
source-arrowhead.shape: cf-one-required
target-arrowhead.shape: cf-many
}
"cards"."CARD"."id" -> "cards"."CARD_PROVISIONING"."card_id": {
source-arrowhead.shape: cf-one
target-arrowhead.shape: cf-many
}
"cards"."CARD"."id" -> "rules"."EXPENSE_LIMIT_RULE"."card_id": {
source-arrowhead.shape: cf-one
target-arrowhead.shape: cf-many
}
Hold "Alt" / "Option" to enable pan & zoom