package dto

type SaveDraftCheckoutInfoRequest struct {
	CartID               string  `json:"cartId"`
	PhoneNumber          *string `json:"phoneNumber"`
	DeliveryInstructions *string `json:"deliveryInstructions"`
	Email                *string `json:"email"`
	RecipientName        *string `json:"recipientName"`
	// Address
	Address1            string  `json:"address1"`
	Address2            string  `json:"address2"`
	PostalCode          string  `json:"postalCode"`
	UnitNumber          string  `json:"unitNumber"`
	CountryCode         string  `json:"countryCode"`
	SubLevelLocationIDs []int64 `json:"subLevelLocationIds"`
}

type GetDraftCheckoutInfoByBuyerRequest struct {
	CartID string `uri:"cartId"`
}

type GetDraftCheckoutInfoBySellerRequest struct {
	CartID  string  `uri:"cartId"`
	BuyerID *string `json:"buyerId"`
}

type DeleteDraftCheckoutInfoRequest struct {
	CartID string `uri:"cartId"`
}

type DraftCheckoutInfoResponse struct {
	CartID               string   `json:"cartId"`
	PhoneNumber          *string  `json:"phoneNumber"`
	DeliveryInstructions *string  `json:"deliveryInstructions"`
	Email                *string  `json:"email"`
	RecipientName        *string  `json:"recipientName"`
	Address              *Address `json:"address"`
}

type DraftCheckoutInfoArrayResponse struct {
	Total int64                     `json:"total"`
	Data  DraftCheckoutInfoResponse `json:"data"`
}
