Index: ../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnit/CreateActivityAction.java
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnit/CreateActivityAction.java b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnit/CreateActivityAction.java
deleted file mode 100644
--- a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnit/CreateActivityAction.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ /dev/null	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
@@ -1,28 +0,0 @@
-package eu.reply.lea.services.yard.actions.loadingUnit;
-
-import java.io.Serializable;
-
-import javax.validation.constraints.NotNull;
-
-import eu.reply.lea.services.yard.model.LoadingUnitActivity;
-import eu.reply.lea.services.yard.model.LoadingUnitActivity.Type;
-import lombok.AccessLevel;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import lombok.NonNull;
-
-@Data
-@NoArgsConstructor(access = AccessLevel.PROTECTED)
-public class CreateActivityAction implements Serializable {
-
-	private static final long serialVersionUID = -6196993781192275618L;
-
-	@NonNull
-	@NotNull
-	private LoadingUnitActivity.Type activityType;
-    
-    public CreateActivityAction(final Type activityType) {
-        this.activityType = activityType;
-    }
-    
-}
Index: ../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnitActivity/LoadingUnitActivityCompleteAction.java
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnitActivity/LoadingUnitActivityCompleteAction.java b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnitActivity/LoadingUnitActivityCompleteAction.java
deleted file mode 100644
--- a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnitActivity/LoadingUnitActivityCompleteAction.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ /dev/null	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
@@ -1,18 +0,0 @@
-package eu.reply.lea.services.yard.actions.loadingUnitActivity;
-
-import java.math.BigDecimal;
-
-import eu.reply.lea.services.yard.actions.request.AbstractLoadUnloadCompleteAction;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public class LoadingUnitActivityCompleteAction extends AbstractLoadUnloadCompleteAction {
-
-	private static final long serialVersionUID = -8591155068671019270L;
-
-	public LoadingUnitActivityCompleteAction(final BigDecimal movedWeight) {
-        super(movedWeight);
-    }
-
-}
Index: ../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnitActivity/LoadingUnitActivityConfirmAction.java
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnitActivity/LoadingUnitActivityConfirmAction.java b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnitActivity/LoadingUnitActivityConfirmAction.java
deleted file mode 100644
--- a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnitActivity/LoadingUnitActivityConfirmAction.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ /dev/null	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
@@ -1,25 +0,0 @@
-package eu.reply.lea.services.yard.actions.loadingUnitActivity;
-
-import java.io.Serializable;
-
-import javax.validation.constraints.NotNull;
-
-import eu.reply.lea.services.masterdata.reference.DockReference;
-import lombok.AccessLevel;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-import lombok.NonNull;
-import lombok.RequiredArgsConstructor;
-
-@Data
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-@RequiredArgsConstructor
-public class LoadingUnitActivityConfirmAction implements Serializable {
-
-	private static final long serialVersionUID = 6856088952416788472L;
-
-	@NotNull
-	@NonNull
-	private DockReference dock;
-
-}
Index: ../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnitActivity/LoadingUnitActivityStartAction.java
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnitActivity/LoadingUnitActivityStartAction.java b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnitActivity/LoadingUnitActivityStartAction.java
deleted file mode 100644
--- a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnitActivity/LoadingUnitActivityStartAction.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ /dev/null	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
@@ -1,17 +0,0 @@
-package eu.reply.lea.services.yard.actions.loadingUnitActivity;
-
-import java.io.Serializable;
-
-import lombok.AccessLevel;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-@Data
-@NoArgsConstructor(access = AccessLevel.PUBLIC)
-public class LoadingUnitActivityStartAction implements Serializable {
-
-	private static final long serialVersionUID = 167577472538107676L;
-
-	private String loadingUnitCode;
-
-}
Index: ../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnitMovement/LoadingUnitMovementStartAction.java
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnitMovement/LoadingUnitMovementStartAction.java b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnitMovement/LoadingUnitMovementStartAction.java
deleted file mode 100644
--- a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnitMovement/LoadingUnitMovementStartAction.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ /dev/null	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
@@ -1,48 +0,0 @@
-package eu.reply.lea.services.yard.actions.loadingUnitMovement;
-
-import org.apache.commons.lang3.StringUtils;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-
-import eu.reply.lea.services.yard.actions.loadingUnit.BaseLoadingUnitHookVehicleAction;
-import eu.reply.lea.services.yard.reference.SwitcherReference;
-import eu.reply.sce.backend.core.entity.TypedEntityReference;
-import lombok.AccessLevel;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-@Getter
-@Setter
-@NoArgsConstructor(access = AccessLevel.PUBLIC)
-public class LoadingUnitMovementStartAction extends BaseLoadingUnitHookVehicleAction{
-
-    private SwitcherReference switcherReference;
-    private String switcherCode;
-
-    public LoadingUnitMovementStartAction(final SwitcherReference switcherReference) {
-        this.switcherReference = switcherReference;
-    }
-    
-    public LoadingUnitMovementStartAction(final String switcherCode) {
-        this.switcherCode = switcherCode;
-    }
-
-    @Override
-    @JsonIgnore
-    public boolean isHookingVehicleDataMissing() {
-        return switcherReference==null && StringUtils.isBlank(switcherCode);
-    }
-
-    @Override
-    @JsonIgnore
-    public TypedEntityReference<?> getAttachingVehicleReference() {
-        return switcherReference;
-    }
-
-    @Override
-    @JsonIgnore
-    public Object getAttachingUnitIdentification() {
-        return switcherCode;
-    }
-}
Index: ../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/events/LoadingUnitActivityCreatedEvent.java
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/events/LoadingUnitActivityCreatedEvent.java b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/events/LoadingUnitActivityCreatedEvent.java
deleted file mode 100644
--- a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/events/LoadingUnitActivityCreatedEvent.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ /dev/null	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
@@ -1,18 +0,0 @@
-package eu.reply.lea.services.yard.events;
-
-import eu.reply.lea.services.yard.model.LoadingUnitActivity;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public class LoadingUnitActivityCreatedEvent extends YardEvent<LoadingUnitActivity> {
-
-	private static final long serialVersionUID = 7512553630487309278L;
-
-	public static final String NAME = "loadingUnitActivityCreated";
-
-    public LoadingUnitActivityCreatedEvent(final LoadingUnitActivity payload) {
-        super(payload);
-    }
-
-}
Index: ../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/events/LoadingUnitActivityDeletedEvent.java
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/events/LoadingUnitActivityDeletedEvent.java b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/events/LoadingUnitActivityDeletedEvent.java
deleted file mode 100644
--- a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/events/LoadingUnitActivityDeletedEvent.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ /dev/null	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
@@ -1,18 +0,0 @@
-package eu.reply.lea.services.yard.events;
-
-import eu.reply.lea.services.yard.model.LoadingUnitActivity;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public class LoadingUnitActivityDeletedEvent extends YardEvent<LoadingUnitActivity> {
-
-	private static final long serialVersionUID = 44638950709925793L;
-
-	public static final String NAME = "loadingUnitActivityDeleted";
-
-    public LoadingUnitActivityDeletedEvent(final LoadingUnitActivity payload) {
-        super(payload);
-    }
-
-}
Index: ../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/events/LoadingUnitActivityUpdatedEvent.java
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/events/LoadingUnitActivityUpdatedEvent.java b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/events/LoadingUnitActivityUpdatedEvent.java
deleted file mode 100644
--- a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/events/LoadingUnitActivityUpdatedEvent.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ /dev/null	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
@@ -1,18 +0,0 @@
-package eu.reply.lea.services.yard.events;
-
-import eu.reply.lea.services.yard.model.LoadingUnitActivity;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public class LoadingUnitActivityUpdatedEvent extends YardEvent<LoadingUnitActivity> {
-
-	private static final long serialVersionUID = -5158379642259136380L;
-
-	public static final String NAME = "loadingUnitActivityUpdated";
-
-    public LoadingUnitActivityUpdatedEvent(final LoadingUnitActivity payload) {
-        super(payload);
-    }
-
-}
Index: ../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/exceptions/LoadingUnitActivityActionException.java
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/exceptions/LoadingUnitActivityActionException.java b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/exceptions/LoadingUnitActivityActionException.java
deleted file mode 100644
--- a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/exceptions/LoadingUnitActivityActionException.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ /dev/null	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
@@ -1,36 +0,0 @@
-package eu.reply.lea.services.yard.exceptions;
-
-import eu.reply.sce.backend.core.exception.SerializableCheckedException;
-import lombok.Getter;
-
-public class LoadingUnitActivityActionException extends SerializableCheckedException {
-
-	private static final long serialVersionUID = -2985777030208542841L;
-
-	public enum Codes {
-        //@formatter:off
-        STATUS_NOT_VALID("Loading unit Activity is not in a valid status"),
-        MISSING_DOCK("Missing Dock");
-        //@formatter:on
-
-        @Getter
-        private String message;
-
-        private Codes(final String message) {
-            this.message = message;
-        }
-
-    }
-
-    private String loadingUnitCode;
-
-    public LoadingUnitActivityActionException(final Codes errorCode, final String loadingUnitCode) {
-        super(errorCode.name(), String.format("Action not allowed: %s - Loading Unit Code: %s", errorCode.getMessage(), loadingUnitCode));
-        this.loadingUnitCode = loadingUnitCode;
-    }
-
-    public String getLoadingUnitCode() {
-        return loadingUnitCode;
-    }
-
-}
Index: ../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/reference/LoadingUnitActivityReference.java
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/reference/LoadingUnitActivityReference.java b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/reference/LoadingUnitActivityReference.java
deleted file mode 100644
--- a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/reference/LoadingUnitActivityReference.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ /dev/null	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
@@ -1,27 +0,0 @@
-package eu.reply.lea.services.yard.reference;
-
-import javax.persistence.Embeddable;
-
-import eu.reply.lea.services.yard.Constants;
-import eu.reply.lea.services.yard.model.LoadingUnitActivity;
-import eu.reply.sce.backend.core.entity.BusinessKeyUtils;
-import eu.reply.sce.backend.core.entity.TypedEntityReference;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-
-@Embeddable
-@NoArgsConstructor(access = AccessLevel.PROTECTED)
-public class LoadingUnitActivityReference extends TypedEntityReference<LoadingUnitActivity> {
-
-	private static final long serialVersionUID = 4296090446896893802L;
-
-	public LoadingUnitActivityReference(final LoadingUnitActivity resource) {
-        super(Constants.YARD_SERVICE_NAME, resource.resourceName(), resource.getId().toString(), BusinessKeyUtils.buildBusinessKey(resource));
-    }
-
-	@Override
-	public TypedEntityReference<LoadingUnitActivity> clone() {
-        return cloneTo(new LoadingUnitActivityReference());
-	}
-	
-}
Index: ../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitActivityProcessor.java
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitActivityProcessor.java b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitActivityProcessor.java
deleted file mode 100644
--- a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitActivityProcessor.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ /dev/null	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
@@ -1,73 +0,0 @@
-package eu.reply.lea.services.yard.boundary;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.enterprise.inject.Default;
-
-import eu.reply.lea.services.yard.actions.loadingUnitActivity.LoadingUnitActivityConfirmAction;
-import eu.reply.lea.services.yard.entities.LoadingUnitActivity;
-import eu.reply.lea.services.yard.events.LoadingUnitActivityCreatedEvent;
-import eu.reply.lea.services.yard.events.LoadingUnitActivityDeletedEvent;
-import eu.reply.lea.services.yard.events.LoadingUnitActivityUpdatedEvent;
-import eu.reply.lea.services.yard.exceptions.LoadingUnitActivityActionException;
-import eu.reply.lea.services.yard.model.LoadingUnitActivity.Status;
-import eu.reply.sce.backend.core.jee.configuration.entity.EntityProcessor;
-import eu.reply.sce.backend.core.jee.log.Logged;
-
-@Logged
-@Default
-@ApplicationScoped
-@EntityProcessor(entityClass = LoadingUnitActivity.class)
-public class LoadingUnitActivityProcessor extends AbstractProcessor<LoadingUnitActivityCreatedEvent, LoadingUnitActivityDeletedEvent, LoadingUnitActivityUpdatedEvent> {
-
-	// Lifecycle methods
-
-	public void persisting(final LoadingUnitActivity entity) {
-	}
-
-	public void persisted(final LoadingUnitActivity entity) {
-		super.fireCreated(new LoadingUnitActivityCreatedEvent(entity));
-	}
-
-	public void merging(final LoadingUnitActivity entity) {
-	}
-
-	public void merged(final LoadingUnitActivity entity) {
-		super.fireUpdated(new LoadingUnitActivityUpdatedEvent(entity));
-	}
-
-	public void removed(final LoadingUnitActivity entity) {
-		super.fireDeleted(new LoadingUnitActivityDeletedEvent(entity));
-	}
-	
-	public LoadingUnitActivity confirm(final LoadingUnitActivity entity, final LoadingUnitActivityConfirmAction action) throws LoadingUnitActivityActionException {
-		if(action.getDock() == null) {
-			throw new LoadingUnitActivityActionException(LoadingUnitActivityActionException.Codes.MISSING_DOCK, entity.getLoadingUnit().getCode());
-		}
-		checkActivityCanBeConfirmed(entity);
-		entity.confirmed(action.getDock());
-		return entity;
-	}
-
-	public LoadingUnitActivity start(final LoadingUnitActivity entity) throws LoadingUnitActivityActionException {
-		checkActivityCanBeExecute(entity);
-		entity.inProgress();
-		return entity;
-	}
-
-
-	//Methods
-	
-	private void checkActivityCanBeConfirmed(final LoadingUnitActivity entity) throws LoadingUnitActivityActionException {
-		if(!Status.isTodo(entity.getStatus())) {
-			throw new LoadingUnitActivityActionException(LoadingUnitActivityActionException.Codes.STATUS_NOT_VALID, entity.getLoadingUnit().getCode());
-		}
-	}
-
-	private void checkActivityCanBeExecute(final LoadingUnitActivity entity) throws LoadingUnitActivityActionException {
-		if(!Status.isConfirmed(entity.getStatus())) {
-			throw new LoadingUnitActivityActionException(LoadingUnitActivityActionException.Codes.STATUS_NOT_VALID, entity.getLoadingUnit().getCode());
-		}
-	}
-
-	
-}
Index: ../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/ContainerResourceProcessor.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/ContainerResourceProcessor.java b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/ContainerResourceProcessor.java
--- a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/ContainerResourceProcessor.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/ContainerResourceProcessor.java	(date 1727261356393)
@@ -1,14 +1,12 @@
 package eu.reply.lea.services.yard.boundary;
 
