
    `j                    N    d Z ddlmZ ddlmZ  edd       G d d             Zy	)
zTyped C59 aggregation row payloads for Liguria ISTAT XML export.

Each row represents aggregated guest movement statistics grouped by residence
(Italian province or foreign country) for a single reporting day.
    )annotations)	dataclassTF)frozeninitc                      e Zd ZU dZded<   ded<   ded<   ded<   ded<   d	Zded
<   ddddddd	d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZedd       Zedd       Z	edd       Z
y)IstatC59RowPayloada  Aggregated C59 movement row ready for XML serialization.
    
    Attributes:
        nazione: "i" for Italian residents, "e" for foreign residents
        residenza: 3-digit ISTAT code (province code for Italy, country code for foreign)
        arrivi: Number of guests arriving on this day with this residence
        partenze: Number of guests departing on this day with this residence
        presenze: Number of guests present overnight with this residence
        diurni: Number of same-day arrival/departure guests (default 0)
    strnazione	residenzaintarrivipartenzepresenzer   diurniN)r   r   r   arrivatipartitipresentir   c       	        ~   t         j                  | d|       t         j                  | d|       t         j                  | d||nt        |xs d             t         j                  | d||nt        |xs d             t         j                  | d||nt        |xs d             t         j                  | d|	       y )Nr
   r   r   r   r   r   r   )object__setattr__r   )
selfr
   r   r   r   r   r   r   r   r   s
             //backend/istat/xml_export/models/c59_payload.py__init__zIstatC59RowPayload.__init__    s     	4G44i8(Fc(-a.@	

 	 ,H#gl2C	

 	 ,H#hm!2D	

 	462    c                    | j                   S N)r   r   s    r   r   zIstatC59RowPayload.arrivati@   s    {{r   c                    | j                   S r   )r   r   s    r   r   zIstatC59RowPayload.partitiD       }}r   c                    | j                   S r   )r   r   s    r   r   zIstatC59RowPayload.presentiH   r   r   )r
   r	   r   r	   r   
int | Noner   r!   r   r!   r   r!   r   r!   r   r!   r   r   )returnr   )__name__
__module____qualname____doc____annotations__r   r   propertyr   r   r    r   r   r   r      s    	 LNKMMFCO "###"#3 3 	3
 3 3 3 3 3 3 3@      r   r   N)r&   
__future__r   dataclassesr   r   r)   r   r   <module>r,      s2    # ! $U#= = $=r   