Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

Transplan heeft een koppeling om OTM orders in Transplan te importeren. Deze pagina beschrijft hoe de OTM koppeling werkt.

De OTM orders worden in een JSON formaat aangeboden aan Transplan en verwerkt. Er zijn verschillende OTM stromen die ondersteund wordt. Dit zijn o.a. Jumbo, Albert Heijn, Detailresult en Planned Trip Service (PTS) van Ahold.

Voor elke stroom is er een mogelijkheid om deze in Transplan te beheren. De stroom kan aan / uit gezet worden of o.b.v. kenmerken in het OTM bericht kan een specifieke klant / planafdeling / ordersoort gekoppeld worden.

OTM5 inkomende orders

Om de verschillende datastromen vanuit OTM te kunnen beheren is in Transplan het scherm OTM5 inkomende orders beschikbaar (via Transplan - Statische data).

Om dit scherm te kunnen openen moet je open en bewerken rechten hebben voor Statische data > OTM5 inkomende orders

Op dit scherm kan per OTM stroom het volgende ingeregeld worden:

  • Filter om o.b.v. een waarde uit het OTM bericht te matchen.

  • Klant koppeling

  • Sjabloon om een ritomschrijving samen te stellen.

  • Orderregel per ritactiviteit

  • Planafdeling koppeling

  • Routenummer overnemen

  • Ordersoort koppeling

  • Omschrijving (dit is alleen voor herkenning en om een naam te geven aan een bepaalde stroom).

  • Sjabloon om een routenummer samen te stellen.

Bij de velden debiteur, planafdeling en ordersoort kan per stroom de betreffende waarde in Transplan gekoppeld worden.

Wanneer het vinkje Routenummer overnemen is aangevinkt en er is een Routeomschrijvingsjabloon ingevuld, dan wordt het routenummer opgebouwd volgende de ingegeven sjabloon. Zie Placeholders routenummer voor beschikbare placeholders. Als het routenummer overnemen vinkje aanstaat, maar er is geen routeomschrijvingsjabloon gevuld, dan wordt geprobeerd om het routenummer te bepalen uit attribuut customer_data_taskNumber of TaskNumber uit het OTM bericht. Als beide leeg zijn, dan blijft het routenummer leeg en wordt in de HUB de standaard werking toegepast en wordt het ordernummer als routenummer gevuld bij zowel de order als de rit.

LET OP! Als routenummer niet uniek genoeg is, dan kan het zijn dan orders samengevoegd worden tot één rit. Het is dus heel belangrijk om het routenummer zo uniek mogelijk samen te stellen.

Als de optie orderregel per ritactiviteit aangevinkt is, dan wordt van elke action binnen een stop een orderregel aangemaakt in Transplan. Van de volgende actions wordt dan een orderregel aangemaakt:

  • Load action (wordt LA stop in Transplan)

  • Unload action (wordt LO stop in Transplan)

  • Break action (wordt Pauze in Transplan)

  • Wait action (wordt Wachten in Transplan)

In het veld Ritomschrijving sjabloon kan de opbouw van de ritomschrijving ingesteld worden. Hier kan tekst ingevuld worden alsook zogenaamde ‘placeholders' (herkenbaar door de { en } tekens). Deze placeholders worden vervangen door data uit het OTM bericht (indien beschikbaar). Zie Placeholders voor beschikbare placeholders en waar de data uit het OTM bericht wordt gelezen.

Met het veld filtersjabloon en filterwaarde kan bepaald worden o.b.v. data uit het OTM bericht welke mapping wordt toegepast. In het filtersjabloon kunnen dezelfde placeholders toegepast worden als bij de ritomschrijving sjabloon. Bij filterwaarde kan ook een wildcard ( * ) ingevuld worden. Op dit moment ondersteunen we alleen een wildcard aan het einde van de filterwaarde (bijv. RDC*).

Als er geen match gevonden kan worden o.b.v. filtersjabloon en filterwaarde, dan wordt er een standaard regel aangemaakt. Deze regel wordt standaard op niet actief gezet.

Placeholders

