Przejdź do głównej zawartości

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ł.

KategoriaKategoria produktu w Syrve 
SkuSKU pozycji (proste lub złożone) w Syrve (patrz poniżej) 
NazwaNazwa pozycji (prosta lub złożona) w Syrve (patrz poniżej) 
TypTyp listy magazynowej pozycji (Pozycja lub Modyfikator)
ModyfikatoryNiepuste, jeśli pozycja ma modyfikatory (istotne dla pozycji typu Pozycja) 
AlergenyNiepuste, jeśli pozycja zawiera alergeny 
BłędyNiepuste, 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:

NazwaSKU/Nazwa kuchni
Margherita1001550
Pepperoni1001551
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  
Ciasto10015270   
Włoskie10015250 11
Cienkie (dostępne tylko dla rozmiarów L i R)10015260   
Grupa modyfikatorów: Sos do ciasta Nie  
Barbecue10015300 00
Czosnkowy10015310 00
Ketchup10015280 00
Majonez1001529 00
Grupa modyfikatorów: Dodatki Tak11
Ser1001532 21
Anchois1001533   
Boczek1001534   
Kurczak1001535   
Szynka1001536   
Pepperoni1001537  1
Pomidory1001538   
Pieczarki1001539   
Zielona papryka1001540   
Czerwona papryka1001541   
Czerwona cebula1001542   
Jalapeno1001543  1
Cebula1001544   
Dymka1001545   
Czarne oliwki1001546   
Zielone oliwki1001547   
Sos pomidorowy1001548 11
Sos BBQ1001549   

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
PozycjaSKUOpcjaSKU
Margherita Duża1001550-LBaza 
Margherita Regularna1001550-LSpód1001527
Margherita Mała1001550-LWłoski1001525
Pepperoni Regularna1001551-RCienki1001526
  Dodatki 
  Ser1001532
  Pepperoni1001537
  Jalapeno1001543
  Sos pomidorowy1001548

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
PozycjaSKUOpcjaSKU
Regularna Margherita Włoski1001550-100152 -R  
Duża Margherita Cienki1001550-1001526-L  
Duża Margherita Spód1001550-1001527-L  
Regularna Margherita Włoski1001550-100152 -R  
Regularna Margherita Cienki1001550-1001526-R  
Mała Margherita Włoski1001550-1001525-S  
  Dodatki 
  Ser1001532
  Sos pomidorowy1001548

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.

PozycjaSKUOpcja
Duża Pepperoni Włoska1001551-1001525-1001532-1001537-1001543-1001548-L 
Duża Pepperoni Cienka1001551-1001526-1001532-1001537-1001543-1001548-L 
Duża Pepperoni z Brzegiem1001551-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": [
]
}
]