package dto

type CustomerRegisterRequest struct {
	Firstname string `json:"firstname" xml:"firstname" form:"firstname"`
	Lastname  string `json:"lastname" xml:"lastname" form:"lastname"`
	Phone     string `json:"phone" xml:"phone" form:"phone"`
	Email     string `json:"email" xml:"email" form:"email"`
	Pin       string `json:"pin" xml:"pin" form:"pin"` // 4 or 6 digit PIN
	Configid  int    `json:"configid"`
}

type CustomerLoginRequest struct {
	Phone    string `json:"phone" xml:"phone" form:"phone"`
	Configid int    `json:"configid"`
}

type CustomerPinVerifyRequest struct {
	Phone       string `json:"phone" xml:"phone" form:"phone"`
	Pin         string `json:"pin" xml:"pin" form:"pin"`
	Configid    int    `json:"configid"`
	DeviceToken string `json:"device_token"`
}

type CustomerResetPinRequest struct {
	Phone    string `json:"phone" xml:"phone" form:"phone"`
	NewPin   string `json:"new_pin" xml:"new_pin" form:"new_pin"`
	Configid int    `json:"configid"`
}

type SendEmailOtpRequest struct {
	Email string `json:"email" xml:"email" form:"email"`
	Phone string `json:"phone" xml:"phone" form:"phone"`
}

type VerifyEmailOtpRequest struct {
	Email string `json:"email" xml:"email" form:"email"`
	Otp   string `json:"otp" xml:"otp" form:"otp"`
}

type MilerLoginRequest struct {
	Phone    string `json:"phone" xml:"phone" form:"phone"`
	Configid int    `json:"configid"`
}

type MilerPinVerifyRequest struct {
	Phone       string `json:"phone" xml:"phone" form:"phone"`
	Pin         string `json:"pin" xml:"pin" form:"pin"`
	Configid    int    `json:"configid"`
	DeviceToken string `json:"device_token"`
}

type AdminLoginRequest struct {
	Email    string `json:"email" xml:"email" form:"email"`
	Password string `json:"password" xml:"password" form:"password"`
}

type LoginResponse struct {
	Token string      `json:"token"`
	User  interface{} `json:"user"`
}
