o
    ëÉ¶dÐH  ã                   @   s8   d dl mZmZmZ d dlmZ eG dd„ deƒƒZdS )é    )Úformatted_flat_dictÚNONE_SENTINELÚ#value_allowed_none_or_none_sentinel)Úinit_model_state_from_kwargsc                   @   s  e Zd ZdZdd„ Zedd„ ƒZejdd„ ƒZedd„ ƒZejd	d„ ƒZed
d„ ƒZ	e	jdd„ ƒZ	edd„ ƒZ
e
jdd„ ƒZ
edd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd„ ƒZejdd„ ƒZedd „ ƒZejd!d „ ƒZed"d#„ ƒZejd$d#„ ƒZed%d&„ ƒZejd'd&„ ƒZed(d)„ ƒZejd*d)„ ƒZed+d,„ ƒZejd-d,„ ƒZed.d/„ ƒZejd0d/„ ƒZed1d2„ ƒZejd3d2„ ƒZed4d5„ ƒZejd6d5„ ƒZed7d8„ ƒZejd9d8„ ƒZed:d;„ ƒZejd<d;„ ƒZd=d>„ Zd?d@„ ZdAdB„ ZdCS )DÚInvoiceSummaryz
    Invoice details
    c                 K   sb  i dd“dd“dd“dd“dd	“d
d“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dddœ¥| _ i dd“dd“dd“dd“dd “d
d!“dd"“dd#“dd“dd“dd“dd“dd$“dd%“dd&“dd'“dd(“d)d*dœ¥| _d+| _d+| _d+| _d+| _d+| _d+| _d+| _d+| _	d+| _
d+| _d+| _d+| _d+| _d+| _d+| _d+| _d+| _d+| _d+| _d+S ),a  
        Initializes a new InvoiceSummary object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param spm_invoice_number:
            The value to assign to the spm_invoice_number property of this InvoiceSummary.
        :type spm_invoice_number: str

        :param ar_invoices:
            The value to assign to the ar_invoices property of this InvoiceSummary.
        :type ar_invoices: str

        :param bill_to_customer:
            The value to assign to the bill_to_customer property of this InvoiceSummary.
        :type bill_to_customer: oci.onesubscription.models.InvoicingBusinessPartner

        :param bill_to_contact:
            The value to assign to the bill_to_contact property of this InvoiceSummary.
        :type bill_to_contact: oci.onesubscription.models.InvoicingUser

        :param bill_to_address:
            The value to assign to the bill_to_address property of this InvoiceSummary.
        :type bill_to_address: oci.onesubscription.models.InvoicingAddress

        :param payment_method:
            The value to assign to the payment_method property of this InvoiceSummary.
        :type payment_method: str

        :param payment_term:
            The value to assign to the payment_term property of this InvoiceSummary.
        :type payment_term: oci.onesubscription.models.InvoicingPaymentTerm

        :param receipt_method:
            The value to assign to the receipt_method property of this InvoiceSummary.
        :type receipt_method: str

        :param currency:
            The value to assign to the currency property of this InvoiceSummary.
        :type currency: oci.onesubscription.models.InvoicingCurrency

        :param organization:
            The value to assign to the organization property of this InvoiceSummary.
        :type organization: oci.onesubscription.models.InvoicingOrganization

        :param type:
            The value to assign to the type property of this InvoiceSummary.
        :type type: str

        :param status:
            The value to assign to the status property of this InvoiceSummary.
        :type status: str

        :param subscription_number:
            The value to assign to the subscription_number property of this InvoiceSummary.
        :type subscription_number: str

        :param time_invoice_date:
            The value to assign to the time_invoice_date property of this InvoiceSummary.
        :type time_invoice_date: datetime

        :param time_created:
            The value to assign to the time_created property of this InvoiceSummary.
        :type time_created: datetime

        :param created_by:
            The value to assign to the created_by property of this InvoiceSummary.
        :type created_by: str

        :param time_updated:
            The value to assign to the time_updated property of this InvoiceSummary.
        :type time_updated: datetime

        :param updated_by:
            The value to assign to the updated_by property of this InvoiceSummary.
        :type updated_by: str

        :param invoice_lines:
            The value to assign to the invoice_lines property of this InvoiceSummary.
        :type invoice_lines: list[oci.onesubscription.models.InvoiceLineSummary]

        Úspm_invoice_numberÚstrÚar_invoicesÚbill_to_customerZInvoicingBusinessPartnerÚbill_to_contactZInvoicingUserÚbill_to_addressZInvoicingAddressÚpayment_methodÚpayment_termZInvoicingPaymentTermÚreceipt_methodÚcurrencyZInvoicingCurrencyÚorganizationZInvoicingOrganizationÚtypeÚstatusÚsubscription_numberÚtime_invoice_dateÚdatetimeÚtime_createdÚ
