# coding: utf-8

from __future__ import absolute_import
from datetime import date, datetime  # noqa: F401

from typing import List, Dict  # noqa: F401

from gpa_api.models.base_model_ import Model
from gpa_api import util


class Transport(Model):
    """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

    Do not edit the class manually.
    """

    def __init__(self, id=None, volume=None, pressure=None, boil_off_rate=None, from_date=None, to_date=None, created_date=None):  # noqa: E501
        """Transport - a model defined in OpenAPI

        :param id: The id of this Transport.  # noqa: E501
        :type id: str
        :param volume: The volume of this Transport.  # noqa: E501
        :type volume: float
        :param pressure: The pressure of this Transport.  # noqa: E501
        :type pressure: float
        :param boil_off_rate: The boil_off_rate of this Transport.  # noqa: E501
        :type boil_off_rate: float
        :param from_date: The from_date of this Transport.  # noqa: E501
        :type from_date: datetime
        :param to_date: The to_date of this Transport.  # noqa: E501
        :type to_date: datetime
        :param created_date: The created_date of this Transport.  # noqa: E501
        :type created_date: datetime
        """
        self.openapi_types = {
            'id': str,
            'volume': float,
            'pressure': float,
            'boil_off_rate': float,
            'from_date': datetime,
            'to_date': datetime,
            'created_date': datetime
        }

        self.attribute_map = {
            'id': 'id',
            'volume': 'volume',
            'pressure': 'pressure',
            'boil_off_rate': 'boilOffRate',
            'from_date': 'fromDate',
            'to_date': 'toDate',
            'created_date': 'createdDate'
        }

        self._id = id
        self._volume = volume
        self._pressure = pressure
        self._boil_off_rate = boil_off_rate
        self._from_date = from_date
        self._to_date = to_date
        self._created_date = created_date

    @classmethod
    def from_dict(cls, dikt) -> 'Transport':
        """Returns the dict as a model

        :param dikt: A dict.
        :type: dict
        :return: The Transport of this Transport.  # noqa: E501
        :rtype: Transport
        """
        return util.deserialize_model(dikt, cls)

    @property
    def id(self):
        """Gets the id of this Transport.


        :return: The id of this Transport.
        :rtype: str
        """
        return self._id

    @id.setter
    def id(self, id):
        """Sets the id of this Transport.


        :param id: The id of this Transport.
        :type id: str
        """

        self._id = id

    @property
    def volume(self):
        """Gets the volume of this Transport.


        :return: The volume of this Transport.
        :rtype: float
        """
        return self._volume

    @volume.setter
    def volume(self, volume):
        """Sets the volume of this Transport.


        :param volume: The volume of this Transport.
        :type volume: float
        """

        self._volume = volume

    @property
    def pressure(self):
        """Gets the pressure of this Transport.


        :return: The pressure of this Transport.
        :rtype: float
        """
        return self._pressure

    @pressure.setter
    def pressure(self, pressure):
        """Sets the pressure of this Transport.


        :param pressure: The pressure of this Transport.
        :type pressure: float
        """

        self._pressure = pressure

    @property
    def boil_off_rate(self):
        """Gets the boil_off_rate of this Transport.


        :return: The boil_off_rate of this Transport.
        :rtype: float
        """
        return self._boil_off_rate

    @boil_off_rate.setter
    def boil_off_rate(self, boil_off_rate):
        """Sets the boil_off_rate of this Transport.


        :param boil_off_rate: The boil_off_rate of this Transport.
        :type boil_off_rate: float
        """

        self._boil_off_rate = boil_off_rate

    @property
    def from_date(self):
        """Gets the from_date of this Transport.


        :return: The from_date of this Transport.
        :rtype: datetime
        """
        return self._from_date

    @from_date.setter
    def from_date(self, from_date):
        """Sets the from_date of this Transport.


        :param from_date: The from_date of this Transport.
        :type from_date: datetime
        """

        self._from_date = from_date

    @property
    def to_date(self):
        """Gets the to_date of this Transport.


        :return: The to_date of this Transport.
        :rtype: datetime
        """
        return self._to_date

    @to_date.setter
    def to_date(self, to_date):
        """Sets the to_date of this Transport.


        :param to_date: The to_date of this Transport.
        :type to_date: datetime
        """

        self._to_date = to_date

    @property
    def created_date(self):
        """Gets the created_date of this Transport.


        :return: The created_date of this Transport.
        :rtype: datetime
        """
        return self._created_date

    @created_date.setter
    def created_date(self, created_date):
        """Sets the created_date of this Transport.


        :param created_date: The created_date of this Transport.
        :type created_date: datetime
        """

        self._created_date = created_date
