Source code for kittycad.models.billing_contract_view

import datetime
from typing import List, Optional

from ..models.billing_cadence import BillingCadence
from ..models.billing_commitment_scope import BillingCommitmentScope
from ..models.billing_contract_item_view import BillingContractItemView
from ..models.billing_contract_status import BillingContractStatus
from ..models.billing_external_customer_id import BillingExternalCustomerId
from ..models.billing_period_view import BillingPeriodView
from ..models.billing_provider import BillingProvider
from ..models.billing_rollover_policy import BillingRolloverPolicy
from ..models.currency import Currency
from ..models.uuid import Uuid
from .base import KittyCadBaseModel


[docs] class BillingContractView(KittyCadBaseModel): """Serialized contract snapshot returned from the database.""" account_id: Uuid billing_cadence: BillingCadence commitment_scope: BillingCommitmentScope contract_id: Uuid currency: Currency discount_description: Optional[str] = None effective_at: datetime.datetime external_customer_id: Optional[BillingExternalCustomerId] = None items: List[BillingContractItemView] name: str notes: Optional[str] = None periods: List[BillingPeriodView] provider: BillingProvider rollover_policy: BillingRolloverPolicy status: BillingContractStatus term_end_at: datetime.datetime