Définir l'ordre des services

Spécifications

Pour modifier l'ordre d'affichage des services d'un marchand donné, définissez ranking_hint.score sur chaque Service dans le flux de services.
// Ranking hints for a service.
message ServiceRankingHint {
  // Arbitrary partner or merchant assigned rank for this service.
  //
  // Services with a higher score will be shown more prominently (e.g. shown
  // higher in lists). Note that other factors may also influence ranking, such
  // as price, availability, user history, etc.
  //
  // Optional. Must be non-negative if set.
  float score = 1 [features.field_presence = EXPLICIT];
}
Lorsque plusieurs services sont affichés (par exemple, la page directement après le bouton "Réserver" qui affiche tous les services parmi lesquels l'utilisateur peut choisir), Service.ranking_hint.score est utilisé comme l'un des signaux pour organiser les services. Plus le score est élevé, plus le service apparaîtra haut sur la page.

Exemple

Un marchand propose trois services : "Coupe de cheveux", "Coloration" et "Massage du cuir chevelu et coupe de cheveux". Voici l'ordre qu'il préfère :
  1. Coupe de cheveux
  2. Massage du cuir chevelu et coupe de cheveux
  3. Coloration
Le flux de service peut être spécifié comme suit:
Services
{
  "service": [
    {
      "price": {
        "currency_code": "USD",
        "price_micros": 20000000
      },
      "service_id": "haircut",
      "prepayment_type": "NOT_SUPPORTED",
      "merchant_id": "beauty-1",
      "localized_service_name": {
        "value": "Haircut",
        "localized_value": [
          {
            "locale": "en",
            "value": "Haircut"
          }
        ]
      },
      "localized_description": {
        "value": "Get a haircut.",
        "localized_value": [
          {
            "locale": "en",
            "value": "Get a haircut."
          }
        ]
      },
      "ranking_hint": {
        "score": 30.0
      }
    },
    {
      "localized_service_name": {
        "value": "Coloring",
        "localized_value": [
          {
            "locale": "en",
            "value": "Coloring"
          }
        ]
      },
      "price": {
        "currency_code": "USD",
        "price_micros": 40000000
      },
      "service_id": "haircoloring",
      "prepayment_type": "NOT_SUPPORTED",
      "merchant_id": "beauty-1",
      "localized_description": {
        "value": "Get your hair dyed.",
        "localized_value": [
          {
            "locale": "en",
            "value": "Get your hair dyed."
          }
        ]
      },
      "ranking_hint": {
        "score": 10.0
      }
    },
    {
      "localized_service_name": {
        "value": "Scalp massage and Haircut",
        "localized_value": [
          {
            "locale": "en",
            "value": "Scalp massage and Haircut"
          }
        ]
      },
      "price": {
        "currency_code": "USD",
        "price_micros": 30000000
      },
      "service_id": "scalpmassage",
      "prepayment_type": "NOT_SUPPORTED",
      "merchant_id": "beauty-1",
      "localized_description": {
        "value": "Get a shampoo and scalp massage followed by a haircut.",
        "localized_value": [
          {
            "locale": "en",
            "value": "Get a shampoo and scalp massage followed by a haircut."
          }
        ]
      },
      "ranking_hint": {
        "score": 20.0
      }
    }
  ]
}
L'ordre spécifié ci-dessus (sans autres signaux) entraînera les résultats suivants:

Ordre des services: Coupe de cheveux, Massage du cuir chevelu et Coupe de cheveux, Coloration.