1 package se.citerus.dddsample.interfaces.booking.facade;
2
3 import se.citerus.dddsample.interfaces.booking.facade.dto.CargoRoutingDTO;
4 import se.citerus.dddsample.interfaces.booking.facade.dto.LocationDTO;
5 import se.citerus.dddsample.interfaces.booking.facade.dto.RouteCandidateDTO;
6
7 import java.rmi.Remote;
8 import java.rmi.RemoteException;
9 import java.util.Date;
10 import java.util.List;
11
12
13
14
15
16 public interface BookingServiceFacade extends Remote {
17
18 String bookNewCargo(String origin, String destination, Date arrivalDeadline) throws RemoteException;
19
20 CargoRoutingDTO loadCargoForRouting(String trackingId) throws RemoteException;
21
22 void assignCargoToRoute(String trackingId, RouteCandidateDTO route) throws RemoteException;
23
24 void changeDestination(String trackingId, String destinationUnLocode) throws RemoteException;
25
26 List<RouteCandidateDTO> requestPossibleRoutesForCargo(String trackingId) throws RemoteException;
27
28 List<LocationDTO> listShippingLocations() throws RemoteException;
29
30 List<CargoRoutingDTO> listAllCargos() throws RemoteException;
31
32 }