+import java.io.InvalidClassException;
 import javax.enterprise.context.ApplicationScoped;
 import javax.enterprise.inject.Default;
 
-import java.io.InvalidClassException;
-
 import org.apache.commons.lang3.StringUtils;
 
 import eu.reply.lea.services.masterdata.client.MasterdataServiceException;
-import eu.reply.lea.services.yard.actions.loadingUnit.CreateActivityAction;
 import eu.reply.lea.services.yard.actions.loadingUnit.DockingAction;
 import eu.reply.lea.services.yard.actions.loadingUnit.HookSwitcherAction;
 import eu.reply.lea.services.yard.actions.loadingUnit.HookTruckAction;
@@ -171,13 +169,6 @@
         return super.action(loadingUnit, loadingUnitHookSwitcherAction);
     }
 
-    @Override
-    public <D extends CreateActivityAction> ContainerResource action(final ContainerResource loadingUnit,
-                                                                     final D createActivityAction)
-        throws LoadingUnitActionException {
-        return super.action(loadingUnit, createActivityAction);
-    }
-
     @Override
     public <D extends SendToDockAction> ContainerResource action(final ContainerResource loadingUnit,
                                                                  final D loadingUnitSendToDockAction)
@@ -195,259 +186,6 @@
     public <D extends SendToYardAction> ContainerResource action(final ContainerResource loadingUnit, final D sendToYardAction) {
         return super.action(loadingUnit, sendToYardAction);
     }
-    /**
-     * Change the status to MOVING
-     *
-     * @param container
-     * @throws LoadingUnitActionException
-
-    @Condition({
-        //@formatter:off
-            @Attribute(name = "status", values = { "IN_PLACE", "PARKED" }),
-            @Attribute(name = "inboundTransit.locked", values = { "false" }),
-            @Attribute(name = "outboundTransit.locked", values = { "false" }),
-            @Attribute(name = "attachedVehicle", values = { "<> null" }) })
-        //@formatter:on
-    public ContainerResource moving(final ContainerResource container) throws LoadingUnitActionException {
-        this.moveStartedEventProducer.fire(new ContainerResourceMoveStartedEvent(loadingUnitHandler.moving(container, container.getLastLocation(), container.getNextLocation())));
-        return container;
-    }*/
-
-    /**
-     * Change the status to PARKED
-     *
-     * @param container
-     * @throws LoadingUnitActionException
-
-    @Condition({
-        //@formatter:off
-            @Attribute(name = "status", values = { "MOVING" }),
-            @Attribute(name = "inboundTransit.locked", values = { "false" }),
-            @Attribute(name = "outboundTransit.locked", values = { "false" }) })
-        //@formatter:on
-    public ContainerResource parked(final ContainerResource container) throws LoadingUnitActionException {
-        this.parkedEventProducer.fire(new ContainerResourceParkedEvent(loadingUnitHandler.parked(container, container.getLastLocation())));
-        return container;
-    }*/
-
-    /**
-     * Change the status to IN_PLACE
-     *
-     * @param container
-     * @throws LoadingUnitActionException
-
-    @Condition({
-        //@formatter:off
-            @Attribute(name = "status", values = { "MOVING" }),
-            @Attribute(name = "inboundTransit.locked", values = { "false" }),
-            @Attribute(name = "outboundTransit.locked", values = { "false" }) })
-        //@formatter:on
-    public ContainerResource inPlace(final ContainerResource container) throws LoadingUnitActionException {
-        this.inPlaceEventProducer.fire(new ContainerResourceInPlaceEvent( loadingUnitHandler.inPlace(container, container.getLastLocation())));
-        return container;
-    }*/
-
-    /**
-     * Change the status to OUT
-     *
-     * @param container
-     * @throws LoadingUnitActionException
-
-    @Condition({
-        //@formatter:off
-            @Attribute(name = "status", values = { "MOVING" }),
-            @Attribute(name = "inboundTransit.locked", values = { "false" }),
-            @Attribute(name = "outboundTransit.locked", values = { "false" }) })
-        //@formatter:on
-    public ContainerResource out(final ContainerResource container) throws LoadingUnitActionException {
-        this.outEventProducer.fire(new ContainerResourceOutEvent(loadingUnitHandler.out(container)));
-        return container;
-    }
-     */
 
