App
Screenshots und Videos
Mit der App zum Online-Shop kann der Kunde (Kunde des Online-Shops, nicht unser Kunde also der Shop-Betreiber) durch Scan von Produkten schnell eine Bestellliste erfassen (z.B. durch einen Mitarbeiter, der ein Regal mit Verbrauchsmaterial abscannt) und diese an den Shop übertragen.
Die App ist für Android und iOS über den PlayStore/AppStore kostenfrei verfügbar.
Das Scannen der Produkte für die “Einkaufsliste” ist auch offline möglich, d.h. wenn das Lager im Keller oder mit sonstiger schlechter Netzabdeckung ist. Für andere Funktionen (Authorisieren des Benutzers, Abschicken der Bestellung, etc.) benötigt die App Internet-Verbindung über WLAN oder Mobilfunk.
Einsatzszenarios
Im Online-Shop werden Verbrauchsartikel angeboten, die immer wieder bestellt werden müssen. Beim Kunden werden diese in einem Regal bevorratet, bei dem pro Artikel ein Barcode am Regalfach angeboten wird. Der Mitarbeiter des Kunden muss das Regal regelmäßig nachbestellen. Er geht dabei die Fächer durch und scannt in den Fachern, in denen der Bestand zu niedrig oder nicht mehr vorhanden ist, den Barcode ab und sorgt so für eine Nachlieferung.
Geräte werden mit Verbrauchsartikel im Shop angeboten (z.B. Kopierer mit Toner-Kassetten oder Druckerpatronnen). Am Gerät wird ein Barcode angebracht, der mit der App abgescannt werden kann, um einen neuen Satz Verbrauchsartikel (z.B. den neuen Toner für den Kopierer) nachzubestellen.
Im Print-Katalog werden Produkte mit einem Barcode ergänzt, mit dem das Produkt auf der Seite durch einen Scan mit der App über den Online-Shop bestellt werden kann.
Shop-Spezifische Apps
Die App wird für Kunden eines Centauri BaseShop basierten Systems von uns weiterentwickelt und in den App-Stores bereitgestellt und kann für jeden Online-Shop benutzt werden, weil beim Erststart der App für die BaseUrl des Shops konfiguriert wird. Die App kann jedoch nur für einen Shop auf dem Gerät des Endkunden konfiguriert werden.
Wir bieten als Zusatzpaket (Setup-Betrag + jährlicher Wartungsbetrag) die Möglichkeit einer Shop-Spezifischen App. Die Anpassungsmöglichkeiten umfassen
eine vorkonfigurierte BaseUrl (damit wird beim ersten Start kein Dialog für den Shop-Url angezeigt - der Scan Button für einen QRCode zur Konfiguration wird in den Anmeldedialog verlegt).
ein Logo des Shop-Betreibers
ein alternatives Farbschema für Hintergrund, Buttons, Schriften.
Der jährliche Wartungsbetrag umfasst die Aktualisierung der Shop-Spezifischen Apps innerhalb von 30 Tagen nach Bereitstellung einer neuen Release unserer Basis App.
Funktionen der App
Die App hat folgende Funktionen:
Scannen in eine Einkaufsliste und Abschicken der Bestellung
Scannen in eine Einkaufsliste und Übertragen in den Warenkorb des Online-Shops
Suche eines Artikels über Artikelname, Artikelnummer oder EAN
Geplant: Suchen über Herstellerartikelnummer und Kundenmaterialnummer
Geplant: Scannen einer Entnahmeliste und Abbuchen von einem Kundenlager
Geplant: Scannen eines Lieferscheins und Aufbuchen in ein Kundenlager
Geplant: Inventur eines Kundenlagers und Korrekturbuchen
Freitextanfrage für Produkt (mit Foto)
Kontaktanfrage (Bitte um Rückruf)
Übernahme der Merkliste zur Bestellung
Übernahme von gespeicherten Warenkörben zur Bestellung
Anzeige bisheriger Bestellung und Anzeige des Status
Anzeige von Tracking Links von erfolgten Lieferungen
Wiederbestellen bisheriger Bestellungen
Geplant: Synchronisieren von Web Warenkorb und App
Geplant: Benachrichtigungen bei Änderung des Bestellstatus
Geplant: Freigaben in Bestell Workflows
Geplant: Benachrichtigungen bei notwendigen Freigaben
Geplant: Synchronisieren des Warenkorbes
Geplant: App Startseite mit Angeboten
Geplant: Scan und Suche über Seriennummer
Geplant: Darstellung von Zubehör zu gekauften Artikeln
Geplant: Suche in bisherigen Bestellungen
Geplant: Suche in Merkliste
Geplant: Checkoutseite vor Abschließen der Bestellung
Geplant: Musterwarenkörbe als eigene Seite
Geplant: Detailseite zu einem Musterwarenkorb mit Möglichkeit alles/einzelne Artikel zu übernehmen
Geplant: Detailseite zur Merkliste mit Möglichkeit alles/einzelne Artikel zu übernehmen
Artikelstamm in der App
Damit das Scannen der Einkaufsliste auch Offline möglich ist, speichert die App den Artikelstamm des Online-Shops im Gerät. Deshalb wird im Rahmen der Erstinstallation und auf Wunsch jederzeit mit dem Befehl Artikelstamm herunterladen die aktuell angebotenen Produkte aus dem Online-Shop heruntergeladen.
Dabei wird der aktuell geltende Preis übertragen, mit dem die App bis zum nächsten Synchronisieren der App arbeitet. Um die Offline-Erfassung beim Scannen zu ermöglichen erfolgt kein automatisches Abgleichend es Preises während des Scans.
Geplant: Vor dem Abschicken werden die Preise und Verfügbarkeiten in der Einkaufsliste verifiziert und der Benutzer informiert, wenn diese von seiner bisherigen Anzeige abweicht.
Identifikation des Artikels
Damit die App ein Produkt in die Einkaufsliste einscannen kann, wird ein Barcode benötigt, der die Artikelnummer im Code darstellt. Für POS Anwendungen kann der GTIN (EAN) am Produkt verwendet werden, der üblicherweise als EAN13 dargestellt wird. Für andere Anwendungen wird CODE128 empfohlen, der die meisten benötigten Zeichen in ausreichender Länge darstellen kann. Da auch QRCodes Text darstellen können, kann die Artikelnummer auch als QRCode dargestellt werden.
Einige Produkte werden nicht einzeln, sondern in Kartons z.B. zu 12 Stück angeboten. Im Barcode kann eine Bestellmenge hinterlegt werden, damit mit einem Scan gleich die gewünschte Anzahl in die Einkaufsliste gebucht wird. Dazu wird im Barcode hinter der Artikelnummer die Bestellmenge hinterlegt und dazwischen ein Trennzeichen gesetzt. Das Standardtrennzeichen dafür ist der Schrägstrich.
Geplant: Das Trennzeichen kann pro Online-Shop anders konfiguriert werden, weil der standardmäßige Schrägstrich teil von Artikelnummern dieses Shops ist.
Der gescannte Code wird entweder als Artikelnummern Feld des Shop Betreibers oder im Feld EAN des Artikels oder im Feld Herstellerbestellnummer gesucht.
Konfiguration
Die App muss (sofern Sie nicht für einen Shop-Betreiber speziell vorkonfiguriert wurde) beim ersten Start mit dem Shop durch Eingabe der Shop-Domäne verknüpft werden. Danach muss Benutzername und Kennwort eines Shop-Kunden eingegeben werden. Die App nimmt dann Kontakt mit dem Shop auf und Verifiziert diese Eingaben. Danach wird der Artikelstamm heruntergeladen, damit auch offline gesucht und gescannt werden kann.
Konfiguration durch QR Code Scan
Alternativ zur Eingabe eines URLs bzw. eines Benutzernamen/Kennworts, kann die App auch durch Einscannen eines QR Codes konfiguriert werden.
Der Abruf des notwendigen QR Codes kann für einen Shop durch folgenden URL passieren:
Daraus entsteht

