schafferer/device-service-bundle
show available service options for a device
README
Jedes von Schafferer ausgelieferte Gerät hat eine eindeutige Gerätenummer und einen QR-Code, der auf http://q.schafferer.de/CODE auflöst. q.schafferer.de wurden so eingerichtet, dass der Besucher automatisch auf den Shop weitergeleitet wird. Dort wird der Code über die WaWi in das Gerät übersetzt.
Anhand dieser Information werden dem Aufrufer verschiedene Funktionen zur Verfügung gestellt.
Installation
Bitte Vorlagen für die folgenden Message-Templates anlegen:
- /objectviews/TCMSMessageManagerMessage/device-service-request-success.view.php
- /objectviews/TCMSMessageManagerMessage/device-service-request-service-offer-success.view.php
E-Mail Vorlagen pflegen:
- Gerät: Kundendienst anfordern (#34465) [schafferer_device_service.device_service_request]
- Gerät: Notdienst Kundendienst anfordern (#34465) [schafferer_device_service.device_emergency_service_request]
- Wartungs-Angebot Anfordern (Kundenbestätitung - #34469) [schafferer_device_service.request_service_offer_customer]
Gerät: Wartungs-Angebot Anfordern (Kundenservice - #34469) [schafferer_device_service.request_service_offer_customer_service]
Das Modul MTBreadcrumb muss von \Schafferer\DeviceServiceBundle\Bridge\Chameleon\Breadcrumb\BreadcrumbModule erben
- Das Modul MTPageMeta muss von \Schafferer\DeviceServiceBundle\Bridge\Chameleon\Canonical\PageMetaModule erben
URL Auflösung
Über einen RouteCollectionGenerator wird anhand der Systemseite "schafferer_device_service.service_options" eine Route auf SYSTEMSEITE/code definiert. Die Route spricht den Controller "schafferer_device_service.service_options_controller:showOptions an, und übergibt diesem dem code für das Gerät. Der Controller lädt die Device-Details von der Wawi und rendert die Systemseite schafferer_device_service.service_options. Sollte der Code nicht aufgelöst werden können, wirft der Controller eine 404.
Routes die durch das Modul angelegt werden:
+-------------------------------------------------+--------------+---------------------------------------------------------+ | Route | Parameter | Kommentar | +===============================================+=+==============+=========================================================+ | schafferer_device_service_show_options | [deviceCode] | Device Service Übersicht für eine Gerätenummer (#34463) | +-------------------------------------------------+--------------+---------------------------------------------------------+ | schafferer_device_service_request_service | [deviceCode] | Device Service: Kundenservice Anfordern (#34463) | +-------------------------------------------------+--------------+---------------------------------------------------------+ | schafferer_device_service_buy_accessories | [deviceCode] | Device Service: Zubehör kaufen (#34466) | +-------------------------------------------------+--------------+---------------------------------------------------------+ | schafferer_device_service_request_service_offer | [deviceCode] | Device Service: Wartungs-Angebot Anfordern (#34469) | +-------------------------------------------------+--------------+---------------------------------------------------------+
Systemseiten +----------------------------------------------------+---------------------------------------------------------+ | Code | Anmerkung | +====================================================+=========================================================+ | schafferer_device_service.service_options | Device Service Übersicht für eine Gerätenummer (#34463) | +----------------------------------------------------+---------------------------------------------------------+ | schafferer_device_service.request_customer_service | Device Service: Kundenservice Anfordern (#34463) | +----------------------------------------------------+---------------------------------------------------------+ | schafferer_device_service.buy_accessories | Device Service: Zubehör kaufen (#34466) | +----------------------------------------------------+---------------------------------------------------------+ | schafferer_device_service.request_service_offer | Device Service: Wartungs-Angebot Anfordern (#34469) | +----------------------------------------------------+---------------------------------------------------------+
Sevice Optionen
Die möglichen Service Optionen werden im Hauptmenü konfiguriert. Für jede Service Option muss ein symfony Service definiert werden der das Interface Schafferer\DeviceService\Interfaces\DeviceServiceOptionInterface implementiert und mit "schafferer_device_service.service_option" getagged ist.
Kundendienst Anfordern
Die angebotenen Optionen sind aktuell fest in \Schafferer\DeviceServiceBundle\Bridge\Chameleon\DataAccess\DeviceErrorTypeDefinitionProvider hinterlegt.