package common

import "encoding/xml"

type SoldStatusDataRequest struct {
	XMLName        xml.Name       `xml:"VehicleSoldStatusDataRequestReplicate"`
	Header         HeaderArea     `xml:"HeaderArea" validate:"required"`
	SoldStatusData SoldStatusData `xml:"DataArea>SoldStatusData" validate:"required"`
}

type SoldStatusData struct {
	VIN        string `xml:"VIN"`
	SoldStatus string `xml:"SoldStatus"`
}

// SoldStatusDataRequestSwag is used ONLY to represent SoldStatusDataRequest in swagger.
type SoldStatusDataRequestSwag struct {
	Header struct {
		CreationDateTime  CreationDateTime `json:"CreationDateTime" swaggertype:"string"`
		MessageIdentifier string           `json:"MessageIdentifier"`
		InterfaceID       int              `json:"InterfaceId"`
		Sender            struct {
			SourceSystem string `json:"SourceSystem"`
			TargetSystem string `json:"TargetSystem"`
		} `json:"Sender"`
	} `json:"HeaderArea" validate:"required"`
	DataArea struct {
		SoldStatusData struct {
			VIN        string `json:"vin"`
			SoldStatus string `json:"sold_status"`
		} `json:"SoldStatusData" validate:"required"`
	} `json:"DataArea"`
} // @name VehicleSoldStatusDataRequestReplicate
