Zu den Farben siehe die Legende .
Die angegebenen ID-Prefixe sollen verdeutlichen, für welches System diese gültig sind:
aXcRqst
sind Request-IDs von audioXchange
aXcSpt
sind Spot-IDs von audioXchange
ByrSpt
sind dsp-Keys der Buyer -Systeme
SllrSpt
sind ssp-Keys der Seller -Systeme
Vorbereitung
Buyer legt PlanElement und RequestStream an
Aktueller Status BUYER_IN_WORK
In einem ersten Schritt legt der Buyer ein PlanElement
und einen RequestStream
an.
BuyerCreatesPlanElementAndRequestStream
PlanElement
PlanElement
RequestStream
RequestStream
+ SellerProductId: ID (sp001)
PlanElement->RequestStream
*
1
Methoden der API:
Erste Iteration
Buyer legt Request und RequestSpots an
Anschließend wird ein erster Request
angelegt und diesem dann drei RequestSpots
hinzugefügt.
Die Plan-Art eines Buchungselements lässt sich über die Zeitschienen der enthaltenen RequestSpots
ermitteln. Siehe dazu auch Termin- vs. Belegungsplan .
BuyerCreatesRequestAndRequestSpots
PlanElement
PlanElement
RequestStream
RequestStream
+ SellerProductId: ID (sp001)
PlanElement->RequestStream
*
1
Request
Request
+ id: ID (aXcRqst01)
+ progressState: RequestProgressState (BUYER_IN_WORK)
RequestStream->Request
*
1
Spot1
Spot
+ id: ID (aXcSpt01)
+ dspKey: ID (ByrSpt01)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot1
*
1
Spot2
Spot
+ id: ID (aXcSpt02)
+ dspKey: ID (ByrSpt02)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot2
*
1
Spot3
Spot
+ id: ID (aXcSpt03)
+ dspKey: ID (ByrSpt03)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot3
*
1
Methoden der API:
Buyer schließt Bearbeitung ab
Der Buyer schließt die Bearbeitung ab, indem er den Status des Requests
zu BUYER_COMMIT
ändert.
Aktueller Status BUYER_COMMIT
BuyerFinishesRequest
PlanElement
PlanElement
RequestStream
RequestStream
+ SellerProductId: ID (sp001)
PlanElement->RequestStream
*
1
Request
Request
+ id: ID (aXcRqst01)
+ RequestProgressState: progressState
(BUYER_COMMIT)
RequestStream->Request
*
1
Spot1
Spot
+ id: ID (aXcSpt01)
+ dspKey: ID (ByrSpt01)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot1
*
1
Spot2
Spot
+ id: ID (aXcSpt02)
+ dspKey: ID (ByrSpt02)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot2
*
1
Spot3
Spot
+ id: ID (aXcSpt03)
+ dspKey: ID (ByrSpt03)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot3
*
1
Methoden der API:
Buyer setzt Request zurück
Der Buyer möchte den Requests
noch einmal anpassen. Hierzu setzt er den Status des Request noch einmal zurück in BUYER_IN_WORK
.
Aktueller Status BUYER_IN_WORK
Bitte beachten Dieser Schritt ist nur solange möglich, wie der Request
noch nicht vom Seller abgefragt wurde (siehe Buyer setzt Request zurück in Bearbeitung
).
BuyerResetsRequest
PlanElement
PlanElement
RequestStream
RequestStream
+ SellerProductId: ID (sp001)
PlanElement->RequestStream
*
1
Request
Request
+ id: ID (aXcRqst01)
+ RequestProgressState: progressState
(BUYER_IN_WORK)
RequestStream->Request
*
1
Spot1
Spot
+ id: ID (aXcSpt01)
+ dspKey: ID (ByrSpt01)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot1
*
1
Spot2
Spot
+ id: ID (aXcSpt02)
+ dspKey: ID (ByrSpt02)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot2
*
1
Spot3
Spot
+ id: ID (aXcSpt03)
+ dspKey: ID (ByrSpt03)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot3
*
1
Methoden der API:
Buyer bucht zusätzlichen Spot
Der Buyer erstellt einen weiteren RequestSpot
und fügt diesen dem Requests
hinzu.
BuyerAddsAdditionalSpot
PlanElement
PlanElement
RequestStream
RequestStream
+ SellerProductId: ID (sp001)
PlanElement->RequestStream
*
1
Request
Request
+ id: ID (aXcRqst01)
+ progressState: RequestProgressState (BUYER_IN_WORK)
RequestStream->Request
*
1
Spot1
Spot
+ id: ID (aXcSpt01)
+ dspKey: ID (ByrSpt01)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot1
*
1
Spot2
Spot
+ id: ID (aXcSpt02)
+ dspKey: ID (ByrSpt02)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot2
*
1
Spot3
Spot
+ id: ID (aXcSpt03)
+ dspKey: ID (ByrSpt03)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot3
*
1
Spot4
Spot
+ id: ID (aXcSpt04)
+ dspKey: ID (ByrSpt04)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot4
*
1
Methoden der API:
Buyer schließt Bearbeitung ab
Der Buyer schließt die Bearbeitung ab, indem er den Status des Requests
zu BUYER_COMMIT
ändert.
Aktueller Status BUYER_COMMIT
BuyerFinishesRequest
PlanElement
PlanElement
RequestStream
RequestStream
+ SellerProductId: ID (sp001)
PlanElement->RequestStream
*
1
Request
Request
+ id: ID (aXcRqst01)
+ RequestProgressState: progressState
(BUYER_COMMIT)
RequestStream->Request
*
1
Spot1
Spot
+ id: ID (aXcSpt01)
+ dspKey: ID (ByrSpt01)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot1
*
1
Spot2
Spot
+ id: ID (aXcSpt02)
+ dspKey: ID (ByrSpt02)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot2
*
1
Spot3
Spot
+ id: ID (aXcSpt03)
+ dspKey: ID (ByrSpt03)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot3
*
1
Spot4
Spot
+ id: ID (aXcSpt04)
+ dspKey: ID (ByrSpt04)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot4
*
1
Methoden der API:
Seller ruft Request ab
Der Seller fragt nun den aktuellen Requests
ab. Hierdurch wechselt der Status dieses Requests
automatisch in SELLER_IN_WORK
.
Aktueller Status SELLER_IN_WORK
SellerRequestsRequest
PlanElement
PlanElement
RequestStream
RequestStream
+ SellerProductId: ID (sp001)
PlanElement->RequestStream
*
1
Request
Request
+ id: ID (aXcRqst01)
+ RequestProgressState: progressState
(SELLER_IN_WORK)
RequestStream->Request
*
1
Spot1
Spot
+ id: ID (aXcSpt01)
+ dspKey: ID (ByrSpt01)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot1
*
1
Spot2
Spot
+ id: ID (aXcSpt02)
+ dspKey: ID (ByrSpt02)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot2
*
1
Spot3
Spot
+ id: ID (aXcSpt03)
+ dspKey: ID (ByrSpt03)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot3
*
1
Spot4
Spot
+ id: ID (aXcSpt04)
+ dspKey: ID (ByrSpt04)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot4
*
1
Methoden der API:
Seller legt Answer an
Der Seller erstellt nun eine Antwort auf die Anfrage des Buyer . Hierzu wird zunächst eine Answer
angelegt. Anschließend erstellt der Seller vier AnswerSpots
und hängt diese an die Answer
. Jedem AnswerSpot
kann ein individueller sspKey
zugewiesen werden, der der späteren Referenzierung dienen kann.
Beim AnswerSpot
handelt es sich immer um ein Terminplan . Siehe dazu auch Termin- vs. Belegungsplan .
SellerCreatesAnswer
PlanElement
PlanElement
RequestStream
RequestStream
+ SellerProductId: ID (sp001)
PlanElement->RequestStream
*
1
Request
Request
+ id: ID (aXcRqst01)
+ progressState: RequestProgressState (SELLER_IN_WORK)
RequestStream->Request
*
1
Spot1
Spot
+ id: ID (aXcSpt01)
+ dspKey: ID (ByrSpt01)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot1
*
1
Spot2
Spot
+ id: ID (aXcSpt02)
+ dspKey: ID (ByrSpt02)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot2
*
1
Spot3
Spot
+ id: ID (aXcSpt03)
+ dspKey: ID (ByrSpt03)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot3
*
1
Spot4
Spot
+ id: ID (aXcSpt04)
+ dspKey: ID (ByrSpt04)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot4
*
1
Answer
Answer
+ id: ID (aXcAnswr01)
+ requestID: String (aXcRqst01)
+ state: AnswerState (CONFIRMED)
Request->Answer
1
1
ASpot1
Spot
+ id: ID (aXcSpt05)
+ dspKey: String (ByrSpt01)
+ sspKey: String (SllrSpt01)
+ order: Order (SllrOrdr01)
Answer->ASpot1
*
1
ASpot2
Spot
+ id: ID (aXcSpt06)
+ dspKey: String (ByrSpt02)
+ sspKey: String (SllrSpt02)
+ order: Order (SllrOrdr01)
Answer->ASpot2
*
1
ASpot3
Spot
+ id: ID (aXcSpt07)
+ dspKey: String (ByrSpt03)
+ sspKey: String (SllrSpt03)
+ order: Order (SllrOrdr01)
Answer->ASpot3
*
1
ASpot4
Spot
+ id: ID (aXcSpt08)
+ dspKey: String (ByrSpt04)
+ sspKey: String (SllrSpt04)
+ order: Order (SllrOrdr01)
Answer->ASpot4
*
1
Methoden der API:
Seller schließt Bearbeitung ab
Der Seller schließt nun die Bearbeitung ab, indem er den Status des Request zu SELLER_COMMIT
ändert.
Aktueller Status SELLER_COMMIT
SellerFinishesRequest
PlanElement
PlanElement
RequestStream
RequestStream
+ SellerProductId: ID (sp001)
PlanElement->RequestStream
*
1
Request
Request
+ id: ID (aXcRqst01)
+ RequestProgressState: progressState
(SELLER_COMMIT)
RequestStream->Request
*
1
Spot1
Spot
+ id: ID (aXcSpt01)
+ dspKey: ID (ByrSpt01)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot1
*
1
Spot2
Spot
+ id: ID (aXcSpt02)
+ dspKey: ID (ByrSpt02)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot2
*
1
Spot3
Spot
+ id: ID (aXcSpt03)
+ dspKey: ID (ByrSpt03)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot3
*
1
Spot4
Spot
+ id: ID (aXcSpt04)
+ dspKey: ID (ByrSpt04)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot4
*
1
Answer
Answer
+ id: ID (aXcAnswr01)
+ requestID: String (aXcRqst01)
+ state: AnswerState (CONFIRMED)
Request->Answer
1
1
ASpot1
Spot
+ id: ID (aXcSpt05)
+ dspKey: String (ByrSpt01)
+ sspKey: String (SllrSpt01)
+ order: Order (SllrOrdr01)
Answer->ASpot1
*
1
ASpot2
Spot
+ id: ID (aXcSpt06)
+ dspKey: String (ByrSpt02)
+ sspKey: String (SllrSpt02)
+ order: Order (SllrOrdr01)
Answer->ASpot2
*
1
ASpot3
Spot
+ id: ID (aXcSpt07)
+ dspKey: String (ByrSpt03)
+ sspKey: String (SllrSpt03)
+ order: Order (SllrOrdr01)
Answer->ASpot3
*
1
ASpot4
Spot
+ id: ID (aXcSpt08)
+ dspKey: String (ByrSpt04)
+ sspKey: String (SllrSpt04)
+ order: Order (SllrOrdr01)
Answer->ASpot4
*
1
Methoden der API:
Zweite Iteration
Buyer ruft ab
Der Buyer erfragt nun die Antwort des Sellers . Hierzu ruft er den RequestStream
ab.
Aktueller Status BUYER_IN_WORK
BuyerRequestsRequest
PlanElement
PlanElement
RequestStream
RequestStream
+ SellerProductId: ID (sp001)
PlanElement->RequestStream
*
1
Request
Request
+ id: ID (aXcRqst01)
+ progressState: RequestProgressState (SELLER_COMMIT)
RequestStream->Request
*
1
Spot1
Spot
+ id: ID (aXcSpt01)
+ dspKey: ID (ByrSpt01)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot1
*
1
Spot2
Spot
+ id: ID (aXcSpt02)
+ dspKey: ID (ByrSpt02)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot2
*
1
Spot3
Spot
+ id: ID (aXcSpt03)
+ dspKey: ID (ByrSpt03)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot3
*
1
Spot4
Spot
+ id: ID (aXcSpt04)
+ dspKey: ID (ByrSpt04)
+ action: RequestSpotAction (ADDITIONAL)
Request->Spot4
*
1
Answer
Answer
+ id: ID (aXcAnswr01)
+ requestID: String (aXcRqst01)
+ state: AnswerState (CONFIRMED)
Request->Answer
1
1
ASpot1
Spot
+ id: ID (aXcSpt05)
+ dspKey: String (ByrSpt01)
+ sspKey: String (SllrSpt01)
+ order: Order (SllrOrdr01)
Answer->ASpot1
*
1
ASpot2
Spot
+ id: ID (aXcSpt06)
+ dspKey: String (ByrSpt02)
+ sspKey: String (SllrSpt02)
+ order: Order (SllrOrdr01)
Answer->ASpot2
*
1
ASpot3
Spot
+ id: ID (aXcSpt07)
+ dspKey: String (ByrSpt03)
+ sspKey: String (SllrSpt03)
+ order: Order (SllrOrdr01)
Answer->ASpot3
*
1
ASpot4
Spot
+ id: ID (aXcSpt08)
+ dspKey: String (ByrSpt04)
+ sspKey: String (SllrSpt04)
+ order: Order (SllrOrdr01)
Answer->ASpot4
*
1
Methoden der API:
Buyer erzeugt neuen Request
Der Buyer akzeptiert die Antwort des Sellers nur teilweise. Zunächst setzt er daher den Status des PlanElements
auf PARTLY_CONFIRMED
. Da der vorherige Request
abgeschlossen wurde, kann er nun einen neuen aktiven erzeugen und fügt diesem vier RequestSpots
hinzu. Im Unterschied zur letzten Anfrage ändert er die RequestSpots
wie folgt:
Der dritte RequestSpot
soll unverändert übernommen werden.
BuyerCreatesNewRequest
PlanElement
PlanElement
RequestStream
RequestStream
+ SellerProductId: ID (sp001)
PlanElement->RequestStream
*
1
Request
Request
+ id: ID (aXcRqst01)
+ progressState: RequestProgressState (SELLER_COMMIT)
RequestStream->Request
*
1
Request2
Request
+ id: ID (aXcRqst02)
+ progressState: RequestProgressState (BUYER_IN_WORK)
RequestStream->Request2
*
1
Spot1n
Spot 1-n
Request->Spot1n
*
1
Answer
Answer
+ id: ID (aXcAnswr01)
+ requestID: String (aXcRqst01)
+ state: AnswerState (CONFIRMED)
Request->Answer
1
1
ASpot1n
Spot 1-n
Answer->ASpot1n
*
1
Spot1
Spot
+ id: ID (aXcSpt09)
+ dspKey: ID (ByrSpt01)
+ sspKey: ID (SellrSpt01)
+ action: RequestSpotAction (CHANGE_DETAILS)
Request2->Spot1
*
1
Spot2
Spot
+ id: ID (aXcSpt10)
+ dspKey: ID (ByrSpt02)
+ sspKey: ID (SellrSpt02)
+ action: RequestSpotAction (CANCEL)
Request2->Spot2
*
1
Spot3
Spot
+ id: ID (aXcSpt11)
+ dspKey: ID (ByrSpt03)
+ sspKey: ID (SellrSpt03)
+ action: RequestSpotAction (KEEP)
Request2->Spot3
*
1
Spot4
Spot
+ id: ID (aXcSpt12)
+ dspKey: ID (ByrSpt04)
+ sspKey: ID (SellrSpt04)
+ action: RequestSpotAction (CANCEL)
Request2->Spot4
*
1
Methoden der API:
Buyer schließt Bearbeitung ab
Der Buyer schließt nun die Bearbeitung ab, indem er den Status des Requests
zu BUYER_COMMIT
ändert.
Aktueller Status BUYER_COMMIT
BuyerFinishesRequest
PlanElement
PlanElement
RequestStream
RequestStream
+ SellerProductId: ID (sp001)
PlanElement->RequestStream
*
1
Request
Request
+ id: ID (aXcRqst01)
+ progressState: RequestProgressState (SELLER_COMMIT)
RequestStream->Request
*
1
Request2
Request
+ id: ID (aXcRqst02)
+ RequestProgressState: progressState
(BUYER_IN_WORK)
RequestStream->Request2
*
1
Spot1n
Spot 1-n
Request->Spot1n
*
1
Answer
Answer
+ id: ID (aXcAnswr01)
+ requestID: String (aXcRqst01)
+ state: AnswerState (CONFIRMED)
Request->Answer
1
1
ASpot1n
Spot 1-n
Answer->ASpot1n
*
1
Spot1
Spot
+ id: ID (aXcSpt09)
+ dspKey: ID (ByrSpt01)
+ sspKey: ID (SellrSpt01)
+ action: RequestSpotAction (CHANGE_DETAILS)
Request2->Spot1
*
1
Spot2
Spot
+ id: ID (aXcSpt10)
+ dspKey: ID (ByrSpt02)
+ sspKey: ID (SellrSpt02)
+ action: RequestSpotAction (CANCEL)
Request2->Spot2
*
1
Spot3
Spot
+ id: ID (aXcSpt11)
+ dspKey: ID (ByrSpt03)
+ sspKey: ID (SellrSpt03)
+ action: RequestSpotAction (KEEP)
Request2->Spot3
*
1
Spot4
Spot
+ id: ID (aXcSpt12)
+ dspKey: ID (ByrSpt04)
+ sspKey: ID (SellrSpt04)
+ action: RequestSpotAction (CANCEL)
Request2->Spot4
*
1
Methoden der API:
Seller ruft Request ab
Der Seller fragt nun den aktuellen Requests
ab. Hierdurch wechselt der Status dieses Requests
automatisch in SELLER_IN_WORK
.
Aktueller Status SELLER_IN_WORK
SellerRequestsRequest
PlanElement
PlanElement
RequestStream
RequestStream
+ SellerProductId: ID (sp001)
PlanElement->RequestStream
*
1
Request
Request
+ id: ID (aXcRqst01)
+ progressState: RequestProgressState (SELLER_COMMIT)
RequestStream->Request
*
1
Request2
Request
+ id: ID (aXcRqst02)
+ RequestProgressState: progressState
(SELLER_IN_WORK)
RequestStream->Request2
*
1
Spot1n
Spot 1-n
Request->Spot1n
*
1
Answer
Answer
+ id: ID (aXcAnswr01)
+ requestID: String (aXcRqst01)
+ state: AnswerState (CONFIRMED)
Request->Answer
1
1
ASpot1n
Spot 1-n
Answer->ASpot1n
*
1
Spot1
Spot
+ id: ID (aXcSpt09)
+ dspKey: ID (ByrSpt01)
+ sspKey: ID (SellrSpt01)
+ action: RequestSpotAction (CHANGE_DETAILS)
Request2->Spot1
*
1
Spot2
Spot
+ id: ID (aXcSpt10)
+ dspKey: ID (ByrSpt02)
+ sspKey: ID (SellrSpt02)
+ action: RequestSpotAction (CANCEL)
Request2->Spot2
*
1
Spot3
Spot
+ id: ID (aXcSpt11)
+ dspKey: ID (ByrSpt03)
+ sspKey: ID (SellrSpt03)
+ action: RequestSpotAction (KEEP)
Request2->Spot3
*
1
Spot4
Spot
+ id: ID (aXcSpt12)
+ dspKey: ID (ByrSpt04)
+ sspKey: ID (SellrSpt04)
+ action: RequestSpotAction (CANCEL)
Request2->Spot4
*
1
Methoden der API:
Seller legt Answer an
Der Seller erstellt nun eine Antwort auf die Anfrage des Buyer . Hierzu wird zunächst eine Answer
angelegt. Anschließend erstellt der Seller zwei AnswerSpots
und hängt diese an die Answer
.
SellerCreatesAnswer
PlanElement
PlanElement
RequestStream
RequestStream
+ SellerProductId: ID (sp001)
PlanElement->RequestStream
*
1
Request
Request
+ id: ID (aXcRqst01)
+ progressState: RequestProgressState (SELLER_COMMIT)
RequestStream->Request
*
1
Request2
Request
+ id: ID (aXcRqst02)
+ progressState: RequestProgressState (SELLER_IN_WORK)
RequestStream->Request2
*
1
Spot1n
Spot 1-n
Request->Spot1n
*
1
Answer
Answer
+ id: ID (aXcAnswr01)
+ requestID: String (aXcRqst01)
+ state: AnswerState (CONFIRMED)
Request->Answer
1
1
ASpot1n
Spot 1-n
Answer->ASpot1n
*
1
Spot1
Spot
+ id: ID (aXcSpt09)
+ dspKey: ID (ByrSpt01)
+ sspKey: ID (SellrSpt01)
+ action: RequestSpotAction (CHANGE_DETAILS)
Request2->Spot1
*
1
Spot2
Spot
+ id: ID (aXcSpt10)
+ dspKey: ID (ByrSpt02)
+ sspKey: ID (SellrSpt02)
+ action: RequestSpotAction (CANCEL)
Request2->Spot2
*
1
Spot3
Spot
+ id: ID (aXcSpt11)
+ dspKey: ID (ByrSpt03)
+ sspKey: ID (SellrSpt03)
+ action: RequestSpotAction (KEEP)
Request2->Spot3
*
1
Spot4
Spot
+ id: ID (aXcSpt12)
+ dspKey: ID (ByrSpt04)
+ sspKey: ID (SellrSpt04)
+ action: RequestSpotAction (CANCEL)
Request2->Spot4
*
1
Answer2
Answer
+ id: ID (aXcAnswr02)
+ requestID: String (aXcRqst02)
+ state: AnswerState (CONFIRMED)
Request2->Answer2
1
1
ASpot1
Spot
+ id: ID (aXcSpt13)
+ sspKey: String (SllrSpt01)
+ order: Order (SllrOrdr01)
Answer2->ASpot1
*
1
ASpot2
Spot
+ id: ID (aXcSpt14)
+ sspKey: String (SllrSpt03)
+ order: Order (SllrOrdr01)
Answer2->ASpot2
*
1
Methoden der API:
Seller schließt Bearbeitung ab
Der Seller schließt nun die Bearbeitung ab, indem er den Status des Requests
zu SELLER_COMMIT
ändert.
Aktueller Status SELLER_COMMIT
SellerFinishesRequest
PlanElement
PlanElement
RequestStream
RequestStream
+ SellerProductId: ID (sp001)
PlanElement->RequestStream
*
1
Request
Request
+ id: ID (aXcRqst01)
+ progressState: RequestProgressState (SELLER_COMMIT)
RequestStream->Request
*
1
Request2
Request
+ id: ID (aXcRqst02)
+ RequestProgressState: progressState
(SELLER_COMMIT)
RequestStream->Request2
*
1
Spot1n
Spot 1-n
Request->Spot1n
*
1
Answer
Answer
+ id: ID (aXcAnswr01)
+ requestID: String (aXcRqst01)
+ state: AnswerState (CONFIRMED)
Request->Answer
1
1
ASpot1n
Spot 1-n
Answer->ASpot1n
*
1
Spot1
Spot
+ id: ID (aXcSpt09)
+ dspKey: ID (ByrSpt01)
+ sspKey: ID (SellrSpt01)
+ action: RequestSpotAction (CHANGE_DETAILS)
Request2->Spot1
*
1
Spot2
Spot
+ id: ID (aXcSpt10)
+ dspKey: ID (ByrSpt02)
+ sspKey: ID (SellrSpt02)
+ action: RequestSpotAction (CANCEL)
Request2->Spot2
*
1
Spot3
Spot
+ id: ID (aXcSpt11)
+ dspKey: ID (ByrSpt03)
+ sspKey: ID (SellrSpt03)
+ action: RequestSpotAction (KEEP)
Request2->Spot3
*
1
Spot4
Spot
+ id: ID (aXcSpt12)
+ dspKey: ID (ByrSpt04)
+ sspKey: ID (SellrSpt04)
+ action: RequestSpotAction (CANCEL)
Request2->Spot4
*
1
Answer2
Answer
+ id: ID (aXcAnswr02)
+ requestID: String (aXcRqst02)
+ state: AnswerState (CONFIRMED)
Request2->Answer2
1
1
ASpot1
Spot
+ id: ID (aXcSpt13)
+ sspKey: String (SllrSpt01)
+ order: Order (SllrOrdr01)
Answer2->ASpot1
*
1
ASpot2
Spot
+ id: ID (aXcSpt14)
+ sspKey: String (SllrSpt03)
+ order: Order (SllrOrdr01)
Answer2->ASpot2
*
1
Methoden der API:
Prozess abschließen
Buyer ruft ab (optional)
Zum Abschluss kann der Buyer noch einmal den aktuellen Request
erfragt, um die Antwort des Sellers einzusehen.
Aktueller Status BUYER_IN_WORK
BuyerResetsRequest
PlanElement
PlanElement
RequestStream
RequestStream
+ SellerProductId: ID (sp001)
PlanElement->RequestStream
*
1
Request
Request
+ id: ID (aXcRqst01)
+ progressState: RequestProgressState (BUYER_COMMIT)
RequestStream->Request
*
1
Request2
Request
+ id: ID (aXcRqst02)
+ progressState: RequestProgressState (SELLER_COMMIT)
RequestStream->Request2
*
1
Spot1n
Spot 1-n
Request->Spot1n
*
1
Answer
Answer
+ id: ID (aXcAnswr01)
+ requestID: String (aXcRqst01)
+ state: AnswerState (CONFIRMED)
Request->Answer
1
1
ASpot1n
Spot 1-n
Answer->ASpot1n
*
1
Spot1
Spot
+ id: ID (aXcSpt09)
+ dspKey: ID (ByrSpt01)
+ sspKey: ID (SellrSpt01)
+ action: RequestSpotAction (CHANGE_DETAILS)
Request2->Spot1
*
1
Spot2
Spot
+ id: ID (aXcSpt10)
+ dspKey: ID (ByrSpt02)
+ sspKey: ID (SellrSpt02)
+ action: RequestSpotAction (CANCEL)
Request2->Spot2
*
1
Spot3
Spot
+ id: ID (aXcSpt11)
+ dspKey: ID (ByrSpt03)
+ sspKey: ID (SellrSpt03)
+ action: RequestSpotAction (KEEP)
Request2->Spot3
*
1
Spot4
Spot
+ id: ID (aXcSpt12)
+ dspKey: ID (ByrSpt04)
+ sspKey: ID (SellrSpt04)
+ action: RequestSpotAction (CANCEL)
Request2->Spot4
*
1
Answer2
Answer
+ id: ID (aXcAnswr02)
+ requestID: String (aXcRqst02)
+ state: AnswerState (CONFIRMED)
Request2->Answer2
1
1
ASpot1
Spot
+ id: ID (aXcSpt13)
+ sspKey: String (SllrSpt01)
+ order: Order (SllrOrdr01)
Answer2->ASpot1
*
1
ASpot2
Spot
+ id: ID (aXcSpt14)
+ sspKey: String (SllrSpt03)
+ order: Order (SllrOrdr01)
Answer2->ASpot2
*
1
Methoden der API: