Bony
Protokół komunikacyjny dla bonów.
Używane metody Rest, kontrakt: Comarch.B2.DataService.Contracts.dll
VoucherEntity[] GetInternalVouchers(string numer)
Metoda powinna zwracać aktualną listę bonów zgodnych ze wskazanym numerem (zwykle będzie to jeden bon).
VoucherResult UpdateVouchers(VoucherEntity[] vouchers);
Metoda powinna wykonać akcję dodania/aktywacji/deaktywacji/aktualizacji poszczególnych bonów przekazanych jako parametr.
To jaka czynność ma być zrealizowana dla konkretnych bonów będzie zależało od danych zawartych w encji VoucherEntity. Istotne dane przesyłane przez POS:
| VoucherEntity | |
| Id : int | Id bonu (0 jeżeli ma być utworzony) | 
| TypeId : VoucherKindEnum | Typ bonu (Unknown, InternalSold, InternalReleased, External, GiftCard) | 
| SortId : int | Rodzaj bonu | 
| CurrencyId : int | Waluta bonu | 
| IsActive : bool | Stan bonu True – bon wewnętrzny (sprzedany, wydany, karta) do wykorzystania (deaktywacji) lub w przypadku karty do aktualizacji stanu Amount | 
| Number : string | Numer bonu | 
| Amount : decimal | Wartość bonu | 
Spodziewana akcja w zależności od konfiguracji parametrów VoucherEntity przesłanych do usługi bonów (DataService) za pomocą metody UpdateVouchers:
| Id | SortId | IsActive | Akcja | 
| – | External | – | Wykorzystanie bonu zewnętrznego Zapis na bazę jako użyty i nieaktywny na wartość określoną w Amount z walutą CurrencyId oraz numerem Number | 
| 0 | InternalReleased | – | Wygenerowanie bonu wewnętrznego wydanego Zapis na bazę jako aktywny i nieużyty bon na wartość Amount o numerze Number, walucie CurrencyId | 
| >0 | InternalReleased InternalSold GiftCard | true | Wykorzystanie bonu lub aktualizacja wartości karty podarunkowej 
 | 
| >0 | InternalReleased | false | Aktywacja istniejącego bonu wewnętrznie wydanego | 
Bool IsExternalVoucherExists(string numer, int sortId)
Metoda powinna sprawdzić czy istnieje już w bazie bon zewnętrzny o wskazanym numerze i rodzaju.
 
                        