created_byÚtime_updatedzlist[InvoiceLineSummary])Ú
updated_byÚinvoice_linesZspmInvoiceNumberZ
arInvoicesZbillToCustomerZbillToContactZbillToAddressZpaymentMethodZpaymentTermZreceiptMethodZsubscriptionNumberZtimeInvoiceDateZtimeCreatedZ	createdByZtimeUpdatedZ	updatedByZinvoiceLinesN)Zswagger_typesZattribute_mapÚ_spm_invoice_numberÚ_ar_invoicesÚ_bill_to_customerÚ_bill_to_contactÚ_bill_to_addressÚ_payment_methodÚ_payment_termÚ_receipt_methodÚ	_currencyÚ_organizationÚ_typeÚ_statusÚ_subscription_numberÚ_time_invoice_dateÚ_time_createdÚ_created_byÚ_time_updatedÚ_updated_byÚ_invoice_lines)ÚselfÚkwargs© r1   úNusr/lib/python3.10/site-packages/oci/onesubscription/models/invoice_summary.pyÚ__init__   s¾   Rÿþýüûúùø	÷
öõôóòñðï
íÿþýüûúùø	÷
öõôóòñðï
í
zInvoiceSummary.__init__c                 C   ó   | j S )zõ
        **[Required]** Gets the spm_invoice_number of this InvoiceSummary.
        SPM Document Number is an functional identifier for invoice in SPM


        :return: The spm_invoice_number of this InvoiceSummary.
        :rtype: str
        ©r   ©r/   r1   r1   r2   r   ¤   ó   
z!InvoiceSummary.spm_invoice_numberc                 C   ó
   || _ dS )z÷
        Sets the spm_invoice_number of this InvoiceSummary.
        SPM Document Number is an functional identifier for invoice in SPM


        :param spm_invoice_number: The spm_invoice_number of this InvoiceSummary.
        :type: str
        Nr5   )r/   r   r1   r1   r2   r   °   ó   

c                 C   r4   )zÊ
        Gets the ar_invoices of this InvoiceSummary.
        AR Invoice Numbers comma separated under one invoice


        :return: The ar_invoices of this InvoiceSummary.
        :rtype: str
        ©r   r6   r1   r1   r2   r	   ¼   r7   zInvoiceSummary.ar_invoicesc                 C   r8   )zÔ
        Sets the ar_invoices of this InvoiceSummary.
        AR Invoice Numbers comma separated under one invoice


        :param ar_invoices: The ar_invoices of this InvoiceSummary.
        :type: str
        Nr:   )r/   r	   r1   r1   r2   r	   È   r9   c                 C   r4   )zÕ
        **[Required]** Gets the bill_to_customer of this InvoiceSummary.

        :return: The bill_to_customer of this InvoiceSummary.
        :rtype: oci.onesubscription.models.InvoicingBusinessPartner
        ©r   r6   r1   r1   r2   r
   Ô   ó   zInvoiceSummary.bill_to_customerc                 C   r8   )zÕ
        Sets the bill_to_customer of this InvoiceSummary.

        :param bill_to_customer: The bill_to_customer of this InvoiceSummary.
        :type: oci.onesubscription.models.InvoicingBusinessPartner
        Nr;   )r/   r
   r1   r1   r2   r
   Þ   ó   
