Inleiding
In dit document worden de berichten Bestel Order en Bestel Order Respons beschreven.
BestelOrder
Bericht ten behoeve van een gewenste levering aan CB. Indien CB constateert dat er voorraad benodigd is bij CB, bijvoorbeeld voor opdrachten ingediend door boekverkopers, zal CB een BestelOrder indienen bij de eigenaar/leverancier van het artikel. De BestelOrder omvat de het gewenste artikel en het gewenste aantal om de voorraad bij CB op peil te brengen.
BestelOrderRespons
Bericht ten behoeve van een gewenste levering aan CB naar aanleiding van een BestelOrder bericht. Via het BestelOrderRepons bericht kan de eigenaar/leverancier CB op de hoogte brengen van de voorgenomen levering aan CB aan de hand van de bestelling die CB heeft ingediend bij de uitgever/leverancier.
Berichtdefinitie BestelOrder
Parent node | Attribute | Format | Cardinality | Values | Comment | ||||
Message | |||||||||
Header | 1 | ||||||||
MessageId | A20 | 1 | Identification of the message. The id is unique among all the shipment messages submitted by the sender. | ||||||
SenderId | A10 | 1 | 6822831 | Identification of CB | |||||
VersionId | A10 | 1 | v01 | Version number of the message. For this version of the message 'v01' | |||||
OrderingParty | 1 | ||||||||
Id | A40 | 1 | 6822831 | Identification of CB | |||||
IdType | A3 | 1 | INT | Indication whether the Id is an internal or external id. Only 'INT' allowed. | |||||
Orders | 1 | ||||||||
Order | 1-n | ||||||||
OrderId | A25 | 1 | The identification of the order at CB | ||||||
OrderDate | Date | 1 | The date the order is sent to 'Depot Uitgever' (yyyy-mm-dd) | ||||||
Orderlines | 1 | ||||||||
Orderline | 1-n | ||||||||
ProductId | A24 | 1 | The ISBN of the article | ||||||
Quantity | N6 | 1 | The quantity ordered | ||||||
Naamgeving BestelOrder Definitie: cb_bestelordr_<yyyymmddhhmiss>_<unique-id>.xml Voorbeeld: cb_bestelordr_201803210853_1017428.xml |
Berichtdefinitie BestelOrderRespons
Parent node | Attribute | Format | Cardinality | Values | Comment | |||||
Message | ||||||||||
Header | 1 | |||||||||
MessageId | A20 | 1 | Identification of the message. The ID must be unique among all the shipment messages submitted by the sender | |||||||
SenderId | A10 | 1 | <relation_ID> | Identification of the cliënt which is registered as 'Depot Uitgever' with CB, the sender of the message | ||||||
VersionId | A10 | 1 | v01 | Version number of the message. For this version of the message 'v01' | ||||||
OrderingParty | 1 | |||||||||
Id | A40 | 1 | 6822831 | Identification of CB | ||||||
IdType | A3 | 1 | INT | Indication whether the ID is an internal or external ID. Only 'INT' allowed. | ||||||
Orders | 1 | |||||||||
Order | 1-n | |||||||||
OrderId | A25 | 1 | The identification of the order at CB | |||||||
Orderlines | 1 | |||||||||
Orderline | 1-n | |||||||||
ProductId | A24 | 1 | The ISBN of the article | |||||||
OrderlineStatus | ||||||||||
Status | NA6 | 1 | The status concerning quantity (Deliver - DELVRD-, Rejected -REJECT, Backorder -BCKORD-) | |||||||
Quantity | N6 | 1 | The quantity | |||||||
Reason | A240 | 0-1 | Te reason why the product was not delivererd | |||||||
Naamgeving BestelOrderRespons Definitie : <unique>_brspns.xml Bestandsnaam:
voorbeeld: 123456789_brspns.xml |
Verwerking OrderRespons
Op een Bestelorder opdracht kan tot en met het diepste niveau meerdere malen een order response bericht voor worden teruggestuurd. De verwerking van een OrderResponsebericht op 'Orderline' niveau bij CB werkt als volgt:
Er kunnen 3 soorten orderlines binnenkomen:
- Deliver
- Backorder
- Rejected
Aantallen van het OrderRespons bericht zijn niet altijd gelijk aan het Bestelorder bericht
De aantallen in het Orderrespons bericht hebben betrekking tot de informatie die bij de 'Depot uitgever' bekend is. Zo kan het voorkomen dat bij een bestelling van 4 stuks, eerst een bericht terugkomt met betrekking tot 2 van de 4 stuks en later nog 1 of meer berichten.
Voor een backorder OrderRespons regel volgt later nog een OrderRespons regel
Voor een OrderRespons regel ‘Backorder’ wordt op een later moment nog een OrderRespons regel(s) verwacht, namelijk als er geleverd wordt (‘Deliver’) of als toch niet leverbaar blijkt (‘Rejected)’.
Verwerking per regeltype
Verwerking van een Deliver regel
Aantal te leveren = Huidig aantal te leveren + nieuw ontvangen Deliver aantal.
Aantal in nalevering = grootste van:
- Huidig aantal in nalevering – nieuw ontvangen Deliver aantal
of - 0
Aantal afgewezen = ongewijzigd.
Uitleg: Het aantal te leveren ISBN wordt opgehoogd.
Als er (eerder al) nalevering aantallen waren gemeld, worden deze hiermee verminderd.
Verwerking van een Backorder regel
Aantal in nalevering = Huidig aantal in nalevering + nieuw ontvangen backorder aantal
Aantal te leveren = ongewijzigd
Aantal afgewezen = ongewijzigd
Verwerking van een Rejected regel
Een OrderRespons voor ISBN van type Rejected wordt bij CB verwerkt als:
Aantal afgewezen = Huidig aantal afgewezen + nieuw ontvangen rejected aantal
Aantal in nalevering = grootste van:
- Huidig aantal in nalevering – nieuw ontvangen rejected aantal
of - 0
Aantal te leveren = ongewijzigd
Algemene controles
Verder zijn er nog een aantal basis controles waarmee rekening moeten worden gehouden:
- De som van ‘aantal te leveren’, ‘aantal in nalevering’ en ‘aantal afgewezen’ mag nooit groter zijn dan het ‘aantal besteld’ van de bijbehorende order.
- Het totaal ‘aantal te leveren’ mag niet minder worden (door een ‘Reject’)
Mogelijk scenario
Scenario 1: CB bestelt in order 123 bij Depot Uitgever o.a. 10 kopieën van boek A | ||||||||||||||||||||||
Depot Uitgever | CB | Uitleg | ||||||||||||||||||||
| CB bestelt 10 stuks boek A:
|
| ||||||||||||||||||||
Depot Uitgever zet voor boek A een of meerdere bestellingen uit. |
|
| ||||||||||||||||||||
Order respons regel voor boek A:
| Na verwerking door CB:
| Aantal te leveren = Huidig aantal te leveren + nieuw ontvangen Deliver aantal | ||||||||||||||||||||
Order respons regel voor boek A:
| Na verwerking door CB:
| Aantal in nalevering = Huidig aantal in nalevering + nieuw ontvangen backorder aantal | ||||||||||||||||||||
Order respons regel voor boek A:
| Na verwerking door CB:
| Aantal afgewezen = Huidig aantal afgewezen + nieuw ontvangen rejected aantal
Aantal in nalevering = grootste van:
| ||||||||||||||||||||
Order respons regel voor boek A:
| Na verwerking door CB:
| Aantal te leveren = Huidig aantal te leveren + nieuw ontvangen Deliver aantal.
Aantal in nalevering = grootste van:
| ||||||||||||||||||||
Order respons regel voor boek A:
| Na verwerking door CB:
| Hierna wordt bij CB geen order respons regel meer verwacht voor order ABC boek A. |
<?xml version="1.0" encoding="UTF-8" ?> <ONTBEV xmlns="http://www.cbonline.nl/xsd"> <bericht> <cb_bericht_nr>9962695</cb_bericht_nr> <afzender_bericht_id>I20180226001</afzender_bericht_id> <type>BESTELRSPS</type> <file>opdr921_20180226tg106.iot</file> <ftp_dir>6753652\in</ftp_dir> <relatie_id>6753652</relatie_id> <ontvangen>20180309 1029</ontvangen> </bericht> <melding> <line> Bij het verwerken van bericht I20180226001(opdr921_20180226tg106.iot) in de CB-systemen, zijn fouten en/of meldingen opgetreden.</line> <line>Records die met MELDING beginnen zijn verwerkt, en die met FOUT beginnen zijn niet verwerkt.</line> <line>Er is een fout opgetreden bij de uniciteit-check voor bericht: opdr921_20180226tg106.iot.</line> <line/> <line>Er is eerder een bericht met de berichtreferentie (UniekId) "I20180226001" ontvangen (en DAT bericht is al verwerkt in CB-systemen).</line> <line>Dit bericht is niet verwerkt. </line> </melding> </ONTBEV>