-    /**
-     * Release the container
-     *
-     * @param container
-     * @throws LoadingUnitActionException
-     * @throws MasterdataServiceException
-
-    @Condition({
-        //@formatter:off
-            @Attribute(name = "status", values = { "IN_PLACE", "PARKED" }),
-            @Attribute(name = "attachedVehicle", values = { "<> null" }),
-            @Attribute(name = "inboundTransit.locked", values = { "false" }),
-            @Attribute(name = "outboundTransit.locked", values = { "false" }),
-            @Attribute(name = "droppable", values = { "true" }) })
-        //@formatter:on
-    public ContainerResource release(final ContainerResource container) throws LoadingUnitActionException, MasterdataServiceException {
-        this.releasedEventProducer.fire(new ContainerResourceReleasedEvent(loadingUnitHandler.release(container)));
-        return container;
-    }
-
-    @Condition({
-        //@formatter:off
-            @Attribute(name = "status", values = { "IN_PLACE" }),
-            @Attribute(name = "currentLocation", values = { "<> null" }),
-            @Attribute(name = "inboundTransit.status", values = { "IN","COMPLETED" }),
-            @Attribute(name = "inboundTransit.locked", values = { "false" }),
-            @Attribute(name = "outboundTransit.status", values = { "IN","COMPLETED" }),
-            @Attribute(name = "outboundTransit.locked", values = { "false" }) })
-        //@formatter:on
-    public ContainerResource undocking(final ContainerResource container) throws LoadingUnitActionException, MasterdataServiceException {
-
-        undockedEventProducer.fire(new ContainerResourceUndockedEvent(loadingUnitHandler.undocking(container)));
-
-        return container;
-    }
-
-
-    @Condition({
-            //@formatter:off
-            @Attribute(name = "status", values = { "PARKED", "IN_PLACE" }),
-            @Attribute(name = "inboundTransit.locked", values = { "false" }),
-            @Attribute(name = "outboundTransit.locked", values = { "false" }),
-            @Attribute(name = "droppable", values = { "true" }) })
-    //@formatter:on
-    public ContainerResource action(final ContainerResource container,
-                                  final LoadingUnitHookTruckAction action) throws LoadingUnitActionException, EntityNotFoundException, MasterdataServiceException, InvalidClassException {
-    	loadingUnitHandler.hookLoadingUnit(container, action, truckProviderProxy);
-        return container;
-    }
-
-    @Condition({
-            //@formatter:off
-            @Attribute(name = "status", values = { "PARKED", "IN_PLACE" }),
-            @Attribute(name = "inboundTransit.locked", values = { "false" }),
-            @Attribute(name = "outboundTransit.locked", values = { "false" }),
-            @Attribute(name = "droppable", values = { "true" }) })
-    //@formatter:on
-    public ContainerResource action(final ContainerResource container,
-                                  final LoadingUnitHookSwitcherAction action) throws LoadingUnitActionException, EntityNotFoundException, MasterdataServiceException, InvalidClassException {
-    	loadingUnitHandler.hookLoadingUnit(container, action, switcherProviderProxy);
-        return container;
-    }
-
-
-    @Condition({
-        //@formatter:off
-            @Attribute(name = "status", values = { "MOVING", "PARKED", "IN_PLACE" }),
-            @Attribute(name = "inboundTransit.locked", values = { "false" }),
-            @Attribute(name = "outboundTransit.locked", values = { "false" }),
-            @Attribute(name = "inboundTransit.status", values = { "ARRIVED", "IN" })
-            })
-        //@formatter:on
-    public ContainerResource action(final ContainerResource container, final LoadingUnitUpdateExpectedSealAction action) throws LoadingUnitActionException {
-        super.fireUpdated(new ContainerResourceUpdatedEvent(loadingUnitHandler.action(container, action)));
-        return container;
-    }
-
-    @Condition({
-        //@formatter:off
-            @Attribute(name = "status", values = { "PARKED", "IN_PLACE", "MOVING" }),
-            @Attribute(name = "inboundTransit.locked", values = { "false" }),
-            @Attribute(name = "outboundTransit.locked", values = { "false" }) })
-        //@formatter:on
-    public ContainerResource action(final ContainerResource container, final RegisterSealAction action) throws LoadingUnitActionException {
-        this.sealRegisteredEventProducer.fire(new ContainerResourceSealRegisteredEvent(loadingUnitHandler.action(container,action)));
-        return container;
-    }
-
-    @Condition({
-        //@formatter:off
-            @Attribute(name = "status", values = { "MOVING", "PARKED", "IN_PLACE" }),
-            @Attribute(name = "inboundTransit.locked", values = { "false" }),
-            @Attribute(name = "outboundTransit.locked", values = { "false" }) })
-        //@formatter:on
-    public ContainerResource action(final ContainerResource container, final RegisterWeightAction action) throws LoadingUnitActionException {
-        this.weightRegisteredEventProducer.fire(new ContainerResourceWeightRegisteredEvent(loadingUnitHandler.registerWeight(container, action)));
-        return container;
-    }
-
-    @Condition({
-        //@formatter:off
-            @Attribute(name = "inboundTransit.status", values = { "ARRIVED", "IN" }),
-            @Attribute(name = "inboundTransit.locked", values = { "false" }),
-            @Attribute(name = "outboundTransit.locked", values = { "false" }) })
-        //@formatter:on
-    public ContainerResource action(final ContainerResource container, final LoadingUnitRegisterExpectedWeightAction action) throws LoadingUnitActionException {
-        super.fireUpdated(new ContainerResourceUpdatedEvent(loadingUnitHandler.action(container,action)));
-        return container;
-    }
-
-    @Condition({
-        //@formatter:off
-            @Attribute(name = "inboundTransit.locked", values = { "false" }),
-            @Attribute(name = "outboundTransit.locked", values = { "false" }) })
-        //@formatter:on
-    public ContainerResource action(final ContainerResource container, final LoadingUnitAddHandlingRequestAction action) throws LoadingUnitActionException {
-        return loadingUnitHandler.action(container,action);
-    }
-
-    @Condition({
-        //@formatter:off
-            @Attribute(name = "status", values = { "MOVING", "PARKED", "IN_PLACE" }),
-            @Attribute(name = "inboundTransit.locked", values = { "false" }),
-            @Attribute(name = "outboundTransit.locked", values = { "false" }) })
-        //@formatter:on
-    public ContainerResource action(final ContainerResource container, final LoadingUnitVerifyWeightAction action) throws LoadingUnitActionException {
-        return loadingUnitHandler.action(container,action);
-    }
-
-    
-    @Condition({
-        //@formatter:off
-            @Attribute(name = "status", values = { "PARKED", "IN_PLACE" }),
-            @Attribute(name = "currentLocation", values = { "<> null" }),
-            @Attribute(name = "attachedVehicle", values = { "null" })
-        //@formatter:on
-    })
-    public ContainerResource action(final ContainerResource container, final LoadingUnitSendToDockAction action) throws MasterdataServiceException, InvalidClassException {
-
-        loadingUnitHandler.sendToDock(container,action.getLocationReference());
-        return container;
-    }
-
-    @Condition({
-        //@formatter:off
-            @Attribute(name = "status", values = { "PARKED", "IN_PLACE" }),
-            @Attribute(name = "currentLocation", values = { "<> null" }),
-            @Attribute(name = "attachedVehicle", values = { "null" })
-        //@formatter:on
-    })
-    public ContainerResource action(final ContainerResource container, final LoadingUnitSendToZoneAction action) throws MasterdataServiceException, InvalidClassException {
-
-        loadingUnitHandler.sendToZone(container,action.getLocationReference());
-        return container;
-    }
-
-    @Condition({
-        //@formatter:off
-            @Attribute(name = "status", values = { "PARKED", "IN_PLACE" }),
-            @Attribute(name = "currentLocation", values = { "<> null" }),
-            @Attribute(name = "attachedVehicle", values = { "null" })
-        //@formatter:on
-    })
-    public ContainerResource action(final ContainerResource container, final LoadingUnitSendToYardAction action) {
-
-        loadingUnitHandler.sendToYard(container,action.getLocationReference());
-        return container;
-    }
-
-    @Condition({
-        //@formatter:off
-            @Attribute(name = "status", values = { "PARKED", "IN_PLACE" }),
-            @Attribute(name = "currentLocation", values = { "<> null" }),
-            @Attribute(name = "attachedVehicle", values = { "null" })
-        //@formatter:on
-    })
-    public ContainerResource action(final ContainerResource container, final LoadingUnitCreateActivityAction action) throws LoadingUnitActionException {
-        loadingUnitHandler.createActivity(container,action.getActivityType());
-        return container;
-    }
-    */
-    //
-    // Methods that check if exceptions should be thrown
-    //
     
 }
Index: ../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/CreateMissionRequest.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/CreateMissionRequest.java b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/CreateMissionRequest.java
--- a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/CreateMissionRequest.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/CreateMissionRequest.java	(date 1727277957015)
@@ -1,15 +1,38 @@
 package eu.reply.lea.services.yard.entities;
 
 
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collections;
+import java.util.List;
+import javax.persistence.AttributeOverride;
+import javax.persistence.AttributeOverrides;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Embedded;
+import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+import javax.persistence.FetchType;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+import javax.validation.constraints.NotNull;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.Getter;
+import lombok.NonNull;
+import lombok.Setter;
+
 import eu.reply.lea.services.masterdata.reference.LocationReference;
 import eu.reply.lea.services.masterdata.reference.SiteReference;
 import eu.reply.lea.services.yard.model.CreateMissionRequestStatus;
+import eu.reply.lea.services.yard.reference.LoadingUnitReference;
 import eu.reply.sce.backend.core.entity.StandardEntity;
