====== Bir İçecek Alana İkincisini %50 İndirimli ver Promosyonu ======
**Senaryo:**
İçecek grubundan bir ürün sipariş edildiği zaman aynı ürünün ikincisine, %50 iskonto yaparak adisyona eklenmesi ve bu ikinci ürünün mutfak yazıcısından hemen yazdırılmadan sadece bir kupon olarak basılarak daha sonra kullanılmasını sağlayan promosyon örneğidir. Adisyona eklenen her İçecek grubu ürünü için geçerli olacaktır. Ürünün mutfak yazıcısından hemen yazdırılmaması Siparişi Beklet adında bir butonla sağlanacak, mutfak yazıcısına yazıdırılması ise Siparişi Yap adlı başka bir butonla yapılacaktır.
**Uygulama Alanları:**
Bu gibi bir promosyon uygulması örneğin Kahvaltı tabağı ile birlikte alınan 2. çay %50 iskontolu promosyonunda veya bir bira alana kinci bira %50 iskontolu durumunda veya Sevgililer gününde Ana Yemeklerimizin ikincisi %50 iskontolu şeklinde tanımlanabilecek promosyonlarda kullanılabileceği gibi benzer bir çok farklı durumda uyarlanabilir.
Not:\\
Burada anlatılan uygulamanın SambaPOS 3.026 veya üzeri bir versiyon ile uyumludur. Alt versiyonları kullanıyorsanız verisyonunuz güncellemeniz gerekmektedir.
**Kullanım Videosu:**
{{http://www.youtube.com/v/TldVumuKe9E?.swf?640x480}}
==== Otomasyon İşlemleri ====
^Uygulama^Adı^Açıklama^
|Eylem - 1 |Fiyatı %50 Düşür |Adisyona eklenecek ürünün fiyatını %50 düşürecek Eylem |
|Eylem - 2 |%50 Iskonto Promosyonunu Aktifleştir |Otomasyon Butonu ile birlikte %50 iskonto Durumunu yapcak olan Eylem |
|Eylem - 3 |%50 Iskonto Promosyonunu Kapat |Promosyon eklendikten sonra Durumunu kaldıracak olan Eylem |
|Eylem - 4 |Sipariş Servis Durumunu Güncelle |Promosyon ürünün Servis Durumunu tanımlayan Eylem |
|Eylem - 5 |Sipariş Promosyon Durumunu Güncelle |Siparişin Promosyon Durumunu tanımlayan Eylem |
|Eylem - 6 |Adisyona Yeni Sipariş Ekle |Adisyona iskontolu promosyon ürününü ekleyen Eylem |
|Eylem - 7 |Son Siparişi Çağır |Aynı üründen sipariş edebilmek için ne olduğunu öğrendiğimiz Eylem |
|Eylem - 8 |Adisyonu Tazele |Adisyonu refresh eden eylem |
|Otomasyon Komutu - 1 |İkinci İçeceği %50 İskontolu Sat |İçecek eklendiğinde gözüken ve ikinciyi %50 iskontolu ekleyen buton |
|Otomasyon Komutu - 2 |Servisi Beklet |İkinci ürünü mutfağa yazdırmadan bekleten buton |
|Otomasyon Komutu - 3 |Servisi Yap |İkinci ürünün yazdırmasını tetikleyen buton |
|Kural - 1 |%50 İndirim Promosyonunu Başlat |%50 İndirim Promosyonunu Başlatan Kuralımız |
|Kural - 2 |Ikınci Icecek de %50 İndirim Promosyonunu Çalıştır |Promosyonu çalıştıran, belge durumlarını güncelleyen kural |
|Kural - 3 |Servisi Beklet Butonuna Basıldığında |Servisi Beklet butonuna basıldığunda çalışacak eylemlerin tanımlandığı kural |
|Kural - 4 |Servisi Yap Butonuna Basıldığında |Servisi Yap butonuna basıldığunda çalışacak eylemlerin tanımlandığı kural|
==== Yazıcı Şablonları İşlemleri ====
^Uygulama^Adı^Açıklama^
|Yazıcı Şablonu|Mutfak Sipariş Şablonu|Bekletilen Servisleri Yazdırıp Yazdırmama obsiyonu |
==== EYLEM - 1. Fiyatı %50 Düşür ====
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_001.jpg?700|}}
Bu eylem birlikte çalışacağı diğer eylem ve onları tetikleyecek Otomasyon Komutu ve Kurallarla birlikte hareket ederek ilgili ürünün fiyatını %50 oranında azaltacaktır. Bu işlemi yapmak için Eylemlerde kullandığımız Expressions özelliğini kullanacağız. Eylemler içerisinde manual bir hesaplama yapılabilir, Örn. [=10+3] biçiminde girilecek bir değer bize 13 sonucu getireceği gibi, [=10/2] de bize 5 sabit değerini getirir, biz bu Eylem ile fiyatın yarısını bulmak istediğimiz için Yazıcı Şablonlarında kullandığımız etiketleri kullanacağız. Yani kabaca Fiyat / 2 diyeceğiz. Bu diyebilmek için bunun bir Expressions olduğunu anlatmak için işlemi [ ] arasına alarak [={PRICE}/2] dememiz mantık olarak yeterli, ancak fiyat içerisinde olabilecek noktalama, binlik ayırıcı gibi sembollerden dolayı bi bunun mutlak bir sayı olarak gelmesini istediğimiz için TN (to number) fonksiyonunu kullanarak [=TN(‘{PRICE}’)/2] biçiminde gireceğiz.
**Eylem-1. (Fiyatı %50 Düşür) Değerleri**
^Özellik^Değer^
|Eylem Adı|Fiyatı %50 Düşür |
|Eylem Tipi|Siparişi Güncelle |
|Fiyat|[=TN('{PRICE}') / 2] |
==== EYLEM - 2. %50 Iskonto Promosyonunu Aktifleştir ====
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_002.jpg?700|}}
**Eylem-2. (%50 İskonto Promosyonunu Aktifleştir) Değerleri**
^Özellik^Değer^
|Eylem Adı|%50 Iskonto Promosyonunu Aktifleştir |
|Eylem Tipi|Belge Durumunu Değiştir |
|Parametreler - StateName|Promosyon |
|Parametreler - Durum|%50 İndirim|
Bu eylem Belgenin durumu değiştirildiğinde Promosyon adında bir Durum tanımlayarak Durum etiketini de %50 İndirim olarak ayarlar.
==== EYLEM - 3. %50 Iskonto Promosyonunu Kapat ====
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_003.jpg?700|}}
**Eylem-3. (%50 İskonto Promosyonunu Kapat) Değerleri**
^Özellik^Değer^
|Eylem Adı|%50 Iskonto Promosyonunu Kapat |
|Eylem Tipi|Belge Durumunu Değiştir |
|Parametreler - StateName|Promosyon |
Bu eylem Belgenin durumu değiştirğinde Promosyon Durumunun %50 İndirim olan etiketinin kaldırır.
==== EYLEM - 4. Sipariş Servis Durumunu Güncelle ====
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_004.jpg?700|}}
**Eylem-4. (Sipariş Servis Durumunu Güncelle) Değerleri**
^Özellik^Değer^
|Eylem Adı |Sipariş Servis Durumunu Güncelle |
|Eylem Tipi |Sipariş Durumunu Değiştir |
|Parametreler - StateName |Servis Durumu |
|Parametreler - Grup Order |5 |
|Parametreler - Durum |[:Status] |
|Parametreler - State Order |5 |
Bu eylem ile Siparişin Servis Durumunun parametre olarak gelerek ürünün altında ki yerine yazılması sağlanmaktadır. Grup Order ve State Order ise yazılan Durumların hangi sırada yazılacağının seçilebildiği alandır.
Bir sipariş aynı anda birden çok Durumdan birden çok Durum etiketi alabileceği için bu durumları ekranda sıralayama ihtiyaç duyduğumuz durumlarda kullanılır. Aşağıdaki resimde Grup Order ve State Order ların çalışma mantığının nasıl çalıtığını daha iyi anlayabilirsiniz.
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_023.jpg?700|}}
==== EYLEM - 5. Sipariş Promosyon Durumunu Güncelle ====
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_005.jpg?700|}}
Bu kuralda Promosyon Durumun içine %50 İndirim adında bir etiket tanımlıyor ve bunun ekranda sıralama olarak 3. Grubun 3. değeri olarak yazılmasını sağlıyor.
**Eylem-5. (Sipariş Promosyon Durumunu Güncelle) Değerleri**
^Özellik^Değer^
|Eylem Adı |Sipariş Promosyon Durumunu Güncelle |
|Eylem Tipi |Sipariş Durumunu Değiştir |
|Parametreler - StateName |Promosyon |
|Parametreler - Grup Order |3 |
|Parametreler - Durum |%50 İndirim |
|Parametreler - State Order |3 |
==== EYLEM - 6. Adisyona Yeni Sipariş Ekle ====
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_006.jpg?700|}}
**Eylem-6. (Adisyona Yeni Sipariş Ekle Eylemi) Değerleri**
^Özellik^Değer^
|Eylem Adı |Adisyona Yeni Sipariş Ekle |
|Eylem Tipi |Adisyona Sipariş Ekle |
|Parametreler - Ürün Adı |{NAME} |
|Parametreler - Miktar |1 |
Bu eylem ile adisyona son eklenen ürünün aynısından bir tane daha eklenmesi sağlanılacak. {NAME} değişkeni son sipariş satırını oku eyleminde gelecek olan ürün adının nuraya yazılmasının ayarlandığı alandır.
==== EYLEM - 7. Son Siparişi Çağır ====
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_007.jpg?700|}}
**Eylem-7. (Son Siparişi Çağır Eylemi) Değerleri**
^Özellik^Değer^
|Eylem Adı |Son Siparişi Çağır|
|Eylem Tipi |Load Last Order|
Bu eylem adisyona en son eklenen ürünün ne olduğunu okuyarak hafızasında bir üstte tanımlanan eylem onu kullanana kadar tutan eylemdir.
==== EYLEM - 8. Adisyonu Tazele ====
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_008.jpg?700|}}
**Eylem-8. (Adisyonu Tazele Eylemi) Değerleri**
^Özellik^Değer^
|Eylem Adı |Adisyonu Tazele |
|Eylem Tipi |Adisyonu Görüntüle |
|Parametreler - TicketID |0 |
==== Otomasyon Komutu - 1. İkinci İçeceği %50 İskontolu Sat ====
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_009.jpg?700|}}
**Otomasyon Komutu -1. (İkinci İçeceği %50 İskontolu Sat) Genel Ayarlar Değerleri**
^Özellik^Değer^
|Adı |İkinci İçeceği %50 İskontolu Sat |
|Düğme Başlığı |İkinci İçecek\r%50 İndirimli |
|Renk |Chocolate |
**Otomasyon Komutu -1. (İkinci İçeceği %50 İskontolu Sat) İlişkiler Ekranı**
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_010.jpg?700|}}
**Otomasyon Komutu -1. (İkinci İçeceği %50 İskontolu Sat) İlişkiler Ekranı Değerleri**
^Özellik^Değer^
|Terminal |İkinci İçeceği %50 İskontolu Sat |
|Rol |* |
|Departman |* |
|Adisyon Tipi |* |
|Enabled States |* |
|Visible States |%50 İndirim |
|Visibility |Adisyon |
==== Otomasyon Komutu - 2. Servisi Beklet ====
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_011.jpg?700|}}
**Otomasyon Komutu -2. (Servisi Beklet) Genel Ayarlar Değerleri**
^Özellik^Değer^
|Adı |Servisi Beklet |
|Düğme Başlığı |Servisi\rBeklet |
|Renk |Saddle Brown |
**Otomasyon Komutu -2. (Servisi Beklet) İlişkiler Ekranı**
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_012.jpg?700|}}
^Özellik^Değer^
|Terminal |İkinci İçeceği %50 İskontolu Sat |
|Rol |* |
|Departman |* |
|Adisyon Tipi |* |
|Enabled States |* |
|Visible States |Yeni |
|Visibility |Sipariş Satırı |
==== Otomasyon Komutu - 3. Servisi Yap ====
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_013.jpg?700|}}
**Otomasyon Komutu -3. (Servisi Yap) Genel Ayarlar Değerleri**
^Özellik^Değer^
|Adı |Servisi Yap |
|Düğme Başlığı |Servisi\rYap |
|Renk |Tan |
**Otomasyon Komutu -3. (Servisi Yap) İlişkiler Ekranı**
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_014.jpg?700|}}
^Özellik^Değer^
|Terminal |İkinci İçeceği %50 İskontolu Sat |
|Rol |* |
|Departman |* |
|Adisyon Tipi |* |
|Enabled States |* |
|Visible States |Servisi Beklet |
|Visibility |Sipariş Satırı |
==== Kural - 1. %50 İndirim Promosyonu Başlat ====
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_015.jpg?700|}}
**Kural -1.(%50 İndirim Promosyonu Başlat Kuralı) Değerleri**
^Özellik^Değer^
|Kural Adı |%50 İndirim Promosyonunu Başlat |
|Olay Adı |Adisyona Sipariş Eklendi |
^Özel Kısıtlama Listesi^^^
|Execute Rule if |Matches (Eşleştiğinde) |
|Menu Item Group Code |Equal |İçecekler |
^Eylemler^^^
|Seçili Eylem |%50 Iskonto Promosyonunu Aktifleştir |
Bu Kural ile adisyona yeni bir sipariş eklendiğinde eklenen Ürün "İçecekler" kategorisinde ise %50 Iskonto Promosyonunu Aktifleştir eylemini çalıştırarak işini tamamlayacaktır. Eğer adisyonda İçecekler kategorisinden herhangi bir ürün eklenmemişse bu Kural hiç çalışmayacak.
==== Kural - 2. Ikınci Icecek de %50 İndirim Promosyonunu Çalıştır ====
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_016.jpg?700|}}
Kural - 2, bir üstte anlatılan kuralın şartları yerine getirildiyse son eklenen ürünü tesbit ederek onun aynısının ikinci kere adisyona bir buton ile eklenerek %50 oranında indirimli olarak satılmasını daha sonrada belge ve sipariş durumlarının güncellenmesini sağlayacak olan kuraldır.
Bu Kural içinde çalıştırılacak eylemlerde sıralama önemlidir.\\
- Son Siparişi Çağır
- Adisyona Yeni Sipariş Ekle
- Fiyatı %50 düşür
- Sipariş Promosyon Durumunu Güncelle
- %50 iskonto Promosyonunu Kapat
- Adisyonu Tazele
**Kural -2.(Ikınci Icecek de %50 İndirim Promosyonunu Çalıştır) Değerleri**
^Özellik^Değer^^
|Kural Adı |Ikınci Icecek de %50 İndirim Promosyonunu Çalıştır |
|Olay Adı |Otomasyon Komutu Çalıştırıldı |
^Özel Kısıtlama Listesi^^^
|Execute Rule if |Matches (Eşleştiğinde) |
|AutomationCommandName |Equal |İkinci İçeceği %50 İskontolu Sat |
^Eylemler^^^
|Seçilen Eylem - 1 |Son Siparişi Çağır |
|Seçilen Eylem - 2 |Adisyona Yeni Sipariş Ekle |
|Seçilen Eylem - 3 |Fiyatı %50 Düşür |
|Seçilen Eylem - 4 |Sipariş Promosyon Durumunu Güncelle |
|Seçilen Eylem - 5 |%50 iskonto Promosyonunu Kapat |
|Seçilen Eylem - 5 |Adisyonu Tazele |
==== Kural - 3. Servisi Beklet Butonuna Basıldığında Kuralı ====
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_017.jpg?700|}}
**Kural -3.(Servisi Beklet Butonuna Basıldığında Kuralı) Değerleri**
^Özellik^Değer^
|Kural Adı |Servisi Beklet Butonuna Basıldığında |
|Olay Adı |Otomasyon Komutu Çalıştırıldı |
^Özel Kısıtlama Listesi^^
|Execute Rule if |Matches (Eşleştiğinde) |
|AutomationCommandName |Servisi Beklet |
^Eylemler^^
|Seçili Eylem |Sipariş Servis Durumunu Güncelle |
Bu kural sadece %50 Promosyonlu olarak adisyona eklenen ürünün üzerine tıklandığında çalışacak bir butondur. Üzerine tıklandığında promosyonlu ürünün durumunu Servisi Beklet olarak set edecektir. Bu durumdan dolayı yapacağımız Yazıcı Şablonu ayarlarından dolayı biz tekrar marşlayana kadar bu ürün yazdırılmayacaktır.
**Kural -3.(Servisi Beklet Butonuna Basıldığında Kuralı - Sipariş Servis Durumunu Güncelle Eylemi Alt Değeri) Ekranı**
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_018.jpg?350|}}
**Kural -3.(Servisi Beklet Butonuna Basıldığında Kuralı - Sipariş Servis Durumunu Güncelle Eylemi Alt Değeri) Değerleri**
^Özellik^Değer^
|Status|Servisi Beklet|
==== Kural - 4. Servisi Yap Butonuna Basıldığında Kuralı ====
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_019.jpg?700|}}
**Kural -4.(Servisi Yap Butonuna Basıldığında Kuralı) Değerleri**
^Özellik^Değer^
|Kural Adı |Servisi Yap Butonuna Basıldığında |
|Olay Adı |Otomasyon Komutu Çalıştırıldı |
^Özel Kısıtlama Listesi^^^
|Execute Rule if |Matches (Eşleştiğinde) |
|AutomationCommandName |Servisi Yap |
^Eylemler^^^
|Seçilen Eylem - 1 |Sipariş Servis Durumunu Güncelle |
|Seçilen Eylem - 2 |Sipariş Durumunu Güncelle |
Bu kural ise daha önce yazdırılmayan promosyon ürünü, üzerine tıklanarak Durumun Yeni olarak güncellenmesi sonucunda yazdırılamasını sağlamaktadır.
**Kural -4.(Servisi Yap Butonuna Basıldığında Kuralı - Sipariş Servis Durumunu Güncelle Eylemi Alt Değeri) Değerleri**
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_020.jpg?350|}}
^Özellik^Değer^
|Status|Servisi Yap|
**Kural -4.(Servisi Yap Butonuna Basıldığında Kuralı - Sipariş Durumunu Güncelle Eylemi Alt Değeri) Değerleri**
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_021.jpg?350|}}
^Özellik^Değer^
|Status|Yeni|
Bu işlemle birlikte Promosyonumuzu tamalamış oluyoruz. Geriye yapıalcak tek bir işlem kalıyor; Yazıcı Şablonu tasarımı,
Durumu, Siparişi Beklet olarak ayarlanan ürünlerin yazdırılmamasını sağlalamız gerekiyor. Bunun için ilgili yazıcı şablonu içerisinde (Genellikle Mutfak Sipariş Şablonu) etiketi Siparişi Beklet olanları atla anlamına gelen bir ekleme yapmamız gerekiyor.
==== Yazıcı Şablonu. Mutfak Sipariş Şablonu ====
{{:tr:promosyon:bir_icecek_alana_ikincisini_50_indirimli_ver_promosyonu_022.jpg?700|}}
SambaPOS içerisinde Yönetim - Ayarlar - Yazıcı Şablonları menüsünden Mutfak Sipariş Şablonu üzerinde Düzenle linkine tıklanarak Mevcut şablonumuzu açarız.
Burada Siparişlerin yazdırıldığı parça olan ORDERS değerleri içerisine altında değer verilmemiş biçimde Durumu "Servisi Beklet" olan ürünleri yazdırmayacağını tanımlarız.
Bunun için; orders alanına aşağıdaki satır eklenir.
[ORDERS:Servisi Beklet]\\
-- Nothing will print for void lines
Bu tanımlamaları da yaptıktan sonra "Bir İçecek Alana İkincisini %50 İndirimli ver Promosyonu" uygulamamızı tamamlamış oluyoruz. Sizde bu tanımlamları yaptıktan sonra yukarıdaki video da gösterildiği gibi kendi promosyonlarınızı ranımlayabilirsiniz.
Bu örneği kullanarak kendi promosyon uygulamanızı bir takım küçük değişiklikler, ekleme ve çıkarmalarla kolayca tanımlayabilirsiniz.
Notlar:
Yukarıda anlatılan uygulamalar için SambaPOS V3.027 veya üzeri bir versiyon kullanmalısınız.
Bu uygulamanın yapıldığı örnek SDF veritabanı dosyasını {{:tr:database:yenimusteripromosyonu-ikincisi_50_indirimli.sdf|Buradan İndirebilirsiniz}}