export interface ShippingOpenHour {
  from_hour: number;
  to_hour: number;
}

export interface ShippingMethod {
  id: number;
  name: string;
  description?: string;
  code: string;
  enabled: boolean;
  max_weight: number;
  min_weight: number;
  priority: number;
  time_note?: string;
  open_hours: ShippingOpenHour[];
  addresses: string[];
  needs_address: boolean;
  created_at?: string;
  updated_at?: string;
}

export interface PaginatedShippingMethodsResponse {
  shipping_methods: ShippingMethod[];
  total: number;
}

export type CreateShippingMethodRequest = Omit<
  ShippingMethod,
  "id" | "created_at" | "updated_at"
>;

export type UpdateShippingMethodRequest =
  Partial<CreateShippingMethodRequest> & {
    id: number;
  };
