İçindekiler

Bölüm 2 - Kahve Kuponu Kullandırma

Bölüm 1 de anlatıldığı şekilde kuponlarımızı üretebildikten sonra sıra bu kuponları kullandırmaya geldi.

Kuponların kullanımı derken tam olarak Kupon ile ürün satma, kullanılan kuponların durumlarının güncelleştirilmesi ve kuponların yazdırılması gibi operasyonlardan bahsediyoruz.

Bu bölümde yapacağımız işlem adımları;

  1. Varolan Kuponları Kullanma
  2. Kahve Kuponu ile ücretsiz Kahve satılması
  3. Kupon Numarasının Sipariş Durumu Olarak Güncellenmesi
  4. Adisyona Eklenen İkram Ürünü İptal etme (Almaktan vazgeçme)
  5. Kullanılan Kuponların Kullanım Durumlarının Güncellenmesi
  6. Kupon kullanımı sırasında operasyonel geri bildirimlerin oluşturulması

1. Varolan Kuponları Kullanma

Kuponları adisyona ekleyebilmek 2 adımlı bir işlemi gerektiriyor.

1.1 Kuponların Adisyona Çağırılması

Kuponları adisyona çağırma bir eylem olarak tanımlanmalıdır.

Eylem Bilgileri

ÖzellikDeğer
Eylem AdıKPN-Adisyona Kuponu Çağır
Eylem TipiBelge Varlığı Değiştir
Parametreler
Parametre - CanCreateTicketTrue
Parametre- Entity Type NameKuponlar
Parametre - Entity SearchValue[:Kupon Numarası]

Bu eylem ile ilgili Kural tarafından çalıştırıldığın da halihazırdaki adisyonumuzun varlığını Kuponumuzun varlığı ile değiştirme işlemini yaptırıyoruz.

1.2 Kuponların Adisyona Çağırılması

Sırada oluşturduğumuz Kupon varlığının numarasının Numaratörden elle veya barkod okuyucu ile girildiğinde yukarıdaki Eylemi çalıştıracak olan kuralı tanımlamak var.

Bu işlem için Yeni bir Kural daha oluşturuyoruz.

Kural Değerleri

ÖzellikDeğer
Kural AdıKPN-Kupon Okutulduğunda veya Elle Yazıldığında
Olay AdıNumaratörden Değer Girildiğinde
Kısıtlamalar
Eğer Kural ÇalışırsaEŞLEŞME olmalıdır
Özel Kısıtlama Ekle
NumberpadValueBaşlarKP
NumberpadValueUzunluk Eşittir11
Eylemler
EylemAdisyona Kuponu Çağır
Kupon Numarası[:NumberpadValue]

Özel Kısıtlama alanında illa Eşit olmasını istediğimiz 2 farklı değer verdik. Buna göre çağırılan Kuponların isimleri mutlaka KP ile başlamalı ve kupon adının uzunluğu tam olarak 11 karakter olmalıdır. Bu şartlar sağlandığı hallerde bu Kural yukarıda anlattığımız Adisyona Kuponu Çağır eylemini çalıştıracak ve bu eylemde Kupon Numarası değeri Numaratörden girilen isimli varlığı adisyona ekleyecek.

2. Kahve Kuponu ile ücretsiz Kahve satılması

Numaratör aracılığıyla Kahve Kuponumuzun varlık numarasını girdikten sonra sistemin otomatik olarak bir Kahveyi Adisyona ücretsiz olarak ekleyebilmesini sağlamak için gerekli adımlar burada anlatılıyor.

Bu işlem için 1 Eylem ve 1 de Kural tanımlamalıyız.

2.1 Adisyona İkram Kahve Ekle Eylemi

Eylem Bilgileri

