
    >#in                        d dl mZmZ d dlmZ d dlmZ  G d de      Z G d de      Z G d d	e      Z G d
 de      Z	 G d de      Z
 G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d  d!e      Z G d" d#e      Z G d$ d%e      Zy&)'    )ListOptional)datetime)CustomModelc                   r    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d<   y)	Brandr   brand_idN/A
brand_namebrand_image	rationalegroup_idN)__name__
__module____qualname__r	   r   int__annotations__r   strr   r   r        >/var/www/html/retail-simulation-api/app/api/module_1/schema.pyr   r      sH    Hhsm %J%!&K#&$Ix}$Hhsmr   r   c                       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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<   ed        Zy)Segmentr   
segment_idr
   segment_namelocationchief_wage_earner_occupationmale_educationfemale_education
isec_valuetotal_populationadditional_detailsr   c                      | |j                   |j                  |j                  |j                  |j                  |j
                  |j                  |j                  |j                  |j                  
      S )N)
r   r   r   r   r   r   r    r!   r"   r   )
r   namer   r   highest_educated_malehighest_educated_femaleISEC_Segmentr!   other_detailsr   )clsobjs     r   from_ormzSegment.from_orm   sa    ~~\\),)I)I44 88'' 11"00\\
 	
r   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r   classmethodr+   r   r   r   r   r      s     !J!"'L(3-'#Hhsm#27 (3-7$)NHSM)&+hsm+ !J!&'hsm'(--Hhsm
 
r   r   c                       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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<   y)StoreFormatr   store_idr
   
store_namestore_name_rationale        
store_sizemerchandiser   additional_location_parametersservice_parameterstechnology_adoptionother_parametersstore_format_typer   N)r   r   r   r/   r   r   r   r0   r   r1   r3   floatr4   r   r5   r6   r7   r8   r9   r   r   r   r   r.   r.   '   s    Hhsm %J%*/(3-/"%J%!&K#&#Hhsm#49"HSM9(--).#.&+hsm+',x},Hhsmr   r.   c                       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d<   dZee   ed	<   dZee   ed
<   dZee	   ed<   y)Civilr   civil_idr   r
   r9   type_of_civil_workr2   rate_per_sqft
total_sqfttotalremarksN)r   r   r   r=   r   r   r   r   r9   r   r>   r?   r:   r@   rA   rB   r   r   r   r<   r<   5   st    HhsmHhsm',x},(--%(M8E?("%J% E8E? "GXc]"r   r<   c                       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d<   dZee   ed	<   dZee   ed
<   dZee	   ed<   y)DisplayRackingUnitr   rack_idr   r
   r9   type_display_racking_unitnumber_of_unitsr2   cost_per_unitrA   rB   N)r   r   r   rE   r   r   r   r   r9   r   rF   rG   rH   r:   rA   rB   r   r   r   rD   rD   ?   st    GXc]Hhsm',x},/4x}4%&OXc]&%(M8E?( E8E? "GXc]"r   rD   c                       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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<   y)CommercialEquipmentr   equipment_idr   r
   r9   type_of_equipmentunitsr2   rH   	universalequipment_typerA   rB   N)r   r   r   rK   r   r   r   r   r9   r   rL   rM   rH   r:   rO   rA   rB   r   r   r   rJ   rJ   I   s    "#L(3-#Hhsm',x},',x},E8C=%(M8E?($/NHSM/ E8E? "GXc]"r   rJ   c                       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d<   dZee   ed	<   dZee	   ed
<   y)Plumbingr   plumb_idr   r
   typerM   r2   rH   rA   rB   N)r   r   r   rR   r   r   r   r   rS   r   rM   rH   r:   rA   rB   r   r   r   rQ   rQ   T   sd    HhsmHhsmD(3-E8C=%(M8E?( E8E? "GXc]"r   rQ   c                       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d<   dZee   ed	<   dZee   ed
<   dZee	   ed<   y)ElectricalCablingr   electrical_idr   r
   r9   featuredetailsr2   rate_per_sqft_or_unitrA   rB   N)r   r   r   rV   r   r   r   r   r9   r   rW   rX   rY   r:   rA   rB   r   r   r   rU   rU   ]   st    #$M8C=$Hhsm',x},"GXc]""GXc]"-08E?0 E8E? "GXc]"r   rU   c                       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d<   dZee   ed	<   dZee   ed
