package viewmodel

import (
	"time"
)

// VisitStatus entity data
type VisitStatus struct {
	Key   string `json:"key,omitempty"`
	Value string `json:"value,omitempty"`
}

// Visit entity data
type Visit struct {
	UUID                 string           `json:"visit_uuid,omitempty"`
	Status               VisitStatus      `json:"visit_status,omitempty"`
	User                 User             `json:"user,omitempty"`
	VisitDatetime        time.Time        `json:"visit_datetime,omitempty"`
	VisitDuration        int64            `json:"visit_duration,omitempty"`
	PickupDatetime       time.Time        `json:"pickup_datetime,omitempty"`
	Notes                *string          `json:"notes,omitempty"`
	PickupAddressID      int64            `json:"pickup_address_id,omitempty"`
	DestinationAddressID int64            `json:"destination_address_id,omitempty"`
	Pickup               Location         `json:"pickup,omitempty"`
	Provider             ProviderResp     `json:"provider,omitempty"`
	CreatedUser          User             `json:"created_user,omitempty"`
	CreatedDate          time.Time        `json:"created,omitempty"`
	UpdatedDate          time.Time        `json:"updated,omitempty"`
	ReturnDate           *time.Time       `json:"return_date,omitempty"`
	TripType             TripType         `json:"trip_type,omitempty"`
	ExternalID           string           `json:"visit_external_id,omitempty"`
	Rides                []Ride           `json:"rides,omitempty"`
	RawProvider          ProviderResponse `json:"raw_provider,omitempty"`
}
