class StartPaymentData(object):
    def __init__(
        self,
        pos_id,             # type: str
        order_id,           # type: str
        session_id,         # type: str
        operator,           # type: str
        electronic_type,    # type: str
        amount,             # type: str
        fiscal_date,        # type: str
        fiscal_time,        # type: str
        tender_id,          # type: str
    ):
        self.pos_id = int(pos_id)
        self.order_id = int(order_id)
        self.session_id = session_id
        self.operator = int(operator)
        self.electronic_type = int(electronic_type)
        self.amount = "{:,.2f}".format(float(amount)).replace(",", "").replace(".", ",") if amount else ""
        self.fiscal_date = fiscal_date
        self.fiscal_time = fiscal_time
        self.tender_id = tender_id
        self.ip_tef = None

    def __repr__(self):
        return 'StartPaymentData(pos_id={}, ' \
               'order_id={}, ' \
               'session_id={}, ' \
               'operator={}, ' \
               'tender_type={}, ' \
               'amount="{}", ' \
               'fiscal_date="{}", ' \
               'fiscal_time="{}", ' \
               'tender_id="{}", ' \
               'ip_tef={}' \
               ')'.format(
            self.pos_id, self.order_id, self.session_id, self.operator, str(self.electronic_type), self.amount,
            self.fiscal_date, self.fiscal_time, self.tender_id, self.ip_tef
        )

    def __str__(self):
        return self.__repr__()
