Module adcp.types.generated_poc.flat_rate_option

Classes

class FlatRatePricingOption (**data: Any)
Expand source code
class FlatRatePricingOption(AdCPBaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    currency: Annotated[
        str,
        Field(
            description='ISO 4217 currency code',
            examples=['USD', 'EUR', 'GBP', 'JPY'],
            pattern='^[A-Z]{3}$',
        ),
    ]
    is_fixed: Annotated[
        Literal[True],
        Field(description='Whether this is a fixed rate (true) or auction-based (false)'),
    ]
    min_spend_per_package: Annotated[
        float | None,
        Field(
            description='Minimum spend requirement per package using this pricing option, in the specified currency',
            ge=0.0,
        ),
    ] = None
    parameters: Annotated[
        Parameters | None,
        Field(description='Flat rate parameters for DOOH and time-based campaigns'),
    ] = None
    pricing_model: Annotated[
        Literal['flat_rate'], Field(description='Fixed cost regardless of delivery volume')
    ]
    pricing_option_id: Annotated[
        str,
        Field(
            description="Unique identifier for this pricing option within the product (e.g., 'flat_rate_usd_24h_takeover')"
        ),
    ]
    rate: Annotated[float, Field(description='Flat rate cost', ge=0.0)]

Base model for AdCP types with spec-compliant serialization.

AdCP JSON schemas use additionalProperties: false and do not allow null for optional fields. Therefore, optional fields must be omitted entirely when not present (not sent as null).

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Ancestors

Class variables

var currency : str
var is_fixed : Literal[True]
var min_spend_per_package : float | None
var model_config
var parametersParameters | None
var pricing_model : Literal['flat_rate']
var pricing_option_id : str
var rate : float

Inherited members

class Parameters (**data: Any)
Expand source code
class Parameters(AdCPBaseModel):
    model_config = ConfigDict(
        extra='forbid',
    )
    daypart: Annotated[
        str | None,
        Field(
            description="Specific daypart for time-based pricing (e.g., 'morning_commute', 'evening_prime', 'overnight')"
        ),
    ] = None
    duration_hours: Annotated[
        float | None,
        Field(description='Duration in hours for time-based flat rate pricing (DOOH)', ge=0.0),
    ] = None
    estimated_impressions: Annotated[
        int | None,
        Field(
            description='Estimated impressions for this flat rate option (informational, commonly used with SOV or time-based DOOH)',
            ge=0,
        ),
    ] = None
    loop_duration_seconds: Annotated[
        int | None, Field(description='Duration of ad loop rotation in seconds (DOOH)', ge=1)
    ] = None
    min_plays_per_hour: Annotated[
        int | None,
        Field(
            description='Minimum number of times ad plays per hour (DOOH frequency guarantee)', ge=0
        ),
    ] = None
    sov_percentage: Annotated[
        float | None,
        Field(
            description='Guaranteed share of voice as percentage (DOOH, 0-100)', ge=0.0, le=100.0
        ),
    ] = None
    venue_package: Annotated[
        str | None,
        Field(
            description="Named venue package identifier for DOOH (e.g., 'times_square_network', 'airport_terminals')"
        ),
    ] = None

Base model for AdCP types with spec-compliant serialization.

AdCP JSON schemas use additionalProperties: false and do not allow null for optional fields. Therefore, optional fields must be omitted entirely when not present (not sent as null).

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Ancestors

Class variables

var daypart : str | None
var duration_hours : float | None
var estimated_impressions : int | None
var loop_duration_seconds : int | None
var min_plays_per_hour : int | None
var model_config
var sov_percentage : float | None
var venue_package : str | None

Inherited members