o
    ³LÌh_
  ã                   @   sÄ   d dl mZmZ d dlmZmZmZ d dlm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)ÚOptionalÚListÚDict)Údatetimec                   @   s6   e Zd ZU eed< eed< eed< dZee ed< dS )ÚWayPointÚlocationÚtypeÚsequenceNÚtiming)Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__Úintr   r   © r   r   ú8/var/www/html/moveengine/app/v1/models/platform/tasks.pyr      s
   
 r   c                   @   s   e Zd ZU eed< eed< dS )ÚCoordinatesÚlatÚlngN)r   r   r   Úfloatr   r   r   r   r   r      ó   
 r   c                   @   sÆ  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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Zee ed< dZee ed< dZee ed< dZee ed< i Zee ed< i Zee ed< i Zee ed< dZee ed< dZee ed< dZee ed< g 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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 )#ÚTaskBaseÚ
account_idNÚschedule_idÚ
service_idÚcustomer_idÚscheduled_startÚscheduled_endÚactual_startÚ
actual_endÚpendingÚstatusÚ	scheduledÚ	task_modeÚnormalÚpriorityFÚ	roundtripr   ÚcapacityÚ	variablesÚaddonsÚ	checklistÚ
time_spentÚdistance_travelledÚcostÚ
task_stopsÚt_idr	   Úlocation_coordsÚdrop_locationÚdrop_location_coordsr
   r   r   ))r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r$   r&   r(   r)   Úboolr*   r   r+   r   r,   r-   r.   r   r/   r0   r1   r   r   r2   r	   r3   r   r4   r5   r
   r   r   r   r   r   r   r      s:   
 r   c                   @   s   e Zd ZdS )Ú
TaskCreateN)r   r   r   r   r   r   r   r7   -   s    r7   c                   @   sº   e Zd ZU ee ed< ee ed< ee ed< ee ed< ee ed< ee ed< ee ed< ee	 ed< ee	 ed	< ee	 ed
< ee
 ed< ee
 ed< ee
 ed< eee  ed< dS )Ú
TaskUpdater$   r&   r(   r!   r"   r)   r*   r+   r,   r-   r.   r/   r0   r1   N)r   r   r   r   r   r   r   r6   r   r   r   r   r   r   r   r   r   r8   0   s   
 r8   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< dZee ed< dZee ed< dZee ed< dS )	ÚTaskÚtask_idNr2   Úcreated_dateÚcustomer_infoÚworkforce_infoÚ
fleet_infoÚtask_status)r   r   r   r   r   r2   r   r   r;   r   r<   Údictr=   r>   r?   r   r   r   r   r9   @   s   
 r9   c                   @   s"   e Zd ZU eed< ee ed< dS )ÚTaskListÚtotal_countÚusersN)r   r   r   r   r   r   r9   r   r   r   r   rA   I   s   
 rA   c                   @   ó   e Zd ZU eed< eed< dS )ÚTaskStatusUpdateRequestr:   r?   N©r   r   r   r   r   r   r   r   r   r   rE   M   r   rE   c                   @   rD   )ÚTaskStatusResponser:   r?   NrF   r   r   r   r   rG   Q   r   rG   N)Úpydanticr   r   Útypingr   r   r   r   r   r   r   r7   r8   r9   rA   rE   rG   r   r   r   r   Ú<module>   s    	