from pydantic import BaseModel
from typing import Optional


class VTSettingsResponse(BaseModel):
    auth_pre_auth: bool
    auth_request_auth: bool
    details_quick_charge: bool
    details_item_details: bool
    freq_single: bool
    freq_split: bool
    freq_recurring: bool
    method_card: bool
    method_ach: bool
    method_cash: bool
    method_cheque: bool
    method_split_tender: bool
    late_fee_btn_1: str
    late_fee_btn_2: str
    late_fee_btn_3: str
    late_fee_btn_4: str
    late_fee_btn_type: str
    cap_fee_btn_1: str
    cap_fee_btn_2: str
    cap_fee_btn_3: str
    cap_fee_btn_4: str
    cap_fee_btn_type: str
    enable_attachments: bool
    enable_customer_message: bool
    enable_discounts: bool
    receipt_email: bool
    receipt_sms: bool


class VTSettingsUpdate(BaseModel):
    auth_pre_auth: Optional[bool] = None
    auth_request_auth: Optional[bool] = None
    details_quick_charge: Optional[bool] = None
    details_item_details: Optional[bool] = None
    freq_single: Optional[bool] = None
    freq_split: Optional[bool] = None
    freq_recurring: Optional[bool] = None
    method_card: Optional[bool] = None
    method_ach: Optional[bool] = None
    method_cash: Optional[bool] = None
    method_cheque: Optional[bool] = None
    method_split_tender: Optional[bool] = None
    late_fee_btn_1: Optional[str] = None
    late_fee_btn_2: Optional[str] = None
    late_fee_btn_3: Optional[str] = None
    late_fee_btn_4: Optional[str] = None
    late_fee_btn_type: Optional[str] = None
    cap_fee_btn_1: Optional[str] = None
    cap_fee_btn_2: Optional[str] = None
    cap_fee_btn_3: Optional[str] = None
    cap_fee_btn_4: Optional[str] = None
    cap_fee_btn_type: Optional[str] = None
    enable_attachments: Optional[bool] = None
    enable_customer_message: Optional[bool] = None
    enable_discounts: Optional[bool] = None
    receipt_email: Optional[bool] = None
    receipt_sms: Optional[bool] = None
