import { ServicePointAddress } from '../models/addresses/service-point-address';
import { ServicePointShipment } from '../models/service-points/service-point-shipment';
import { SearchRadius } from '../models/service-points/search-radius';
import { BaseRequest } from './base-request';

/** @description Basic structure for a request to get service points */
export class GetServicePointsRequest extends BaseRequest {
  /** @description The service code uniquely identifies a shipping service */
  service_code?: string;
  /** @description The address input for searching nearby carrier service points */
  address!: ServicePointAddress;
  /** @description The desired search radius around the given address */
  search_radius?: SearchRadius;
  /** @description The shipment information related to the service point */
  shipment?: ServicePointShipment;
  /** @description The maximum number of service points to return */
  max_results?: number;
}
