"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from gusto_app_integration.types import BaseModel
from typing import Optional
from typing_extensions import NotRequired, TypedDict


class PayrollPayrollStatusMetaTypeTypedDict(TypedDict):
    r"""Information about the payroll's status and expected dates"""

    cancellable: NotRequired[bool]
    r"""true if the payroll may be cancelled."""
    expected_check_date: NotRequired[str]
    r"""The date an employee will be paid if the payroll is submitted now."""
    initial_check_date: NotRequired[str]
    r"""The normal check date for the associated pay period."""
    expected_debit_time: NotRequired[str]
    r"""The time the employer's account will be debited if the payroll is submitted now."""
    payroll_late: NotRequired[bool]
    r"""expected_check_date > initial_check_date."""
    initial_debit_cutoff_time: NotRequired[str]
    r"""Payroll must be submitted at or before this time to avoid late payroll."""


class PayrollPayrollStatusMetaType(BaseModel):
    r"""Information about the payroll's status and expected dates"""

    cancellable: Optional[bool] = None
    r"""true if the payroll may be cancelled."""

    expected_check_date: Optional[str] = None
    r"""The date an employee will be paid if the payroll is submitted now."""

    initial_check_date: Optional[str] = None
    r"""The normal check date for the associated pay period."""

    expected_debit_time: Optional[str] = None
    r"""The time the employer's account will be debited if the payroll is submitted now."""

    payroll_late: Optional[bool] = None
    r"""expected_check_date > initial_check_date."""

    initial_debit_cutoff_time: Optional[str] = None
    r"""Payroll must be submitted at or before this time to avoid late payroll."""
