diff --git a/resources/ts/model/departure.ts b/resources/ts/model/departure.ts
index 966252f..ece154b 100644
--- a/resources/ts/model/departure.ts
+++ b/resources/ts/model/departure.ts
@@ -3,14 +3,15 @@ import { Line } from "./line";
import { Moment } from "moment";
export interface Departure {
- display: string;
+ id: string;
+ display: string;
estimated: Moment;
scheduled?: Moment;
- stop: Stop;
- line: Line;
- delay: number;
+ stop: Stop;
+ line: Line;
+ delay: number;
- vehicle?: Vehicle;
+ vehicle?: Vehicle;
}
export interface Vehicle {
diff --git a/src/Model/Departure.php b/src/Model/Departure.php
index c30b346..a4d8c51 100644
--- a/src/Model/Departure.php
+++ b/src/Model/Departure.php
@@ -11,6 +11,13 @@ class Departure implements Fillable
{
use FillTrait;
+ /**
+ * Unique identifier of departure, can be meaningless.
+ * @var string
+ * @Serializer\Type("string")
+ */
+ private $key;
+
/**
* Information about line.
* @var Line
@@ -58,6 +65,16 @@ class Departure implements Fillable
*/
private $scheduled;
+ public function getKey(): string
+ {
+ return $this->key;
+ }
+
+ public function setKey(string $key): void
+ {
+ $this->key = $key;
+ }
+
public function getLine(): Line
{
return $this->line;
diff --git a/src/Provider/Database/GenericScheduleRepository.php b/src/Provider/Database/GenericScheduleRepository.php
index 9d09acc..d0f12b2 100644
--- a/src/Provider/Database/GenericScheduleRepository.php
+++ b/src/Provider/Database/GenericScheduleRepository.php
@@ -58,6 +58,7 @@ class GenericScheduleRepository extends DatabaseRepository implements ScheduleRe
$last = $entity->getTrip()->getTrack()->getStopsInTrack()->last()->getStop();
return Departure::createFromArray([
+ 'id' => sprintf('%s::%s', $entity->getTrip()->getId(), $entity->getDeparture()->format('H:i')),
'scheduled' => $entity->getDeparture(),
'stop' => $stop,
'display' => $last->getName(),
diff --git a/src/Provider/ZtmGdansk/ZtmGdanskDepartureRepository.php b/src/Provider/ZtmGdansk/ZtmGdanskDepartureRepository.php
index e6faedf..a13c296 100644
--- a/src/Provider/ZtmGdansk/ZtmGdanskDepartureRepository.php
+++ b/src/Provider/ZtmGdansk/ZtmGdanskDepartureRepository.php
@@ -70,6 +70,7 @@ class ZtmGdanskDepartureRepository implements DepartureRepository
$estimated = (clone $scheduled)->addSeconds($delay['delayInSeconds']);
return Departure::createFromArray([
+ 'id' => sprintf('%s::%s', $delay['routeId'], $scheduled->format('H:i')),
'scheduled' => $scheduled,
'estimated' => $estimated,
'stop' => $stop,
diff --git a/templates/app.html.twig b/templates/app.html.twig
index 3ca067f..0ec12da 100644
--- a/templates/app.html.twig
+++ b/templates/app.html.twig
@@ -126,17 +126,15 @@
Zapisane
-