--- 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 - ![](https://i.imgur.com/7ofOqtI.png) - `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