Source code for pypresscart.models.order_items

"""Order item models."""

from __future__ import annotations

from datetime import datetime

from pypresscart.models._common import IncludeItem, PresscartModel
from pypresscart.models.orders import OutletRef


[docs] class OrderItemWriter(PresscartModel): id: str | None = None first_name: str | None = None last_name: str | None = None
[docs] class OrderItemClient(PresscartModel): first_name: str | None = None last_name: str | None = None
[docs] class OrderItemCampaignRef(PresscartModel): id: str | None = None name: str | None = None profile_id: str | None = None
[docs] class OrderItemArticle(PresscartModel): id: str | None = None name: str | None = None campaign: OrderItemCampaignRef | None = None writer: OrderItemWriter | None = None
[docs] class OrderItem(PresscartModel): """Record returned by ``GET /order-items``.""" id: str referrer_id: str | None = None referrer_team_id: str | None = None product_id: str | None = None commission_amount: float | None = None commission_date_paid: datetime | None = None commission_status: str | None = None is_accounting_completed: bool | None = None is_publisher_paid: bool | None = None is_reseller_paid: bool | None = None refund_required: bool | None = None is_refunded: bool | None = None refund_date: datetime | None = None refund_method: str | None = None refund_reference: str | None = None vendor_invoice_id: str | None = None vendor_cost: float | None = None vendor_invoice_date: datetime | None = None vendor_paid_date: datetime | None = None vendor_invoice_url: str | None = None accounting_completion_date: datetime | None = None publisher_paid_date: datetime | None = None reseller_paid_date: datetime | None = None created_at: datetime | None = None updated_at: datetime | None = None deleted_at: datetime | None = None order_id: str | None = None client_id: str | None = None date_paid: datetime | None = None sale_price: float | None = None product_name: str | None = None product_price: float | None = None product_type: str | None = None article_id: str | None = None article: OrderItemArticle | None = None internal_cost: float | None = None reseller_price: float | None = None client: OrderItemClient | None = None outlet: OutletRef | None = None
[docs] class ProfileOrderItem(PresscartModel): """Item returned by ``GET /profiles/{profile_id}/order-items`` (non-paginated list).""" id: str name: str | None = None description: str | None = None is_add_on: bool | None = None profile_id: str | None = None type: str | None = None campaign_id: str | None = None product_id: str | None = None min_delivery_days: int | None = None max_delivery_days: int | None = None outlet: OutletRef | None = None includes: list[IncludeItem] = []
__all__ = [ "OrderItem", "OrderItemArticle", "OrderItemCampaignRef", "OrderItemClient", "OrderItemWriter", "ProfileOrderItem", ]