Files
doormile_backend/dto/booking.go
2026-06-22 17:43:40 +05:30

73 lines
2.9 KiB
Go

package dto
import "time"
type LocationCreateRequest struct {
Label string `json:"label"` // Home, Work, etc.
Receivername string `json:"receivername"`
Receiverphone string `json:"receiverphone"`
Address string `json:"address"`
Landmark string `json:"landmark"`
City string `json:"city"`
State string `json:"state"`
Pincode string `json:"pincode"`
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
Isdefault bool `json:"isdefault"`
}
type ParcelRequest struct {
Itemcategory string `json:"itemcategory"`
Itemdescription string `json:"itemdescription"`
Declaredvalue float64 `json:"declaredvalue"`
Weight float64 `json:"weight"` // optional — miler weighs at pickup
Length float64 `json:"length"` // optional
Width float64 `json:"width"` // optional
Height float64 `json:"height"` // optional
Isfragile bool `json:"isfragile"`
Needsinsurance bool `json:"needsinsurance"`
Requireslargevehicle bool `json:"requireslargevehicle"`
}
type PickupBookingRequest struct {
Pickuplocationid *int `json:"pickuplocationid"`
Pickupaddress string `json:"pickupaddress"` // required
Pickuppincode string `json:"pickuppincode"` // required
Pickuplatitude float64 `json:"pickuplatitude"`
Pickuplongitude float64 `json:"pickuplongitude"`
Deliveryaddress string `json:"deliveryaddress"` // optional — can be filled later
Deliverypincode string `json:"deliverypincode"` // optional
Deliverylatitude float64 `json:"deliverylatitude"`
Deliverylongitude float64 `json:"deliverylongitude"`
Preferredpickupfrom *time.Time `json:"preferredpickupfrom"`
Preferredpickupto *time.Time `json:"preferredpickupto"`
ServiceOption string `json:"serviceoption"` // Normal, Fast, Superfast
Parcels []ParcelRequest `json:"parcels"`
}
type PaymentRequest struct {
Amount float64 `json:"amount"`
Paymentmode string `json:"paymentmode"` // Cash, UPI, Card, Wallet
Transactionref string `json:"transactionref"`
}
type MilerLocationUpdateRequest struct {
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
Pincode string `json:"pincode"`
}
type MilerAvailabilityRequest struct {
Status string `json:"status"` // Offline, Available, Break, etc.
}
type PricingQuoteRequest struct {
Pickuppincode string `json:"pickuppincode"`
Deliverypincode string `json:"deliverypincode"`
Pickuplatitude float64 `json:"pickuplatitude"`
Pickuplongitude float64 `json:"pickuplongitude"`
Deliverylatitude float64 `json:"deliverylatitude"`
Deliverylongitude float64 `json:"deliverylongitude"`
Parcels []ParcelRequest `json:"parcels"`
}