Mapowanie Menu
Opis
W oknie konfiguracji źródła zamówienia przejdź do zakładki 'Mapowanie Menu', lub w oknie listy profili kliknij przycisk 'Mapowanie Menu' w wierszu wybranego profilu.
Otworzy się lista pozycji i modyfikatorów z oferty Syrve, pogrupowana według pewnych wewnętrznych reguł.
| Kategoria | Kategoria produktu w Syrve |
| Sku | SKU pozycji (proste lub złożone) w Syrve (patrz niżej) |
| Nazwa | Nazwa pozycji (prosta lub złożona) w Syrve (patrz niżej) |
| Typ | Typ listy magazynowej pozycji (Pozycja lub Modyfikator) |
| Modyfikatory | Niepuste, jeśli pozycja ma modyfikatory (dotyczy pozycji typu Pozycja) |
| Alergeny | Niepuste, jeśli pozycja zawiera alergeny |
| Błędy | Niepuste, jeśli konfiguracja pozycji nie spełnia wymagań zintegrowanego rozwiązania (patrz niżej) |
Po naciśnięciu przycisku Eksport do Excela, menu zostanie wyeksportowane do pliku Excel, który może być również używany podczas przygotowywania mapowania menu do integracji. Dalsza dokumentacja i przykłady będą oparte na formacie przesyłania pliku Excel, ponieważ ten format wyraźniej pokazuje dostępne opcje.
Gdy konfiguracja pozycji zostanie w jakiś sposób zmieniona w Syrve, zmiany te nie są wyświetlane jednocześnie na stronie mapowania menu. Ze względów wydajnościowych może to potrwać do 6 godzin, zanim zmiany zostaną zastosowane. Aby uniknąć oczekiwania na zastosowanie zmian, możesz kliknąć przycisk 'Odśwież'.
Istnieją pewne ograniczenia dotyczące sposobu ustawienia pozycji w Syrve, aby pasowały do ograniczeń API SOI. Na przykład, dla pozycji z rozmiarami, nazwa rozmiaru (lub krótka nazwa rozmiaru, jeśli nie jest pusta) nie powinna zawierać symboli takich jak spacje, przecinki, myślniki itp. Jeśli konfiguracja pozycji nie spełnia ograniczeń API SOI, kolumna 'Błąd' na stronie mapowania menu będzie zawierać znak ostrzegawczy, a szczegółowy opis błędu zostanie wyświetlony w podpowiedzi.
Podstawowe modyfikatory i struktura menu
Ustawienie 'Podstawowe Modyfikatory' ma zastosowanie tylko wtedy, gdy w menu Syrve zdefiniowane są pozycje złożone (używające schematu modyfikatorów). Jeśli takich pozycji nie ma w menu restauracji, można to pominąć. Jeśli takie pozycje występują w restauracji, to w zależności od wartości (lub wartości) w tym ustawieniu, menu do mapowania będzie budowane inaczej.
Na przykład restauracja sprzedaje pizzę, a w menu Syrve jest ona skonfigurowana jako danie złożone ze schematem modyfikatorów i rozmiarami (patrz zrzuty ekranu).



