Service Description

Usage

In the setup phase of the Service Delivery process, the Fidesmo App receives a data structure containing information about the service to be delivered.
This data structure is defined by the Service Provider, and can be served in two different ways:

  • It can be stored at the Fidesmo Server, provisioned by the Service Provider as a Service Recipe.
  • It can be sent “on the fly” by the Service Provider servers.

Whenever a mobile app requests a service, the Fidesmo App queries the Fidesmo Server for the service description, since the mobile phone is not considered a fully trusted environment. If the Fidesmo Server cannot provide that information itself (that would be the first case above), it contacts the Service Provider with a Service Description Request as described in the Fidesmo API.

Structure

The service description is composed of the following fields:

Field Type Mandatory? Example Explanation
title Multilanguage String Mandatory
{"en": "The Secret Service",
 "es": "El Servicio Secreto"},
The title is used to inform the end user about the service to be delivered. It should be short and exact, much like the product title in a web shop. Information about who is providing the service is given automatically by Fidesmo so it should not be provided here, i.e. don’t return “Monthly pass from service provider XYZ”. It is a multilanguage string, so the user will read the description in his/her phone's language.
description Multilanguage String, allowing markdown Optional
{"en": "This is a service so **secret**
that we cannot tell you what it does",
 "es": "Este es un servicio tan **secreto**
 que no podemos decirte qué hace"}
A short description of the service. It is also a multilanguage script, and it may contain basic markdown elements like bold, emphasis or links.
confirmationRequired Boolean Optional
true
If ‘true’, the Fidesmo App will display a confirmation screen so the user can accept the service delivery. If ‘false’, the confirmation screen will only be displayed if the service has a price, or if the Terms and Conditions URL is set. The default value (if not sent) is 'false'.
bankIdRequired Boolean Optional
true
If ‘true’, the Fidesmo App will request the user to authenticate with his/her BankId, the leading electronic identification system in Sweden. The authentication token will then be forwarded to the Service Provider. The default value (if not sent) is 'false'.
emailRequired Multilanguage String Optional
{"en": "We need your email to send you flowers",
 "es": "Necesitamos tu email para enviarte flores"}
If present, the user will be asked to enter his/her email address, which will be forwarded to the Service Provider. The multilanguage string shall explain the reason to request the email.
termsAndConditions URL Optional
http://myservice.com/terms
Provides a link to the Service Provider's Terms and Conditions on the confirmation screen.

A full JSON example:

{
  "title": {"en": "The Secret Service",
            "es": "El Servicio Secreto"},
  "description": {"en": "This is a service so **secret** that we cannot tell you what it does",
                  "es": "Este es un servicio tan **secreto** que no podemos decirte qué hace"},
  "confirmationRequired": true,
  "bankIdRequired": true,
  "emailRequired": {"en": "We need your email to send you flowers",
                    "es": "Necesitamos tu email para enviarte flores"},
  "termsAndConditions": "http://myservice.com/fidesmo",
}
        

The confirmation screen generated by the example above will look as this screenshot:

We can see some of the parameters of the Service Description used as example:

  • service title
  • description, showing some markdown
  • a link to the Service Provider's Terms and Conditions

A number of branding elements also appear on the image: the Feature Graphic on top, the logo on the left, and the Application Name under the service title. They are described in the Branding page.