package domain import "context" // PackageStatus represents the status of a package type PackageStatus struct { PackageID string `json:"packageid"` Status string `json:"status"` Location string `json:"location,omitempty"` } // PackageClient defines the interface for package operations type PackageClient interface { Check(ctx context.Context, packageID string) (*PackageStatus, error) Redirect(ctx context.Context, packageID, destination, code string) (string, error) }