RU
EN
ГЛАВНАЯ СТРАНИЦА

Оплата баллами

Баллы в системе Тиллипад предназначены для повышения статуса клиента. Списание баллов в счет оплаты блюд не было предусмотрено ранее.

В протокол стыковки с мобильным приложением добавлен поток DiscountSum, где поле type_ID (необязательное поле) содержит nttp_ID заметки гостевого счета. Заметка гостевого счета обязательно должна быть уникальной и иметь тип данных вещественное, и Sum – сумма для списания в счет оплаты.

При сохранении счета в систему модуль стыковки сохраняет указанную сумму в заметку к счету. Если заметка не указана, берется заметка по умолчанию из настроек модуля.

Скидка пересчитывает стоимость блюд с учетом применения указанной суммы как абсолютной скидки на счет с учетом предыдущих программ лояльности.

При этом скидка проверяет, что не превышен максимально допустимый процент от общей суммы счета, который может быть оплачен баллами. Процент указывается для подразделения в заметке (уникальная, вещественное). Так как сумма может быть использована не полностью, например, при условии, что баллами можно оплатить не более 50% стоимости, то использованная сумма указывается в отдельной заметке к счету.

После пересчета скидки счет сохраняется в систему Тиллипад.

Мобильное приложение

  1. Передает в модуль стыковки список сумм скидок, которые должны быть применены как абсолютная скидка (поток DiscountSum).

Модуль стыковки

  1. Перед сохранением счета в систему, сохраняет указанную сумму в специальную заметку к гостевому счету. При этом, если в потоке DiscountSum не указан type_ID (=nttp_ID), то подставляет nttp_ID по умолчанию (указывается в настройках).

  2. Производит расчет скидки.

  3. Пишет в отдельную заметку использованную сумму скидки.

  4. В данных запроса информации по гостевым счетам постоянного клиента в потоке AppliedDiscountSum в поле Sum возвращает сумму примененной скидки к счету, для того чтобы мобильное приложение могло произвести анализ по примененной сумме скидки.

Скидка

  1. Если для счета указана сумма в специальной заметке, то вычисляется максимальная сумма от общей суммы счета, которая может быть оплачена скидкой.

  2. Применяет абсолютную скидку на счет.

  3. В отдельной заметке сохраняет примененную сумму скидки

Формирование гостевого счета с баллами

Предварительно для корректной работы в настройках модуля должны быть указаны note-type-Id (Сумма заявленной абсолютной скидки на счет) и applied-note-type-Id (Сумма примененной абсолютной скидки на счет) заметок (значения полей nttp_ID tp_NoteTypes), сами заметки должны быть настроены в системе, как и привилегия с типом программы лояльности Абсолютная скидка от мобильного приложения. В сам запрос

/post-guest

добавляется вкладка вида:

"discountSum": [ 
    {   
       "type_ID": "60D367B5-15D2-D24D-8A74-A28F40C8CB9D", 
       "sum": 25 
    } 
 ]

Поле type_ID необязательное к заполнению – id заметки может быть взят из настроек модуля, поле sum должно быть заполнено суммой скидки без кавычек (числовое поле).

В итоге тело запроса /post-guest может выглядеть таким образом:

{ 
  "gest_Name": "Points0000001", 
  "gest_ClientPhone": "+7(456)999-99-99", 
  "gest_ClientAddress": "<Address><Village Caption=\"Город\" Key=\"True\">Санкт-Петербург</Village><Street
Caption=\"Улица\" Key=\"True\">Ленина</Street><House Caption=\"Дом\" Key=\"True\">1</House><Building
Caption=\"Корпус\" Key=\"True\">1</Building><Apartment Caption=\"Квартира\" Key=\"True\">12</Apartment><Entrance
Caption=\"Подъезд\">1</Entrance><Floor Caption=\"Этаж\">2</Floor><Intercom Caption=\"Домофон\">24</Intercom>
<Comment Caption=\"Комментарий\">комментарий</Comment></Address>",
 "guestDeliveries": { 
      "gsdlv_cncpt_ID": "B719499B-9DFC-BA47-B027-0F390028946E", 
      "gsdlv_dlvrst_ID": 0, 
      "gsdlv_dlvrmt_ID": 1, 
      "gsdlv_IsAutoStart": 0, 
      "gsdlv_SendSooner": 1, 
      "gsdlv_CookingTime": 1800, 
      "gsdlv_DeliveryTime": 1800, 
      "gsdlv_NeedConfirmation": 1, 
      "gsdlv_GeoRegionID": 10, 
      "gsdlv_CashAmount": 5000, 
      "gsdlv_pytp_ID_Prepaid": "7EDA47CA-B67E-CB41-BF80-467D7C9086B0", 
      "gsdlv_PayDescription": "description" 
  }, 
  "orders": [ 
   { 
      "ordr_Name": "01", 
      "orderItems": [ 
        { 
          "orit_mitm_ID": "FBE3CE39-94AA-D149-A993-1628A1092830", 
          "orit_mvtp_ID": "5224EB11-E8BE-1846-98C6-895B4B449B91", 
          "orit_Volume": 1, 
          "orit_Count": 2, 
          "orit_Price": 350 
        } 
      ] 
    } 
  ],
  "discountSum": [ 
    {   
       "sum": 100 
    } 
 ]
}

Получение информации о баллах

Для получения информации о баллах существующего гостевого счета или счетов можно использовать запросы

/get-guest?guest-id=<guid счета>

или

/get-guests?client-id=<guid клиента>

Данные по сумме заявленной и примененной скидки будут отображены во вкладках discountSum и appliedDiscountSum:

"discountSum":[{"type_ID":"60D367B5-15D2-D24D-8A74-A28F40C8CB9D","sum":90.0}], 
"appliedDiscountSum":[{"type_ID":"0412C97B-AF11-2447-88D9-B40FA0EB996D","sum":45.0}]