Skip to content

entur/enlil

Folders and files

NameName
Last commit message
Last commit date
Mar 20, 2025
Aug 5, 2024
Sep 25, 2024
Nov 4, 2024
Oct 1, 2024
Aug 5, 2024
Aug 12, 2024
Aug 12, 2024
Oct 1, 2024
Oct 1, 2024
Aug 5, 2024
Aug 5, 2024
Mar 24, 2025
Aug 5, 2024

Repository files navigation

enlil

father of nirgali

lord of the winds

Backend application for a lightweight realtime deviation system.

Consists of two parts:

  1. A GraphQL API for managing situation messages, cancellations and extra-journeys
  2. A SIRI endpoint for requesting SIRI-SX or SIRI-ET versions of the same data

Data is stored in a Firestore database.

GraphQL

A GraphQL API is available at /graphl, to be used by frontend application (nirgali). It allows authorized users to manage data within their assigned codespace / organisation.

SIRI

Situation messages, cancellations and extra-journeys in the Firestore database are mapped to SIRI-SX and SIRI-ET after retrieval. A REST-endpoint (/siri) is exposed to request SIRI XML via HTTP POST:

Request for SIRI-SX (SituationExchangeRequest):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Siri version="2.0" xmlns="http://www.siri.org.uk/siri" xmlns:ns2="http://www.ifopt.org.uk/acsb" xmlns:ns3="http://www.ifopt.org.uk/ifopt" xmlns:ns4="http://datex2.eu/schema/2_0RC1/2_0">
  <ServiceRequest>
    <RequestTimestamp>2020-02-10T08:57:23.397883+01:00</RequestTimestamp>
    <RequestorRef>ENTUR_DEV</RequestorRef>
    <SituationExchangeRequest version="2.0">
      <RequestTimestamp>2020-02-10T08:57:23.397893+01:00</RequestTimestamp>
      <MessageIdentifier>de353056-466d-44ef-a405-d11311281810</MessageIdentifier>
      <PreviewInterval>PT10H</PreviewInterval>
    </SituationExchangeRequest>
  </ServiceRequest>
</Siri>

Request for SIRI-ET (EstimatedTimetableRequest):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Siri version="2.0" xmlns="http://www.siri.org.uk/siri" xmlns:ns2="http://www.ifopt.org.uk/acsb" xmlns:ns3="http://www.ifopt.org.uk/ifopt" xmlns:ns4="http://datex2.eu/schema/2_0RC1/2_0">
  <ServiceRequest>
    <RequestTimestamp>2019-11-06T14:45:00+01:00</RequestTimestamp>
    <RequestorRef>ENTUR_DEV-1</RequestorRef>
    <EstimatedTimetableRequest version="2.0">
      <RequestTimestamp>2019-11-06T14:45:00+01:00</RequestTimestamp>
      <MessageIdentifier>e11d9efb-ee7b-4a67-847a-a254e813f0da</MessageIdentifier>
    </EstimatedTimetableRequest>
  </ServiceRequest>
</Siri>