Models

class ccbenefits.models.PeriodType(*values)[source]

Bases: str, Enum

monthly = 'monthly'
quarterly = 'quarterly'
semiannual = 'semiannual'
annual = 'annual'
class ccbenefits.models.RedemptionType(*values)[source]

Bases: str, Enum

binary = 'binary'
continuous = 'continuous'
class ccbenefits.models.User(**kwargs)[source]

Bases: Base

id: Mapped[int]
email: Mapped[str]
display_name: Mapped[str]
hashed_password: Mapped[str | None]
preferred_currency: Mapped[str]
timezone: Mapped[str]
notification_preferences: Mapped[dict | None]
is_active: Mapped[bool]
password_reset_token: Mapped[str | None]
password_reset_expires: Mapped[datetime | None]
is_verified: Mapped[bool]
verification_token: Mapped[str | None]
verification_token_expires: Mapped[datetime | None]
created_at: Mapped[datetime]
updated_at: Mapped[datetime]
cards: Mapped[list[UserCard]]
oauth_accounts: Mapped[list[UserOAuthAccount]]
class ccbenefits.models.UserOAuthAccount(**kwargs)[source]

Bases: Base

id: Mapped[int]
user_id: Mapped[int]
provider: Mapped[str]
provider_user_id: Mapped[str]
provider_email: Mapped[str]
created_at: Mapped[datetime]
user: Mapped[User]
class ccbenefits.models.CardTemplate(**kwargs)[source]

Bases: Base

id: Mapped[int]
name: Mapped[str]
issuer: Mapped[str]
annual_fee: Mapped[float]
image_url: Mapped[str | None]
benefits: Mapped[list[BenefitTemplate]]
user_cards: Mapped[list[UserCard]]
class ccbenefits.models.BenefitTemplate(**kwargs)[source]

Bases: Base

id: Mapped[int]
card_template_id: Mapped[int]
name: Mapped[str]
description: Mapped[str | None]
max_value: Mapped[float]
period_type: Mapped[str]
redemption_type: Mapped[str]
category: Mapped[str]
card_template: Mapped[CardTemplate]
class ccbenefits.models.UserCard(**kwargs)[source]

Bases: Base

id: Mapped[int]
user_id: Mapped[int]
card_template_id: Mapped[int]
nickname: Mapped[str | None]
member_since_date: Mapped[date | None]
renewal_date: Mapped[date | None]
closed_date: Mapped[date | None]
is_active: Mapped[bool]
created_at: Mapped[datetime]
user: Mapped[User]
card_template: Mapped[CardTemplate]
usages: Mapped[list[BenefitUsage]]
benefit_settings: Mapped[list[UserBenefitSetting]]
class ccbenefits.models.UserBenefitSetting(**kwargs)[source]

Bases: Base

id: Mapped[int]
user_card_id: Mapped[int]
benefit_template_id: Mapped[int]
perceived_max_value: Mapped[float]
user_card: Mapped[UserCard]
benefit_template: Mapped[BenefitTemplate]
class ccbenefits.models.BenefitUsage(**kwargs)[source]

Bases: Base

id: Mapped[int]
user_card_id: Mapped[int]
benefit_template_id: Mapped[int]
period_start_date: Mapped[date]
period_end_date: Mapped[date]
amount_used: Mapped[float]
notes: Mapped[str | None]
created_at: Mapped[datetime]
user_card: Mapped[UserCard]
benefit_template: Mapped[BenefitTemplate]
class ccbenefits.models.Feedback(**kwargs)[source]

Bases: Base

id: Mapped[int]
user_id: Mapped[int]
category: Mapped[str]
message: Mapped[str]
created_at: Mapped[datetime]
user: Mapped[User]
class ccbenefits.models.PushToken(**kwargs)[source]

Bases: Base

id: Mapped[int]
user_id: Mapped[int]
token: Mapped[str]
device_name: Mapped[str | None]
created_at: Mapped[datetime]
user: Mapped[User]
class ccbenefits.models.NotificationLog(**kwargs)[source]

Bases: Base

id: Mapped[int]
user_id: Mapped[int]
notification_type: Mapped[str]
channel: Mapped[str]
reference_key: Mapped[str]
sent_at: Mapped[datetime]
user: Mapped[User]
class ccbenefits.models.Notification(**kwargs)[source]

Bases: Base

id: Mapped[int]
user_id: Mapped[int]
notification_type: Mapped[str]
title: Mapped[str]
body: Mapped[str]
data: Mapped[dict | None]
is_read: Mapped[bool]
created_at: Mapped[datetime]
user: Mapped[User]
class ccbenefits.models.UnsubscribeToken(**kwargs)[source]

Bases: Base

id: Mapped[int]
user_id: Mapped[int]
token_hash: Mapped[str]
notification_type: Mapped[str]
created_at: Mapped[datetime]
expires_at: Mapped[datetime]
used_at: Mapped[datetime | None]
user: Mapped[User]