<   dZee	   ed<   y)	Carpentryr   carpentry_idr   r
   r9   rS   rM   r2   rH   rA   rB   N)r   r   r   r\   r   r   r   r   r9   r   rS   rM   rH   r:   rA   rB   r   r   r   r[   r[   g   ss    "#L(3-#Hhsm',x},D(3-E8C=%(M8E?( E8E? "GXc]"r   r[   c                       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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<   y)InfoTechr   info_tech_idr   r
   r9   rS   categoryrM   r2   rH   rA   rB   available_capitalN)r   r   r   r_   r   r   r   r   r9   r   rS   r`   rM   rH   r:   rA   rB   ra   r   r   r   r^   r^   q   s    "#L(3-#Hhsm',x},D(3-#Hhsm#E8C=%(M8E?( E8E? "GXc]"),x,r   r^   c                       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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<   y)VisualMerchandisingElementsr   	visual_idr   r
   rS   rM   r2   costrA   rB   internal_displayexternal_displayfrequency_change_per_yearfrequency_change_remarksN)r   r   r   rd   r   r   r   r   rS   r   rM   re   r:   rA   rB   rf   rg   rh   ri   r   r   r   rc   rc   }   s     Ix} HhsmD(3-E8C=D(5/ E8E? "GXc]"&+hsm+&+hsm+/0x}0.3hsm3r   rc   c                       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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<   y)DisplayBoardr   display_board_idr   r
   r9   rS   sizeunitpricing_typer2   	cost_raterM   rA   rB   N)r   r   r   rl   r   r   r   r   r9   r   rS   rm   ro   rp   r:   rM   rA   rB   r   r   r   rk   rk      s    &'hsm'Hhsm',x},D(3-D(3-"(L(3-(!$Ix$E8C= E8E? "GXc]"r   rk   c                       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d<   dZee   ed	<   dZee	   ed
<   y)AdditionalInstallationsr   installation_idr   r
   r$   descriptionr2   rH   
total_costrB   N)r   r   r   rs   r   r   r   r   r$   r   rt   rH   r:   ru   rB   r   r   r   rr   rr      sd    %&OXc]&HhsmD(3-!&K#&%(M8E?("%J%"GXc]"r   rr   c                       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d<   dZee
   ed<   y	)
Depreciationr   depreciation_idr   	slm_yearsr
   slm_remarksother_methodsdepreciation_methodN)r   r   r   rx   r   r   r   r   ry   rz   r   r{   r|   r   r   r   rw   rw      sW    %&OXc]&Hhsm Ix} !&K#&#(M8C=().#.r   rw   c                       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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<   y)CapitalExpensesSummaryr   
summary_idr   r2   store_format_a_capital_excl_itstore_format_a_it_capitalstore_format_a_totalstore_format_b_capital_excl_itstore_format_b_it_capitalstore_format_b_totalr
   additional_remarkskey_takeawaysN)r   r   r   r   r   r   r   r   r   r:   r   r   r   r   r   r   r   r   r   r   r   r~   r~      s     !J!Hhsm69"HUO914x4,/(5//69"HUO914x4,/(5//(--#(M8C=(r   r~   c                      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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<   dZee   ed<   dZee   ed<   dZee   ed<   y)Summaryr   r   r
   store_submissionsstore_summariselocation_submissionslocation_summarisenetwork_submissionsnetwork_summarisecategory_submissionscategory_summarisepromotions_submissionspromotions_summarisemarketing_submissionsmarketing_summariseservice_submissionsservice_summarisebackend_submissionsbackend_summarisemetrics_submissionsmetrics_summariser   N)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   r   r   r   r   r      s+    !J!',x},%*OXc]**/(3-/(--).#.',x},*/(3-/(--,1HSM1*/(3-/+08C=0).#.).#.',x},).#.',x},).#.',x},Hhsmr   r   c                   
   e Zd ZU eed<   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<   dZee   ed<   eed<   eed<   y)Module1ReportPreviewr   brandsegmentsstore_formatscivildisplay_racking_units	carpentryelectrical_cablingdisplay_boardscommercial_equipmentinfotechvisual_merchandisingplumbingadditional_installationsNdepreciationcapital_expenses_summarylast_updated)r   r   r   r   r   r   r   r   r.   r<   rD   r[   rU   rk   rJ   r^   rc   rQ   rr   r   r   rw   r~   r   r   r   r   r   r      s    ML7m$$; 233I.//&&2338n:;;8n"#:;;,0L8L)044r   r   N)typingr   r   r   app.utils.schemas_utilsr   r   r   r.   r<   rD   rJ   rQ   rU   r[   r^   rc   rk   rr   rw   r~   r   r   r   r   r   <module>r      s    !  / K  
k 
6 +  #K ## #	#+ 	##{ ## ## #
-{ 
-4+ 4
#; 
##k #/; /
)[ 
) k  ,; r   