o
    Th	                     @   s  d dl mZmZ d dlmZ d dlmZmZmZ d dlm	Z	 G dd de
e	ZG dd deZG d	d
 d
eZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZdS )    )	BaseModelField)datetime)ListOptionalDict)Enumc                   @   s   e Zd ZdZdZdZdS )StatusactiveinactivemaintenanceN)__name__
__module____qualname__ACTIVEINACTIVEMAINTENANCE r   r   </var/www/html/moveengine/app/v1/models/platform/schedules.pyr	      s    r	   c                   @      e Zd ZU eed< eed< dS )CoordinateslatlngN)r   r   r   float__annotations__r   r   r   r   r         
 r   c                   @   s   e Zd ZU dZee ed< eed< dZee ed< dZee	 ed< dZ
ee	 ed< dZeee  ed< dZee ed< dZee ed	< eejd
Zeed< dS )ScheduleBaseN
account_idschedule_namedescription
start_timeend_timetask_idsworkforce_idmetadata)defaultstatus)r   r   r   r   r   strr   r   r    r   r!   r"   r   r#   r$   r   r   r	   r   r&   r   r   r   r   r      s   
 r   c                   @   s   e Zd ZdS )ScheduleCreateN)r   r   r   r   r   r   r   r(       s    r(   c                   @   s   e Zd ZU dZee ed< dZee ed< dZee	 ed< dZ
ee	 ed< dZeee  ed< dZee ed< dZee ed< dS )	ScheduleUpdateNr   r   r    r!   r"   r#   r$   )r   r   r   r   r   r'   r   r   r    r   r!   r"   r   r#   r$   r   r   r   r   r   r)   #   s   
 r)   c                   @   sn   e Zd ZU eed< dZee ed< eed< dZ	ee
 ed< dZee
 ed< dZee
 ed< dZee ed< dS )	Scheduleschedule_idNsch_idcreated_datecustomer_infoworkforce_info
fleet_infotravel_status)r   r   r   r'   r   r,   r   intr   r.   dictr/   r0   r1   r   r   r   r   r*   ,   s   
 r*   c                   @   s"   e Zd ZU eed< ee ed< dS )	Schedulestotal_count	schedulesN)r   r   r   r2   r   r   r*   r   r   r   r   r4   5   s   
 r4   c                   @   s&   e Zd ZU eed< eed< eed< dS )ScheduleAssignmentRequestr+   r   r#   Nr   r   r   r'   r   r   r   r   r   r7   9   s   
 r7   c                   @   r   )ScheduleSelectItemr+   r   Nr8   r   r   r   r   r9   >   r   r9   c                   @   s   e Zd ZU eed< eed< dS )!ScheduleTravelStatusUpdateRequestr+   r1   N)r   r   r   r'   r   r2   r   r   r   r   r:   B   r   r:   c                   @   sv   e Zd ZU eed< dZee ed< dZee ed< dZ	ee ed< eed< e
ed< dZee ed< dZee ed	< dS )
TaskStoplocationNlocation_coordsdrop_locationdrop_location_coordstypesequencetimingcustomer_id)r   r   r   r'   r   r=   r   r   r>   r?   r2   rB   r   rC   r   r   r   r   r;   F   s   
 r;   c                   @   sZ   e Zd ZU eed< dZee ed< dZee ed< dZ	ee ed< dZ
eee  ed< dS )ScheduleWithTasksCreater   Nr    r!   r   
task_stops)r   r   r   r'   r   r    r   r   r!   r   rE   r   r;   r   r   r   r   rD   P   s   
 rD   N)pydanticr   r   r   typingr   r   r   enumr   r'   r	   r   r   r(   r)   r*   r4   r7   r9   r:   r;   rD   r   r   r   r   <module>   s     		
