#!/usr/bin/env python3
# @generated AUTOGENERATED file. Do not Change!

from dataclasses import dataclass, field as _field
from functools import partial
from ...config import custom_scalars, datetime
from numbers import Number
from typing import Any, AsyncGenerator, Dict, List, Generator, Optional

from dataclasses_json import DataClassJsonMixin, config

from gql_client.runtime.enum_utils import enum_field_metadata
from ..enum.work_order_priority import WorkOrderPriority
from ..enum.work_order_status import WorkOrderStatus

from ..input.check_list_category_input import CheckListCategoryInput
from ..input.check_list_item_input import CheckListItemInput
from ..input.property_input import PropertyInput


@dataclass(frozen=True)
class AddWorkOrderInput(DataClassJsonMixin):
    name: str
    workOrderTypeId: str
    properties: List[PropertyInput]
    checkList: List[CheckListItemInput]
    checkListCategories: List[CheckListCategoryInput]
    description: Optional[str] = None
    locationId: Optional[str] = None
    projectId: Optional[str] = None
    ownerId: Optional[str] = None
    assigneeId: Optional[str] = None
    index: Optional[int] = None
    organizationFk: Optional[str] = None
    status: Optional[WorkOrderStatus] = None
    priority: Optional[WorkOrderPriority] = None
    duration: Optional[Number] = None
    dueDate: Optional[datetime] = None
