from datetime import datetime

from typing import List, Dict

from ._TableOrder import TableOrder


class Table(object):
    def __init__(self):
        self.table_id = None  # type: str
        self.table_name = None  # type: str
        self.start_date = None  # type: datetime
        self.service_seats = 0  # type: int
        self.total_amount = 0.0  # type: float
        self.sub_total_amount = 0.0  # type: float
        self.total_per_seat = 0.0  # type: float
        self.total_discounts = 0.0  # type: float
        self.detailed_discounts = {}  # type: Dict
        self.detailed_payments = {}  # type: Dict
        self.orders = []  # type: List[TableOrder]
        self.tip = 0.0  # type: float
        self.user_id = None  # type: str
        self.user_name = None  # type: str
        self.promotional_tenders = 0  # type: float
        self.detailed_tip_excluded = {}  # type: Dict
        self.service_tenders = []  # type: List[dict]
        self.discount_groups = {}  # type: Dict
