Introductie
In 2020 heeft CB webservices ontwikkeld om online Media opdrachten te kunnen ontvangen. De eerste klant is door CB uitgebreid begeleid bij het testen, maar volgende klanten moeten dit zoveel mogelijk zelfstandig kunnen doen. Analoog aan de werkwijze bij orders in TAS (test automatisering systeem) moet een test order op basis van enkele kenmerken die de klant meegeeft volledig automatisch verwerkt worden. Als aanvulling ten opzichte van TAS moeten er nu ook levereenheden worden aangemaakt.
Oplossingsrichting
Orders met test kenmerken worden toegekend aan een dummy Astro verwerkingsplaats. De berichten aan Astro worden bij aanmaak direct op verwerkt gezet, waardoor ze niet echt naar Astro gaan. Door berichten die normaal gesproken uit Astro komen nu in CB2000 zelf aan te maken, wordt verwerking in Astro gesimuleerd.
Vooralsnog is de oplossing alleen van toepassing voor Media opdrachten. Het is wel onafhankelijk van het gebruikte kanaal om de order in te dienen.
Alleen op development en test omgevingen
De hier beschreven functionaliteit is beschikbaar op de development en test omgevingen van CB, maar niet op de productie omgeving. De software staat weliswaar op de productie omgeving, maar middels een afvraging op welke omgeving de software draait wordt de functionaliteit op de productie omgeving genegeerd.
Werking ordersimulatie
De ordersimuatie functionaliteit is ingebouwd in de opdrachtbehandeling en -afhandeling. Hierdoor maakt het niet uit hoe een opdracht aangeleverd wordt. Er is wel een beperking in markt, alleen Media wordt ondersteund.
Op dit moment zijn er drie manieren om een Media opdracht in te dienen:
- Webservice MediaOrderB2C
- Digicom OPDNAW bestand
- Saleskit SHP bestand (intern: LEVORD bericht)
Aansturing
Een opdracht wordt meegenomen in de ordersimulatie aan de hand van een test-kenmerk in de opdracht. De kenmerk identificatie is:
test-kenmerk
$CB*TST
De klant kan dit kenmerk meegeven in een van de twee opdracht-referentie velden:
- afnemer-opdracht-referentie
- eigenaar-opdracht-referentie
Beide velden zijn beschikbaar in alle kanalen. De klant kan zelf kiezen welk veld gebruikt wordt voor het kenmerk. Het andere veld blijft beschikbaar voor de referentie van de klant. Een klant die in productie beide opdracht referentie velden wil gebruiken voor eigen referenties moet, om de ordersimulatie toe te passen, kiezen welk van de twee velden “opgeofferd” wordt voor het kenmerk.
Het kenmerk is 7 posities lang. De maximale lengte van de opdracht referentie velden die door alle kanalen ondersteund wordt is 10 posities. De resterende 3 posities zijn gereserveerd voor aanvullende opdracht instructies.
Opdracht instructies
Standaard wordt er voor elke opdracht één levereenheid aangemaakt, onafhankelijk van het aantal opdrachtregels, bestelde exemplaren en afmetingen van de artikelen. We simuleren dat alles in één levereenheid past waarmee de klant een duidelijke verwachting heeft van het resultaat van de opdracht.
In de praktijk past niet alles in een levereenheid en daarom kan de klant in de opdracht aangeven hoeveel levereenheden we moeten aanmaken.
test-kenmerk aanvulling t.b.v. meedere levereenheden
Dit is optioneel en wordt meegegeven achter het test-kenmerk met:
Cnn
Waarbij nn staat voor het aantal levereenheden (2 t/m 99). Bijvoorbeeld:
- $CB*TSTC3 => Test kenmerk + verzoek voor 3 levereenheden
- $CB*TSTC05 => Test kenmerk + verzoek voor 5 levereenheden
- $CB*TSTC15 => Test kenmerk + verzoek voor 15 levereenheden
Het maximaal aantal aan te maken levereenheden is gelijk aan het aantal bestelde exemplaren (dus 1 exemplaar per levereenheid). Als er meer levereenheden gevraagd worden dan er bestelde exemplaren zijn in een opdracht, dan wordt er per besteld exemplaar een levereenheid aangemaakt. Er wordt geen foutmelding of warning gegeven.
Opdrachtregel instructies
Standaard wordt voor elke regel het aantal bestelde exemplaren ook als geleverd in de levereenheid opgenomen. In de praktijk zijn er verschillende scenario’s mogelijk waardoor er een afwijkend aantal exemplaren geleverd wordt. De ordersimulatie ondersteunt één scenario, namelijk manco. De klant kan bij de opdrachtregel aangeven hoeveel exemplaren er manco gemeld worden.
Scenario 'Manco'
Dit is optioneel en wordt meegegeven met het manco-kenmerk:
$MANCO;n
Waarbij n staat voor het aantal levereenheden (1 t/m 9). Bijvoorbeeld:
- $MANCO:1 => Verzoek voor 1 exemplaar manco bij deze orderregel
- $MANCO:5 => Verzoek voor 5 exemplaren manco bij deze orderregel
Het maximaal aantal manco is het aantal bestelde exemplaren. Als er meer manco gevraagd wordt dan er bestelde exemplaren zijn in een opdrachtregel, dan worden er 0 exemplaren geleverd gemeld. Er wordt geen foutmelding of warning gegeven.
Er wordt geen nieuwe opdrachtregel voor het manco aantal gemaakt. De beoogde situatie is minder leveren dan gevraagd. Naleveren wordt niet ondersteund in ordersimulatie.
De klant kan dit kenmerk meegeven in een van de twee opdrachtregel-referentie velden:
- afnemer-regel-referentie
- eigenaar-regel-referentie
Beide velden zijn beschikbaar in alle kanalen. De klant kan zelf kiezen welk veld gebruikt wordt voor het kenmerk. Het andere veld blijft beschikbaar voor de referentie van de klant. Een klant die in productie beide regel referentie velden wil gebruiken voor eigen referenties moet, om manco toe te passen, kiezen welk van de twee velden “opgeofferd” wordt voor het kenmerk.
Proces
Een opdracht met het kenmerk wordt altijd aan verwerkingsplaats HE (Handmagazijn Eentjesverwerking, bordes) toegekend. Deze verwerkingsplaats zit in Astro en wordt niet of nauwelijks gebruikt. Er is bewust gekozen voor een Astro verwerkingsplaats omdat het berichtenverkeer met Astro eenvoudig gesimuleerd kan worden.
Om te voorkomen dat de order daadwerkelijk naar Astro gaat wordt het OrderSync bericht bij aanmaken meteen op status Gereed gezet.
Vervolgens wordt het gewenste aantal levereenheden gesimuleerd door per levereenheid een set van PalletShow berichten aan te maken met status 50, 70 en 75. De verwerking van een PalletShow kan leiden tot een PalletSync bericht voor Astro, in die gevallen wordt de PalletSync direct op status Gereed gezet.
Tenslotte wordt het sluiten van de rit in Astro gesimuleerd door een OrderDeliveryReport aan te maken.
Het verwerken van de opdracht wordt volledig doorlopen, met uitzondering van de acties in Astro. Indien van toepassing worden ook de documenten aangemaakt (maar uiteraard niet geprint in Astro).
Artikel voorraad
De ordersimulatie kent geen technische beperkingen in artikelen of voorraad. Afgesproken is om een set van artikelen te “reserveren” voor de ordersimulatie en te zorgen dat er voldoende voorraad beschikbaar is voor deze artikelen. Het monitoren hiervan is handmatig en moet met enige regelmaat uitgevoerd worden.
Artikelen beschikbaar voor test | |||||
ISBN | Titel | Imprint | Boeksoort | Stadium Levens Cyclus | Voorraad Ja/Nee |
---|---|---|---|---|---|
9789029511537 | Europa | Querido | A | Herdruk | NEE |
9789029585071 | Minder piekeren over geld | De Arbeiderspers | A | Aangekondigd | NEE |
9789063055998 | Mannen geld & chocola (Grote letter) | Archipel | O | Uitverkocht | NEE |
9789045119731 | Vrolijk kijkwoordenboek | Querido | S | Verschenen | JA |
9789045119755 | Thomas en de kerstkarper | Querido | A | Verschenen | JA |
9789025307349 | Salammbo | Athenaeum | A | Verschenen | NEE |
9789025308339 | De verdeelde aarde | Athenaeum | A | Verschenen | JA |
9789025309640 | Walvissen groot en vet | Athenaeum | A | Verschenen | JA |
9789025309954 | Op zoek naar de zwarte masseur | Athenaeum | A | Verschenen | JA |
9789029505598 | Liefde in Pangea | De Arbeiderspers | A | Verschenen | JA |
9789029506182 | De buitenvrouw | De Arbeiderspers | A | Verschenen | JA |
9789029506335 | Zes sterren | De Arbeiderspers | A | Verschenen | JA |
9789029506885 | Americana | De Arbeiderspers | A | Verschenen | JA |
Resultaten voor klant
Het informeren van de klant over de voortgang van de opdracht is afhankelijk van de manier waarop de opdracht ingediend is.
Webservices
Bij gebruik van het kanaal webservices wordt de klant vrijwel direct na het wijzigen van een status in de order geïnformeerd. Het onderstaande diagram geeft aan welke stadiums er gedefinieerd zijn en welke webservice-operaties gebruikt worden om informatie aan de klant te melden danwel beschikbaar te maken.
Beschrijving:
- Een eindklant (customer) plaatst een of meerdere artikelen in de winkelwagen van een webwinkel
- De webshop dient de opdracht in bij CB
- CB controleert de opdracht en indien geaccepteerd, dan stuurt CB een order notificatie met status event “In Progress”
- CB reserveert voorraad en geeft de order(regel) vrij voor logistiek. De orderregel kan vanaf dat moment niet meer geannuleerd worden. CB stuurt een order notificatie met status event “ProductionReady”
- De webwinkel kan de status van de order ophalen om te zien welke orderregels vrij gegeven zijn
- CB voert de ordersimulatie uit en stuurt per levereenheid een shipment notificatie met status event “Processed”
- De webwinkel kan de details van elke levereenheid ophalen en daarmee de eindklant informeren.
Digicom
Bij gebruik van het kanaal digicom wordt er een UITOPD bericht voor de klant klaargezet en indien niet alles geleverd is ook een NUITOP bericht. Het versturen van de berichten vindt plaats op een gescheduled tijdstip.
Saleskit
Bij gebruik van het kanaal saleskit wordt de klant geïnformeerd met de SHP-status (intern: ORDSTATUS bericht) en SHP-confirm (intern: LEVRESULT bericht) bestanden. Het moment van sturen alsmede het wel of niet sturen van deze berichten is afhankelijk van de configuratie van de klant.