İçindekiler

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:

TldVumuKe9E?.swf

Otomasyon İşlemleri

UygulamaAdı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

UygulamaAdıAçıklama
Yazıcı ŞablonuMutfak Sipariş ŞablonuBekletilen Servisleri Yazdırıp Yazdırmama obsiyonu

EYLEM - 1. Fiyatı %50 Düşür

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

ÖzellikDeğer
Eylem AdıFiyatı %50 Düşür
Eylem TipiSiparişi Güncelle
Fiyat[=TN('{PRICE}') / 2]

EYLEM - 2. %50 Iskonto Promosyonunu Aktifleştir

Eylem-2. (%50 İskonto Promosyonunu Aktifleştir) Değerleri

ÖzellikDeğer
Eylem Adı%50 Iskonto Promosyonunu Aktifleştir
Eylem TipiBelge Durumunu Değiştir
Parametreler - StateNamePromosyon
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

Eylem-3. (%50 İskonto Promosyonunu Kapat) Değerleri

ÖzellikDeğer
Eylem Adı%50 Iskonto Promosyonunu Kapat
Eylem TipiBelge Durumunu Değiştir
Parametreler - StateNamePromosyon

Bu eylem Belgenin durumu değiştirğinde Promosyon Durumunun %50 İndirim olan etiketinin kaldırır.

EYLEM - 4. Sipariş Servis Durumunu Güncelle

Eylem-4. (Sipariş Servis Durumunu Güncelle) Değerleri

ÖzellikDeğ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.

EYLEM - 5. Sipariş Promosyon Durumunu Güncelle

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

ÖzellikDeğ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

Eylem-6. (Adisyona Yeni Sipariş Ekle Eylemi) Değerleri

ÖzellikDeğ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

Eylem-7. (Son Siparişi Çağır Eylemi) Değerleri

ÖzellikDeğ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

Eylem-8. (Adisyonu Tazele Eylemi) Değerleri

ÖzellikDeğer
Eylem Adı Adisyonu Tazele
Eylem Tipi Adisyonu Görüntüle
Parametreler - TicketID 0

Otomasyon Komutu - 1. İkinci İçeceği %50 İskontolu Sat

Otomasyon Komutu -1. (İkinci İçeceği %50 İskontolu Sat) Genel Ayarlar Değerleri

ÖzellikDeğ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ı

Otomasyon Komutu -1. (İkinci İçeceği %50 İskontolu Sat) İlişkiler Ekranı Değerleri

ÖzellikDeğ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

Otomasyon Komutu -2. (Servisi Beklet) Genel Ayarlar Değerleri

ÖzellikDeğer
Adı Servisi Beklet
Düğme Başlığı Servisi\rBeklet
Renk Saddle Brown

Otomasyon Komutu -2. (Servisi Beklet) İlişkiler Ekranı

ÖzellikDeğ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

Otomasyon Komutu -3. (Servisi Yap) Genel Ayarlar Değerleri

ÖzellikDeğer
Adı Servisi Yap
Düğme Başlığı Servisi\rYap
Renk Tan

Otomasyon Komutu -3. (Servisi Yap) İlişkiler Ekranı

ÖzellikDeğ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

Kural -1.(%50 İndirim Promosyonu Başlat Kuralı) Değerleri

ÖzellikDeğ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

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.

  1. Son Siparişi Çağır
  2. Adisyona Yeni Sipariş Ekle
  3. Fiyatı %50 düşür
  4. Sipariş Promosyon Durumunu Güncelle
  5. %50 iskonto Promosyonunu Kapat
  6. Adisyonu Tazele

Kural -2.(Ikınci Icecek de %50 İndirim Promosyonunu Çalıştır) Değerleri

ÖzellikDeğ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ı

Kural -3.(Servisi Beklet Butonuna Basıldığında Kuralı) Değerleri

ÖzellikDeğ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ı

Kural -3.(Servisi Beklet Butonuna Basıldığında Kuralı - Sipariş Servis Durumunu Güncelle Eylemi Alt Değeri) Değerleri

ÖzellikDeğer
StatusServisi Beklet

Kural - 4. Servisi Yap Butonuna Basıldığında Kuralı

Kural -4.(Servisi Yap Butonuna Basıldığında Kuralı) Değerleri

ÖzellikDeğ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

ÖzellikDeğer
StatusServisi Yap

Kural -4.(Servisi Yap Butonuna Basıldığında Kuralı - Sipariş Durumunu Güncelle Eylemi Alt Değeri) Değerleri

ÖzellikDeğer
StatusYeni

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

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ı Buradan İndirebilirsiniz