# coding: utf-8

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

from typing import List, Dict  # noqa: F401

from swagger_server.models.base_model_ import Model
from swagger_server import util


class BookingDetails(Model):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """

    def __init__(self, id: int=None, patient_name: str=None, phonenumber: int=None,  
        booking_date: str=None, start_time: str=None, end_time: str=None):  # noqa: E501
        self.swagger_types = {
            'id': int,
            'patient_name': str,
            'phonenumber': str,
            'booking_date': str,
            'start_time': str,
            'end_time': str
        }

        self.attribute_map = {
            'id': 'id',
            'patient_name': 'patientName',
            'phonenumber': 'phonenumber',
            'booking_date': 'bookingdate',
            'start_time': 'starttime',
            'end_time': 'endtime'
        }

        self._id = id
        self._patient_name = patient_name
        self._phonenumber = phonenumber
        self._booking_date = booking_date
        self._start_time = start_time
        self._end_time = end_time


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

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

    @property
    def id(self) -> int:
        """Gets the id of this BookingDetails.

        dentist id  # noqa: E501

        :return: The id of this BookingDetails.
        :rtype: int
        """
        return self._id

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

        dentist id  # noqa: E501

        :param id: The id of this BookingDetails.
        :type id: int
        """

        self._id = id

    @property
    def timeslot(self) -> str:
        """Gets the timeslot of this BookingDetails.

        timeslot  # noqa: E501

        :return: The timeslot of this BookingDetails.
        :rtype: str
        """
        return self._timeslot

    @timeslot.setter
    def timeslot(self, timeslot: str):
        """Sets the timeslot of this BookingDetails.

        timeslot  # noqa: E501

        :param timeslot: The timeslot of this BookingDetails.
        :type timeslot: str
        """

        self._timeslot = timeslot

    @property
    def patient_name(self) -> str:
        """Gets the patient_name of this BookingDetails.

        patient name  # noqa: E501

        :return: The patient_name of this BookingDetails.
        :rtype: str
        """
        return self._patient_name

    @patient_name.setter
    def patient_name(self, patient_name: str):
        """Sets the patient_name of this BookingDetails.

        patient name  # noqa: E501

        :param patient_name: The patient_name of this BookingDetails.
        :type patient_name: str
        """

        self._patient_name = patient_name

    @property
    def phonenumber(self) -> str:
        """Gets the phonenumber of this BookingDetails.

        patient phone number  # noqa: E501

        :return: The phonenumber of this BookingDetails.
        :rtype: int
        """
        return self._phonenumber

    @phonenumber.setter
    def phonenumber(self, phonenumber: str):
        """Sets the phonenumber of this BookingDetails.

        patient phone number  # noqa: E501

        :param phonenumber: The phonenumber of this BookingDetails.
        :type phonenumber: int
        """

        self._phonenumber = phonenumber

    @property
    def booking_date(self) -> str:
        return self._booking_date
    
    @booking_date.setter
    def booking_date(self, booking_date: str):
        self._booking_date = booking_date
    
    @property
    def start_time(self) -> str:
        return self._start_time

    @start_time.setter
    def start_time(self, start_time: str):
        self._start_time = start_time

    @property
    def end_time(self) -> str:
        return self._end_time

    @start_time.setter
    def end_time(self, end_time: str):
        self._end_time = end_time