-import lombok.*;
-
-import javax.persistence.*;
-import javax.validation.constraints.NotNull;
-import java.util.Calendar;
 
 /**
  * The aim of this class is to save a new request to create an internal mission
@@ -20,12 +43,16 @@
 @Entity
 @Getter
 @Setter
-@EqualsAndHashCode(callSuper = false, exclude = {"loadingUnit", "createMissionRequestStatus", "from", "to"})
+@EqualsAndHashCode(callSuper = false, exclude = {"createMissionRequestStatus", "from", "to"})
 @NamedQueries
-        ({
-                @NamedQuery(name = CreateMissionRequest.Q_FIND_BY_ALL, query = "select c from CreateMissionRequest c where c.loadingUnit = :loadingUnit " +
-                        "and c.from = :from and c.to = :to")
-        })
+    ({
+        @NamedQuery(name = CreateMissionRequest.Q_FIND_BY_ALL,
+            query = "select c from CreateMissionRequest c where "
+                    + "c.loadingUnitRef.module = :module "
+                    + "and c.loadingUnitRef.entityName = :entityName "
+                    + "and c.loadingUnitRef.entityId = :entityId " +
+                    "and c.from = :from and c.to = :to")
+    })
 public class CreateMissionRequest extends StandardEntity implements eu.reply.lea.services.yard.model.CreateMissionRequest {
 
     @Override
@@ -46,12 +73,16 @@
 
     //region Private Fields
 
-    /**
-     * Loading Unit that request a new internal sending
-     * operation
-     */
-    @ManyToOne(optional = false)
-    private LoadingUnitResource loadingUnit;
+    @OneToMany(mappedBy = "createMissionRequest",fetch = FetchType.EAGER, cascade = CascadeType.ALL, orphanRemoval = true)
+    private List<LoadingUnitActivity> loadingUnitActivities = new ArrayList<>();
+
+    @NonNull
+    @NotNull
+    @AttributeOverrides({ @AttributeOverride(name = "entityName", column = @Column(name = "loading_unit_entityName")),
+        @AttributeOverride(name = "businessKey", column = @Column(name = "loading_unit_businesskey")),
+        @AttributeOverride(name = "module", column = @Column(name = "loading_unit_module", length = 20)),
+        @AttributeOverride(name = "entityId", column = @Column(name = "loading_unit_entityId", length = 50)) })
+    private LoadingUnitReference loadingUnitRef;
 
     @Embedded
     @AttributeOverrides({
@@ -118,15 +149,15 @@
     /**
      * Construct SendResourceRequest instance
      *
-     * @param loadingUnit Loading Unit
+     * @param loadingUnitRef Loading Unit
      * @param from        Location From
      * @param to          Location To
      */
-    public CreateMissionRequest(@NotNull final LoadingUnitResource loadingUnit,
+    public CreateMissionRequest(@NotNull final LoadingUnitReference loadingUnitRef,
                                 @NotNull final LocationReference from,
                                 @NotNull final LocationReference to,
                                 @NotNull final SiteReference siteReference){
-        this.loadingUnit = loadingUnit;
+        this.loadingUnitRef = loadingUnitRef;
         this.from = from;
         this.to = to;
         this.createMissionRequestStatus = CreateMissionRequestStatus.NEW;
@@ -135,37 +166,22 @@
     }
     //endregion
 
-    //region findSendResourceRequest
-
-    /**
-     * Get SendResourceRequest
-     *
-     * @param entityManager EntityManageer
-     * @param loadingUnit Loading Unit to search
-     * @param from Location from of Loading unit
-     * @param to Location to of Loading unit
-     * @return retrieved SendResourceRequest
-     */
-    public static CreateMissionRequest findSendResourceRequest(@NotNull final EntityManager entityManager,
-                                                               @NotNull final LoadingUnitResource loadingUnit,
-                                                               @NotNull final LocationReference from,
-                                                               @NotNull final LocationReference to) {
-        CreateMissionRequest result = null;
-
-        try {
-            return entityManager.createNamedQuery(Q_FIND_BY_ALL, CreateMissionRequest.class)
-                    .setParameter(P_LOADING_UNIT, loadingUnit)
-                    .setParameter(P_FROM, from)
-                    .setParameter(P_TO, to)
-                    .setFlushMode(FlushModeType.COMMIT)
-                    .getSingleResult();
-        } catch (final NoResultException e) {
-            result = null;
+    public void addLoadingUnitActivity(@NotNull final LoadingUnitActivity activity) {
+        if (this.loadingUnitActivities == null) {
+            this.loadingUnitActivities = new ArrayList<>();
         }
-
-        return result;
+        this.loadingUnitActivities.add(activity);
+        activity.setCreateMissionRequest(this);
     }
 
+    public void removeLoadingUnitActivity(@NotNull final LoadingUnitActivity activity) {
+        if (this.loadingUnitActivities != null) {
+            this.loadingUnitActivities.remove(activity);
+            activity.setCreateMissionRequest(null);
+        }
+    }
 
-    //endregion
+    public List<eu.reply.lea.services.yard.model.LoadingUnitActivity> getLoadingUnitActivities() {
+        return Collections.unmodifiableList(this.loadingUnitActivities);
+    }
 }
Index: ../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/pojo/SwitcherPojo.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/pojo/SwitcherPojo.java b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/pojo/SwitcherPojo.java
--- a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/pojo/SwitcherPojo.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/pojo/SwitcherPojo.java	(date 1727251378671)
@@ -86,7 +86,7 @@
 
 	@Override
     public boolean canAttachUnits() {
-        return isAvailable();
+        return attachedUnit==null;
     }
 
 	@Override
Index: ../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/Switcher.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/Switcher.java b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/Switcher.java
--- a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/Switcher.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/Switcher.java	(date 1727251378672)
@@ -143,7 +143,7 @@
 
     @Override
     public boolean canAttachUnits() {
-        return isAvailable();
+        return attachedUnit==null;
     }
 
     @Override
Index: ../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/trailer/TrailerResourceProcessor.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/trailer/TrailerResourceProcessor.java b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/trailer/TrailerResourceProcessor.java
--- a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/trailer/TrailerResourceProcessor.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/trailer/TrailerResourceProcessor.java	(date 1727261368640)
@@ -4,12 +4,10 @@
 import javax.enterprise.context.ApplicationScoped;
 import javax.enterprise.inject.Default;
 import javax.inject.Inject;
-import javax.validation.constraints.NotNull;
 
 import org.apache.commons.lang3.StringUtils;
 
 import eu.reply.lea.services.masterdata.client.MasterdataServiceException;
-import eu.reply.lea.services.yard.actions.loadingUnit.CreateActivityAction;
 import eu.reply.lea.services.yard.actions.loadingUnit.DockingAction;
 import eu.reply.lea.services.yard.actions.loadingUnit.HookSwitcherAction;
 import eu.reply.lea.services.yard.actions.loadingUnit.HookTruckAction;
@@ -35,10 +33,7 @@
 import eu.reply.lea.services.yard.events.TrailerResourceUpdatedEvent;
 import eu.reply.lea.services.yard.events.trailer.TrailerResourceMoveStartedEvent;
 import eu.reply.lea.services.yard.events.trailer.TrailerResourceParkedEvent;
-import eu.reply.lea.services.yard.events.trailer.TrailerResourceWeightRegisteredEvent;
 import eu.reply.lea.services.yard.exceptions.LoadingUnitActionException;
-import eu.reply.lea.services.yard.vehicles.SwitcherProviderProxy;
-import eu.reply.lea.services.yard.vehicles.TruckProviderProxy;
 import eu.reply.sce.backend.core.entity.configuration.Condition;
 import eu.reply.sce.backend.core.entity.exception.EntityNotFoundException;
 import eu.reply.sce.backend.core.jee.configuration.entity.EntityProcessor;
@@ -55,15 +50,6 @@
     @Inject
     private Producer<TrailerResourceMoveStartedEvent> trailerResourceMoveStartedEventProducer;
 
-    @Inject
-    private Producer<TrailerResourceWeightRegisteredEvent> trailerResourceWeightRegisteredEventProducer;
-
-    @Inject
-    private TruckProviderProxy truckProviderProxy;
-
-    @Inject
-    private SwitcherProviderProxy switcherProviderProxy;
-
     //region CRUD Operation
     public void persisting(final TrailerResource trailer) {
         if (StringUtils.isBlank(trailer.getCode())) {
@@ -313,20 +299,6 @@
 
     //endregion HookSwitcherAction Management
 
-    @Condition({
-        //@formatter:off
-        @Condition.Attribute(name = "status", values = {"PARKED", "IN_PLACE"}),
-        @Condition.Attribute(name = "lastLocation", values = {"<> null"}),
-        @Condition.Attribute(name = "attachedVehicle", values = {"null"})
-        //@formatter:on
-    })
-    @Override
-    public <D extends CreateActivityAction> TrailerResource action(final TrailerResource loadingUnit,
-                                                                   final D createActivityAction)
-        throws LoadingUnitActionException {
-
-        return super.action(loadingUnit,createActivityAction);
-    }
 
 
     //region Send Management
Index: ../application/yms-application/lea-yms-application/src/main/java/eu/reply/lea/services/yms/observer/CreateMissionRequestEventObserver.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/yms-application/lea-yms-application/src/main/java/eu/reply/lea/services/yms/observer/CreateMissionRequestEventObserver.java b/../application/yms-application/lea-yms-application/src/main/java/eu/reply/lea/services/yms/observer/CreateMissionRequestEventObserver.java
--- a/../application/yms-application/lea-yms-application/src/main/java/eu/reply/lea/services/yms/observer/CreateMissionRequestEventObserver.java	(revision ca070d97c5f38fae76e773e99e4c0b0fd68d6b81)
+++ b/../application/yms-application/lea-yms-application/src/main/java/eu/reply/lea/services/yms/observer/CreateMissionRequestEventObserver.java	(date 1727276224115)
@@ -3,13 +3,11 @@
 import java.io.PrintWriter;
 import java.io.StringWriter;
 import java.util.Collections;
-import java.util.List;
-import java.util.stream.Collectors;
+import java.util.Optional;
 import javax.enterprise.event.Observes;
 import javax.inject.Inject;
 import javax.persistence.EntityManager;
 
-import org.apache.commons.collections4.ListUtils;
 import org.slf4j.Logger;
 
 import eu.reply.lea.services.masterdata.reference.LocationReference;
@@ -39,6 +37,7 @@
 import eu.reply.sce.backend.core.event.ModuleEvent;
 import eu.reply.sce.backend.core.event.Observer;
 import eu.reply.sce.backend.core.jee.configuration.ModuleConfiguration;
+import eu.reply.sce.backend.core.jee.configuration.entity.EntityReferenceHandler;
 
 @Observer
 public class CreateMissionRequestEventObserver {
@@ -52,6 +51,9 @@
     @Inject
     private InternalTasksSequenceRepository internalTasksSequenceRepository;
 
+    @Inject
+    private EntityReferenceHandler entityReferenceHandler;
+
     @Inject
     private DefaultYardService defaultYardService;
 
@@ -112,10 +114,7 @@
         Exception exceptionErrorDuringCreation = null;
         try {
 
-            LoadingUnitReference loadingUnitReference =new LoadingUnitReference(payload.getLoadingUnit());
-
-
-            MissionTask missionTaskAlreadyPresent = missionTaskRepository.findByLoadingUnit(loadingUnitReference)
+            MissionTask missionTaskAlreadyPresent = missionTaskRepository.findByLoadingUnit(payload.getLoadingUnitRef())
                     .stream().filter(task -> task.getStatus().isActive()
                             && task.getTaskType().equals(TaskType.MISSION)
                             && (task.getStatus().equals(TaskStatus.BLOCKED)
@@ -128,30 +127,36 @@
             if (missionTaskAlreadyPresent == null) {
                 SiteReference siteRef = payload.getSiteReference();
                 InternalTasksSequence
-                    sequence = internalTasksSequenceRepository.findByLogisticUnitReference((new LoadingUnitReference(payload.getLoadingUnit())).toEntityReference());
+                    sequence = internalTasksSequenceRepository.findByLogisticUnitReference(payload.getLoadingUnitRef().toEntityReference());
                 if (sequence== null){
                     sequence = new InternalTasksSequence();
-                    sequence.setLogisticUnitRef((new LoadingUnitReference(payload.getLoadingUnit())).toEntityReference());
+                    sequence.setLogisticUnitRef(payload.getLoadingUnitRef().toEntityReference());
                     em.persist(sequence);
                 }
                 MissionTask task = createMissionTask(payload, siteRef);
                 internalTasksSequenceHandler.addTask(sequence, task);
-                List<LoadingUnitActivityPojo> activities = ListUtils.emptyIfNull(defaultYardService.getLoadingUnitActivities(new LoadingUnitReference(payload.getLoadingUnit()))).stream()
-                        .filter(a -> LoadingUnitActivity.Status.isTodo(a.getStatus()) || LoadingUnitActivity.Status.isConfirmed(a.getStatus())).collect(Collectors.toList());
 
-                LoadingUnitActivity unloadingActivity = activities.stream()
-                        .filter(a -> LoadingUnitActivity.Type.UNLOADING.equals(a.getType())).findFirst().orElse(null);
-                if (unloadingActivity != null) {
-                    UnloadingTask unloadingTask = internalTaskBuilderDirector.createUnloadingTask(loadingUnitReference.toEntityReference(), siteRef,
-                                                                                  Collections.singletonList(new TaskDetailInfo(loadingUnitReference)), new LocationReference(unloadingActivity.getDock()), false, false);
+                Optional<LoadingUnitActivityPojo>
+                    unloadingActivity =payload.getLoadingUnitActivities().stream().filter(a->a.getType().equals(LoadingUnitActivity.Type.UNLOADING)).findFirst();
+
+                if (unloadingActivity.isPresent()) {
+                    UnloadingTask unloadingTask =
+                        internalTaskBuilderDirector.createUnloadingTask(payload.getLoadingUnitRef().toEntityReference(), siteRef,
+                                                                        Collections.singletonList(
+                                                                            new TaskDetailInfo(payload.getLoadingUnitRef())),
+                                                                        new LocationReference(unloadingActivity.get().getDock()),
+                                                                        false, false);
                     internalTasksSequenceHandler.addTask(sequence, unloadingTask);
                 }
 
-                LoadingUnitActivity loadingActivity = activities.stream()
-                        .filter(a -> LoadingUnitActivity.Type.LOADING.equals(a.getType())).findFirst().orElse(null);
-                if (loadingActivity != null) {
-                    LoadingTask loadingTask =internalTaskBuilderDirector.createLoadingTask((new LoadingUnitReference(payload.getLoadingUnit())).toEntityReference(), siteRef,
-                                                                                             Collections.singletonList(new TaskDetailInfo(loadingUnitReference)), new LocationReference(loadingActivity.getDock()), false, false);
+                Optional<LoadingUnitActivityPojo> loadingUnitActivity =
+                    payload.getLoadingUnitActivities().stream().filter(a -> a.getType().equals(LoadingUnitActivity.Type.LOADING))
+                        .findFirst();
+                if (loadingUnitActivity.isPresent()) {
+                    LoadingTask loadingTask = internalTaskBuilderDirector.createLoadingTask(
+                        payload.getLoadingUnitRef().toEntityReference(), siteRef,
+                        Collections.singletonList(new TaskDetailInfo(payload.getLoadingUnitRef())),
+                        new LocationReference(loadingUnitActivity.get().getDock()), false, false);
                     internalTasksSequenceHandler.addTask(sequence, loadingTask);
                 }
 
@@ -177,7 +182,7 @@
 
                 this.yardService.createMissionRequestInError(payload, errorToSend);
             } catch (Exception innerException) {
-                this.logger.error("[CreateMissionRequestEventObserver].createMission => error during call of createMissionRequestInError for LU:[{}] with content:[{}]", payload.getLoadingUnit(), innerException);
+                this.logger.error("[CreateMissionRequestEventObserver].createMission => error during call of createMissionRequestInError for LU:[{}] with content:[{}]", payload.getLoadingUnitRef(), innerException);
             }
 
             throw exceptionErrorDuringCreation;
@@ -195,7 +200,7 @@
 
     private MissionTask createMissionTask(final CreateMissionRequestPojo payload, final SiteReference site) throws
         TaskConfigurationNotFoundException {
-        return internalTaskBuilderDirector.createMissionTask((new LoadingUnitReference(payload.getLoadingUnit())).toEntityReference(), site,
+        return internalTaskBuilderDirector.createMissionTask(payload.getLoadingUnitRef().toEntityReference(), site,
                                                       Collections.emptyList(),payload.getFrom(),payload.getTo(),false,false);
     }
 
Index: ../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/LoadingUnitActivity.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/LoadingUnitActivity.java b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/LoadingUnitActivity.java
--- a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/LoadingUnitActivity.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/LoadingUnitActivity.java	(date 1727269626232)
@@ -1,30 +1,15 @@
 package eu.reply.lea.services.yard.entities;
 
-import java.math.BigDecimal;
-import java.util.Calendar;
-import java.util.List;
-
 import javax.persistence.AttributeOverride;
 import javax.persistence.AttributeOverrides;
 import javax.persistence.Column;
 import javax.persistence.Entity;
-import javax.persistence.EntityManager;
 import javax.persistence.EnumType;
 import javax.persistence.Enumerated;
-import javax.persistence.FetchType;
 import javax.persistence.ManyToOne;
-import javax.persistence.NamedQueries;
-import javax.persistence.NamedQuery;
-import javax.persistence.NoResultException;
-import javax.persistence.Temporal;
-import javax.persistence.TemporalType;
-import javax.validation.constraints.DecimalMin;
+import javax.persistence.OneToMany;
 import javax.validation.constraints.NotNull;
 
-import eu.reply.lea.services.common.model.EntityConstants;
-import eu.reply.lea.services.masterdata.reference.DockReference;
-import eu.reply.sce.backend.core.entity.StandardEntity;
-import eu.reply.sce.backend.core.entity.configuration.StringifyAttributes;
 import lombok.AccessLevel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -33,29 +18,23 @@
 import lombok.Setter;
 import lombok.ToString;
 
+import eu.reply.lea.services.masterdata.reference.DockReference;
+import eu.reply.lea.services.yard.reference.LoadingUnitReference;
+import eu.reply.sce.backend.core.entity.StringCustomizableEntity;
+import eu.reply.sce.backend.core.entity.configuration.StringifyAttributes;
+
 @Data
 @ToString(callSuper = false, of = { "loadingUnit", "type", "status" })
 @EqualsAndHashCode(callSuper = false)
 @NoArgsConstructor(access = AccessLevel.PROTECTED)
 @Entity
-@NamedQueries({ @NamedQuery(name = LoadingUnitActivity.Q_FIND_BY_LOADING_UNIT, query = "select l from LoadingUnitActivity l where l.loadingUnit = :loadingUnit") })
 @StringifyAttributes(attributes = { "loadingUnit", "type", "status" })
-public class LoadingUnitActivity extends StandardEntity implements eu.reply.lea.services.yard.model.LoadingUnitActivity {
+public class LoadingUnitActivity extends StringCustomizableEntity implements eu.reply.lea.services.yard.model.LoadingUnitActivity {
 
 	private static final long serialVersionUID = -5280893186599984457L;
 
-	public static final String Q_FIND_BY_LOADING_UNIT = "LoadingUnitActivity.findByLoadingUnit";
-
-	public static final String P_LOADING_UNIT = "loadingUnit";
-
-	@NonNull
-	@NotNull
-	@ManyToOne(fetch = FetchType.EAGER)
-	private LoadingUnitResource loadingUnit;
-
-	@Enumerated(EnumType.STRING)
-	@Setter(value = AccessLevel.PRIVATE)
-	private Status status;
+    @ManyToOne
+    private CreateMissionRequest createMissionRequest;
 
 	@NonNull
 	@NotNull
@@ -68,69 +47,12 @@
         @AttributeOverride(name = "module", column = @Column(name = "dock_module", length = 20)),
         @AttributeOverride(name = "entityId", column = @Column(name = "dock_entityId", length = 50)) })
 	private DockReference dock;
-	
-	@DecimalMin(EntityConstants.DEFAULT_DECIMAL_MIN)
-    @Column(precision = EntityConstants.DEFAULT_PRECISION, scale = EntityConstants.DEFAULT_SCALE)
-	private BigDecimal movedWeight;
 
-	@Temporal(TemporalType.TIMESTAMP)
-    private Calendar startDate;
 	
-	@Temporal(TemporalType.TIMESTAMP)
-    private Calendar endDate;
-	
-	public LoadingUnitActivity(@NonNull final LoadingUnitResource loadingUnit, @NonNull final Type type) {
-		this.loadingUnit = loadingUnit;
+	public LoadingUnitActivity(@NonNull final Type type, final @NotNull DockReference dock) {
 		this.type = type;
-		this.status = Status.TO_DO;
-	}
-	
-	//
-	// Methods
-	//
-	
-	private void setStartDate(final Calendar startDate) {
-		this.startDate = startDate;
-	}
-
-	private void setEndDate(final Calendar endDate) {
-		this.endDate = endDate;
-	}
-
-	/**
-	 * set Status to TO_DO
-	 */
-	public void todo() {
-		setStatus(Status.TO_DO);
+        this.dock = dock;
 	}
 
-	/**
-	 * set Status to CONFIRMED
-	 */
-	public void confirmed(final DockReference dock) {
-		setStatus(Status.CONFIRMED);
-		setDock(dock);
-	}
-
-	/**
-	 * set Status to EXECUTING
-	 */
-	public void inProgress() {
-		setStartDate(Calendar.getInstance());
-		setStatus(Status.IN_PROGRESS);
-	}
-
-
-	//
-	// Queries
-	//
-
-	public static List<LoadingUnitActivity> findByLoadingUnit(final EntityManager em, final LoadingUnitResource loadingUnit) {
-		try {
-			return em.createNamedQuery(Q_FIND_BY_LOADING_UNIT,LoadingUnitActivity.class).setParameter(P_LOADING_UNIT, loadingUnit).getResultList();
-		} catch (final NoResultException e) {
-			return null;
-		}
-	}
 
 }
Index: ../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/pojo/LoadingUnitActivityPojo.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/pojo/LoadingUnitActivityPojo.java b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/pojo/LoadingUnitActivityPojo.java
--- a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/pojo/LoadingUnitActivityPojo.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/pojo/LoadingUnitActivityPojo.java	(date 1727269626242)
@@ -8,6 +8,9 @@
 import eu.reply.lea.services.masterdata.model.AbstractIdentifiableResource;
 import eu.reply.lea.services.masterdata.reference.DockReference;
 import eu.reply.lea.services.yard.model.LoadingUnitActivity;
+import eu.reply.lea.services.yard.reference.LoadingUnitReference;
+import eu.reply.sce.backend.core.entity.EntityReference;
+
 import lombok.AccessLevel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -26,19 +29,9 @@
 	LoadingUnitActivityPojo(final Long id){
         super(id);
     }
-	
-    private LoadingUnitResourcePojo loadingUnit;
 
-    private Status status;
-    
     private Type type;
 
     private DockReference dock;
     
-    private BigDecimal movedWeight;
-    
-    private Calendar startDate;
-    
-    private Calendar endDate;
-
 }
Index: ../application/yms-application/lea-yms-application/src/main/java/eu/reply/lea/services/yms/DomainEventInfo.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/yms-application/lea-yms-application/src/main/java/eu/reply/lea/services/yms/DomainEventInfo.java b/../application/yms-application/lea-yms-application/src/main/java/eu/reply/lea/services/yms/DomainEventInfo.java
new file mode 100644
--- /dev/null	(date 1727254756301)
+++ b/../application/yms-application/lea-yms-application/src/main/java/eu/reply/lea/services/yms/DomainEventInfo.java	(date 1727254756301)
@@ -0,0 +1,9 @@
+package eu.reply.lea.services.yms;
+
+import java.io.Serializable;
+import java.time.Instant;
+
+public interface DomainEventInfo extends Serializable {
+
+    Instant getOccurredOn();
+}
\ No newline at end of file
Index: ../application/lea-yard-service/lea-yard-module/src/main/resources/update-1.7.0.sql
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-module/src/main/resources/update-1.7.0.sql b/../application/lea-yard-service/lea-yard-module/src/main/resources/update-1.7.0.sql
--- a/../application/lea-yard-service/lea-yard-module/src/main/resources/update-1.7.0.sql	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-module/src/main/resources/update-1.7.0.sql	(date 1727261897755)
@@ -10,3 +10,11 @@
 ADD COLUMN site_businesskey VARCHAR(255);
 
 UPDATE `LoadingUnitActivity` SET `status` = 'CONFIRMED' WHERE (`status` = 'COMPLETED');
+
+ALTER TABLE `LoadingUnitActivity`
+    ADD COLUMN `custom` VARCHAR(4000) COLLATE 'utf8mb3_bin' NULL DEFAULT NULL AFTER `type`,
+    ADD COLUMN `loading_unit_businesskey` VARCHAR(255) COLLATE 'utf8mb3_bin' NULL DEFAULT NULL AFTER `custom`,
+    ADD COLUMN `loading_unit_entityId` VARCHAR(50) COLLATE 'utf8mb3_bin' NULL DEFAULT NULL AFTER `loading_unit_businesskey`,
+    ADD COLUMN `loading_unit_entityName` VARCHAR(255) COLLATE 'utf8mb3_bin' NULL DEFAULT NULL AFTER `loading_unit_entityId`,
+    ADD COLUMN `loading_unit_module` VARCHAR(20) COLLATE 'utf8mb3_bin' NULL DEFAULT NULL AFTER `loading_unit_entityName`,
+    ADD COLUMN `createMissionRequest_id` BIGINT NULL DEFAULT NULL AFTER `loading_unit_module`;
Index: ../application/lea-yard-service/lea-yard-client/src/main/java/eu/reply/lea/services/yard/client/DefaultYardService.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-client/src/main/java/eu/reply/lea/services/yard/client/DefaultYardService.java b/../application/lea-yard-service/lea-yard-client/src/main/java/eu/reply/lea/services/yard/client/DefaultYardService.java
--- a/../application/lea-yard-service/lea-yard-client/src/main/java/eu/reply/lea/services/yard/client/DefaultYardService.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-client/src/main/java/eu/reply/lea/services/yard/client/DefaultYardService.java	(date 1727257038317)
@@ -5,7 +5,6 @@
 import javax.enterprise.context.ApplicationScoped;
 import javax.enterprise.inject.Default;
 import javax.inject.Inject;
-import javax.validation.constraints.NotNull;
 
 import eu.reply.lea.services.common.embedded.DrivingLicence;
 import eu.reply.lea.services.common.embedded.LicencePlate;
@@ -22,7 +21,6 @@
 import eu.reply.lea.services.yard.model.HandlingRequest;
 import eu.reply.lea.services.yard.model.HandlingRequestActivity;
 import eu.reply.lea.services.yard.model.LoadingUnitResource;
-import eu.reply.lea.services.yard.model.LoadingUnitActivity;
 import eu.reply.lea.services.yard.model.LoadingUnitMovement;
 import eu.reply.lea.services.yard.model.TrailerResource;
 import eu.reply.lea.services.yard.model.Transit;
@@ -32,7 +30,6 @@
 import eu.reply.lea.services.yard.reference.ExpectedContainerReference;
 import eu.reply.lea.services.yard.reference.HandlingRequestActivityReference;
 import eu.reply.lea.services.yard.reference.HandlingRequestReference;
-import eu.reply.lea.services.yard.reference.LoadingUnitActivityReference;
 import eu.reply.lea.services.yard.reference.LoadingUnitMovementReference;
 import eu.reply.lea.services.yard.reference.LoadingUnitReference;
 import eu.reply.lea.services.yard.reference.SwitcherReference;
@@ -224,14 +221,6 @@
         return doCall(TrailerResource.RESOURCE_NAME, LoadingUnitResourcePojo.class, new Param((inbound ? "inboundTransit" : "outboundTransit") + ".code", transitCode));
     }
 
-    public List<LoadingUnitActivityPojo> getLoadingUnitActivities(final String loadingUnitCode) throws YardServiceException {
-        return doCall(LoadingUnitActivity.RESOURCE_NAME, LoadingUnitActivityPojo.class, new Param("loadingUnit.code", loadingUnitCode));
-    }
-
-    public List<LoadingUnitActivityPojo> getLoadingUnitActivities(final LoadingUnitReference loadingUnit) throws YardServiceException {
-        return doCall(LoadingUnitActivity.RESOURCE_NAME, LoadingUnitActivityPojo.class, new Param("loadingUnit.id", loadingUnit.getEntityId()));
-    }
-
     public HandlingRequestPojo getFirstExpiringHandlingRequest(final String transitCode) throws YardServiceException {
         List<HandlingRequestPojo> handlingRequestList = getHandlingRequests(transitCode);
 
@@ -286,20 +275,4 @@
         return this.get(reference, LoadingUnitMovementPojo.class);
     }
 
-    public LoadingUnitActivity get(final LoadingUnitActivityReference reference) throws YardServiceException {
-        return this.get(reference, LoadingUnitActivityPojo.class);
-    }
-
-
-    public List<LoadingUnitMovementPojo> getLoadingUnitMovements(@NotNull final LoadingUnitResource loadingUnitResource) throws YardServiceException {
-        return doCall(LoadingUnitMovementPojo.RESOURCE_NAME, LoadingUnitMovementPojo.class, new Param("logisticUnitRef.entityId", loadingUnitResource.getId()));
-    }
-
-
-
-    public List<CreateMissionRequestPojo> getByLoadingUnit(final Long lodingUnitId) throws YardServiceException {
-        Param.Builder paramBuilder = new Param.Builder().add("lodingUnitId.id", lodingUnitId);
-        return doCall(CreateMissionRequestPojo.RESOURCE_NAME, CreateMissionRequestPojo.class, paramBuilder.build());
-    }
-
 }
Index: ../application/lea-yard-service/pom.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/pom.xml b/../application/lea-yard-service/pom.xml
--- a/../application/lea-yard-service/pom.xml	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/pom.xml	(date 1727268231468)
@@ -4,7 +4,7 @@
     <parent>
         <groupId>eu.reply.sce.backend</groupId>
         <artifactId>core-parent</artifactId>
-        <version>2.10.9-SNAPSHOT</version>
+        <version>2.10.9</version>
     </parent>
 
     <groupId>eu.reply.lea.services</groupId>
Index: ../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/model/LoadingUnitActivity.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/model/LoadingUnitActivity.java b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/model/LoadingUnitActivity.java
--- a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/model/LoadingUnitActivity.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/model/LoadingUnitActivity.java	(date 1727269626236)
@@ -1,35 +1,14 @@
 package eu.reply.lea.services.yard.model;
 
-import java.math.BigDecimal;
-import java.util.Calendar;
-
 import eu.reply.lea.services.common.model.IdentifiableResource;
 import eu.reply.lea.services.masterdata.reference.DockReference;
+import eu.reply.lea.services.yard.reference.LoadingUnitReference;
+import eu.reply.sce.backend.core.entity.EntityReference;
 
 public interface LoadingUnitActivity extends IdentifiableResource{
 
     public final static String RESOURCE_NAME = LoadingUnitActivity.class.getSimpleName();
 
-    public enum Status {
-        TO_DO, CONFIRMED, IN_PROGRESS;
-
-        public static boolean isTodo(final Status status) {
-            return TO_DO.equals(status);
-        }
-
-        public static boolean isConfirmed(final Status status) {
-        	return CONFIRMED.equals(status);
-        }
-
-        public static boolean isInProgress(final Status status) {
-        	return IN_PROGRESS.equals(status);
-        }
-
-        public static boolean isActive(final Status status) {
-        	return IN_PROGRESS.equals(status) || TO_DO.equals(status);
-        }
-    }
-
     public enum Type {
         LOADING, UNLOADING;
 
@@ -42,20 +21,10 @@
         }
     }
 
-    public LoadingUnitResource getLoadingUnit();
-
-    public Status getStatus();
-
     public Type getType();
     
     public DockReference getDock();
     
-    public BigDecimal getMovedWeight();
-
-    public Calendar getStartDate();
-
-    public Calendar getEndDate();
-
     @Override
     default String resourceName() {
         return RESOURCE_NAME;
Index: ../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitResourceProcessor.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitResourceProcessor.java b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitResourceProcessor.java
--- a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitResourceProcessor.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitResourceProcessor.java	(date 1727259960587)
@@ -1,18 +1,49 @@
 package eu.reply.lea.services.yard.boundary;
 
+import java.io.InvalidClassException;
 import javax.inject.Inject;
 import javax.validation.constraints.NotNull;
 
+import lombok.Getter;
+import lombok.Setter;
+
 import eu.reply.lea.services.masterdata.client.MasterdataServiceException;
 import eu.reply.lea.services.masterdata.reference.VehicleReference;
-import eu.reply.lea.services.yard.actions.loadingUnit.*;
+import eu.reply.lea.services.yard.actions.loadingUnit.DockingAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.HookSwitcherAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.HookTruckAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.InPlaceAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.MovingAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.ParkedAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.PickupAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.RegisterInboundExpectedSealAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.RegisterInboundExpectedWeightAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.RegisterInboundSealAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.RegisterInboundWeightAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.RegisterOutboundExpectedSealAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.RegisterOutboundExpectedWeightAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.RegisterOutboundSealAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.RegisterOutboundWeightAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.SendToDockAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.SendToYardAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.SendToZoneAction;
 import eu.reply.lea.services.yard.application.LoadingUnitMovementApplicationService;
 import eu.reply.lea.services.yard.entities.LoadingUnitResource;
 import eu.reply.lea.services.yard.entities.Transit;
 import eu.reply.lea.services.yard.events.LoadingUnitResourceCreatedEvent;
 import eu.reply.lea.services.yard.events.LoadingUnitResourceDeletedEvent;
 import eu.reply.lea.services.yard.events.LoadingUnitResourceUpdatedEvent;
-import eu.reply.lea.services.yard.events.loadingUnit.*;
+import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitDropOffPerformedEvent;
+import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitHookedEvent;
+import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitInboundExpectedSealChangedEvent;
+import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitInboundExpectedWeightChangedEvent;
+import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitOutEvent;
+import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitOutboundExpectedSealChangedEvent;
+import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitOutboundExpectedWeightChangedEvent;
+import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitPickupPerformedEvent;
+import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitReleasedEvent;
+import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitSealRegisteredEvent;
+import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitUndockedEvent;
 import eu.reply.lea.services.yard.events.trailer.TrailerResourceParkedEvent;
 import eu.reply.lea.services.yard.exceptions.LoadingUnitActionException;
 import eu.reply.lea.services.yard.reference.LoadingUnitReference;
@@ -24,10 +55,6 @@
 import eu.reply.sce.backend.core.jee.configuration.entity.EntityReferenceHandler;
 import eu.reply.sce.backend.core.jee.event.Producer;
 import eu.reply.sce.backend.core.jee.log.Logged;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.io.InvalidClassException;
 
 @Logged
 @Getter
@@ -324,20 +351,6 @@
     //endregion HookSwitcherAction Management
 
 
-
-    @Condition({
-            //@formatter:off
-            @Attribute(name = "status", values = {"PARKED", "IN_PLACE"}),
-            @Attribute(name = "lastLocation", values = {"<> null"}),
-            @Attribute(name = "attachedVehicle", values = {"null"})
-            //@formatter:on
-    })
-    public <D extends CreateActivityAction> T action(@NotNull final T loadingUnit,
-                                                              @NotNull final D createActivityAction) throws LoadingUnitActionException{
-        return this.getLoadingUnitResourceHandler().createActivity(loadingUnit, createActivityAction.getActivityType());
-    }
-
-
     //region VerifyWeightAction Management
 
     //endregion VerifyWeightAction Management
@@ -354,7 +367,7 @@
             //@formatter:on
     })
     public <D extends SendToDockAction> T action(@NotNull final T loadingUnit,
-                                                          @NotNull final D loadingUnitSendToDockAction)
+                                                 @NotNull final D loadingUnitSendToDockAction)
         throws LoadingUnitActionException, MasterdataServiceException, InvalidClassException{
         return this.getLoadingUnitResourceHandler().sendToDock(loadingUnit, loadingUnitSendToDockAction.getLocationReference(), loadingUnitSendToDockAction.getHandlingRequestType());
     }
Index: ../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/LoadingUnitResource.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/LoadingUnitResource.java b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/LoadingUnitResource.java
--- a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/LoadingUnitResource.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/entities/LoadingUnitResource.java	(date 1727262361298)
@@ -80,9 +80,6 @@
     public static final String Q_FIND_BY_ATTACHED_TRANSIT = "LoadingUnitResource.Q_FIND_BY_ATTACHED_TRANSIT";
     private static final long serialVersionUID = 7990674516230010979L;
 
-    @OneToMany(mappedBy = "loadingUnit", cascade = CascadeType.ALL, orphanRemoval = true)
-    private final Set<CreateMissionRequest> sendRequests = new HashSet<>();
-
     @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
     private Set<AttachedDocument> documents = new HashSet<>();
 
Index: ../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitResourceHandler.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitResourceHandler.java b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitResourceHandler.java
--- a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitResourceHandler.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitResourceHandler.java	(date 1727273592829)
@@ -2,27 +2,17 @@
 
 import java.io.InvalidClassException;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
-import java.util.stream.Collectors;
-
 import javax.enterprise.context.ApplicationScoped;
 import javax.inject.Inject;
 import javax.persistence.EntityManager;
 import javax.validation.constraints.NotNull;
 
-import eu.reply.lea.services.yard.actions.loadingUnit.*;
-import eu.reply.lea.services.yard.application.LoadingUnitMovementApplicationService;
-import eu.reply.lea.services.yard.entities.*;
-import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitChangedStatusEvent;
-import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitInPlaceEvent;
-import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitDetachedFromTransitEvent;
-import eu.reply.lea.services.yard.events.movement.MovementStatusChangedEvent;
-import eu.reply.lea.services.yard.model.CreateMissionRequest;
-import eu.reply.lea.services.yard.model.LoadingUnitResource;
-import eu.reply.lea.services.yard.reference.LoadingUnitReference;
-import eu.reply.sce.backend.core.event.ConfigurableEventProducer;
-import eu.reply.sce.backend.core.jee.log.Logged;
+import lombok.Getter;
 import org.apache.commons.collections4.ListUtils;
+import org.apache.poi.ss.formula.functions.T;
+import org.slf4j.Logger;
 
 import eu.reply.lea.services.masterdata.client.DefaultMasterdataService;
 import eu.reply.lea.services.masterdata.client.MasterdataServiceException;
@@ -32,21 +22,23 @@
 import eu.reply.lea.services.masterdata.reference.DockReference;
 import eu.reply.lea.services.masterdata.reference.LocationReference;
 import eu.reply.lea.services.masterdata.reference.ZoneReference;
-import eu.reply.lea.services.yard.actions.loadingUnitActivity.LoadingUnitActivityConfirmAction;
-import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitHookedEvent;
+import eu.reply.lea.services.yard.actions.loadingUnit.BaseLoadingUnitHookVehicleAction;
+import eu.reply.lea.services.yard.actions.loadingUnit.DockingAction;
+import eu.reply.lea.services.yard.application.LoadingUnitMovementApplicationService;
+import eu.reply.lea.services.yard.entities.CreateMissionRequest;
+import eu.reply.lea.services.yard.entities.LoadingUnitActivity;
+import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitChangedStatusEvent;
+import eu.reply.lea.services.yard.events.loadingUnit.LoadingUnitDetachedFromTransitEvent;
 import eu.reply.lea.services.yard.exceptions.LoadingUnitActionException;
-import eu.reply.lea.services.yard.exceptions.LoadingUnitActivityActionException;
-import eu.reply.lea.services.yard.model.LoadingUnitActivity.Status;
+import eu.reply.lea.services.yard.model.LoadingUnitResource;
 import eu.reply.lea.services.yard.model.vehicle.LoadingUnitAttacher;
 import eu.reply.lea.services.yard.model.vehicle.LoadingUnitAttacherProxy;
 import eu.reply.lea.services.yard.model.vehicle.Switcher;
+import eu.reply.lea.services.yard.reference.LoadingUnitReference;
 import eu.reply.sce.backend.core.entity.exception.EntityNotFoundException;
+import eu.reply.sce.backend.core.event.ConfigurableEventProducer;
 import eu.reply.sce.backend.core.jee.configuration.ModuleConfiguration;
-import eu.reply.sce.backend.core.jee.event.Producer;
-import lombok.Getter;
-import org.slf4j.Logger;
-
-import static eu.reply.lea.services.yard.exceptions.LoadingUnitActionException.Codes.LOAD_STATUS_NOT_VALID;
+import eu.reply.sce.backend.core.jee.log.Logged;
 
 @Getter
 @ApplicationScoped
@@ -64,15 +56,13 @@
     @Inject
     protected DefaultMasterdataService masterdataService;
 
-    @Inject
-    private LoadingUnitActivityProcessor loadingUnitActivityProcessor;
-
     @Inject
     private ConfigurableEventProducer<LoadingUnitDetachedFromTransitEvent> loadingUnitDetachedFromTransitProducer;
 
     @Inject
     private LoadingUnitMovementApplicationService loadingUnitMovementApplicationService;
 
+
     //region Logging
 
     //region Inject Fields
@@ -259,7 +249,7 @@
 
         // the new switcher must be available
 
-        if (unitAttacher == null || !unitAttacher.isAvailable()) {
+        if (unitAttacher == null) {
             throw new LoadingUnitActionException(LoadingUnitActionException.Codes.VEHICLE_NOT_AVAILABLE, loadingUnit.getCode());
         }
         if (!unitAttacher.canAttachUnits()) {
@@ -290,25 +280,6 @@
     //endregion HookSwitcherAction Management
 
 
-    /**
-     * The aim of this method is to create an activity when the user decide to send
-     * the loading unit inside such Dock or Zone.
-     *
-     * @param loadingUnit Current Loading Unit
-     * @param activityType
-     * @param <T>
-     * @return
-     * @throws LoadingUnitActionException
-     */
-    public <T extends eu.reply.lea.services.yard.entities.LoadingUnitResource> T createActivity(final T loadingUnit, final LoadingUnitActivity.Type activityType) throws LoadingUnitActionException {
-        List<LoadingUnitActivity> activities = ListUtils.emptyIfNull(LoadingUnitActivity.findByLoadingUnit(getEm(), loadingUnit));
-        if (activities.stream().anyMatch(a -> LoadingUnitActivity.Status.isActive(a.getStatus()))) {
-            throw new LoadingUnitActionException(LoadingUnitActionException.Codes.ACTIVE_ACTIVITIES, loadingUnit.getCode());
-        }
-        LoadingUnitActivity activity = new LoadingUnitActivity(loadingUnit, activityType);
-        getEm().persist(activity);
-        return loadingUnit;
-    }
 
     //endregion AddHandlingRequestAction Management
 
@@ -332,31 +303,9 @@
                                   handlingRequestType));
         }
 
-        List<eu.reply.lea.services.yard.model.LoadingUnitActivity> activities =
-            new ArrayList<>(eu.reply.lea.services.yard.entities.LoadingUnitActivity.findByLoadingUnit(this.getEm(), loadingUnit));
-        eu.reply.lea.services.yard.model.LoadingUnitActivity activeActivity = activities
-            .stream()
-            .filter(
-                a -> a.getType().equals(activityType) && eu.reply.lea.services.yard.entities.LoadingUnitActivity.Status.isActive(
-                    a.getStatus()))
-            .findFirst()
-            .orElse(null);
-        if (activeActivity == null) {
-            this.createActivity(loadingUnit, activityType);
-        }
+        LoadingUnitActivity loadingUnitActivity =  new LoadingUnitActivity(activityType, DockReference.from(locationReference));
 
-        Dock location = masterdataService.get(DockReference.from(locationReference));
-        ListUtils.emptyIfNull(LoadingUnitActivity.findByLoadingUnit(getEm(), loadingUnit)).stream()
-                .filter(a -> Status.isTodo(a.getStatus()))
-                .forEach(a -> {
-                    try {
-                        loadingUnitActivityProcessor.confirm(a, new LoadingUnitActivityConfirmAction(new DockReference(location)));
-                    } catch (LoadingUnitActivityActionException e) {
-                        throw new RuntimeException(e);
-                    }
-                });
-
-        return sendTo(loadingUnit, new LocationReference(location));
+        return sendTo(loadingUnit, locationReference, Collections.singletonList(loadingUnitActivity));
     }
     //endregion SendToDockAction Management
 
@@ -364,7 +313,7 @@
 
     public <T extends eu.reply.lea.services.yard.entities.LoadingUnitResource> T sendToZone(final T loadingUnit, final LocationReference locationReference) throws MasterdataServiceException, InvalidClassException {
         Zone location = masterdataService.get(ZoneReference.from(locationReference));
-        return sendTo(loadingUnit, new LocationReference(location));
+        return sendTo(loadingUnit, new LocationReference(location), new ArrayList<>());
     }
 
     //endregion SendToZoneAction Management
@@ -387,7 +336,8 @@
      * @return LoadingUnit
      */
     private <T extends eu.reply.lea.services.yard.entities.LoadingUnitResource> T sendTo(@NotNull final T loadingUnit,
-                                                                                         @NotNull final LocationReference locationReference) {
+                                                                                         @NotNull final LocationReference locationReference,
+                                                                                         @NotNull final List<LoadingUnitActivity> loadingUnitActivities) {
 
         //TODO Check the status at least
         // CreateMissionRequest resourceAlreadyPresent = eu.reply.lea.services.yard.entities.CreateMissionRequest.findSendResourceRequest(this.em,
@@ -396,8 +346,9 @@
         // locationReference);
 
         //if (resourceAlreadyPresent == null) {
-        CreateMissionRequest createMissionRequest = new eu.reply.lea.services.yard.entities.CreateMissionRequest(loadingUnit, loadingUnit.getLastLocation(), locationReference,loadingUnit.getInboundTransit()
+        CreateMissionRequest createMissionRequest = new CreateMissionRequest(new LoadingUnitReference(loadingUnit), loadingUnit.getLastLocation(), locationReference, loadingUnit.getInboundTransit()
             .getDestinationSite());
+        loadingUnitActivities.forEach(createMissionRequest::addLoadingUnitActivity);
         getEm().persist(createMissionRequest);
         //}
 
Index: ../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitMovementProcessor.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitMovementProcessor.java b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitMovementProcessor.java
--- a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitMovementProcessor.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/LoadingUnitMovementProcessor.java	(date 1727251378671)
@@ -3,26 +3,16 @@
 import java.util.List;
 import javax.enterprise.context.ApplicationScoped;
 import javax.enterprise.inject.Default;
-import javax.inject.Inject;
 
 import org.apache.commons.collections4.ListUtils;
 import org.apache.commons.lang3.StringUtils;
 
 import eu.reply.lea.services.masterdata.client.MasterdataServiceException;
-import eu.reply.lea.services.yard.actions.loadingUnitMovement.LoadingUnitMovementStartAction;
-import eu.reply.lea.services.yard.application.LoadingUnitMovementApplicationService;
-import eu.reply.lea.services.yard.entities.LoadingUnitResource;
 import eu.reply.lea.services.yard.entities.LoadingUnitMovement;
 import eu.reply.lea.services.yard.events.LoadingUnitMovementCreatedEvent;
 import eu.reply.lea.services.yard.events.LoadingUnitMovementDeletedEvent;
 import eu.reply.lea.services.yard.events.LoadingUnitMovementUpdatedEvent;
-import eu.reply.lea.services.yard.exceptions.LoadingUnitActionException;
 import eu.reply.lea.services.yard.exceptions.LoadingUnitMovementActionException;
-import eu.reply.lea.services.yard.model.Movement.Status;
-import eu.reply.lea.services.yard.vehicles.SwitcherProviderProxy;
-import eu.reply.sce.backend.core.entity.configuration.Condition;
-import eu.reply.sce.backend.core.entity.configuration.Condition.Attribute;
-import eu.reply.sce.backend.core.entity.exception.EntityNotFoundException;
 import eu.reply.sce.backend.core.jee.configuration.entity.EntityProcessor;
 import eu.reply.sce.backend.core.jee.log.Logged;
 
@@ -33,15 +23,6 @@
 public class LoadingUnitMovementProcessor
     extends AbstractProcessor<LoadingUnitMovementCreatedEvent, LoadingUnitMovementDeletedEvent, LoadingUnitMovementUpdatedEvent> {
 
-    @Inject
-    private LoadingUnitMovementApplicationService loadingUnitMovementApplicationService;
-
-    @Inject
-    private LoadingUnitResourceHandler loadingUnitResourceHandler;
-
-    @Inject
-    private SwitcherProviderProxy switcherProviderProxy;
-
     // Lifecycle methods
 
     public void persisting(final LoadingUnitMovement entity)
@@ -75,89 +56,5 @@
     }
     //endregion
 
-    //region Utility Methods
-    //endregion
-
-    //region Actions methods
-
-    /**
-     * Change the status of the LoadingUnitMovement to EXECUTING. <br>
-     * The following events are triggered:
-     * <ol>
-     * <li>LoadingUnitMovementStatusChangedEvent
-     * </ol>
-     *
-     * @throws LoadingUnitMovementActionException
-     * @throws LoadingUnitActionException
-     * @throws MasterdataServiceException
-     * @throws EntityNotFoundException
-     */
-    @Condition({@Attribute(name = "status", values = {"TO_DO", "WAITING"})})
-    public LoadingUnitMovement action(final LoadingUnitMovement entity, final LoadingUnitMovementStartAction action)
-        throws LoadingUnitMovementActionException, LoadingUnitActionException, EntityNotFoundException,
-        MasterdataServiceException {
-        return this.start(entity, action);
-    }
-
-    private LoadingUnitMovement start(final LoadingUnitMovement entity, final LoadingUnitMovementStartAction action)
-        throws LoadingUnitMovementActionException, LoadingUnitActionException, EntityNotFoundException,
-        MasterdataServiceException {
-        checkLoadingUnitMovementIsNotStarted(entity);
-        LoadingUnitResource loadingUnitResource = getEm().find(LoadingUnitResource.class, Long.parseLong(entity.getLoadingUnitRef().getEntityId()));
-
-        if (!action.isHookingVehicleDataMissing()) {
-            loadingUnitResourceHandler.hookLoadingUnit(loadingUnitResource, action, switcherProviderProxy);
-        }
-
-        loadingUnitMovementApplicationService.createNewMovement(entity);
-        return entity;
-    }
-
-    /**
-     * Change the status of the LoadingUnitMovement to COMPLETED. <br>
-     * The following events are triggered:
-     * <ol>
-     * <li>LoadingUnitMovementStatusChangedEvent
-     * </ol>
-     *
-     * @throws LoadingUnitMovementActionException
-     * @throws MasterdataServiceException
-     * @throws LoadingUnitActionException
-     */
-    @Condition({@Attribute(name = "status", values = {"EXECUTING"})})
-    public LoadingUnitMovement end(final LoadingUnitMovement entity)
-        throws LoadingUnitMovementActionException, LoadingUnitActionException, MasterdataServiceException {
-        checkLoadingUnitMovementStatusCanSwitchToCompleted(entity);
-
-        LoadingUnitResource loadingUnitResource = getEm().find(LoadingUnitResource.class, Long.parseLong(entity.getLoadingUnitRef().getEntityId()));
-        loadingUnitMovementApplicationService.completeMovement(entity);
-
-        if (loadingUnitResource.isAttachedToAVehicle()) {
-            loadingUnitResourceHandler.release(loadingUnitResource);
-        }
-
-        return entity;
-    }
-
-    //
-    // Methods that check if exceptions should be thrown
-    //
-
-    private void checkLoadingUnitMovementIsNotStarted(final LoadingUnitMovement entity)
-        throws LoadingUnitMovementActionException {
-        if (!Status.isTodo(entity.getStatus())) {
-            throw new LoadingUnitMovementActionException(LoadingUnitMovementActionException.Codes.STATUS_NOT_VALID,
-                                                         entity.getCode());
-        }
-    }
-
-    private void checkLoadingUnitMovementStatusCanSwitchToCompleted(final LoadingUnitMovement entity)
-        throws LoadingUnitMovementActionException {
-        if (!Status.isExecuting(entity.getStatus())) {
-            throw new LoadingUnitMovementActionException(LoadingUnitMovementActionException.Codes.STATUS_NOT_VALID,
-                                                         entity.getCode());
-        }
-    }
-    //endregion
 
 }
Index: ../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnit/HookSwitcherAction.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnit/HookSwitcherAction.java b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnit/HookSwitcherAction.java
--- a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnit/HookSwitcherAction.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/actions/loadingUnit/HookSwitcherAction.java	(date 1727251378671)
@@ -33,11 +33,13 @@
     }
 
     @Override
+    @JsonIgnore
     public TypedEntityReference<?> getAttachingVehicleReference() {
         return switcherReference;
     }
 
     @Override
+    @JsonIgnore
     public Object getAttachingUnitIdentification() {
         return switcherCode;
     }
Index: ../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/model/CreateMissionRequest.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/model/CreateMissionRequest.java b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/model/CreateMissionRequest.java
--- a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/model/CreateMissionRequest.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/model/CreateMissionRequest.java	(date 1727276191674)
@@ -3,9 +3,12 @@
 import eu.reply.lea.services.common.model.IdentifiableResource;
 import eu.reply.lea.services.masterdata.reference.LocationReference;
 import eu.reply.lea.services.masterdata.reference.SiteReference;
+import eu.reply.lea.services.yard.reference.LoadingUnitReference;
 
 import java.io.Serializable;
 import java.util.Calendar;
+import java.util.List;
+import java.util.Set;
 
 public interface CreateMissionRequest extends HaveCreateMissionRequestStatus, IdentifiableResource, Serializable {
     long serialVersionUID = -1825589392171105795L;
@@ -15,7 +18,13 @@
      * Loading Unit that request a new internal sending
      * operation
      */
-    LoadingUnitResource getLoadingUnit();
+    LoadingUnitReference getLoadingUnitRef();
+
+    /**
+     * Loading Unit Activities to perform
+     * operation
+     */
+    <H extends LoadingUnitActivity> List<H> getLoadingUnitActivities();
 
     /**
      * Location from the LU needs to move (start location)
Index: ../application/yms-application/lea-yms-application/src/main/java/eu/reply/lea/services/yms/task/mission/MissionTaskProcessor.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/yms-application/lea-yms-application/src/main/java/eu/reply/lea/services/yms/task/mission/MissionTaskProcessor.java b/../application/yms-application/lea-yms-application/src/main/java/eu/reply/lea/services/yms/task/mission/MissionTaskProcessor.java
--- a/../application/yms-application/lea-yms-application/src/main/java/eu/reply/lea/services/yms/task/mission/MissionTaskProcessor.java	(revision ca070d97c5f38fae76e773e99e4c0b0fd68d6b81)
+++ b/../application/yms-application/lea-yms-application/src/main/java/eu/reply/lea/services/yms/task/mission/MissionTaskProcessor.java	(date 1727252854326)
@@ -88,17 +88,6 @@
 		return task;
 	}
 
-	@Condition({
-		@Attribute(name = "status", values = { "IN_PROGRESS" }),
-		@Attribute(name = "actionStatus", values = { "READY" }),
-		@Attribute(name = "vehicle", values = { "<> null" })
-	})
-	public MissionTask detachVehicle(@Nonnull final MissionTask task) throws YardServiceException, LoadUnitTaskActionException {
-		freeSwitcher(task);
-		task.setVehicle(null);
-		return task;
-	}
-
 	@Condition({
 		@Attribute(name = "status", values = { "IN_PROGRESS" }),
 		@Attribute(name = "actionStatus", values = { "READY" }),
@@ -127,7 +116,9 @@
         if(!task.getActionStatus().equals(ActionStatus.UNHOOKED)){
             throw new LoadUnitTaskActionException(Codes.LOADING_UNIT_NEVER_UNHOOKED, task);
         }
-		return closeTask(task);
+        task.getProgression().setMaxLimit(BigDecimal.ONE);
+        task.getProgression().setCurrent(new BigDecimal(1));
+		return super.close(task);
 	}
 
 	private void freeSwitcher(final MissionTask task) throws YardServiceException, LoadUnitTaskActionException {
@@ -139,12 +130,6 @@
 		}
 	}
 
-	private MissionTask closeTask(final MissionTask task) {
-		task.setActionStatus(ActionStatus.UNHOOKED);
-		task.getProgression().setMaxLimit(BigDecimal.ONE);
-		task.getProgression().setCurrent(new BigDecimal(1));
-		return checkCloseAuto(task);
-	}
 
 	private Switcher getSwitcher(final MissionTask task, final SwitcherReference reference, final String code) throws YardServiceException, LoadUnitTaskActionException {
 		if(reference != null) {
Index: ../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/pojo/CreateMissionRequestPojo.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/pojo/CreateMissionRequestPojo.java b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/pojo/CreateMissionRequestPojo.java
--- a/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/pojo/CreateMissionRequestPojo.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-model/src/main/java/eu/reply/lea/services/yard/pojo/CreateMissionRequestPojo.java	(date 1727276147648)
@@ -6,11 +6,15 @@
 import eu.reply.lea.services.masterdata.reference.SiteReference;
 import eu.reply.lea.services.yard.model.CreateMissionRequestStatus;
 import eu.reply.lea.services.yard.model.CreateMissionRequest;
+import eu.reply.lea.services.yard.model.LoadingUnitActivity;
+import eu.reply.lea.services.yard.reference.LoadingUnitReference;
+
 import lombok.*;
 
 import javax.persistence.Temporal;
 import javax.persistence.TemporalType;
 import java.util.Calendar;
+import java.util.List;
 
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -24,7 +28,9 @@
      * Loading Unit that request a new internal sending
      * operation
      */
-    private LoadingUnitResourcePojo loadingUnit;
+    private LoadingUnitReference loadingUnitRef;
+
+    private List<LoadingUnitActivityPojo> loadingUnitActivities;
 
     private SiteReference siteReference;
 
@@ -71,5 +77,6 @@
     public String resourceName() {
         return RESOURCE_NAME;
     }
+
     //endregion
 }
Index: ../application/yms-application/pom.xml
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/yms-application/pom.xml b/../application/yms-application/pom.xml
--- a/../application/yms-application/pom.xml	(revision ca070d97c5f38fae76e773e99e4c0b0fd68d6b81)
+++ b/../application/yms-application/pom.xml	(date 1727268208831)
@@ -4,7 +4,7 @@
     <parent>
         <groupId>eu.reply.sce.backend</groupId>
         <artifactId>core-parent</artifactId>
-        <version>2.10.9-SNAPSHOT</version>
+        <version>2.10.9</version>
     </parent>
 
     <groupId>eu.reply.lea.services</groupId>
Index: ../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/CreateMissionRequestProcessor.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/CreateMissionRequestProcessor.java b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/CreateMissionRequestProcessor.java
--- a/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/CreateMissionRequestProcessor.java	(revision 8f2161ff8426239b4273fbb08cb428f4ddb1ed5c)
+++ b/../application/lea-yard-service/lea-yard-module/src/main/java/eu/reply/lea/services/yard/boundary/CreateMissionRequestProcessor.java	(date 1727251953381)
@@ -33,9 +33,6 @@
     @Inject
     private ConfigurableEventProducer<CreateMissionRequestRetryEvent> retryInErrorSendResourceRequestEventProducer;
 
-    @Inject
-    private LoadingUnitResourceHandler loadingUnitResourceHandler;
-
     //endregion
 
     //region CRUD Operation

create a jira ticker of the modfiicationa