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 zakresu Syrve, pogrupowanych według pewnych wewnętrznych reguł.
Kategoria | Kategoria produktu w Syrve |
Sku | SKU pozycji (proste lub złożone) w Syrve (patrz poniżej) |
Nazwa | Nazwa pozycji (prosta lub złożona) w Syrve (patrz poniżej) |
Typ | Typ listy magazynowej pozycji (Pozycja lub Modyfikator) |
Modyfikatory | Niepuste, jeśli pozycja ma modyfikatory (istotne dla pozycji typu Pozycja) |
Alergeny | Niepuste, jeśli pozycja zawiera alergeny |
Błędy | Niepuste, jeśli konfiguracja pozycji nie spełnia wymagań rozwiązania zintegrowanego (patrz poniż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 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żna kliknąć przycisk 'Odśwież'.
Istnieją pewne ograniczenia dotyczące sposobu ustawienia pozycji w Syrve, aby pasowały do ograniczeń SOI API. Na przykład, dla pozycji z rozmiarami, nazwa rozmiaru (lub krótka nazwa rozmiaru, jeśli jest niepusta) nie powinna zawierać symboli takich jak spacje, przecinki, myślniki itp. Jeśli konfiguracja pozycji nie spełnia ograniczeń SOI API, 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 na menu restauracji nie ma takich pozycji, można to zignorować. Jeśli takie pozycje występują w restauracji, to w zależności od wartości (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 każdego rozmiaru 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 (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 powoduje to na wygląd pozycji menu w systemie zewnętrznym. Choć sytuacja w rzeczywistości może być zupełnie inna, 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ą tylko na poziomie ustawień dla każdej konkretnej pizzy, ich zestawy domyślnych modyfikatorów mogą 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 | |||
Boczek | 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 dane dla pizzy Margherita (1001550) (dla wygody dodano dodatkowe formatowanie i podświetlenia kolorystyczne, które nie znajdują się w rzeczywistym pliku eksportu)

Ta reprezentacja oznacza, że w Marghericie są 3 grupy modyfikatorów: Podstawa, 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 do pozycji dostępne są tylko dodatki i sos do ciasta.
Opcja 1: Sprzedawane są pozycje o określonej nazwie i danym rozmiarze, typ bazowy i dodatki są wskazane jako modyfikatory.
Ważne! Modyfikatory ustawione domyślnie dla pozycji 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 | ||
---|---|---|---|
Pozycja | 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 podczas tworzenia zamówienia, ale dodatek nie zostanie dodany do zamówienia.
Opcja 2: Sprzedawane są pozycje o określonej nazwie, danym rozmiarze i danym typie, dodatki są wskazane jako modyfikatory.
Ważne! Modyfikatory ustawione domyślnie dla pozycji 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 | ||
---|---|---|---|
Pozycja | 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ą pozycje 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.
Pozycja | SKU | Opcja |
---|---|---|
Duża Pepperoni Włoska | 1001551-1001525-1001532-1001537-1001543-1001548-L | |
Duża Pepperoni Cienka | 1001551-1001526-1001532-1001537-1001543-1001548-L | |
Duża Pepperoni z Brzegiem | 1001551-1001527-1001532-1001537-1001543-1001548-L | |
Dowolne modyfikatory ze 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 na brzeg (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": [
]
}
]