Jeśli ustawienie 'Podstawowe Modyfikatory' pozostanie puste, to wpisy 'Pizza' na stronie mapowania menu będą wyglądać tak:
To znaczy, pizza w każdym rozmiarze jest osobną pozycją na sprzedaż w systemie zewnętrznym. W obecnej wersji nie jest możliwe przekazanie rozmiaru jako opcji do pozycji.
Jeśli na przykład sprzedawany jest 'Smoothie', typ smoothie jest określany przez grupę modyfikatorów. W systemie zewnętrznym każdy typ smoothie jest sprzedawany jako osobna pozycja.
Aby uprościć mapowanie menu, warto określić grupę modyfikatorów dla smoothie w ustawieniu Podstawowe Modyfikatory.
W takim przypadku w mapowaniu menu 'Smoothie' będzie przedstawione jako kombinacja głównego SKU pozycji i modyfikatora.
Jeśli kilka takich pozycji używa różnych grup modyfikatorów, wszystkie takie grupy można wymienić w ustawieniu.
Przykłady
Przykład 1: Dopasowanie 1 do 1
Pozycja w zamówieniu systemu zewnętrznego z SKU 103121 (na przykład San Pellegrino Limonata) odpowiada podobnej pozycji w zamówieniu Syrve.
Fragment JSON z pozycją zamówienia (patrz Przykład Mapowania Menu 1 w Postman)
"items":
[
{
"posItemId": "103121",
"unitPrice": 1.00,
"quantity": 1,
"notes": "",
"modifiers": [
]
}
]
Przykład 2: Kombinacja Jeden-do-Wielu
Pozycja w zamówieniu systemu zewnętrznego z SKU 103125-103138 (na przykład Strawberry Smoothie) odpowiada kombinacji:
- Danie Smoothie (103125)
- Modyfikator Strawberry (103138)
Fragment JSON z pozycją zamówienia (patrz Przykład Mapowania Menu 2 w Postman)
"items": [
{
"posItemId": "103125-103138",
"unitPrice": 5.00,
"quantity": 1,
"notes": "",
"modifiers": [
]
}
]
Przykład 3: Pozycje z rozmiarami
Pozycja w zamówieniu systemu zewnętrznego z SKU 1000965-Regular (na przykład Porridge Regular) odpowiada kombinacji:
- Danie Porridge (1000965)
- Rozmiar Regular
Ta sama pozycja, ale w rozmiarze Large, będzie miała SKU 1000965-Large (podczas gdy w systemie zewnętrznym powinny to być dwie pozycje, Porridge Regular i Porridge Large).
Fragment JSON z pozycją zamówienia (patrz Przykład Mapowania Menu 3 w Postman)
"items":
[
{
"posItemId": "1000965-Regular",
"unitPrice": 5.00,
"quantity": 1,
"notes": "",
"modifiers": [
]
}
]
Przykład 4: Pozycje z rozmiarami, schemat modyfikatorów, obowiązkowe modyfikatory z wartościami domyślnymi
Analiza tego przykładu opiera się na tym, jak pozycja jest skonstruowana w Syrve i jakie ograniczenia to powoduje na wygląd pozycji menu w systemie zewnętrznym. Choć sytuacja w rzeczywistości może być zupełnie odwrotna, co może wymagać rewizji struktury menu zarówno w Syrve, jak i w systemie zewnętrznym.
Na przykład dwie pizze używają schematu modyfikatorów z rozmiarami. Zestaw modyfikatorów w schemacie i dla wszystkich pizz jest taki sam, różnice występują jedynie na poziomie ustawień dla każdej konkretnej pizzy, ich domyślny zestaw modyfikatorów może się różnić. Możliwe jest również, że jedna z baz jest dostępna tylko dla określonych rozmiarów.
Dla przejrzystości rozważmy następujące wykresy:
| Nazwa | SKU/Nazwa kuchni |
|---|---|
| Margherita | 1001550 |
| Pepperoni | 1001551 |
| Rozmiary | |
|---|---|
| Mały | S |
| Regularny | R |
| Duży | L |
| Obowiązkowe (Tak/Nie) | Wartość domyślna/Ilość Dla Margherity | Wartość domyślna/Ilość Dla Pepperoni | ||
|---|---|---|---|---|
| Grupa modyfikatorów: Podstawa | Tak | |||
| Ciasto | 10015270 | |||
| Włoskie | 10015250 | 1 | 1 | |
| Cienkie (dostępne tylko dla rozmiarów L i R) | 10015260 | |||
| Grupa modyfikatorów: Sos do ciasta | Nie | |||
| Barbecue | 10015300 | 0 | 0 | |
| Czosnkowy | 10015310 | 0 | 0 | |
| Ketchup | 10015280 | 0 | 0 | |
| Majonez | 1001529 | 0 | 0 | |
| Grupa modyfikatorów: Dodatki | Tak | 1 | 1 | |
| Ser | 1001532 | 2 | 1 | |
| Anchois | 1001533 | |||
| Bekon | 1001534 | |||
| Kurczak | 1001535 | |||
| Szynka | 1001536 | |||
| Pepperoni | 1001537 | 1 | ||
| Pomidory | 1001538 | |||
| Pieczarki | 1001539 | |||
| Zielona papryka | 1001540 | |||
| Czerwona papryka | 1001541 | |||
| Czerwona cebula | 1001542 | |||
| Jalapeno | 1001543 | 1 | ||
| Cebula | 1001544 | |||
| Dymka | 1001545 | |||
| Czarne oliwki | 1001546 | |||
| Zielone oliwki | 1001547 | |||
| Sos pomidorowy | 1001548 | 1 | 1 | |
| Sos BBQ | 1001549 |
Dla takiej struktury menu w Syrve możliwe jest kilka opcji konfiguracji menu systemu zewnętrznego.
Widok mapowania menu może pomóc zrozumieć, które grupy modyfikatorów są używane oraz jakie wartości są dozwolone dla różnych opcji.
Na przykład, w kolumnie Modyfikatory podczas eksportu struktury menu do Excela, można zobaczyć następujące informacje dla pizzy Margherita (1001550) (dla wygody dodano dodatkowe formatowanie i podświetlenie kolorami, których nie ma w rzeczywistym pliku eksportu)
Ta reprezentacja oznacza, że w Marghericie są 3 grupy modyfikatorów: Podstawa, z której można wybrać tylko jedną, domyślnie wybrana jest klasyczna; Sos do ciasta, opcjonalny, można wybrać do 10; Dodatki: od 1 do 10 dostępnych do wyboru, domyślnie pozycja zawiera 2 sery i sos pomidorowy.
Jeśli ustawienie Modyfikatora Podstawy zawiera grupę Podstawa, to w mapowaniu menu pizza z każdą możliwą podstawą będzie prezentowana jako osobna pozycja, a lista opcji do wyboru będzie wyglądać nieco inaczej, na przykład:
To znaczy, że jako opcje dostępne dla pozycji są tylko dodatki i sos do ciasta.
Opcja 1: Sprzedawane są przedmioty o określonej nazwie i danym rozmiarze, typ bazowy i dodatki są wskazane jako modyfikatory.
Ważne! Modyfikatory ustawione domyślnie dla przedmiotu muszą być domyślnie wybrane po stronie systemu zewnętrznego, w przeciwnym razie, jeśli modyfikator jest wymagany, wystąpi błąd podczas tworzenia zamówienia, a jeśli nie jest wymagany, zamówienie zostanie po prostu utworzone bez niego.
| Krok 1: Pizza & Rozmiar | Krok 2: Spód & Dodatki jako modyfikatory | ||
|---|---|---|---|
| Przedmiot | SKU | Opcja | SKU |
| Margherita Duża | 1001550-L | Baza | |
| Margherita Regularna | 1001550-L | Spód | 1001527 |
| Margherita Mała | 1001550-L | Włoski | 1001525 |
| Pepperoni Regularna | 1001551-R | Cienki | 1001526 |
| Dodatki | |||
| Ser | 1001532 | ||
| Pepperoni | 1001537 | ||
| Jalapeno | 1001543 | ||
| Sos pomidorowy | 1001548 | ||
W tej konfiguracji JSON zamówienia będzie wyglądał następująco (zobacz Przykład mapowania menu 4 w Postmanie)
//Duża Margherita na spodzie Crust z domyślnymi modyfikatorami
"items": [
{
"posItemId": "10015500-L",
"unitPrice": 15.00,
"quantity": 1,
"notes": "",
"modifiers": [
{
"posItemId": "10015270",
"unitPrice": 0.00,
"quantity": 1
},
{
"posItemId": "10015320",
"unitPrice": 0.00,
"quantity": 2
},
{
"posItemId": "10015480",
"unitPrice": 0.00,
"quantity": 1
}
]
}
]
(zobacz Przykład mapowania menu 5 w Postmanie)
//Regularna pepperoni na cienkim spodzie z domyślnymi modyfikatorami
"items": [
{
"posItemId": "10015510-R",
"unitPrice": 17.00,
"quantity": 1,
"notes": "",
"modifiers": [
{
"posItemId": "10015260",
"unitPrice": 0.00,
"quantity": 1
},
{
"posItemId": "10015320",
"unitPrice": 0.0,
"quantity": 2
},
{
"posItemId": "10015480",
"unitPrice": 0.00,
"quantity": 1
}
,
{
"posItemId": "10015430",
"unitPrice": 0.00,
"quantity": 1
}
]
}
]
Jeśli nie określisz żadnego z bazowych modyfikatorów w zamówieniu lub liczba dodatków będzie mniejsza niż minimalna, wystąpi błąd, ponieważ jest to modyfikator wymagany. Jeśli nie określisz żadnego z domyślnych dodatków w zamówieniu (na przykład sos pomidorowy (1001548)), nie będzie błędu tworzenia zamówienia, ale dodatek nie zostanie dodany do zamówienia.
Opcja 2: Sprzedawane są przedmioty o określonej nazwie, danym rozmiarze i danym typie, dodatki są wskazane jako modyfikatory.
Ważne! Modyfikatory ustawione domyślnie dla przedmiotu muszą być domyślnie wybrane po stronie systemu zewnętrznego, w przeciwnym razie, jeśli modyfikator jest wymagany, wystąpi błąd podczas tworzenia zamówienia, a jeśli nie jest wymagany, zamówienie zostanie po prostu utworzone bez niego.
| Krok 1: Pizza, Rozmiar & Spód | Krok 2: Dodatki jako modyfikatory | ||
|---|---|---|---|
| Przedmiot | SKU | Opcja | SKU |
| Regularna Margherita Włoski | 1001550-100152 -R | ||
| Duża Margherita Cienki | 1001550-1001526-L | ||
| Duża Margherita Spód | 1001550-1001527-L | ||
| Regularna Margherita Włoski | 1001550-100152 -R | ||
| Regularna Margherita Cienki | 1001550-1001526-R | ||
| Mała Margherita Włoski | 1001550-1001525-S | ||
| Dodatki | |||
| Ser | 1001532 | ||
| Sos pomidorowy | 1001548 | ||
W tej konfiguracji JSON zamówienia będzie wyglądał następująco (zobacz Przykład mapowania menu 6 w Postmanie):
//Regularna Margherita z jednym serem (nie domyślnie 2),
//dodatkowo czarne oliwki (1001546) i sos czosnkowy na spód (1001531)
"items": [
{
"posItemId": "10015500-10015260-R",
"unitPrice": 15.00,
"quantity": 1,
"notes": "",
"modifiers": [
{
"posItemId": "10015320",
"unitPrice": 0.00,
"quantity": 1
},
{
"posItemId": "10015480",
"unitPrice": 0.00,
"quantity": 1
},
{
"posItemId": "10015460",
"unitPrice": 1.00,
"quantity": 1
}
,
{
"posItemId": "10015310",
"unitPrice": 1.00,
"quantity": 1
}
]
}
]
Opcja 3: Sprzedawane są przedmioty o określonej nazwie, danym rozmiarze i danym typie, dodatki są domyślnie włączone i nie można ich usunąć, możliwe są tylko dodatkowe dodatki.
Pizza, Rozmiar, Spód. Składniki nie mogą być zmieniane.
| Produkt | SKU | Opcja |
|---|---|---|
| Duża Pepperoni Włoska | 1001551-1001525-1001532-1001537-1001543-1001548-L | |
| Duża Pepperoni Cienkie | 1001551-1001526-1001532-1001537-1001543-1001548-L | |
| Duża Pepperoni z Ciastem | 1001551-1001527-1001532-1001537-1001543-1001548-L | |
| Dowolne modyfikatory z schematu |
W tej konfiguracji JSON zamówienia będzie wyglądał następująco (zobacz Przykład Mapowania Menu 7 w Postmanie)
//Duża Pepperoni na cienkim cieście z domyślnymi modyfikatorami,
//dodatkowy sos do ciasta (1001528) i dodatkowa szynka (1001536)
"items": [
{
"posItemId": "10015510-10015260-10015320-10015370-10015430-10015480-L",
"unitPrice": 15.00,
"quantity": 1,
"notes": "",
"modifiers": [
{
"posItemId": "10015280",
"unitPrice": 1.00,
"quantity": 1
},
{
"posItemId": "10015360",
"unitPrice": 1.00,
"quantity": 1
}
]
}
]
(zobacz Przykład Mapowania Menu 8 w Postmanie)
//Zwykła Margherita z domyślnymi modyfikatorami
//(podwójny ser określony jako dwie SKU w sekwencji)
"items": [
{
"posItemId": "10015500-10015250-10015320-10015320-10015480-R",
"unitPrice": 15.00,
"quantity": 1,
"notes": "",
"modifiers": [
]
}
]