In onderstaande tabel een overzicht met de placeholders die beschikbaar zijn om te gebruiken in de velden filtersjabloon en ritomschrijving sjabloon. Als voor een placeholder geen data gevonden kan worden in het OTM bericht, dan wordt de placeholder vervangen door een lege waarde.

Veld in Transplan

Veld in OTM bericht

adresnamen

name van elke stop (alleen in omschrijving functioneel; niet in filter)

afdeling

eerste beschikbaar uit: department / rateReference / eerste deel van name, tot symbool '|', spatie, '/'

carriercode

actor met rol carrier, daarvan code uit de externalAattributes

eerste_dc_stad

city van eerste locatie met 'type' 'warehouse'

eerste_stad

Plaats van de eerste(niet geannuleerde) stop.
De plaats komt uit location.administrativeReference.city

externe_reservering

reservationExternalNumber uit de externalAttributes van de trip.

kenteken

licenseplate uit entiteit vehicle

klantnaam

customerName uit de externalAttributes van de trip.

klant_id

customerId uit de externalAttributes van de trip.

laatste_dc_stad

Plaats van de laatste locatie van 'type' 'warehouse'

laatste_stad

Plaats van de laatste (niet geannuleerde) stop.
De plaats komt uit location.administrativeReference.city

opdrachtnummer

eerste beschikbaar uit: externalAttributes.Customer_data_taskNumber of externalAttributes.taskNumber

ordersoort

OrderType uit de externalAttributes van de trip.

moeilijkheidsgraad

Alleen voor AH PTS. De hoogste moeilijkheidsgraad van alle niet DC stops. De moeilijksheidsgraad komt uit property location.ExternalAttributes.stopComplexity. Hieronder de de moeilijkheidsgraad van laag naar hoog:

  1. Regular

  2. Moderate

  3. Hard

  4. BP

  5. NB (niet bekend, dus uitgaan van het moeilijkste).

multi_dc

isMultiDc uit ExternalAttributes van de trip. Mogelijke waarden:

  • true

  • false

  • allowed

ritnaam

eerste beschikbaar uit: externalAttributes.displayName en name

rittype

customer_data_tripType uit ExternalAttributes van de rit en anders tripType uit ExternalAttributes van de trip. Mogelijke waarden:

  • STORE

  • PENDEL

routenummer

RouteNumber uit ExternalAttributes van de trip.

routeowning_dc

GroupingAddressLocationId uit ExternalAttributes van de trip.

planafdeling

planafdeling (alleen AH PTS). Uit ExternalAttributes.planDeparment

product_soort

de verschillende unieke commodity van de eerste DC stop. De commodity bevat bijv. FRESH of AMBIENT. De waarde komt uit load/unlaod.consignment.externalAttributes.commodity.

Als er geen commodity is dan alle (unieke) temperatuurGroupName uit ExternalAttributes van de trip. Mogelijke waarden bijv. Freeze, Ambient e.d.

starttijd_rit

PlannedStart of StartDateTime uit externalAttributes van de rit en anders de starttijd van de eerste stop. Formaat is hh24:mi (bijv. 09:15)

status

status van de rit (alleen AH PTS). Uit trip.externalAttributes.status

steden

city van elke stop (alleen in omschrijving functioneel; niet in filter)

taak_opmerking

taskRemark uit externalAttributes van de trip.

trekkertype

eerste beschikbaar uit: externalAttributes.requestedTractorType en vehicle.vehicleType

vlootnummer

externalAttributes.plannedFleetNumberTractor en anders customer_data_routeId uit ExternalAttributes van de trip.

voertuig_id

vehicleId uit externalAttributes van de entiteit vehicle

voertuigtype

externalAttributes.requestedVehicleType en anders customer_data_resourceType uit ExternalAttributes van de trip.

zending_type

De (unieke) type zendingen (consignment type) van alle stops (gescheiden door een komma).

Placeholders routenummer

Vanaf Transplan versie 2024.4 is het routenummer in Transplan alfanumeriek gemaakt. Het is vanaf deze versie mogelijk om voor OTM orders een routenummersjabloon op te stellen. Hieronder de beschikbare placeholders die gebruikt kunnen worden voor dit sjabloon. De meeste placeholders zijn hetzelfde als diegene die ook gebruikt kunnen worden voor de ritomschrijvingsjabloon. Er zijn echter een paar extra opties.