c                 C   r4   )zÈ
        **[Required]** Gets the bill_to_contact of this InvoiceSummary.

        :return: The bill_to_contact of this InvoiceSummary.
        :rtype: oci.onesubscription.models.InvoicingUser
        ©r   r6   r1   r1   r2   r   è   r<   zInvoiceSummary.bill_to_contactc                 C   r8   )zÇ
        Sets the bill_to_contact of this InvoiceSummary.

        :param bill_to_contact: The bill_to_contact of this InvoiceSummary.
        :type: oci.onesubscription.models.InvoicingUser
        Nr>   )r/   r   r1   r1   r2   r   ò   r=   c                 C   r4   )zË
        **[Required]** Gets the bill_to_address of this InvoiceSummary.

        :return: The bill_to_address of this InvoiceSummary.
        :rtype: oci.onesubscription.models.InvoicingAddress
        ©r    r6   r1   r1   r2   r   ü   r<   zInvoiceSummary.bill_to_addressc                 C   r8   )zÊ
        Sets the bill_to_address of this InvoiceSummary.

        :param bill_to_address: The bill_to_address of this InvoiceSummary.
        :type: oci.onesubscription.models.InvoicingAddress
        Nr?   )r/   r   r1   r1   r2   r     r=   c                 C   r4   )z¹
        **[Required]** Gets the payment_method of this InvoiceSummary.
        Payment Method


        :return: The payment_method of this InvoiceSummary.
        :rtype: str
        ©r!   r6   r1   r1   r2   r     r7   zInvoiceSummary.payment_methodc                 C   r8   )z·
        Sets the payment_method of this InvoiceSummary.
        Payment Method


        :param payment_method: The payment_method of this InvoiceSummary.
        :type: str
        Nr@   )r/   r   r1   r1   r2   r     r9   c                 C   r4   )zÉ
        **[Required]** Gets the payment_term of this InvoiceSummary.

        :return: The payment_term of this InvoiceSummary.
        :rtype: oci.onesubscription.models.InvoicingPaymentTerm
        ©r"   r6   r1   r1   r2   r   (  r<   zInvoiceSummary.payment_termc                 C   r8   )zÅ
        Sets the payment_term of this InvoiceSummary.

        :param payment_term: The payment_term of this InvoiceSummary.
        :type: oci.onesubscription.models.InvoicingPaymentTerm
        NrA   )r/   r   r1   r1   r2   r   2  r=   c                 C   r4   )zº
        Gets the receipt_method of this InvoiceSummary.
        Receipt Method of Payment Mode


        :return: The receipt_method of this InvoiceSummary.
        :rtype: str
        ©r#   r6   r1   r1   r2   r   <  r7   zInvoiceSummary.receipt_methodc                 C   r8   )zÇ
        Sets the receipt_method of this InvoiceSummary.
        Receipt Method of Payment Mode


        :param receipt_method: The receipt_method of this InvoiceSummary.
        :type: str
        NrB   )r/   r   r1   r1   r2   r   H  r9   c                 C   r4   )z¾
        **[Required]** Gets the currency of this InvoiceSummary.

        :return: The currency of this InvoiceSummary.
        :rtype: oci.onesubscription.models.InvoicingCurrency
        ©r$   r6   r1   r1   r2   r   T  r<   zInvoiceSummary.currencyc                 C   r8   )z¶
        Sets the currency of this InvoiceSummary.

        :param currency: The currency of this InvoiceSummary.
        :type: oci.onesubscription.models.InvoicingCurrency
        NrC   )r/   r   r1   r1   r2   r   ^  r=   c                 C   r4   )zÊ
        **[Required]** Gets the organization of this InvoiceSummary.

        :return: The organization of this InvoiceSummary.
        :rtype: oci.onesubscription.models.InvoicingOrganization
        ©r%   r6   r1   r1   r2   r   h  r<   zInvoiceSummary.organizationc                 C   r8   )zÆ
        Sets the organization of this InvoiceSummary.

        :param organization: The organization of this InvoiceSummary.
        :type: oci.onesubscription.models.InvoicingOrganization
        NrD   )r/   r   r1   r1   r2   r   r  r=   c                 C   r4   )zÒ
        **[Required]** Gets the type of this InvoiceSummary.
        Document Type in SPM like SPM Invoice,SPM Credit Memo etc.,


        :return: The type of this InvoiceSummary.
        :rtype: str
        ©r&   r6   r1   r1   r2   r   |  r7   zInvoiceSummary.typec                 C   r8   )zÆ
        Sets the type of this InvoiceSummary.
        Document Type in SPM like SPM Invoice,SPM Credit Memo etc.,


        :param type: The type of this InvoiceSummary.
        :type: str
        NrE   )r/   r   r1   r1   r2   r   ˆ  r9   c                 C   r4   )zØ
        **[Required]** Gets the status of this InvoiceSummary.
        Document Status in SPM which depicts current state of invoice


        :return: The status of this InvoiceSummary.
        :rtype: str
        ©r'   r6   r1   r1   r2   r   ”  r7   zInvoiceSummary.statusc                 C   r8   )zÎ
        Sets the status of this InvoiceSummary.
        Document Status in SPM which depicts current state of invoice


        :param status: The status of this InvoiceSummary.
        :type: str
        NrF   )r/   r   r1   r1   r2   r      r9   c                 C   r4   )zá
        **[Required]** Gets the subscription_number of this InvoiceSummary.
        Invoice associated subscription plan number.


        :return: The subscription_number of this InvoiceSummary.
        :rtype: str
        ©r(   r6   r1   r1   r2   r   ¬  r7   z"InvoiceSummary.subscription_numberc                 C   r8   )zä
        Sets the subscription_number of this InvoiceSummary.
        Invoice associated subscription plan number.


        :param subscription_number: The subscription_number of this InvoiceSummary.
        :type: str
        NrG   )r/   r   r1   r1   r2   r   ¸  r9   c                 C   r4   )zÂ
        **[Required]** Gets the time_invoice_date of this InvoiceSummary.
        Invoice Date


        :return: The time_invoice_date of this InvoiceSummary.
        :rtype: datetime
        ©r)   r6   r1   r1   r2   r   Ä  r7   z InvoiceSummary.time_invoice_datec                 C   r8   )zÃ
        Sets the time_invoice_date of this InvoiceSummary.
        Invoice Date


        :param time_invoice_date: The time_invoice_date of this InvoiceSummary.
        :type: datetime
        NrH   )r/   r   r1   r1   r2   r   Ð  r9   c                 C   r4   )z¶
        Gets the time_created of this InvoiceSummary.
        SPM Invocie creation date


        :return: The time_created of this InvoiceSummary.
        :rtype: datetime
        ©r*   r6   r1   r1   r2   r   Ü  r7   zInvoiceSummary.time_createdc                 C   r8   )zÁ
        Sets the time_created of this InvoiceSummary.
        SPM Invocie creation date


        :param time_created: The time_created of this InvoiceSummary.
        :type: datetime
        NrI   )r/   r   r1   r1   r2   r   è  r9   c                 C   r4   )zº
        Gets the created_by of this InvoiceSummary.
        User that executed SPM Invoice process


        :return: The created_by of this InvoiceSummary.
        :rtype: str
        ©r+   r6   r1   r1   r2   r   ô  r7   zInvoiceSummary.created_byc                 C   r8   )zÃ
        Sets the created_by of this InvoiceSummary.
        User that executed SPM Invoice process


        :param created_by: The created_by of this InvoiceSummary.
        :type: str
        NrJ   )r/   r   r1   r1   r2   r      r9   c                 C   r4   )zµ
        Gets the time_updated of this InvoiceSummary.
        SPM Invoice updated date


        :return: The time_updated of this InvoiceSummary.
        :rtype: datetime
        ©r,   r6   r1   r1   r2   r     r7   zInvoiceSummary.time_updatedc                 C   r8   )zÀ
        Sets the time_updated of this InvoiceSummary.
        SPM Invoice updated date


        :param time_updated: The time_updated of this InvoiceSummary.
        :type: datetime
        NrK   )r/   r   r1   r1   r2   r     r9   c                 C   r4   )z±
        Gets the updated_by of this InvoiceSummary.
        User that updated SPM Invoice


        :return: The updated_by of this InvoiceSummary.
        :rtype: str
        ©r-   r6   r1   r1   r2   r   $  r7   zInvoiceSummary.updated_byc                 C   r8   )zº
        Sets the updated_by of this InvoiceSummary.
        User that updated SPM Invoice


        :param updated_by: The updated_by of this InvoiceSummary.
        :type: str
        NrL   )r/   r   r1   r1   r2   r   0  r9   c                 C   r4   )zñ
        Gets the invoice_lines of this InvoiceSummary.
        Invoice Lines under particular invoice.


        :return: The invoice_lines of this InvoiceSummary.
        :rtype: list[oci.onesubscription.models.InvoiceLineSummary]
        ©r.   r6   r1   r1   r2   r   <  r7   zInvoiceSummary.invoice_linesc                 C   r8   )zý
        Sets the invoice_lines of this InvoiceSummary.
        Invoice Lines under particular invoice.


        :param invoice_lines: The invoice_lines of this InvoiceSummary.
        :type: list[oci.onesubscription.models.InvoiceLineSummary]
        NrM   )r/   r   r1   r1   r2   r   H  r9   c                 C   s   t | ƒS ©N)r   r6   r1   r1   r2   Ú__repr__T  s   zInvoiceSummary.__repr__c                 C   s   |d u rdS | j |j kS )NF)Ú__dict__©r/   Úotherr1   r1   r2   Ú__eq__W  s   zInvoiceSummary.__eq__c                 C   s
   | |k S rN   r1   rQ   r1   r1   r2   Ú__ne__]  s   
zInvoiceSummary.__ne__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r3   Úpropertyr   Úsetterr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rO   rS   rT   r1   r1   r1   r2   r      s¦     




	
	
	
	
	
	


	
	


	
	
	
	

















r   N)Zoci.utilr   r   r   Zoci.decoratorsr   Úobjectr   r1   r1   r1   r2   Ú<module>   s   