diff --git a/src/Plugin/migrate/process/CalculateEndtime.php b/src/Plugin/migrate/process/CalculateEndtime.php
new file mode 100644
index 0000000000000000000000000000000000000000..5aa7948e72c44458a4a25f843cf22b542700d356
--- /dev/null
+++ b/src/Plugin/migrate/process/CalculateEndtime.php
@@ -0,0 +1,43 @@
+<?php
+
+namespace Drupal\druplan_demo\Plugin\migrate\process;
+
+use Drupal\migrate\MigrateExecutableInterface;
+use Drupal\migrate\ProcessPluginBase;
+use Drupal\migrate\Row;
+
+/**
+ * Calculate end time based on start and duration.
+ *
+ * @MigrateProcessPlugin(
+ * id = "endtime_value",
+ * handle_multiples = TRUE
+ * )
+ */
+class CalculateEndtime extends ProcessPluginBase {
+
+ /**
+ * {@inheritdoc}
+ */
+ public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
+ if (empty($value)) {
+ $start_time = $row->getSourceProperty('startuur');
+ $duration = $row->getSourceProperty('duurtijd');
+ $hours = '1';
+ $minutes = '0';
+ if(!empty($duration)) {
+ list($hours, $minutes) = explode(':', $duration);
+ }
+ if (!empty($start_time)) {
+ $formatted_start = str_replace('u', ':', $start_time);
+ $start_datetime = \DateTime::createFromFormat('H:i', $formatted_start);
+ if ($start_datetime) {
+ $start_datetime->modify("+{$hours} hours +{$minutes} minutes");
+ return $start_datetime->format('H:i');
+ }
+ }
+ return '22:45';
+ }
+ return str_replace('u', ':',$value);
+ }
+}