This is the multi-page printable view of this section. Click here to print.
Resy
- 1:
- 2: R01 Shipment Registration
- 3: R02 Container Registration
- 4: R03 Container Manifest
- 5: R04 Bulky Item Manifest
- 6: R05 Loading Manifest
- 7: R06 Stock Change
- 8: R07 Return Order Contract
- 9: R07 ROC Acknowledge
- 10: R09 Returns Tracking Result
- 11: R20 Returns Announcements (internal for merchant OTTO)
1 -
1.1 -
Property | Type | Description |
---|---|---|
(Root) |
object |
returns.returnsAnnouncement.brain |
eventId* |
string (uuid) |
The uniq eventId |
eventTime* |
string |
Time of technical occurrence of the event |
eventType* |
string (enum) |
The concrete type = kind of record(event) Any of: [
"INSERT",
"UPDATE"
] |
traceId* |
string (uuid) |
The uniq traceId |
version* |
string |
The number of version schema Regular expression: \d+\.\d{1,2} |
data* |
object |
|
returnKey* |
string |
Retourenschluessel Minimum Length: 1 |
announcementTime* |
string (date) |
announcementTime |
shipmentTrackingNumber* |
string |
Carrier Tracking Number |
2 - R01 Shipment Registration
- Status
-
In Production
- Approval
-
-
…
-
…
-
- Comment
-
Der Service ist aktuell beschrieben unter: https://docs.nonlive.backfish.platform.otto.de/#/./docs/services/shipmentregister/README
Die Konsolidierung der Dokumentation ist in Arbeit.
- Assumption
-
…
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
Resy |
|
InterfaceOwner |
||
Producer |
||
Consumer |
||
Consumer |
2. Business Context
This event will take care in the receiving of the returns facility, when the package will be unloaded from the truck. The event can be triggered manually by a staff member or automaticly by a camera in combination with a conveyer. If the camera scans more the one barcode at a time, because there are many barcodes on the package, we will generate a message for each barcode!
3. Informationflow
to be defined
4. Interface
4.1. Direction HG to FINE
4.1.1. Header
4.1.2. Datamodel
4.1.3. Enumeration
4.1.4. Example
4.1.5. Schema
Version | Number | File | Published on | Changes |
---|
4.2. Direction FINE to RESY
4.2.1. Header
4.2.2. Datamodel
4.2.3. Enumeration
4.2.4. Example
4.2.5. Schema
Version | Number | File | Published on | Changes |
---|
3 - R02 Container Registration
- Status
-
IN DEVELOPMENT
- Approval
-
-
DeepSea:
-
AboutYou:
-
Bonprix:
-
- Comment
-
Der Service ist aktuell beschrieben unter: https://docs.nonlive.backfish.platform.otto.de/#/./docs/services/containerregister/README Die Konsolidierung der Dokumentation ist in Arbeit.
- Assumption
-
…
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
Inbound |
|
InterfaceOwner |
||
Producer |
ReSy |
OSP |
Consumer |
FLASH |
|
Consumer |
DeepSea |
|
Consumer |
AboutYou |
|
Consumer |
Bonprix |
2. Business Context
This event will be triggered when a bin was unloaded in the returns facility.
It will collect all data from the bin and send it via KAFKA to differnt external systems.
3. Informationflow
to be defined
4. Interface
4.1. Direction HG to FINE
4.1.1. Header
4.1.2. Datamodel
4.1.3. Enumeration
4.1.4. Example
4.1.5. Schema
Version | Number | File | Published on | Changes |
---|
4.2. Direction FINE to RESY
4.2.1. Header
4.2.2. Datamodel
4.2.3. Enumeration
4.2.4. Example
4.2.5. Schema
Version | Number | File | Published on | Changes |
---|
4 - R03 Container Manifest
- Status
-
In Development
- Approval
-
-
…
-
…
-
- Comment
-
Der Service ist aktuell beschrieben unter: https://docs.nonlive.backfish.platform.otto.de/#/./docs/services/bintrackinghandler/README
Die Konsolidierung der Dokumentation ist in Arbeit.
- Assumption
-
…
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
Resy |
|
InterfaceOwner |
||
Consumer |
AboutYou |
|
Consumer |
Bonprix |
|
Consumer |
FGH |
|
Consumer |
Witt |
|
Consumer |
KR1 |
|
Consumer |
COBRA |
|
Consumer |
WMSx/SON |
|
Consumer |
Warenverwertung |
2. Business Context
The bin tracking handler is responsible for keeping track of all created bins (containers) and all items contained inside those containers. The service knows the current status and attributes of the container itself as well as of all of its content (e.g. item cancelled true/false) at any given time.
The bin tracking handler accepts incoming events from other services, e.g. about finalized bins, and creates an according business object for that container. This business object may be enhanced with additional information such as stack information.
This information can then be compiled in different forms for various purposes, e.g. for generating a container manifest, stocknotes for stockhandling, etc. and then forwards these events to the respective recipient.
Keeping track of items that are not part of a container (e.g. bulky items) is also handled by the bin tracking handler in the same way.
For clarification: Tracking of evaluation results is NOT done by this service.
This event will be triggered when
a bin was finalized
a QA bin was finalized
a bin was correced or canceled
It will collect all data from the bin and send it via KAFKA to differnt external systems.
3. Informationflow
to be defined
4. Interface
4.1. Direction HG to FINE
4.1.1. Header
4.1.2. Datamodel
4.1.3. Enumeration
4.1.4. Example
4.1.5. Schema
Version | Number | File | Published on | Changes |
---|
4.2. Direction FINE to RESY
4.2.1. Header
4.2.2. Datamodel
4.2.3. Enumeration
4.2.4. Example
4.2.5. Schema
Version |
Number |
File |
Published on |
Changes |
5. Kafka Topics
Unresolved directive in <stdin> - include::../../../../integration-layer/topics/interfaces/R03.adoc[]
5 - R04 Bulky Item Manifest
- Status
-
In Development
- Approval
-
-
…
-
…
-
- Comment
-
Der Service ist aktuell beschrieben unter: https://docs.nonlive.backfish.platform.otto.de/#/./docs/services/bintrackinghandler/README
Die Konsolidierung der Dokumentation ist in Arbeit.
- Assumption
-
…
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
Resy |
|
InterfaceOwner |
||
Producer |
ReSy |
|
Consumer |
COBRA |
|
Consumer |
Warenverwertung |
2. Business Context
The bin tracking handler is responsible for keeping track of all created bins (containers) and all items contained inside those containers. The service knows the current status and attributes of the container itself as well as of all of its content (e.g. item cancelled true/false) at any given time.
The bin tracking handler accepts incoming events from other services, e.g. about finalized bins, and creates an according business object for that container. This business object may be enhanced with additional information such as stack information.
This information can then be compiled in different forms for various purposes, e.g. for generating a container manifest, stocknotes for stockhandling, etc. and then forwards these events to the respective recipient.
Keeping track of items that are not part of a container (e.g. bulky items) is also handled by the bin tracking handler in the same way.
For clarification: Tracking of evaluation results is NOT done by this service.
The event will be triggered, when a bulky return was evaluated in the returns facility and will be given to the warehouse without a container (bin).
BULKY_ITEM_MANIFEST and CONTAINER_MANIFEST are in opposition to each other.
3. Informationflow
to be defined
4. Interface
4.1. Direction HG to FINE
4.1.1. Header
4.1.2. Datamodel
4.1.3. Enumeration
4.1.4. Example
4.1.5. Schema
Version | Number | File | Published on | Changes |
---|
4.2. Direction FINE to RESY
4.2.1. Header
4.2.2. Datamodel
4.2.3. Enumeration
4.2.4. Example
4.2.5. Schema
Version | Number | File | Published on | Changes |
---|
6 - R05 Loading Manifest
- Status
-
In Development
- Approval
-
-
FLASH:
-
Heine-Zollsystem:
-
- Comment
-
Der Service ist aktuell beschrieben unter: https://docs.nonlive.backfish.platform.otto.de/#/./docs/services/loadingoperation-backend/README
Die Konsolidierung der Dokumentation ist in Arbeit.
- Assumption
-
…
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
Resy |
|
InterfaceOwner |
||
Producer |
ReSy |
|
Consumer |
FLASH |
|
Consumer |
Heine Zoll |
2. Business Context
This backend:
-
Will initially open loadings, offer the possibility for general changes and complete loadings with a loading manifest (support for loading-manifest 1.0)
-
Will partially save the container manifest
-
Is working together with
-
Desktop UI → backfish_resy_loading-operation-ui
-
Handscanner UI → backfish_resy_loading-operation-handscanner-ui UI
Some fields have to be encrypted before insert the values to mongo database.
This event will be triggered when
a loading was finalized
It will collect all data from the staks and bin and send it via KAFKA to differnt external systems.
3. Informationflow
to be defined
4. Interface
4.1. Direction HG to FINE
4.1.1. Header
4.1.2. Datamodel
4.1.3. Enumeration
4.1.4. Example
4.1.5. Schema
Version | Number | File | Published on | Changes |
---|
4.2. Direction FINE to RESY
4.2.1. Header
4.2.2. Datamodel
4.2.3. Enumeration
4.2.4. Example
4.2.5. Schema
Version | Number | File | Published on | Changes |
---|
5. Kafka Topics
Unresolved directive in <stdin> - include::../../../../integration-layer/topics/interfaces/R05.adoc[]
7 - R06 Stock Change
- Status
-
In Production
- Approval
-
-
DeepSea/Retuna:
-
- Comment
-
Der Service ist aktuell beschrieben unter: https://docs.nonlive.backfish.platform.otto.de/#/./docs/services/stockhandler/README
Die Konsolidierung der Dokumentation ist in Arbeit.
- Assumption
-
…
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
Resy |
|
InterfaceOwner |
||
Producer |
ReSy |
|
Consumer |
Retuna |
2. Business Context
The stock handler is in charge to keep track about all changes related to the quantiy of products of individual owners. Any change must be reported to the owner of the products. To keep track of all changes the current stock needs to be always present and the individual changes must be stored as stock history record. To get the corresponding stock accoutns, saying from which to what account a change has happened, the account setup (source → target) is defined per businesscase, hence the RESY components itself are not required to know about the individual stock accounts. All the components have to know is theirs own business process, the location where the changes has happend and what product was involved. To also allow the legacy system 'ROM' to report all changes, the service will map legacy specific values into RESY allowed value, f.e. definition of locations and owners. Any stock change will be reported via an event. How to calculate stock changes based on defined business cases is explain inside the use case definition.
3. Informationflow
to be defined
4. Interface
4.1. Direction HG to FINE
4.1.1. Header
4.1.2. Datamodel
4.1.3. Enumeration
4.1.4. Example
4.1.5. Schema
Version | Number | File | Published on | Changes |
---|
4.2. Direction FINE to RESY
4.2.1. Header
4.2.2. Datamodel
4.2.3. Enumeration
4.2.4. Example
4.2.5. Schema
Version | Number | File | Published on | Changes |
---|
8 - R07 Return Order Contract
- Status
-
In Production
- Approval
-
-
…
-
…
-
- Comment
-
Der Service ist aktuell beschrieben unter: https://docs.nonlive.backfish.platform.otto.de/#/./docs/services/returncontract/README Die Konsolidierung der Dokumentation ist in Arbeit.
- Assumption
-
…
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
Resy |
|
InterfaceOwner |
||
Producer |
ReSy |
|
Consumer |
||
Consumer |
2. Business Context
The service is in charge to receive any reported (by individual retailer) Return Order Contract (ROC) whereby the business object 'RETURNCONTRACT' will be generated. The service will take care about update features, saying only latest status of ROC will be performed. Whenever the Business Object 'RETURNCONTRACT' could be generated successfully, different outgoing Business Events are created, to inform retailer as well as all further RESY serices about a recieved and successfully performed ROC. Nevertheless the retailer will always reveive an acknowledgment about the status itself.
3. Informationflow
to be defined
4. Interface
4.1. Direction HG to FINE
4.1.1. Header
4.1.2. Datamodel
4.1.3. Enumeration
4.1.4. Example
4.1.5. Schema
Version | Number | File | Published on | Changes |
---|
4.2. Direction FINE to RESY
4.2.1. Header
4.2.2. Datamodel
4.2.3. Enumeration
4.2.4. Example
4.2.5. Schema
Version | Number | File | Published on | Changes |
---|
9 - R07 ROC Acknowledge
- Status
-
In Production
- Approval
-
-
…
-
…
-
- Comment
-
Der Service ist aktuell beschrieben unter: https://docs.nonlive.backfish.platform.otto.de/#/./docs/services/returncontract/README Die Konsolidierung der Dokumentation ist in Arbeit.
- Assumption
-
…
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
Resy |
|
InterfaceOwner |
||
Producer |
ReSy |
|
Consumer |
||
Consumer |
2. Business Context
The service is in charge to receive any reported (by individual retailer) Return Order Contract (ROC) whereby the business object 'RETURNCONTRACT' will be generated. The service will take care about update features, saying only latest status of ROC will be performed. Whenever the Business Object 'RETURNCONTRACT' could be generated successfully, different outgoing Business Events are created, to inform retailer as well as all further RESY serices about a recieved and successfully performed ROC. Nevertheless the retailer will always reveive an acknowledgment about the status itself.
3. Informationflow
to be defined
4. Interface
4.1. Direction HG to FINE
4.1.1. Header
4.1.2. Datamodel
4.1.3. Enumeration
4.1.4. Example
4.1.5. Schema
Version | Number | File | Published on | Changes |
---|
4.2. Direction FINE to RESY
4.2.1. Header
4.2.2. Datamodel
4.2.3. Enumeration
4.2.4. Example
4.2.5. Schema
Version | Number | File | Published on | Changes |
---|
10 - R09 Returns Tracking Result
- Status
-
In Production
- Approval
-
-
…
-
…
-
- Comment
-
Der Service ist aktuell beschrieben unter: https://docs.nonlive.backfish.platform.otto.de/#/./docs/services/returnstrackinghandler/README
Die Konsolidierung der Dokumentation ist in Arbeit.
- Assumption
-
…
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
Resy |
|
InterfaceOwner |
||
Producer |
ReSy |
|
Consumer |
||
Consumer |
2. Business Context
The service is in charge to receive any process tracking event of the returns process itself, whereby tracking also includes information about the evaluated product itself. Tracking events refer to the operational process and based on the operational process an evaluation has happened. Also, a just 'evaluation' process might happen. Some sensitive data are encrypted, before inserting to database.
3. Informationflow
to be defined
4. Interface
4.1. Direction HG to FINE
4.1.1. Header
4.1.2. Datamodel
4.1.3. Enumeration
4.1.4. Example
4.1.5. Schema
Version | Number | File | Published on | Changes |
---|
4.2. Direction FINE to RESY
4.2.1. Header
4.2.2. Datamodel
4.2.3. Enumeration
4.2.4. Example
4.2.5. Schema
Version | Number | File | Published on | Changes |
---|
11 - R20 Returns Announcements (internal for merchant OTTO)
- Status
-
Released
- Approval
- Comment
- Assumption
-
_
1. Stakeholder
Role | Application | Responsible |
---|---|---|
Communication |
Integration Layer |
|
Leading App |
FLASH |
|
InterfaceOwner |
FLASH, Domain RT |
|
Producer |
BRAIN, Team Babelfish |
|
Consumer |
FLASH |
|
Consumer |
2. Business Context
Customers of merchant OTTO annouce their returns via a frontend. BRAIN consumes this data and provides the positions in charge (identified via returnKey that is also known in RESY) and the parcel-Tracking-Id for the returns-basket.
This data is useful to do a forecast of items heading to the return-warehouses.
3. Informationflow
4. Interface
4.1. Direction BRAIN to FINE
4.1.1. Header
This interface uses the Service Header
4.1.2. Datamodel
Property | Type | Description |
---|---|---|
(Root) |
object |
returns.returnsAnnouncement.brain |
eventId* |
string (uuid) |
The uniq eventId |
eventTime* |
string |
Time of technical occurrence of the event |
eventType* |
string (enum) |
The concrete type = kind of record(event) Any of: [
"INSERT",
"UPDATE"
] |
traceId* |
string (uuid) |
The uniq traceId |
version* |
string |
The number of version schema Regular expression: \d+\.\d{1,2} |
data* |
object |
|
returnKey* |
string |
Retourenschluessel Minimum Length: 1 |
announcementTime* |
string (date) |
announcementTime |
shipmentTrackingNumber* |
string |
Carrier Tracking Number |
4.1.3. Enumeration
nothing special here
4.1.4. Example
4.1.5. Schema
Version | Number | File | Published on | Changes |
---|---|---|---|---|
current version |
1.0 |
12.09.2023 |
final |
|
previous version |
||||
coming version |
{
"$schema": "http://json-schema.org/draft-07/schema",
"$comment": "Schema for return announcements from BRAIN to FINE",
"$id": "https://doc.fine.gcp.osp-dev.de/registry/Returns/ReturnsAnnouncement.Brain.v1.00.schema.json",
"type": "object",
"title": "returns.returnsAnnouncement.brain",
"description": "data from Brain regarding returns announcements",
"required": [
"eventId",
"eventTime",
"eventType",
"traceId",
"version",
"data"
],
"properties": {
"eventId": {
"type": "string",
"format": "uuid",
"title": "The uniq eventId",
"description": "Global uniq Id",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d87"
]
},
"eventTime": {
"type": "string",
"title": "Time of technical occurrence of the event",
"description": "Time at which this record(event) was technically generated in RFC3339 format. Strongly recommended: in UTC time.",
"examples": [
"2016-04-16T16:06:05Z"
]
},
"eventType": {
"type": "string",
"title": "The concrete type = kind of record(event)",
"description": "Type of the event. The possible values are defined as Enum",
"minLength": 1,
"maxLength": 50,
"enum": [
"INSERT",
"UPDATE"
],
"examples": [
"INSERT"
]
},
"traceId": {
"type": "string",
"format": "uuid",
"title": "The uniq traceId",
"description": "Global uniq Id for tracing the flow of events",
"examples": [
"00ce536f-923a-42f4-8128-be118faf1d87"
]
},
"version": {
"title": "The number of version schema",
"description": "Number of version of this data structure. Only required if no $schema is specified!",
"type": "string",
"pattern": "\\d+\\.\\d{1,2}",
"examples": [
"1.01"
]
},
"data": {
"type": "object",
"required": [
"returnKey",
"announcementTime",
"shipmentTrackingNumber"
],
"properties": {
"returnKey": {
"type": "string",
"title": "Retourenschluessel",
"description": "surrogate key for one physical article that is part of this announcement",
"maxLength":25,
"minLength":1,
"examples": [
"417919950186"
]
},
"announcementTime": {
"type": "string",
"format": "date",
"title": "announcementTime",
"description": "time, when customer announced his return in ISO 8601-Format.",
"examples": [
"2022-09-26T13:59:36.631+02:00"
]
},
"shipmentTrackingNumber": {
"type": "string",
"title": "Carrier Tracking Number",
"description": "trackingnumber for the parcel of the given returnKey",
"examples": [
"H12345678901234566789"
]
}
}
}
}
}