Veld in Transplan

Veld in OTM bericht

opdrachtnummer

eerste beschikbaar uit: externalAttributes.Customer_data_taskNumber of externalAttributes.taskNumber

carriercode

actor met rol carrier, daarvan code uit de externalAattributes

afdeling

eerste beschikbaar uit: department / rateReference / eerste deel van name, tot symbool '|', spatie, '/'

ritdatum

De ritdatum (formaat ddMMyyyy). Ritdatum wordt bepaald uit PlannedStart of StartDateTime uit externalAttributes van de rit en anders de starttijd van de eerste stop.

ritnaam

De naam van de rit. Property Name uit het OTM bericht.

routenummer

RouteNumber uit ExternalAttributes van de trip.

weeknummer

Weeknummer van de ritdatum. Als weeknummer kleiner is dan 10, dan wordt een 0 er voor gezet. Bijv. weeknummer 8 wordt als “08” gevuld.

Los en -laadactie op hetzelfde adres samenvoegen tot een LOLA stop

Voor de OTM PTS stroom van AH worden stops uit het OTM bericht samengevoegd tot een LOLA stop als op hetzelfde adres meerdere acties worden uitgevoerd en de eerste actie een los actie is gevolgd door een laad actie. De starttijd van de LOLA orderregel is de starttijd van de losactie en de eindtijd van de LOLA orderregel is de eindtijd van de laadactie.

Deze logica wordt alleen uitgevoerd als de optie Orderregel per ritactiviteit is aangevinkt en er bij een stop meerdere actions aanwezig zijn.

Verwerking stand-by ritten (alleen AH PTS koppeling)

Voor de AH PTS (planned Trip Service) is een aparte stroom op de normale stroom, namelijk stand-by ritten. Dit zijn capaciteitsritten waarbij door AH tijd gereserveerd wordt bij de vervoerder voor als er last-minute finale ritten ingepland worden.

Wanneer AH een deel van de stand-by rit invult met een finale rit, dan blijven er één of meerdere stand-by gedeelten over. Bij AH is een stand-by rit altijd één rit en kan deze verschillende start- en eindtijden hebben. In Transplan ondersteunen wij geen ritten met verschillende start- en eindtijden. Daarom is er voor de verwerking van dit type rit een aparte flow opgezet.

Wanneer AH een finale rit heeft ingevuld voor de stand-by rit, dan wordt ook een update van de capacateitsrit gestuurd met daarin de overgebleven stand-by gedeelten. Een stand-by gedeelte bestaat altijd uit twee actions.

Per stand-by gedeelte gaan wij deze in Transplan verwerken. Een stand-by gedeelte kan een bestaande order=rit zijn, dan wordt deze order=rit bijgewerkt (update). Als er een nieuwe stand-by gedeelte is ontstaan, dan wordt een nieuwe order=rit aangemaakt.

Hieronder een mogelijke flow van een stand-by rit en hoe deze door AH wordt ingevuld / doorgegeven.

Wanneer is het een stand-by rit?

Als de status van de order (trip.externalAttributes.status) de status PLANNED is en het aantal actions in de rit (type stop) meer dan 2 is, dan wordt dit gezien als een stand-by rit en gaat Transplan deze rit behandelen als een stand-by rit.

Wanneer de capaciteitsrit een stand-by rit is, dan wordt per twee actions een rit in Transplaan aangemaakt of bijgewerkt indien de order=rit al bestaat.

Als een stand-by gedeelte t.o.v. verwerking niet meer aanwezig is (hij is bijv. ingevuld door een finale rit) wordt deze niet meer meegegeven in de capaciteitsrit. In de verwerking gaat Transplan o.b.v. het OtmTripId kijken of er orders zijn voor dit ID die niet in de huidige capaciteitsrit aanwezig is. Van deze orders wordt een Cancel bericht gestuurd in Transplan, zodat deze order=rit geannuleerd wordt.

  • No labels