---
tags: ID-Union, SSI, Demo, GS1, AP 10.5
---
# ID Union AP 10.5: Garantiezertifikate Demo
- Use Case docs [on GS1 Sharepoint](https://gs1germany.sharepoint.com/:f:/r/sites/IDUNIONIDIDEAL/Freigegebene%20Dokumente/General/IDunion/AP10.5_Certified%20Product%20ID/2021-11-09%20-%20Demonstrator?csf=1&web=1&e=F0KYWS)
- Koffer mit
- Bohrmaschine / anderes Bosch Werkzeug
- Bildschirm im Deckel
- Smart Phone mit Wallet
- Sollte auch ohne Koffer zeigbar sein (online demo)
## Demo Drehbuch
### Setup (einmalig)
- Indy Setup
- NYM (dids), SCHEMA_DEF, CLAIM_DEF,...
- eBon: Kassenbon mit QR Code
- Gedruckt / on screen?
- Oder: https://..../gdti/{Bon_Nummer}
- Digital Link
- Bon nummer -> Serialisierte ID dieses Bons
- Garantizertifikate init QR Code
- https://{some_path}/01/123/21/567?linkType=gs1:registerProduct
- Digital Link -> GS1 Werbung
- 01 = gtin
- 21 = serial
- Gedruckt (Handbuch Cover/Aufkleber/...) / on screen?
### Ablauf bei der Vorführung
1. **Ebon erhalten**
- Entweder: Scanne QR Code per QR Scanner (Browser)
- UI :fireworks:
- Blabla: Lissi Wallet installieren
- knopp -> Ebon
- “Webseite” des Verkäufer!
- Dann:
- Connection annehmen
- Verkäufer <-> Kunde
- Credential Offer wird automagisch vom Backend verschickt
- Siehe [Schema](#eBon)
- User nimmt credential offer an (Wallet)
2. **Garantie Zertifikat erhalten**
- QR Code scannen -> Browser
- https://.../gtin/GTIN/ser/SERIAL
- "Webseite" des Herstellers!
- Anwender sieht seite im mobile browser
- UI
- blabla (generisch)
- Digital link -> Produkt info
- Text mit Werbung: Pseudonym,... für den SSI Case
- Datensparsamkeit
- Knopf "Garantie"
- Redirect -> DIDComm
- Connection Offer
- Hersteller <-> Kunde
- Annehmen
- s.o.
- Kaufbeleg: Presentation Request
- eBon Presentation
- (erzählen/implementieren): Backend gleicht SGTIN ab
- Credential Offer: Garantie Zertifikat VC
- Gültig bis = Kaufdatum + Garantie-Dauer
- TBD: Angriffe (Ausbau Optionen für Implementierung)
- Mehrfach registrierung eines Gerätes
- Falsches Gerät
- Fake-Verkäufer
- Mehrwert eBon VC
- Mehrwert für
- User
- Wie kann ich Garantie in Anspruch nehmen?
- Digitalisierung / Übersicht: Welches Tool hat noch wie lange Garantie?
3. **Garantie Fall auslösen**
- Enkunde löst Garantie Fall aus
- Alternativ: Kunde bringt Gerät zum Händler, dieser löst den Garantiefall aus
- Navigation zu Website
- Digital link mit SGTIN (+ linktype = Garantiefall ?)
- Link im Garantiezertifikat?
- QR Code im Handbuch
- Selber QR Code wie oben (dann mehrere optionen auf webseite)
- ...
- UI :fireworks:
- Hersteller
- Erklärtext
- Knopf... (s.o.)
- Presentation Request
- Garantie Zertifikat
- Textfeld: "wat is kaputt?" -> Eingabe als self attested über wallet app
- Zurück im UI:
- Daten automatisch ausgefüllt
- Welches Gerät
- ...
- Spinner -> :ok:
- Knopf "Abholung Beantragen" / "Rücksenden an"
- Presentation Request
- Base ID (Name, Anschrift)
- (erzählen): Convenience + Keine Tippfehler in Adresse
4. **Visualisierung Happy End**
- :fireworks: :tada:
- On screen
- Hier Angriffszenarien aufzeigen
- SSI Mehrwert betonen!
### User führung!
- Über Wechsel zwischen Wallet und Browser
- Besser
- Kompliziert? (App wechsel orchestrieren)
- Oder auf screen im Koffer
- Parallele Vorstellung der Demo an verschiedenen Orten! -> Sessions
## Parteien / DIDs
- Hersteller (public)
- Aeries Endpunkt
- Verkäufer (public)
- Aeries Endpunkt
- Kunden (privat) ODER Händler der Garantieen für seine (B2B) Kunden verwaltet
- Lissi Wallet
## VCs
Holder immer Kunde
### Basis ID
- Issuer: BDR
- Verifier: Hersteller
### eBon
- Issuer: Verkäufer
- Verifier: Hersteller
- Schema
- Name: `eBon-bought-item`
- Atributes
- `eBon-id`
- gdti
- Digital Link Format
- "https://vc-prototyping.gs1-germany.de/digital-link/253/BON_ID"
- Linked verschiedene bought-items zu einem Bon
- Selber digital ling wird zur anfrage der credentials in den eBon QR Code kodiert
- 
- `date`
- Kaufdatum + Uhrzeit
- [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations)
- https://xkcd.com/1179/
- Wird bei ausstellung auf `now()` erstellt
- `item-id`
- sgln
- Individuelle Produkt ID
- Digital link format
- "https://vc-prototyping.gs1-germany.de/digital-link/01/GTIN/21/SERIAL"
- `item-name`
- Human readable
- "Bosch Bohrhammer XY"
- Anzeige in Lissi?
- `net-price-amount`
- decimal
- "42.23"
- `currency`
- "EUR"
- `vat-percent`
- decimal
- "19"
- `location-id`
- sgln
- digital link
- Kaufort
- `vendor-id`
- party GLN
- Digital link
- Verkäufer
- `vendor-name`
- human redable
- "Bauhaus"
### Garantie Zertifikat
- Issuer: Hersteller
- Verifier: Hersteller? / "Vertragswerkstatt"
- Schema
- Name: `product-warranty`
- Attributes
- `warranty-id`
- gdti
- digital link
- `valid-through`
- Gütlig bis (einschließlich)
- Datum
- [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601#Calendar_dates)
- `item-id`
- s.o.
- `item-name`
- s.o.
- `vendor-id`
- s.o.
- `vendor-name`
- s.o.
- `eBon-id`
- s.o.
- `claim-endpoint`
- URL
- digital link + link type?
# Offene Fragen (in AP 10.5 klären)
- Branding?
- GS1?
- Bosch?
- ID Union? :id:
- Demo Code Open Source?
- Co-Development?
- Weiterentwicklung
- Zusammenarbeit?
- Umsetzung?
- API des BPA VS direkt ACA-PY?
- **Fokus (Demo): Keep It Simple / Schnelle Umsetzung**
# 2022-03-07 Presentation aktuelle Version
Entscheidungen in der AP 10.5 Runde:
- Sprache der Demo: nur Englisch!
# 2022-03-15 Feedback Florin zur Demo (Stand 2022-03-07)
- Garantie Schema
- Fallunterscheidung B2B / B2C für den Businesscase sehr wichtig
# ToolAbo Case
- bare tool number
- serial number
- eindeutigkeit nicht garantiert
- statt dessen: Bluetooth ID
- Aktuell Tool Daten in VC
- Liegt beim Dealer
- Assetmanagement
- Issuer = Bosch
- Onboardingh über App -> Bluetooth