# This file was generated by liblab | https://liblab.com/

from .utils.json_map import JsonMap
from .base import BaseModel


@JsonMap({"currency_code": "CurrencyCode", "monetary_value": "MonetaryValue"})
class ShipmentInvoiceLineTotal(BaseModel):
    """Container to hold InvoiceLineTotal Information.  Required if the shipment is from US/PR Outbound to non US/PR destination with the PackagingType of UPS PAK(04).Required for international shipments when using request option "ratetimeintransit" or "shoptimeintransit".

    :param currency_code: Invoice Line Total Currency type. The Currency code should match the origin country's or territory's currency code, otherwise the currency code entered will be ignored.  Note: UPS doesn't support all international currency codes. Please check the developer guides for Supported Currency codes.
    :type currency_code: str
    :param monetary_value: Total amount of the invoice accompanying the shipment. Required when the InvoiceLineTotal container exists in the rate request.  Valid values are from 1 to 99999999.
    :type monetary_value: str
    """

    def __init__(self, currency_code: str, monetary_value: str):
        self.currency_code = currency_code
        self.monetary_value = monetary_value