ÖzellikDeğer
Eylem AdıKPN-Adisyona İkram Ürünü Ekle
Eylem TipiAdisyona Sipariş Ekle
Parametreler
Parametre - Ürün Adı[:Ürün Adı]
Parametre - Miktar1
Parametre - Order State NameGStatus
Parametre - Sipariş DurumuKupon İle Ücretsiz
Parametre - Envanteri ArtırFalse
Parametre - Envanteri AzaltTrue
Parametre - KilitliTrue
Parametre - Fiyat HesaplaFalse

Bu eylem ile Ürün Adı değişkenin içine saklı bulunan üründen 1 adet adisyona eklenmesi işlemi yaptırılıyor.

Envanteri Artır: Ürün satıldığı zaman envanterin artırılıp artırılıp artırılmayacağının seçildiği alandır. False yaparak stok envanterini artırmayı kapatıyoruz.

Envanteri Azalt: Verilen ürün ikram da olsa, stoğumuzu etkileyeceğinden stokdan düşebilmesi için True olarak seçiyoruz.

Kilitli: Adisyona eklenan Kahve ürünün eklendiği anda kilitleyerek İptal ve İade edilmesini engelemek için Kilit Durumunu True yapıyoruz.

Fiyat Hesapla: İkram olarak veirleceğinden Fiyat Hesaplama parametresinin False yaparak fiyatını hesaba katmıyoruz.

2.2. Kupon Çağırıldığında Adisyona Ücretsiz Kahve Ürünü Ekle Kuralı

Bu Kural ile Belge Varlığı gerekli koşullarda değiştiğinde adisyona bir adet ikram Kahve ürünü ekleme işi yapacak olan kuralımızdır. Bu kuralı adisyona aşağıdaki diğer başka eylemlerde de kullanacağız.

Kural Değerleri

ÖzellikDeğer
Kural AdıKPN-Kupon Çağırıldığında Adisyona Ücretsiz Kahve Ürünü Ekle
Olay AdıBelge Varlığı Değişti
Kısıtlamalar
Eğer Kural ÇalışırsaEŞLEŞME olmalıdır
Özel Kısıtlama Ekle
EntityTypeNameEşittirKuponlar
EntityTypeNameEşit Değil*
{ENTITY DATA:Kupon:Kupon Kullanımı}EşittirHayır
Eylemler
EylemAdisyona İkram Ürün Ekle
Ürün Adı{ENTITY DATA:Kupon:Menü Ürün Adı}

Bu kural içinde yer alan kısıtlamamızda Varlık Adının Kuponlar olması ve bir sonraki satırda * sembolu ile diğer varlık adlarının dikkate alınmaması gerektiğini 3. kısıtlamada ise Kuponlar varlığında ver alan Özel Alanlar içindeki Kupon Kullanım alanının Hayır olması, yani kullanımamış kuponlarda çalışması gerektiğini anlatıyoruz.

Şartlar oluşturğunda ise adisyona Kupon Varlığının Data alanında Kupon Ürün adı yazan ürünü eklemesini istiyoruz.

3. Kupon Numarasının Sipariş Durumu Olarak Güncellenmesi

Bu işlem ile Kupon ile alınan kahvelerin altında alındığı kuponun numarasını sipariş durumu olarak yazmanın nasıl yapıldığını göreceğiz.

3.1. Siparişteki Kuponun Numarasını Sipariş Etiketine Güncelle

Eylem Bilgileri

ÖzellikDeğer
Eylem AdıKPN-Siparişteki Kuponun Numarasını Sipariş Etiketine Güncelle
Eylem TipiSipariş Durumu Değiştir
Parametreler
Parametre - State NameKupon Numarası
Parametre - Group Order6
Parametre - Durum[:Kupon Numarası]
Parametre - State Order6

Sipariş Durumunu Güncellenmesi Kuralı

2.2. maddede oluşturduğumuz Adisyona ikram Ürün ekle kuralınını güncelleştirerek, bu eylemlerimizi orada çalıştıracağız.

2.2. madde de oluşturduğumuz Kuralın içerisine daha önceden oluşturduğumuz 3 farklı eylemi daha ekleyeceğiz.

