
    >#i                     4   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y)    )ListOptional)datetime)CustomModelc                       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
)CompetitorPricingAnalysisr   competitor_idN/Areference_competitorpricing_strategy6which_category_generates_the_most_income_for_the_store+key_observation_around_pricing_in_the_storeother_remarksgroup_idN)__name__
__module____qualname__r	   r   int__annotations__r   strr   r   r   r   r        E/var/www/html/retail-simulation-api/app/api/module_6_report/schema.pyr   r      sh    #$M8C=$*/(3-/&+hsm+LQ:HSMQAF/#F#(M8C=(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<   y	)
StoreFormatepricingStrategiesr   store_idr
   store_format_typechoose_a_pricing_strategiesrationalspecify_other_strategyr   N)r   r   r   r   r   r   r   r   r   r   r   r    r   r   r   r   r   r      sY    Hhsm',x},16#6#Hhsm#,1HSM1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<   y	)
CategoryPricingStrategisr   category_idr
   categorypricing_strategisr    r   r   N)r   r   r   r#   r   r   r   r$   r   r%   r    r   r   r   r   r   r"   r"      sX    !"K#"#Hhsm#',x},,1HSM1#Hhsm#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	<   y
)DefineYourPromotionsr   	define_idr
   r   ongoing_key_promotionsamoung_key_variouse_promotionwhat_are_the_same_keyother_remarkr   N)r   r   r   r(   r   r   r   r   r   r)   r*   r+   r,   r   r   r   r   r'   r'   "   sh     Ix} */(3-/,1HSM138!8C=8+08C=0"'L(3-'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)PromotionalCalendarr   calendar_idr
   monthr$   type_of_promotionsuccess_metric	objectiveremarksr   N)r   r   r   r/   r   r   r   r0   r   r$   r1   r2   r3   r4   r   r   r   r   r.   r.   ,   ss    !"K#" E8C= #Hhsm#',x},$)NHSM)$Ix}$"GXc]"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<   y	)
PromotionCompetitorAnalysisr   promotion_idr
   competitor_effortstop_promotion_typestop_categories_for_promotionsspillover_categoriesr   N)r   r   r   r7   r   r   r   r8   r   r9   r:   r;   r   r   r   r   r6   r6   7   sZ    "#L(3-#(--).#.38!8C=8*/(3-/Hhsmr   r6   c                   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	)
RecoveryOfPromotionalr   recovery_idr
   based_unterstanding        what_percentagewhat_categoryr   N)r   r   r   r>   r   r   r   r?   r   rA   floatrB   r   r   r   r   r=   r=   @   sI    !"K#").#.'*OXe_*#(M8C=(Hhsmr   r=   c                   J    e Zd ZU dZee   ed<   i Zee   ed<   dZ	ee   ed<   y)CategoriesUnderPromotionsr   categories_idon_which_categoryr   N)
r   r   r   rF   r   r   r   rG   dictr   r   r   r   rE   rE   H   s-    #$M8C=$(*x~*Hhsmr   rE   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<   y)CustomerEngagementr   customer_idr
   promotions_submissionspromotions_summariser   N)r   r   r   rK   r   r   r   rL   r   rM   r   r   r   r   rJ   rJ   N   s<    !"K#",1HSM1*/(3-/Hhsm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	<   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)CompetitorLoyaltyr   r	   r
   r   do_they_have_a_loyalty_programloyalty_program_typekey_observations_loyaltyis_it_useful_for_storewant_loyalty_programdescribe_loyalty_programr@   budget_allocatedbenefits_of_loyalty_programperils_of_loyalty_programdifference_from_competitorother_notesr   N)r   r   r   r	   r   r   r   r   r   rP   rQ   rR   rS   rT   rU   rV   rC   rW   rX   rY   rZ   r   r   r   r   rO   rO   U   s    #$M8C=$*/(3-/49"HSM9*/(3-/.3hsm3,1HSM1*/(3-/.3hsm3(+huo+16#6/4x}4055!&K#&Hhsmr   rO   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<   y)Summaryr   
summary_idr
   rL   rM   r   N)r   r   r   r]   r   r   r   rL   r   rM   r   r   r   r   r\   r\   f   s<     !J!,1HSM1*/(3-/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d<   ee
   ed<   ee   ed<   eed<   eed	<   eed
<   eed<   eed<   eed<   y)Module6ReportPreviewr   competitor_pricing_analysisstore_format_pricing_strategiscategory_pricing_strategisdefine_your_promotions_strategypromotional_calendarpromotion_competitor_analysisrecovery_of_promotionalcategories_under_promotionscustomer_engagementcompetitor_loyaltysummarylast_updatedN)r   r   r   r   r   r   r   r   r"   r'   r.   r6   r=   rE   rJ   rO   r\   r   r   r   r   r_   r_   m   sg    M!::$()F$GG $%= >>%99233#'(C#DD22!::++))r   r_   N)typingr   r   r   app.utils.schemas_utilsr   r   r   r"   r'   r.   r6   r=   rE   rJ   rO   r\   r_   r   r   r   <module>rn      s    !  /    K   {   ;   +   +   K           " k  ; r   