ComInfo - Komunikačný protokol

Z Hotelové systémy - Wiki
Skočit na navigaci Skočit na vyhledávání

<viewsecurity service />

metóda getStatusOfChip

Získa pre dané fyzické číslo čipu stav čipu s rovnakými parametrami, ako readStatusOfChip. Vstup

  • {physicalChipNum} - číslo čipu

Funkcia vráti rovnakú štruktúru a hodnoty pre dané fyzické číslo čipu, ako funkcia readStatusOfChip.

<command name=”getStatusOfChip”>
 <values>
   <value name=”physicalChipNum” type=”string”>
   12345678901234567890
   </value>
 </values>
</command>
<returns>
 <values = readStatusOfChip
<returns>


metóda readStatusOfChip

Metóda prečíta číslo čipu a následne získa stav čipu.

Vstup

  • {numOfEncoder} - číslo čítačky
  • {delay_ms} – čas v milisekundách, do kedy kontrolovane čaká čítačka na zosnímanie čipu.

Výstup

  • {entryNum} - číslo čipu
  • {chipStatus} - stav čipu
  • {lockerstatus} - stav skrinky
  • {discount} - zľava na ostatné služby (resp. na služby Asseco BLUEGASTRO)
  • {entryNumOfGroup} - stav, či čip je zo skupiny – napr. rodinný vstup (jeden Entry check-in program pre viacej čipov)
  • {lastOfGroup} - stav, či je posledný non check-out zo skupiny (lastOfGroup). Ak sa jedná o čip so sólo Entry vstupom, tak parameter lastOfGroup bude vždy True.


Návratové hodnoty pre jednotlivé výstupné parametre

  • chipStatus
    • 0 – freeChip – čip po funkcii check-out – voľný pre použitie
    • 1 – je busy – služobný čip a podobne. Ide o čipy, ktoré neprešli systémom Asseco BLUEGASTRO, tj. sú iniciované mimo nášho systému.
    • 2 – blokovaný čip
    • 3 – groupBusy – čip je po check-out člena skupiny, ale ešte neodišla celá skupina
    • 4 – po vypršaní platnosti - požadovalo ComInfo
    • 11 – na čipe sú už objednané služby, ale ešte nevstúpil cez prvú Entry službu do areálu
    • 12 – čip je vo vnútri areálu – prešiel cez prvú Entry službu
    • 13 – čip je vonku mimo areálu – pri viacdňových programoch, alebo ubytovaný hosť
    • 14 – ubytovaný hosť – prístup na hotel – čip je vo vnútri areálu
    • 15 – ubytovaný hosť – prístup na hotel – čip je vonku mimo areálu
  • lockerStatus :
    • 0 - otvorená skrinka
    • 1 - zamknutá skrinka
    • 2 - neznámy stav

Ak sa nepodarí v definovanom čase čip prečítať, vráti sa exception WARN, kde v <point> časti bude uvedený kód „NON“.

Ak sa načíta neznámy čip – nezaregistrovaný čip v systéme ComInfo, resp. vadný čip, vznikne exception ERROR v časti <point> bude kód UNKNOWN

<command name=”readStatusOfChip”>
 <values>
   <value name=”numOfEncoder” type=”integer”>1</value>
   <value name=”delay_ms” type=”integer”>500</value>
 </values>
</command>
<returns>
 <values>
   <value name=”entryNum” type=”string”>12345678901234567890</value>
   <value name=”physicalChipNum” type=”string”>
   12345678901234567890
   </value>
   <value name=”chipStatus” type=”integer”>11</value>
   <value name=”lockerStatus” type=”integer”>0</value> 
   <value name=”discount” type=”decimal”>12.5</value> 
   <value name=”entryNumOfGroup” type=”boolean”>true</value>
   <value name=”lastOfGroup” type=”boolean”>true</value>
 </values>
<returns>
<exception type=”WARN”>
 <point>NON</point> 
</exception>
<exception type=”ERROR”>
 <text>neplatné číslo čipu a podobne …..</text>
 <point>UNKNOWN</point>
</exception>

metóda getInfoOfServiceOnChip

Metóda vracia predajnú cenu s DPH, výšku %DPH a počet čipov na danú službu, ak je táto typu združená skupina (rodinný vstup).

Vstup

  • {cisloVstupu}
  • {idEntryService}

Výstup

  • {endPriceWithDph} - konečná predajná cena
  • {dph} - výška sadzby DPH
  • {numOfChipCheckIn} - počet čipov, ktoré treba načítať pre danú Entry službu (ak nie je služba Entry, bude tam nula)
  • {multipleDay} - príznak viacdennej ENTRY služby
  • {advance} - výška vyžadovanej zálohy pre danú check-in službu
  • {debit} - výška povoleného debetu pre danú check-in službu

Položky advance a debit nie sú povinné položky a mali by sa uvádzať iba pri checkIn službách, pri ostatných službách nemajú význam. Z hľadiska kasy sa berie advance alebo debit iba v tom prípade pokiaľ sú vyplnené.

<command name=”getInfoOfServiceOnChip”>
 <values>
   <value name=”entryNum” type=”string”>1234567890</value>
   <value name=”idEntryService” type=”string”>0000000001</value>
 </values>
</command>
<returns>
 <values>
   <value name=”endPriceWithDph” type=”decimal”>180.00</value>
   <value name=”dph” type=”integer”>19</value>
   <value name=”numOfChipCheckIn” type=”integer”>1</value>
   <value name=”multipleDay” type=”boolean”>false</value>
   <value name=”advance” type=”decimal”> 0.00</value>
   <value name=”debit” type=”decimal”>1000.00</value>
 </values>
</returns>

metóda getListNewservicesOnChip

metóda getListAllServicesOnChip

Nastavenie priameho čítania čipov

Postup zprovozneni: 1 restorovat si na SQL server 2008 databazi cmf_ids1 (v adresari \DB\cmf_ids1.bak) 2 vygenerovat modulem CryptClient (predpokladam ze ho tam z dob spousteni Besenove mate) pritupovy klic k databazi 3 spustit z \app aplikaci MashineNameSetter (pouze zaregistruje instalaci do DB) 4. pripojit snimac ENCO 5. z \app spustit testovaci aplikaci ReaderManagerTester (1. init, 2, check - pokud nevyhodi chybu tak je vse OK) a potom lze pouzti "Read" pro nacteni, pripadne "Stop read" pro ukonceni cteni bez nacteni karty

V adresari \Project je vzorovy priklad pouziti knihovny vcetne popisu kodu (v adresari \...\lib jsou vsechny knihovny ktere aplikace potrebuje)