+
    `ØjÃ  ã                   ó–   € ^ RI HtHt ^ RIHt ^ RIHt ^ RIHtHt  ! R R]4      t	 ! R R]4      t
 ! R	 R
]4      t ! R R]4      tR# )é    )Ú	BaseModelÚField)ÚOptional)ÚUUID)ÚdateÚdatetimec                   ód   a € ] tR t^t o RtRtRtRtRtRt	Rt
RtRt ! R R4      tV 3R ltRtV tR# )ÚStockBalanceResponsez‡
Schema for serializing a single row in the Stock Balance report.
Includes both raw database values and enriched human-readable names.
Nc                   ó   € ] tR t^tRtRtR# )ÚStockBalanceResponse.ConfigT© N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úfrom_attributesÚ__static_attributes__r   ó    Ú?/var/www/html/audi_dev/backend/app/modules/inventory/schemas.pyÚConfigr      ó   † ØŒr   r   c                ó*  <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[,          ;R	&   S[S[,          ;R
&   S[S[,          ;R&   S[S[,          ;R&   # )é   Úinventory_idÚrm_idÚstore_idÚcurrent_qtyÚreserved_qtyÚin_transit_qtyÚlast_updatedÚrm_nameÚ
rm_part_noÚ
store_nameÚuomÚ	min_stock)r   Úfloatr   r   Ústr)ÚformatÚ__classdict__s   "€r   Ú__annotate__Ú!StockBalanceResponse.__annotate__   sÀ   ø‡ ‚ ñ
 Ññ ñ �Kñ ñ �Nñ ñ Ññ ñ ™5•/Ñ(ñ ñ ™U•OÑ*ñ ñ ™8Õ$Ñ+ñ ñ ‘c�]Ñ!ñ ñ ™•Ñ$ñ ñ  ™•Ñ$ñ! ñ" 
‘#�Ññ# ñ$ ™�Ñ%ò% r   r   )r   r   r   r   Ú__doc__r   r    r!   r"   r#   r$   r%   r&   r   Ú__annotate_func__r   Ú__classdictcell__©r*   s   @r   r
   r
      sG   ø‡ € ñð %)€LØ&*€NØ'+€Lð "€GØ $€JØ $€JØ€CØ!%€I÷ñ ÷) ƒ r   r
   c                   óL   a € ] tR t^t o Rt]! R^ R7      tRtRtV 3R lt	Rt
V tR# )ÚConsumptionRequestzz
Payload schema for reporting raw material consumption.
Enforces that consumed quantity must be strictly positive (gt=0).
.©ÚgtNc                ó‚   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[;R&   S[;R&   S[S[,          ;R&   S[S[,          ;R&   # )r   r   r   ÚqtyÚconsumed_dateÚdescriptionÚremarks)r   r'   r   r   r(   )r)   r*   s   "€r   r+   ÚConsumptionRequest.__annotate__   sY   ø‡ ‚ ñ
 �Kñ ñ �Nñ ñ 
Ñ!ñ ñ Ññ ñ ™#•Ñ%ñ ñ ‘c�]Ñ!ò r   r   )r   r   r   r   r-   r   r6   r8   r9   r.   r   r/   r0   s   @r   r2   r2      s)   ø‡ € ññ �s˜qÔ!€Cà!%€KØ!€G÷ ƒ r   r2   c                   óH   a € ] tR t^*t o Rt]! R^ R7      tRtV 3R ltRt	V t
R# )ÚTransferRequestz’
Payload schema for requesting an internal store-to-store transfer.
Enforces positive quantity to prevent reverse transfers via negative numbers.
.r3   Nc                óf   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[S[,          ;R&   # )r   r   Úfrom_store_idÚto_store_idr6   r9   )r   r'   r   r(   )r)   r*   s   "€r   r+   ÚTransferRequest.__annotate__*   sI   ø‡ ‚ ñ
 �Kñ ñ Ññ ñ Ññ ñ 
Ñ!ñ ñ ‘c�]Ñ!ò r   r   )r   r   r   r   r-   r   r6   r9   r.   r   r/   r0   s   @r   r<   r<   *   s$   ø‡ € ññ �s˜qÔ!€CØ!€G÷ ƒ r   r<   c                   óX   a € ] tR t^5t o RtRtRtRtRtRt	 ! R R4      t
V 3R ltRtV tR# )ÚInventoryLedgerResponsezŽ
Schema for serializing historical stock transactions (The Ledger).
Captures the exact balance before and after the transaction for auditing.
Nc                   ó   € ] tR t^MtRtRtR# )ÚInventoryLedgerResponse.ConfigTr   Nr   r   r   r   r   rD   M   r   r   r   c                óZ  <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[,          ;R&   S[S[ ,          ;R	&   S[S[,          ;R
&   S[;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[,          ;R&   S[S[,          ;R&   # )r   Úlog_idr   r   Útransaction_typer6   Úbalance_beforeÚbalance_afterÚreference_typeÚreference_idr9   Ú
created_atr"   r#   r$   r%   r8   )r   r(   r'   r   r   )r)   r*   s   "€r   r+   Ú$InventoryLedgerResponse.__annotate__5   sñ   ø‡ ‚ ñ
 �Lñ ñ �Kñ ñ �Nñ ñ Ññ ñ 
�Jñ ñ Ññ ñ Ññ ñ ™S•MÑ!ñ ñ ™4•.Ñ ñ ñ ‘c�]Ññ ñ Ññ ñ$ ‘c�]Ñ!ñ% ñ& ™•Ñ$ñ' ñ( ™•Ñ$ñ) ñ* 
‘#�Ññ+ ñ, ™#•Ñ%ò- r   r   )r   r   r   r   r-   r"   r#   r$   r%   r8   r   r.   r   r/   r0   s   @r   rB   rB   5   s6   ø‡ € ñð" "€GØ $€JØ $€JØ€CØ!%€K÷ñ ÷1 ƒ r   rB   N)Úpydanticr   r   Útypingr   Úuuidr   r   r   r
   r2   r<   rB   r   r   r   Ú<module>rQ      sA   ðç %Ý Ý ß #ô˜9ô ô.
"˜ô 
"ô	"�iô 	"ô˜iö r   