Оглавление |
---|
Отображение дочерних |
---|
Описание
Сервер заказов предназначен для промежуточного хранения заказов покупателей, подготовленных во внешних системах (интернет-магазин, служба доставки) перед началом их обработки на кассе УКМ 5.
Помимо этого, сервер заказов, совместно с API сервера заказов поддерживает работу с любым мобильным приложениемСборщик заказов, поддерживает процессы управляющим процессами сборки (включая взаимодействие с заказчиком) и доставки заказа.
Далее описан функционал сервера заказов для оплаты на кассах заказов, подготовленных во внешних системах (интернет-заказы).
...
- выдача на кассе заказа, по которому ранее была получена предоплата;
- выкуп на кассе ранее неоплаченного не оплаченного заказа;
- возврат денежных средств по заказам:
...
API сервера заказов описано здесь.
Статус заказа
Касса определяет, какую операцию необходимо выполнить над заказом, на основании его статуса (параметр status в запросах и в базе данных). Возможны следующие значения статусов заказа:
Значение устанавливает внешняя система | Значение устанавливает касса |
---|---|
'WaitsPrepayment' (ожидает предоплаты) | 'Prepaid' (предоплата полученаполучена) |
'WaitsPurchase' (oжидает выкупа) | 'Purchased' (выкуплен) |
'WaitsPrepaymentReturn' (ожидает возврата предоплаты) | 'PrepaymentReturned' (предоплата возвращена) |
'WaitsReturn' (ожидает возврата) | 'Returned' (возвращён) |
'Cancelled' (отменен) |
Если на кассе вводится номер заказа, который находится в одном из статусов, указанных в правой колонке, а также в статусе 'Cancelled', то касса выведет сообщение о невозможности его обработать и укажет его текущий статус.
...
- в заказе могут быть позиции с одинаковыми товарами и ценами;
- для маркированных товаров на сервер заказов также передается их КиЗ, при этом:
- если внешняя система заполняет значение КиЗ, то она должна заполнить его в точности так, как КиЗ нанесен на товар – при регистрации товара в ККТ касса будет регистрировать КиЗ так, как будто его содержание было прочитано сканером кассы. Соответственно, если информация о КиЗ в заказе будет отличаться от стандартной, то информация о маркировке товара либо совсем не будет зарегистрирована, либо может быть зарегистрирована с искажениями;
- если внешняя система не загружает информацию о КиЗ, то в соответствующих запросах API item.kiz должен отсутствовать (не быть пустым – а именно отсутствовать).
Внешняя система может управлять правилами применения скидок (в том числе по карте покупателя). Для этого в заказе предназначен параметр discountPolicy (для каждой позиции в отдельности) со следующими возможными значениями:
...
Независимо от политики применения скидок, информация о карте покупателя, если она указана в заказе, будет передана в систему лояльности LOYA и будет обрабатываться в чеке так же, как будто она была введена в чек в процессе его оформления.
...
Чек выгружается во внешнюю систему (через API или XML-конвертер) с указанием заказа, на основании которого он был создан (доп. свойство properties. "id" : "ORDER_NUM"), к позициям чека привязывается доп. свойство с номером соответствующей позиции в заказе (properties. "id" : "ORDER_POSITION"). Кроме того, сохраняется значение статуса заказа, в котором он поступил на кассу (properties. "id" : "ORDER_ STATUS ").
...
В заказ, ожидающий предоплату, на кассе нельзя добавить никакие другие товары.
Примечание. Заказ совсем не обязательно должен проходить стадию приема предоплаты: внешняя система может просто выгрузить заказ для выкупа при получении или только для получения (если ранее по такому заказу уже была получена предоплата – например, во внешней системе). Более того, кассовая система никак не отслеживает связь заказа и получения предоплаты за него – предполагается, что контроль и управление статусами заказа происходит во внешней системе.
Выдача заказа
Когда придет время получать товары по заказу на кассе, то внешняя система должна выгрузить заказ со статусом 'WaitsPurchase' с тем же номером и тем же товарным составом, а также с пометкой, что для него была получена предоплата. Для этого в заказе должна быть заполнена секция Payment с суммой предоплаты и указанием, какими средствами был получен аванс – наличные/банковская карта.
...
Для товаров, подлежащих обязательной маркировке, в заказе может быть указано содержимое марки (полное содержание – т.е. в том виде, в котором марка была считана со средства идентификации). Если содержание марки не указано, то касса запросит его ввод. Для штучных товаров, количество в позиции должно быть равно 1, даже если содержимое марки не указано. Для мерных товаров количество может быть любым значением.
Расформирование заказа
В случае, если текущие акции в магазине более привлекательны для покупателя, есть возможность расформировать заказ, т.е. превратить чек, созданный на основании заказа, в обычный кассовый чек с текущими ценами магазина. Чек может быть произвольно изменен, к нему применятся текущие маркетинговые акции. При этом касса изменит статус заказа в cервере заказов на ‘Cancelled’, а к чеку будет привязан номер заказа и статус ‘Cancelled’ – таким же способом, как и для чеков на основании заказов. Если для товара из заказа в магазине не определена цена, то в чеке останется цена из заказа (раcсчитанная в интернет-магазине).
Функционал применим для заказов в статусе Ожидает выкупа и при отсутствии в них предоплат.
Возвраты
Возможны два режима выполнения возврата товаров, полученных покупателями по заказам:
- 1) возврат только на основании заказов на возврат. В этом случае, касса формирует чек возврата без ссылки на чек продажи (но с ссылкой на заказ на возврат);
- 2) штатный возврат на основании чека на продажу: может быть разрешен или запрещен.
Режим определяется настройками в кассовой системе.
1. В первом режиме, при попытке осуществить возврат по чеку продажи, касса выведет запрещение сообщение о запрете операции.
Для управления правами на создание чеков на возврат (без ссылки на чек продажи), разработаны существует два «странных» дополнительных «права» - «Возврат дополнительных права: Возврат без чека на основании заказа» заказа и «Возврат Возврат без чека НЕ не на основании заказа», которые позволят предоставить возможность рядовым кассирам заказа, благодаря использованию которых рядовые кассиры смогут создавать чеки на возврат на основании заказов, и не позволят им создавать «опасные» чеки без риска создания «опасных» чеков на возврат.
Товарное содержимое заказа на возврат нельзя изменить в чеке. Кроме товарного состава, заказы на возврат должны иметь информацию о средствах оплаты, которыми должен быть выполнен возврат. Если в заказе на возврат сумма средств по средствам оплаты не совпадает с суммой оплатсуммарной стоимостью возвращаемых товаров, то такой заказ касса обрабатывать не будет обрабатывать и выведет сообщение об ошибке.
...
Если чек возврата формировался не на основании заказа, а на основании чека продажи, который был создан по заказу, то информации о заказе продажи в нем не будет.
2. Второй режим является настраиваемым: возврат товаров из заказа на основании чека их продажи может быть как разрешен, так и запрещен. Настройки осуществляются на кассовом сервере по адресу: Магазин – Типы касс нужно выбрать тип кассы и нажать кнопку Настройки: Якорь returnorderbyreceipt returnorderbyreceipt
В конфигурационном файле return_by_receipt.conf (applications\return_by_receipt\return_by_receipt.conf) необходимо установить значение параметра isAllowedRefundReceiptForOrders:
Блок кода | ||||
---|---|---|---|---|
| ||||
ReturnByReceipt: {
subsystems: [
app_return_by_receipt: {
params: {
bl: {
isAllowedRefundReceiptForOrders = true |
При isAllowedRefundReceiptForOrders = true возврат будет разрешен, при isAllowedRefundReceiptForOrders = false – запрещен:
После изменения значения параметра, настройки необходимо сохранить.
Ограничения
1. Касса обрабатывает заказы с предоплатой в размере только 100%.
2. При обработке заказа на возврат внешняя система должна определить, каким средством оплаты (наличные/
...
банковская карта) должен быть сделан возврат на кассе. Возврат не может быть
...
выполнен более, чем одним средством оплаты.
3. Товары, подлежащие обязательной маркировке, должны указываться всегда с количеством 1, даже если для них не указывается содержание марки (
...
КиЗ).
4. В заказах обрабатываются карты покупателей только системы лояльности
...
LOYA, поддержка прочих систем лояльности выполняется при необходимости.
...
5. При обработке карты лояльности покупателя в выкупаемых заказах, будут выполнены все маркетинговые акции, которые действуют для данного магазина. При этом акции, не связанные с уменьшением суммы покупки, будут выполнены независимо от указанной политики применения скидок.
...
6. Касса не использует следующие параметры заказа:
registrationDate | Дата/время регистрации заказа |
deliveryDate | Дата/время доставки заказа |
buyerName | ФИО покупателя |
buyerPhoneNumber | Моб. тел. покупателя |
pickingStatus | Статус сборки |
pickerId | Идентификатор сборщика заказа |
Работа с заказами на кассе
Функционал кассы при оформлении заказов и возвратов по заказам подробно описан здесь.Настройка
Настройки
1. На кассовом сервере по адресу: Магазин – Типы касс нужно выбрать тип кассы и нажать кнопку Настройки:
В файле
Для обеспечения возможности работы с интернет-заказами, в разделе bl файла sale.conf (applications\sale\sale.conf) в раздел bl добавить параметры сервера заказовнужно раскомментировать следующую строку, после чего – сохранить файл:
Блок кода | ||||
---|---|---|---|---|
| ||||
orders: {
url = "http://192.168.10.228:8080/api/v1.0/order"
timeout = 5 seconds
} |
2. На кассовом сервере по адресу: Оборудование – Шаблоны нужно выбрать шаблон оборудования и нажать кнопку Оборудование:
...
include file("conf/applications/sale/order.conf") |
2. В файле order.conf (applications\sale\order.conf) нужно указать актуальный URL сервера заказов и сохранить выполненные изменения, например:
3. На кассовом сервере по адресу: Магазин – Кассы нужно выбрать необходимую кассу и нажать кнопку Оборудование:
В появившемся иерархическом древе в конфигурационном файле keyboard_layout (hardware\keyboard_layout\keyboardLayout.conf) нужно посмотреть, какой тип клавиатуры используется (он должен быть раскомментирован в общем списке):
В конфигурационный файл с актуальной раскладкой клавиатуры по адресу: hardware\keyboard_layout\файл актуальной раскладки необходимо добавить следующий фрагмент, после чего нажать кнопку Сохранить:
...
Примечание. Пункт будет доступен, только если в Init придет параметр useOrder=true, и если чек не открыт.
34. Также можно настроить горячую клавишу поиска заказа на клавиатуре кассы, добавив в конфигурационный файл с актуальной раскладкой клавиатуры по адресу: hardware\keyboard_layout\файл актуальной раскладки следующий фрагмент, после чего нажать кнопку Сохранить:
Блок кода | ||||
---|---|---|---|---|
| ||||
{ code = 119 # F8 type = "FindOrder" params = "" } |
45. Дальнейшие настройки осуществляются через API.5. Включить меню интернет-заказов в список функций на Рабочем столе кассы можно в конфигурационном файле mintukm.config (\mintukm.config) по адресу: Магазин – Типы касс на кассовом сервере.