3.2.1. Kurala Siparişteki Kupon Numarasını Güncelle Eylemi Eklenmesi

Bu Eylem ile Adisyona İkram Ürün eklendikten hemen sonra Siparişteki Kupon Numarasını Güncellemesi için Eylemi ekliyoruz ve Kupon Numarası değerini de {ENTITY NAME:Kupon} biçiminde veriyoruz.

3.2.2. Kurala Kupondaki Kullanım Bilgisini Güncelle Eylemi Eklenmesi

İkinci olarak Kuralımıza Kupondaki Kullanım Bilgisini Güncelle Eylemini de ekliyoruz Bu eylem ile adisyona ikram olan Kahve eklendikten sonra Varlık Bilgilerindeki Kupon Kullanım alanına Adisyonda etiketini atıyoruz. Kupon Numarasını bulması için bir önceki eylemde okuduğu Kupon Numarasını değerini {ENTITY NAME:Kupon} biçiminde giriyoruz.

3.2.3. Adisyona Kuponu Çağır Eylemi Eklenmesi

Son olarak da aynı kural içerisine Adisyona Kuponu Çağır eylemini ekliyoruz. Burada bulunan Kupon Numarası değişkenine Kısıtlamalarda verdiğimiz * değerini vererek kuponumuzun numarasını adisyonumuzda ürünümüzn altın sipariş etiketi olarak eklemiş oluyoruz.

Durum Gözden Geçirme…

Son Kuralımızıda Kaydettikten sonra Fastfood ekranında yeni bir Kupon numarası çağırdığımızda neler olduğunu bi görelim.

Kahve Kuponumuzu barkod okuyucudan okutarak veya elle kodu girerek enter'a bastığımızda kuponun daha önce kullanılmamış olduğuna baktıktan sonra ikram Kahve'yi adisyona ekledi ve altında bulunan sipariş etiketlerinide sırasıyla güncelledi ve Kupon adını da etikete atayarak ürünün altına yazdı.

Bu ekran görüntüsünde dikkat edecek olursanız, Kahve'nin fiyatı 4 TL olmasına rağmen adisyon altında herhangi bir rakam göstermedi. Çünkü ürünü bu belgenin üst taraflarında 2.1. numaralı maddede oluşturduğumuz Ürün Ekle eyleminde Fiyat Hesapla değerinin False olarak vermiştik.

4. Adisyona Eklenen İkram Ürünü İptal etme (Almaktan vazgeçme)

Adisyona otomatik olarak eklettiğimi ikram Kahve ürünün son anda müşteri kullanmak istemeyip İptal etmek istediğinde Adisyondan çıkarıldıktan sonra kuponunun kullanım durumunun kullanılmamış olarak tekrar düzenlenmesi gerekir.

Kural Değerleri

ÖzellikDeğer
Kural AdıKPN-Kupon Kullanım Durumunu Sipariş İptal Edildiğinde Güncelle
Olay AdıSipariş İptal Edilmiş
Kısıtlamalar
Eğer Kural ÇalışırsaEŞLEŞME olmalıdır
Özel Kısıtlama Ekle
{ORDER STATE:Kupon Numarası}Boş Değilse
Eylemler
EylemKupondaki Kullanım Bilgisini Güncelle
Kupon Numarası{ORDER STATE:Kupon Numarası}
DeğerHayır

Bu kuralda Kupon Numarası Boş Olmayan varlıklarda Kupon Numarasını tekrar sipari etiketinden okuyarak, kullanım durumu değişkenini de Hayır olarak güncelliyor.

5. Kullanılan Kuponların Kullanım Durumlarının Güncellenmesi

Kuponlar kullanılarak ikram Kahveleri verildikten sonra tekrar kullanımlarını engellemek için Varlık Özel alanlarında yer alan Kullanım Durumu bilgisinin Evet olarak güncelleştirilmesi gerekmektedir. Bunun için Kupon Kullanım Durumunu Güncelleştir eylemini çalıştıracak yeni bir Kural daha oluşturuyoruz.

