1 package se.citerus.dddsample.application;
2
3 import se.citerus.dddsample.domain.model.cargo.Itinerary;
4 import se.citerus.dddsample.domain.model.cargo.TrackingId;
5 import se.citerus.dddsample.domain.model.location.UnLocode;
6
7 import java.util.Date;
8 import java.util.List;
9
10
11
12
13 public interface BookingService {
14
15
16
17
18
19
20
21
22
23 TrackingId bookNewCargo(UnLocode origin, UnLocode destination, Date arrivalDeadline);
24
25
26
27
28
29
30
31 List<Itinerary> requestPossibleRoutesForCargo(TrackingId trackingId);
32
33
34
35
36
37 void assignCargoToRoute(Itinerary itinerary, TrackingId trackingId);
38
39
40
41
42
43
44
45 void changeDestination(TrackingId trackingId, UnLocode unLocode);
46
47 }