
    {i	                         d dl mZmZ d dlmZ d dlmZ d dlmZ  G d dej                        Z
 G d dej                        Zy	)
    )MaxValueValidatorMinValueValidator)models)Booking)	Structurec                   ~   e Zd Z ej                  eej                  d      Z ej                  d      Z	 ej                  dd ed      gd	      Z ej                  d
d ed       ed      gd	      Z ej                  d      Z ej"                  d      Z ej"                  d      Z G d d      Zd Zy)Serviceservices	on_deleterelated_name   )
max_length
      r   zGross price including VAT.
max_digitsdecimal_places
validators	help_text   d   z,VAT rate applied to the gross service price.T)defaultauto_now_addauto_nowc                   F    e Zd ZdZddgZ ej                  ddgd      gZy)Service.Metar
   nameid	structureuniq_service_name_per_structurefieldsr    N__name__
__module____qualname__db_tableorderingr   UniqueConstraintconstraints     /backend/services/models.pyMetar      s2    D>#F###V,6
r/   r1   c                 :    | j                    d| j                   dS )Nz ())r    structure_idselfs    r0   __str__zService.__str__)   s     ))Bt00133r/   N)r'   r(   r)   r   
ForeignKeyr   CASCADEr"   	CharFieldr    DecimalFieldr   default_pricer   vat_rateBooleanField	is_activeDateTimeField
created_at
updated_atr1   r7   r.   r/   r0   r	   r	      s    !!!..I
 6s+D'F''%a().	M #v""%a(*;C*@A@	H $##D1I%%%48J%%%t4J
 
4r/   r	   c                   p   e Zd Z ej                  eej                  d      Z ej                  eej                  d      Z
 ej                  dd ed      gd      Z ej                  dd ed       ed	      gd
      Z ej                   d      Z ej                   d      Z G d d      Zd Zy)BookingServicebooking_servicesr   r   r   r   z3Gross price snapshot captured on booking selection.r   r   r   z0VAT rate snapshot captured on booking selection.Tr   r   c                   D    e Zd ZdZdgZ ej                  ddgd      gZy)BookingService.MetarE   r!   bookingserviceuniq_service_per_bookingr$   Nr&   r.   r/   r0   r1   rG   G   s0    %6#F##!9-/
r/   r1   c                 :    d| j                    d| j                   S )NzBooking z -> Service )
booking_id
service_idr5   s    r0   r7   zBookingService.__str__Q   s    $//*,t6GHHr/   N)r'   r(   r)   r   r8   r   r9   rH   r	   PROTECTrI   r;   r   pricer   r=   r@   rA   rB   r1   r7   r.   r/   r0   rD   rD   -   s    f..'G
  f..'G
  F%a()G	E #v""%a(*;C*@AD	H &%%48J%%%t4J
 
Ir/   rD   N)django.core.validatorsr   r   	django.dbr   bookings.modelsr   structures.modelsr   Modelr	   rD   r.   r/   r0   <module>rU      s4    G  # '"4fll "4J%IV\\ %Ir/   