Tipping

BasicStartupBusinessEnterprise
Name Type Description
tipping.categories.category String Tipping category (OVERALL, HOTEL_PORTER, HOTEL_HOUSEKEEPER, HOTEL_CONCIERGE, TAXI_DRIVER, RESTAURANT, BAR_CAFFE, SPA, TOUR_GUIDE, TOUR_BUS_DRIVER)
tipping.categories.includedServiceCharge String Whether service charge is included within the bill (ALWAYS, USUALLY, SOMETIMES, ALMOST_NEVER)
tipping.categories.placeToTip String Where should you tip (BEDSIDE_TABLE, DISCREET, DIRECTLY, ENVELOPE, RECEPTION, TABLE, TIPPING_BOX)
tipping.categories.frequency String How often should you tip (PER_BAG, PER_DAY, PER_DRINK, PER_NIGHT, PER_PERSON, PER_REQUEST, PER_WEEK)
tipping.categories.isIllegal boolean Whether tipping is illegal
tipping.categories.isOffensive boolean Whether tipping is offensive/rude
tipping.categories.workersRelyOnTips boolean Whether workers rely on tips to make a living (i.e. they have minimum or below minimum wages)
tipping.categories.tip.expectations String Type of tipping (DO_NOT_TIP, NOT_EXPECTED, EXPECTED)
tipping.categories.tip.serviceQuality String Type of the tip (BAD, OK, EXCELLENT)
tipping.categories.tip.includedServiceCharge boolean Whether service charge is included or not (Note: this attribute is different from one in the parent object)
tipping.categories.tip.amount Object Omitted if there are tipping.tip.from and tipping.tip.to attributes
tipping.categories.tip.from Object Omitted if there is tipping.tip.amount attribute
tipping.categories.tip.to Object Omitted if there is tipping.tip.amount attribute
tipping.categories.tip.{amount/from/to}.type String Type of the tip regarding the actual money (NONE, ROUND_UP, PERCENTAGE, CURRENCY). If type is NONE or ROUND_UP there are no other attributes. If type is PERCENTAGE extra attribute amount determines actual percentage. If type is CURRENCY extra attributes from money object are added (amount, amountInteger, currency and displayAs).
BasicStartupBusinessEnterprise
Name Type Description
textual.title Tipping category name
textual.sections.id[SUMMARY].body String General overview of tipping
textual.sections.id[SUMMARY_SHORT].body String Short summary of tipping expectations
{
    "categories": [
      {
        "category": "OVERALL",
        "isIllegal": false,
        "isOffensive": false,
        "workersRelyOnTips": false,
        "tip": [
          {
            "expectations": "EXPECTED"
          }
        ]
      },
      {
        "category": "HOTEL_PORTER",
        "frequency": "PER_BAG",
        "isIllegal": false,
        "isOffensive": false,
        "workersRelyOnTips": false,
        "tip": [
          {
            "expectations": "EXPECTED",
            "from": {
              "type": "CURRENCY",
              "currency": "euro",
              "amount": 0.5,
              "amountInteger": 50,
              "displayAs": "€0.50"
            },
            "to": {
              "type": "CURRENCY",
              "currency": "euro",
              "amount": 1,
              "amountInteger": 100,
              "displayAs": "€1.00"
            }
          }
        ]
      },
      {
        "category": "HOTEL_HOUSEKEEPER",
        "frequency": "PER_DAY",
        "isIllegal": false,
        "isOffensive": false,
        "workersRelyOnTips": false,
        "tip": [
          {
            "expectations": "EXPECTED",
            "amount": {
              "type": "CURRENCY",
              "currency": "euro",
              "amount": 1.5,
              "amountInteger": 150,
              "displayAs": "€1.50"
            }
          }
        ]
      },
      {
        "category": "HOTEL_CONCIERGE",
        "isIllegal": false,
        "isOffensive": false,
        "workersRelyOnTips": false,
        "tip": [
          {
            "expectations": "EXPECTED",
            "from": {
              "type": "CURRENCY",
              "currency": "euro",
              "amount": 8,
              "amountInteger": 800,
              "displayAs": "€8.00"
            },
            "to": {
              "type": "CURRENCY",
              "currency": "euro",
              "amount": 20,
              "amountInteger": 2000,
              "displayAs": "€20.00"
            }
          }
        ]
      },
      {
        "category": "RESTAURANT",
        "includedServiceCharge": "ALWAYS",
        "isIllegal": false,
        "isOffensive": false,
        "workersRelyOnTips": false,
        "tip": [
          {
            "expectations": "EXPECTED",
            "serviceQuality": "EXCELLENT",
            "amount": {
              "type": "PERCENTAGE",
              "amount": 10
            }
          },
          {
            "expectations": "NOT_EXPECTED",
            "serviceQuality": "BAD",
            "amount": {
              "type": "NONE"
            }
          }
        ]
      },
      {
        "category": "BAR_CAFFE",
        "isIllegal": false,
        "isOffensive": false,
        "workersRelyOnTips": false,
        "tip": [
          {
            "expectations": "EXPECTED",
            "from": {
              "type": "CURRENCY",
              "currency": "euro",
              "amount": 1,
              "amountInteger": 100,
              "displayAs": "€1.00"
            },
            "to": {
              "type": "CURRENCY",
              "currency": "euro",
              "amount": 2,
              "amountInteger": 200,
              "displayAs": "€2.00"
            }
          }
        ]
      },
      {
        "category": "SPA",
        "placeToTip": "RECEPTION",
        "isIllegal": false,
        "isOffensive": false,
        "workersRelyOnTips": false,
        "tip": [
          {
            "expectations": "NOT_EXPECTED",
            "from": {
              "type": "PERCENTAGE",
              "amount": 10
            },
            "to": {
              "type": "PERCENTAGE",
              "amount": 20
            }
          }
        ]
      },
      {
        "category": "TOUR_GUIDE",
        "isIllegal": false,
        "isOffensive": false,
        "workersRelyOnTips": false,
        "tip": [
          {
            "expectations": "EXPECTED",
            "from": {
              "type": "CURRENCY",
              "currency": "euro",
              "amount": 2,
              "amountInteger": 200,
              "displayAs": "€2.00"
            },
            "to": {
              "type": "CURRENCY",
              "currency": "euro",
              "amount": 5,
              "amountInteger": 500,
              "displayAs": "€5.00"
            }
          }
        ]
      },
      {
        "category": "TOUR_BUS_DRIVER",
        "frequency": "PER_DAY",
        "isIllegal": false,
        "isOffensive": false,
        "workersRelyOnTips": false,
        "tip": [
          {
            "expectations": "EXPECTED",
            "from": {
              "type": "CURRENCY",
              "currency": "euro",
              "amount": 1,
              "amountInteger": 100,
              "displayAs": "€1.00"
            },
            "to": {
              "type": "CURRENCY",
              "currency": "euro",
              "amount": 2,
              "amountInteger": 200,
              "displayAs": "€2.00"
            }
          }
        ]
      },
      {
        "category": "TAXI_DRIVER",
        "isIllegal": false,
        "isOffensive": false,
        "workersRelyOnTips": false,
        "tip": [
          {
            "expectations": "EXPECTED",
            "amount": {
              "type": "PERCENTAGE",
              "amount": 10
            }
          }
        ]
      }
    ],
    "textual": {
      "title": "Tipping",
      "sections": [
        {
          "id": "SUMMARY",
          "body": [
            "Tipping is quite common in France and it's good etiquette to leave one. How much money you leave depends on the service and how happy you were with it. Receipts always include a service charge."
          ]
        },
        {
          "id": "SUMMARY_SHORT",
          "body": [
            "Expected to tip"
          ]
        }
      ]
    }
  }