Der Link im QR Code ergibt folgendes JSON zur Konfiguration der App:
{"Success":true,"Message":null,"BaseUrl":"https://https://demo.clevercommons.com/,"Username":"","Token":""}
Alternativ zu einem QR Code, der nur die Shop URL transportiert, kann die Adresse auch benutzt werden um Benutzername und Kennwort in der App zu hinterlegen. Dazu muss der Benutzer angemeldet sein, bevor der Link oben zur Darstellung des Bildes benutzt wird.
Für ein Testkonto ergibt sich dann dieser QR Code

Der Link im QR Code ergibt folgendes JSON zur Konfiguration der App:
{"Success":true,"Message":null,"BaseUrl":https://demo.clevercommons.com/,"Username":"rubik@audiamo.ch","Token":"dXNlcm5hbWU6cnViaWtAYXVkaWFtby5jaApjcmVhdGVkOjIyLjEyLjIwMjIgMDk6MTg6NDYKZXhwaXJlczowCmhhc2g6Pz8yOC1CMi05My0zQi0wNi1EMy03My1FRC1CQy1CNC1GRS04MS01MS04Ny0zNi05QS00Ni00Mi0wMS01MC1EQS1CRS04Ni1BNC04Mi1FNC0yRC01NC04Ny1EOS04MC1FNj8/"}
Im QR Code ist nicht das JSON, sondern ein Link auf https://demo.clevercommons.com/ enthalten. XXX-XXX-XXX-XXX referenziert eine gültige Konfiguration in der appautoconfig Tabelle der Shop Datenbank, die beim Erstellen des QR Codes dort abgelegt wurde. Mit dieser Tabelle kann auch nachvollzogen werden, welche Konfigurationen bereitgestellt wurden.
Der bei einem vollständigen QR Code (inklusive Benutzerdaten) gelieferte Token (der Inhalt des Token Feldes im JSON, nicht das XXX-XXX-XXX-XXX im Url des QR Codes) kann entweder als Authorization-Header übergeben oder anstelle des Kennwortes benutzt werden.
Dh. der Login mit obenstehendem Token als POST an https://demo.clevercommons.com/ mit
{
"Username":"email@email.ch",
"Password":"dXNlcm5hbWergcnViaWtAYXVkaWFtby5jaApjcmVhdGVkOjIyLjEyLjIwMjIgMDk6MTg6NDYKZXhwaXJlczowCmhhc2g6Pz8yOC1CMi05My0zQi0wNi1EMy03My1FRC1CQy1CNC1GRS04MS01MS04Ny0zNi05QS00Ni00Mi0wMS01MC1EQS1CRS04Ni1BNC04Mi1FNC0yRC01NC04Ny1EOS04MC1FNj8/"
}
liefert als Antwort
{
"Success": true,
"Message": "OK",
"Customernr": "506461",
"Company": "Firma",
"Firstname": "Vorname",
"Lastname": "Nachname",
"ERPCustomernr": "32678",
"Token": "dXNlcm5hbWU6cnViaWtAYXV654tby5jaApjcmVhdGVkOjEyLjAyLjIwMjMgMjA6MzQ6NTYKZXhwaXJlczowCmhhc2g6Pz9EMC05NS0yNi1CNy03OS03RS0wMC1BQi03Ri0wRC1DNS01Ri02Qi1EOS1CMi0zRS03MC04Qy1CMC1EOS00OS03Ny05Ni05RS0yQS04Qi1BNS1DMy0xQS1DRS00OC04MT8/",
"LButton": {
"Caption": "Bestellen",
"Action": "order"
},
"RButton": {
"Caption": "Warenkorb,Anfrage",
"Action": "cart,inquiry"
}
}
Konfiguration über das Kundenkonto
Im Kundenkonto des Online-Shop befindet sich der Bildschirm App, in dem der oben genannte QRCode dargestellt wird, der mit dem aktuell angemeldeten Kundenkonto verknüpft ist. Durch Scan wird eine gerade heruntergeladene App mit dem Kundenkonto verknüpft.
Der Barcode kann auch über das CMS-Modul App-Konfiguration in beliebige Content-Seiten integriert werden. Wird die Content-Seite auch im nicht angemeldeten Zustand angezeigt, enthält der QRCode nur die Verbindung zum Online-Shop. Der Benutzer muss allerdings selbst mit Benutzername und Kennwort anmelden.
Merklisten
Für den angemeldeten Kunden kann die Merkliste aus dem Web Shop in die aktuelle Einkaufsliste geladen werden. Damit kann sich der Benutzer eine Liste von häufig bestellten Produkten in seine Merkliste legen, in der App abrufen und dann vor Bestellung die Mengen justieren.
Gespeicherte Muster-Warenkörbe
Muss der Kunde in verschiedenen Situtationen je unterschiedliche Warenkörbe bestellen, ist die Merkliste nicht ausreichend. Der Shop kann für den Kunden aber auch Muster-Warenkörbe speichern. Diese können im Shop mit Namen versehen werden und auch Mengen pro Produkt speichern.
In der App werden dann die Muster-Warenkörbe mit ihren Namen angezeigt. Nach Auswahl werden die enthaltenen Produkte in die Einkaufsliste übertragen und können dann in Mengen vor der Bestellung nachjustiert werden.
Bestellstatus und -historie
Für den angemeldeten Kunden können die bisherigen Bestellungen (die jüngsten zuerst) mit ihrem aktuellen Status dargestellt werden. Wurde für die Bestellung bereits eine Tracking URL gespeichert, wird diese zum Aufruf angeboten, um den Ort der Lieferung festzustellen.
Für alle angezeigten Bestellungen können die enthaltenen Positionen dargestellt und einfach wiederbestellt werden (durch Übernahme in die Einkaufsliste und anschließender Bestellung).
Geplant: Benachrichtigung
Der Shop kann Push-Nachrichten in einzelnen Phasen einer Bestellung an das Smart Phone des Kunden schicken. Das Senden der Push-Nachrichten wird über Workflow Schritte im Shop konfiguriert und kann dadurch an unterschiedliche Geschäftsprozesse angepasst werden. Ein einfaches Beispiel ist das Senden einer Benachrichtigung, sobald die Bestellung das Lager verlässt oder der Logistik Partner die Zustellung meldet.
Geplant: Freigaben
Für Bestellungen können im Shop Freigabe Workflows parametrisiert werden (z.B. über den Punkt Budgetverwaltung im Kundenkonto oder über das Admin Backend im Kundenkonto).
Workflows können auch mehrstufig sein, d.h. z.B. vom Bedarfsträger zum Vorgesetzten, dann zum Einkäufer und dann erst zum Shop Betreiber.
Bisher mussten die Freigaben in den nächsten Workflow vom Entscheider entweder über das Kundenkonto des Shops oder über einen Link in einer Mail freigegeben werden. Mit der Integration in die App erfolgt auf das Smartphone eine Push-Nachricht und kann dann in der App sofort gesichtet und freigegeben/abgelehnt werden. Diese Vorgangsweise erlaubt jetzt auch Freigaben durch Entscheider, deren Arbeitsplatz nicht ständig an einem Desktop mit Mail/Internetzugang ist.
Geplant: Kundenlager
Für alle Produkte im Sortiment des Online-Shops können für den Kunden Lagerstände in beliebig vielen Kundenlagern verwaltet werden. Dies ist eine Serviceleistung, die der Online-Shop Betreiber kostenfrei oder gegen Gebühr für seine Kunden erbringen kann.
Die Administration der Kundenlager erfolgt über das Kundenkonto des Online-Shops.
Der Endkunde kann die Lagerstände über das Kundenkonto oder über die App auf- und abbuchen . Die Lagerbewegungen können über das Kundenkonto gesichtet und exportiert werden.
Pro Lagerbewegung kann der Endkunde eine Kostenstelle ergänzen, die mitgespeichert wird.
Der Kundenadministrator kann für einen Benutzer der App die Funktion der beiden Schaltflächen in der App umdefinieren. Anstelle von Bestellen und Warenkorb können die Schaltflächen dann eine der untenstehenden Funktionen ausführen:
Nach Scannen einer Einkaufsliste können die Produkte von einem Kundenlager abgebucht werden. Der Mitarbeiter kann dazu in der App zwischen den Kundenlagern umschalten, die im Kundenkonto angelegt wurden. Beim Abbuchen kann auch eine Kostenstelle protokolliert werden.
Nach Scannen der Einkaufsliste können die Produkte auf ein anderes Kundenlager umgebucht werden. Der Mitarbeiter kann dazu ein Kundenlager als Quelle und ein anderes Kundenlager als Ziel wählen.
Nach Scannen einer Einkaufsliste können diese Produkte auf ein Kundenlager aufgebucht werden. Der Mitarbeiter kann dazu Barcodes einzelner Artikel oder ein Lieferdokument scannen, das dem Online-Shop bekannt ist und eine Liste von Artikeln enthält. Auch hier kann der Mitarbeiter zwischen den Kundenlagern umschalten, die im Kundenkonto angelegt wurden.
Nach Scannen einer Liste von Produkten kann die Liste als Inventur gespeichert und damit Korrekturbuchungen auf ein Kundenlager erfolgen. Die Inventuren sind später über das Kundenlager abrufbar.
Konfiguration der Buttons in der App
Über das Kundenkonto können die Funktionen der App pro Mitarbeiter geändert werden. Beim Login - Request werden in diesem Fall in der Antwort die beiden Properties RButton und LButton im JSON retourniert. Jeder der beiden Eigenschaften enthält eine Bezeichnung für den Button (Caption) und eine Aktion (Action). Für die Aktionen sind Identifier definiert:
Identifer | Funktion in der App |
|---|---|
order | Einkaufsliste bestellen |
cart | Einkaufsliste an den Warenkorb übertragen und online darstellen |
reducestock | Vom Kundenlager abbuchen |
addstock | Auf Kundenlager aufbuchen |
inventory | Inventur |
inquiry | Freitextanfrage und einem optionalem Bild |
Action und Caption kann auch eine Kommagetrennte Liste sein, damit mehrere Befehle angeboten werden. Die App erzeugt in diesem Fall für den Button ein Popup-Menü, in der der tatsächliche Befehl vom Benutzer ausgewählt werden kann.
Vorgangsweise Lieferschein einbuchen
Normalen Scan Button verwenden, um den Lieferschein zu scannen (intern Check ob Lieferschein bekannt) → gefundene Items werden in der Liste dargestellt → Button zum Aufbuchen auf Lager
Freitextanfrage mit Foto
Die App kann Text und optional ein Foto erfassen und damit eine Anfrage an den Shop schicken, die dort vom Innendienst mit einer Antwort bzw. einem Produkt beantwortet wird.
Dazu wird ein POST Request an folgende API geschickt https://demo.clevercommons.com/
{
"Username":"email@email.ch",
"Password":"dXNlcm5hbWU6cnViaWtAYXVkaWFtbydfpjcmVhdGVkOjIyLjEyLjIwMjIgMDk6MTg6NDYKZXhwaXJlczowCmhhc2g6Pz8yOC1CMi05My0zQi0wNi1EMy03My1FRC1CQy1CNC1GRS04MS01MS04Ny0zNi05QS00Ni00Mi0wMS01MC1EQS1CRS04Ni1BNC04Mi1FNC0yRC01NC04Ny1EOS04MC1FNj8/",
"Note": "Testnachricht",
"Picture": "",
"Items": []
}
Als Property Note kann ein Text gesendet werden, als Property Picture kann ein JPEG Bild als Base64 encoded String gesendet werden.
Der Endpunkt schickt bei erfolgreichem Absenden
{
"Success": true,
"Message": null,
"Id": "8b30df0-c42c-4e0c-a1f9-f606ddd556ed"
}
Wobei in Id die Identifikation der Anfrage retourniert wird.
War das Absetzen nicht erfolgreich wird in Success der Wert false und in Message eine lesbare Nachricht retourniert. Der Parameter Id bleibt dann null.
TODO: Restendpunkt für mögliche Lager
TODO: Restendpunkt für Abbuchen
TODO: Lieferschein suchen (Parameter gescannte Lieferscheinnummer, Antwort die Liste von Items )
TODO: REST Endpunkt für Aufbuchen