Kural Değerleri

ÖzellikDeğer
Kural AdıKPN-Kupon Kullanılıp Gönderildikten sonra işaretle
Olay AdıSipariş Durumj Değişti
Kısıtlamalar
Eğer Kural ÇalışırsaEŞLEŞME olmalıdır
Özel Kısıtlama Ekle
DurumEşittirGönderildi
{ORDER STATE:Kupon Numarası}Boş Değilse
Eylemler
EylemKupondaki Kullanım Bilgisini Güncelle
Kupon Numarası{ORDER STATE:Kupon Numarası}
DeğerEvet

Yukarıda anlatılan kural ile tam tersi işlemi yapıyor bu yeni kural. Kupon Kullanıldığında Kullanım Durumunu Evet olarak güncelleştiriyor.

6. Kupon kullanımı sırasında operasyonel geri bildirimlerin oluşturulması

Kuponları kullanırken aynı barkod etiketini tekrar yazmadan veya kullanılmış bir etiket tekrar okuttuğumuz zaman kullanıcıyı uyarıcı mesajlar çıkartabilmek için ihtiyacımız olan bir adımdır.

1 Eylem ve 2 kural ile iki farklı durum için Mesaj göstereceğiz, sizde buradaki durumları kullanarak farklı amaçlar için daha başka mesajlar gösterebilirsiniz.

6.1. Mesaj Göster Eylemini Oluşturulması

Eylem Bilgileri

ÖzellikDeğer
Eylem AdıKPN-Kupon Mesajları
Eylem TipiMesaj Göster
Parametreler
Parametre - Mesaj[:KuponMesaj]

Bu eylem ile [:KuponMesaj] değişkenini kural içerisinde değiştirerek gösterecek.

6.2. Kupon Aynı Adisyonda Tekrar Okutulduğunda Hata MesajI Göster Kuralı

Bu Kural çalıştığında Kupon Kullanım Durumu Adisyonda ise kullanıcının karşısına Aynı Kuponu Okuttunuz yazan bir mesaj çıkaracak.

Kural Değerleri

ÖzellikDeğer
Kural AdıKPN-Kupon Aynı Adisyonda Tekrar Okutulduğunda Hata MesajI Göster
Olay AdıBelge Varlığı Değişti
Kısıtlamalar
Eğer Kural ÇalışırsaEŞLEŞME olmalıdır
Özel Kısıtlama Ekle
EntityTypeNameEşittirKuponlar
{ENTITY DATA:Kupon:Kupon Kullanımı}EşittirAdisyonda
Eylemler
Eylem - 1Adisyona Kupon Çağır
Kupon Numarası*
Eylem - 2Kupon Mesajları
KuponMesajAynı Kuponu okuttunuz.

6.3. Kullanılmış Kupon tekrar okutulduğunda Hata MesajI Göster Kuralı

Bu Kural çalıştığında Kupon Kullanım Durumu Evet ise kullanıcının karşısına Bu Kullanılmış bir Kupon. Tekrar Kullanılamaz. yazan bir mesaj çıkaracak.

Kural Değerleri

ÖzellikDeğer
Kural AdıKPN-Kupon Aynı Adisyonda Tekrar Okutulduğunda Hata MesajI Göster
Olay AdıBelge Varlığı Değişti
Kısıtlamalar
Eğer Kural ÇalışırsaEŞLEŞME olmalıdır
Özel Kısıtlama Ekle
EntityTypeNameEşittirKuponlar
{ENTITY DATA:Kupon:Kupon Kullanımı}EşittirEvet
Eylemler
Eylem - 1Adisyona Kupon Çağır
Kupon Numarası*
Eylem - 2Kupon Mesajları
KuponMesajBu Kullanılmış bir Kupon. Tekrar Kullanılamaz.

Durum Gözden Geçirme…

Daha önce kullanılmış bir Kupon tekrar okutulduğunda aşağıdaki gibi bir Mesajla karılaşılacaktır.