Page History: Web API

Compare Page Revisions



« Older Revision - Back to Page History - Newer Revision »


Page Revision: 17.12.2015. 10:50:AM



Web API - Lista šifrarnika


Korištenje e-Visitor Web API funkcionalnosti

Sučelje je izvedeno kao REST service (root URI: https://www.evisitor.hr/eVisitorRhetos_API/Rest/). Kroz eVisitor Web API sučelje moguće je izvršiti sve operacije koje su dostupne kroz web sučelje same eVisitor aplikacije, pri čemu vrijede ista sigurnosna i poslovna pravila. Primjeri korištenja biti će prikazani u C# programskom jeziku koristeći RestSharp REST klijent. Dozvoljene vrijednosti šifrarnika korištenih u pozivima metoda dostupne su na wiki stranici e-Visitora - Web API - Lista šifrarnika. Svi parametri za rest pozive se šalju u JSON formatu.



Prijava (login) na e-Visitor Web API

Da bi pristup API-ju bio dozvoljen potrebno se prijaviti (login) u sustav koristeći Authentication service API (URI: https://www.evisitor.hr/eVisitorRhetos_API/Resources/AspNetFormsAuth/Authentication/), koji implementira slijedeće metode:

  • Login
    • Interface: (string UserName, string Password, bool PersistCookie) -> bool
    • Primjer request data: {"UserName":"myusername","Password":"mypassword","PersistCookie":false}
    • Odgovor je true pri uspješnom loginu, inače false. Pri uspješnom loginu odgovor servera sadrži i niz cookie-a (authentication, affinity, language) koji se moraju slati prilikom svakog poziva API REST servisa.
  • Logout
    • Nema nikakvih parametara, potrebno je proslijediti dobivene cookie-e. Odgovor je prazan.

Primjer prijave na sustav se nalazi u datoteci Authentication.cs, u prilogu Htz.eVisitor.WebApi.Test.zip. Primjer za PHP nalazi se u prilogu eVisitor.PHP.zip.

Pristupni podaci u primjeru su samo ogledni. Ukoliko želite pristupiti sustavu eVisitor, obratite se korisniku za kojeg programirate informacijski sustav.

Vrste REST resursa

U ovom poglavlju biti će objašnjene sve dostupne vrste REST resursa. Svi konkretni resursi biti će definirani vrstom i specifičnim informacijama za pojedinu vrstu resursa.

Entity

Ovaj resurs podržava čitanje, unos, izmjenu i brisanje podataka. Neki od entity resursa ne podržavaju direktnu izmjenu podataka zbog svoje složenosti i ovisnosti o drugim resursima. Njihova izmjena je podržana posebnim metodama(Action-ima). Entity resurs biti će opisan relativnim path-om, popisom atributa, http metoda, te parametrima metoda. Primjer opisa jednog entiteta:

County
  • Path: Htz/County
  • Atributi:
    • ID (guid)
    • Name (string)
    • OrdinalNumber (int)
    • ClusterCountyID (guid)

Entity resurs podržava slijedeće metode:

GET - dohvat podataka
  • Parametri:
    • page - broj stranice koji se želi dohvatiti
    • psize - broj zapisa po stranici
    • sort - atribut (ili više njih odvojeni zarezom) po kojem se dohvat sortira (dodaci asc i desc označuju način srotiranja).
    • filters - popis uvjeta filtranja. Svaki uvjet mora sadržavati tri podatka: Property, Operation i Value. Podržane su slijedeće operacije: equal, notequal, greater, greaterequal, less, lessequal, startswith, contains, datein (podržanost operacija ovisi o tipu podataka)
    • Rezultat:{Records:[]}
    • primjer poziva metode:
      https://www.evisitor.hr/eVisitorRhetos_API/Rest/Htz/Country/?psize=20&page=1&filters=[{"Property":"Active","Operation":"equal","Value":"true"},{"Property":"CodeTwoLetters","Operation":"startswith","Value":"a"}]&sort=NameNational%20desc
    • Uz svaku GET metodu podržana je i metoda TotalRecordsAndCount (entityPath/TotalRecordsAndCount) koja u rezultatu uz Records vraća i TotalCount, te metoda TotalCount koja vraća samo TotalCount. Obje metode podržavaju iste parametre kao i GET metoda. Slijedi primjer poziva RecordsAndTotalCount metode:
      https://www.evisitor.hr/eVisitorRhetos_API/Rest/Htz/Country/RecordsAndTotalCount?psize=20&page=1&sort=NameNational%20desc
    • primjer poziva metode za dohvat određenog zapisa:
      https://www.evisitor.hr/eVisitorRhetos_API/Rest/Htz/Country/e6229d5e-cccc-4477-8206-9f17f95f54b1


POST - unos novog zapisa
  • Parametri: kao parametar http requesta potrebno je poslati JSON serijaliziranu instancu novog zapisa
  • Rezultat: {ID} id (guid) novog zapisa ukoliko je zapis uspješno snimljen. Ukoliko je došlo do greške tada metoda vraća JSON {SystemMessage, UserMessage} koji sadrže sistemske odnosno validacijske greške zbog kojih snimanje nije uspjelo.

PUT - izmjena zapisa
  • na path entiteta potrebno je dodati i njegov id (npr. https://www.evisitor.hr/eVisitorRhetos_API/Rest/Htz/Country/e6229d5e-cccc-4477-8206-9f17f95f54b1)
  • Parametri: kao parametar http requesta potrebno je poslati JSON serijaliziranu instancu zapisa
  • Rezultat: prazan ukoliko je zapis uspješno snimljen. Ukoliko je došlo do greške tada metoda vraća JSON {SystemMessage, UserMessage} koji sadrže sistemske odnosno validacijske greške zbog kojih snimanje nije uspjelo.

DELETE - brisanje zapisa
  • na path entiteta potrebno je dodati i njegov id (npr. https://www.evisitor.hr/eVisitorRhetos_API/Rest/Htz/Country/e6229d5e-cccc-4477-8206-9f17f95f54b1)
  • Parametri: nema parametara
  • Rezultat: prazan ukoliko je zapis uspješno obrisan. Ukoliko je došlo do greške tada metoda vraća JSON {SystemMessage, UserMessage} koji sadrže sistemske odnosno validacijske greške zbog kojih snimanje nije uspjelo.

Browse

Ovaj resurs podržava čitanje podataka iz entiteta u specifičnom obliku. Metoda koju podržava je GET čiji interface je identičan interface-u GET metode opisanom u Entity resursu.

Action

Ovaj resurs podržava izvršavanje serverske akcije. Metoda koju podržava je POST. Parametar se šalje serijaliziran u JSON i specifičan je za konkretnu akciju. Rezultat je prazan u slučaju uspješnog izvršavanja, inače sadrži grešku zbog kojeg izvršavanje nije uspjelo.

Često korišteni procesi

Prijava turista

Da bi prijavili turista potrebno je pozvati akciju CheckInTourist. Akcija ImportTourists još je uvijek dostupna. U prilogu stranice se nalazi Testni projekt u kojem su i primjeri XML-a koji se šalje metodi ImportTourists a ujedno je to i primjer datoteke koja se učitava kroz sučelje aplikacije u slučajevima da korisnik radi prijavu putem datoteke. Primjeri datoteka se nalaze u TestData folderu.

Odjava turista

Da bi odjavili turista potrebno je pozvati akciju CheckOutTourist. Akcija ImportTouristCheckOut još je uvijek dostupna.

Izmjena prijave turista

Da bi izmjenili prijavu turista potrebno je pozvati akciju CheckInTourist s parametrom ID koji je proslijeđen prilikom prijave turista. Moguće je izmjeniti samo aktivne prijave unesene unutar zadnja 24 sata.

Poništanje prijave turista

Da bi poništili prijavu turista potrebno je pozvati akciju CancelTouristCheckIn s parametrom ID koji je proslijeđen prilikom prijave turista.

Otvaranje novog obveznika

Da bi otvorili novog obveznika potrebno je pozvati slijedeće akcije:
  • UploadDocument - upload dokumenta temeljem kojeg se otvara novi obveznik
    • ID parametar ćete u pozivu akcije SaveTTPayer proslijediti u parametru OpeningBasisDocumentID
  • SaveTTPayer - osnovni podaci obveznika
  • SaveTTPayerAdditionalData - dodatni podaci obveznika
    • ID parametar pojedinih entiteta koji se prosljeđuju mora biti istovjetan onom koji je proslijeđen u pozivu SaveTTPayer akcije

Otvaranje novog objekta

Da bi otvorili novi objekt potrebno je pozvati slijedeće akcije:

Kreiranje datoteke za MUP

Da bi kreirali datoteku za MUP potrebno je pozvati slijedeće akcije:
  • CreateFileForMI - akcija koja generira dataoteku za MUP
    • ID parametar ćete iskoristiti prilikom dohvata datoteke u slijedećem koraku
  • Pozvati GET na resursu MITTPayerFiles sa id-jem koji je proslijeđen prilikom poziva akcije CreateFileForMI

Resursi

Akcije

CancelTouristCheckIn
  • Path: Htz/CancelTouristCheckIn/
  • Atributi:
    • ID (guid) - obavezan podatak, ID prijave turista
    • TTPayerID(guid) - obavezan podatak ako je user koji poziva akciju TZ, ako je user obveznik onda sustav sam postavlja ovaj podatak

CheckInTourist
  • Path: Htz/CheckInTourist/
  • Atributi:
    • ID - guid, identifikator prijave turista, kasnije se koristi za identifikaciju pri izmjeni ili odjavi određene prijave turista
    • TTPayerID(guid) - obavezan podatak ako je user koji poziva akciju TZ, ako je user obveznik onda sustav sam postavlja ovaj podatak
    • AccommodationUnitType (string) - podatak nije obavezan, naziv vrste smještajne jedinice, vrijednost iz browse-a AccommodationUnitFacilityType filtriran po FacilityCode
    • ArrivalOrganisation - šifra (MUP) organizacije dolaska
    • BorderCrossing - šifra graničnog prijelaza (obavezno ukoliko je turist iz države koja nije članica EU)
    • Citizenship – tro-slovna šifra države (ISO oznaka) čije državljanstvo ima turist (npr. HRV za Hrvatsku ili DEU za Njemačku)
    • CityOfBirth – ukoliko je država rođenja Hrvatska, onda ovdje treba staviti naziv grada-naselja rođenja u obliku „grad-naselje“ iz pripremljenog šifrarnika, npr. „Zagreb-Adamovec“. Ukoliko država rođenja nije Hrvatska, onda ovdje treba biti upisan naziv grada iz te države s tim da trenutno sustav prihvaća slobodni unos
    • CityOfResidence - ukoliko je država prebivališta Hrvatska, onda ovdje treba staviti naziv grada-naselja prebivališta u obliku „grad-naselje“ iz pripremljenog šifrarnika, npr. „Zagreb-Adamovec“. Ukoliko država prebivališta nije Hrvatska, onda ovdje treba biti upisan naziv grada iz te države s tim da trenutno sustav prihvaća slobodni unos
    • CountryOfBirth – tro-slovna šifra države (ISO oznaka) rođenja (npr. HRV za Hrvatsku ili DEU za Njemačku)
    • CountryOfResidence – tro-slovna šifra države (ISO oznaka) prebivališta (npr. HRV za Hrvatsku ili DEU za Njemačku)
    • DateOfBirth - datum rođenja turista (format: YYYYMMDD, primjer 19760413)
    • DocumentNumber - broj isprave kojom turist potvrđuje identitet
    • DocumentType - šifra vrste isprave kojom turist potvrđuje identitet
    • Facility - šifra objekta u koji se turist prijavljuje. Šifra objekta je objektu dana od sustava e-Visitor.
    • ForeseenStayUntil - datum do kojeg turist predviđa boraviti u objektu (format: YYYYMMDD, primjer 20150413)
    • Gender - ženski/muški
    • IsTTFlatRatePaymentVacationHome (bool) - opcionalno; želi plaćati pristojbu paušalno; polje nije obavezno
    • OfferedServiceType - naziv vrste pružene usluge
    • PassageDate - datum ulaska u EU (obavezno ukoliko je turist iz države koja nije članica EU)
    • ResidenceAddress - ulica i broj prebivališta
    • StayFrom - datum od kojeg turist boravi u objektu (format: YYYYMMDD, primjer 20150413)
    • TimeEstimatedStayUntil - vrijeme do kojeg turist predviđa boraviti u objektu (format: hh:mm, primjer 09:42)
    • TimeStayFrom - vrijeme od kojeg turist boravi u objektu (format: hh:mm, primjer 09:42)
    • TouristEmail - e-mail turista, opcionalno (podatak se validira, stoga mora biti validna email adresa)
    • TouristMiddleName - srednje ime turista (opcionalno)
    • TouristName - ime turista
    • TouristSurname - prezime turista
    • TouristTelephone - kontakt telefon turista, opcionalno (validan format: +385916655333)
    • TTPaymentCategory - šifra kategorije plaćanja boravišne pristojbe
    • VisaNumber - broj vize (obavezno ukoliko je turist državljanin države za koje Republika Hrvatska zahtjeva vizu)
    • VisaType - naziv vrste vize (obavezno ukoliko je turist državljanin države za koje Republika Hrvatska zahtjeva vizu)
    • VisaValidityDate - datum važenja vize (obavezno ukoliko je turist državljanin države za koje Republika Hrvatska zahtjeva vizu)
  • Validacija podataka:
    • Svi podaci su obavezni osim onih koji su označeni kao neobavezni ili je navedeno poslovno pravilo kad su obavezni
    • Upisan datum boravka do je manji od datuma boravka od. (item.StayFrom > item.ForeseenStayUntil)
    • Upisano vrijeme odlaska je manje od upisanog vremena dolaska. (item.StayFrom == item.ForeseenStayUntil && item.TimeEstimatedStayUntil <= item.TimeStayFrom)
    • Potrebno je upisati granični prijelaz, te datum prijelaza. (item.CountryResidence.IsEUMember == false && (item.BorderCrossingHr == null || item.PassageDate == null)
    • Za odabranu zemlju potrebno je unijeti vrstu vize, broj vize i datum važenja vize. (item.CitizenshipCountry.IsVisaRequired == true && (item.VisaType == null || item.VisaNumber == null || item.VisaValidityDate == null))
    • Prekoračen je maksimalan broj dana boravka turista. (item.ForeseenStayUntil - item.StayFrom) > MaximumTouristsDaysOfStay)
    • Turist je već prijavljen u navedenom objektu. (x.Facility == item.Facility && x.DateOfBirth == item.DateOfBirth && x.DocumentTtype == item.DocumentTtype && x.DocumentNumber == item.DocumentNumber && x.CountryResidence == item.CountryResidence && item. CheckedOutTourist == false && item.TouristCancelled == false)
    • Nije dopušten unos datuma boravka od koji ne zadovoljava definirana prava. ( x.StayFrom <= (Today - parameters.AllowedNumberOfDaysToCheckInCheckOut))
    • Paušalno plaćanje dozvoljeno je samo za kuće za odmor do 15.7. u godini. (x => x.IsTTFlatRatePaymentVacationHome == true && (x.Facility.FacilitySubcategory.TTCalculationType.IsVacationHomeCalculation == false || x.StayFrom > new DateTime(DateTime.Today.Year, 7, 15))
    • Paušalno plaćanje nije dozvoljeno za turiste koji nisu iz europskog gospodarskog pojasa. (item => item.Facility.FacilitySubcategory.TTCalculationType.IsVacationHomeCalculation == true && item.CitizenshipCountry.IsEEAMember == false && item.IsTTFlatRatePaymentVacationHome == true)
    • Grad rođenja nije zadan. (item => string.IsNullOrEmpty(item.CityOfBirthAbroad) && item.CityOfBirthSettlementHrID == null)
    • Grad prebivališta nije zadan. (item => string.IsNullOrEmpty(item.CityResidenceAbroad) && item.CityOfResidenceSettlementHrID == null)

CheckOutTourist
  • Path: Htz/CheckOutTourist/
  • Atributi:
    • ID (guid) - obavezan podatak, ID prijave turista
    • TTPayerID(guid) - obavezan podatak ako je user koji poziva akciju TZ, ako je user obveznik onda sustav sam postavlja ovaj podatak
    • CheckOutDate - datum odjave turista (format: YYYYMMDD, primjer 20150413)
    • CheckOutTime - vrijeme odjave turista (format: hh:mm, primjer 09:42)
  • Validacija podataka:
    • Svi podaci su obavezni osim onih koji su označeni kao neobavezni ili je navedeno poslovno pravilo kad su obavezni
    • Upisan datum odjave je manji od datuma boravka od. (item.CheckOutDate < item.StayFrom)
    • Datum odjave turista ne smije biti veći od današnjeg datuma. (item.CheckOutDate > Today)
    • Nije dopušten unos datuma odjave koji ne zadovoljava definirana prava. ( x. CheckOutDate <= (Today - parameters.AllowedNumberOfDaysToCheckInCheckOut))

CreateFileForMI
  • Path: Htz/CreateFileForMI/
  • Atributi:
    • ID (guid) - obavezan podatak
    • FileName (string) - obavezan podatak
    • TTPayerID (guid) - obavezan podatak ako je user koji poziva akciju TZ, ako je user obveznik onda sustav sam postavlja ovaj podatak

ImportTouristCheckOut
  • Path: Htz/ImportTouristCheckOut/
  • Atributi:
    • ID (guid)
    • TTPayerID (guid) - ID obveznika na kojeg se odnosi akcija; ako je trenutni korisnik turistička zajednica onda je podatak obavezan inače se ne proslijeđuje; vrijednost iz browse-a TTPayerLookup filtriranog po Pin (OIB obveznika)
    • Xml (string) - obavezan podatak, primjer datoteke nalazi se u prilogu (TestData/TouristCheckIn.xml), opis sadržaja datototeke:
      • Svi podaci su obavezni
      • Dozvoljene vrijednosti šifrarnika korištenih u pozivima metoda dostupne su ovdje
      • ID - guid, identifikator prijave turista, ako je proslijeđen onda nije potrebno proslijeđivati parametre Facility, DocumentType i DocumentNumber
      • Facility - šifra objekta u kojem je turist prijavljen
      • DocumentType - šifra vrste isprave kojom turist potvrđuje identitet
      • DocumentNumber - broj isprave kojom turist potvrđuje identitet
      • CheckOutDate - datum odjave turista (format: YYYYMMDD, primjer 20150413)
      • CheckOutTime - vrijeme odjave turista (format: hh:mm, primjer 09:42)
  • Validacija podataka:
    • Upisan datum odjave je manji od datuma boravka od. (item.CheckOutDate < item.StayFrom)
    • Datum odjave turista ne smije biti veći od današnjeg datuma. (item.CheckOutDate > Today)
    • Nije dopušten unos datuma odjave koji ne zadovoljava definirana prava. ( x. CheckOutDate <= (Today - parameters.AllowedNumberOfDaysToCheckInCheckOut))

ImportTourists
  • Path: Htz/ImportTourists/
  • Atributi:
    • Register (bool) - obavezan podatak, potrebno je slati vrijednost true
    • TTPayerID (guid) - ID obveznika na kojeg se odnosi akcija; ako je trenutni korisnik turistička zajednica onda je podatak obavezan inače se ne proslijeđuje; vrijednost iz browse-a TTPayerLookup filtriranog po Pin (OIB obveznika)
    • Xml (string) - obavezan podatak, primjer datoteke nalazi se u prilogu (TestData/TouristCheckIn.xml), opis sadržaja datototeke:
      • Svi podaci su obavezni osim onih koji su označeni kao opcionalni ili je opisan uvjet kad je podatak obavezan
      • Dozvoljene vrijednosti šifrarnika korištenih u pozivima metoda dostupne su ovdje
      • ID - guid, identifikator prijave turista, ako se proslijedi onda se može upotrebiti za izmjenu ili odjavu određene prijave turista
      • Facility - šifra objekta u koji se turist prijavljuje. Šifra objekta je objektu dana od sustava e-Visitor.
      • StayFrom - datum od kojeg turist boravi u objektu (format: YYYYMMDD, primjer 20150413)
      • TimeStayFrom - vrijeme od kojeg turist boravi u objektu (format: hh:mm, primjer 09:42)
      • ForeseenStayUntil - datum do kojeg turist predviđa boraviti u objektu (format: YYYYMMDD, primjer 20150413)
      • TimeEstimatedStayUntil - vrijeme do kojeg turist predviđa boraviti u objektu (format: hh:mm, primjer 09:42)
      • DocumentType - šifra vrste isprave kojom turist potvrđuje identitet
      • DocumentNumber - broj isprave kojom turist potvrđuje identitet
      • TouristName - ime turista
      • TouristMiddleName - srednje ime turista (opcionalno)
      • TouristSurname - prezime turista
      • Gender - ženski/muški
      • CountryOfBirth – tro-slovna šifra države (ISO oznaka) rođenja (npr. HRV za Hrvatsku ili DEU za Njemačku)
      • CityOfBirth – ukoliko je država rođenja Hrvatska, onda ovdje treba staviti naziv grada-naselja rođenja u obliku „grad-naselje“ iz pripremljenog šifrarnika, npr. „Zagreb-Adamovec“. Ukoliko država rođenja nije Hrvatska, onda ovdje treba biti upisan naziv grada iz te države s tim da trenutno sustav prihvaća slobodni unos
      • DateOfBirth - datum rođenja turista (format: YYYYMMDD, primjer 19760413)
      • Citizenship – tro-slovna šifra države (ISO oznaka) čije državljanstvo ima turist (npr. HRV za Hrvatsku ili DEU za Njemačku)
      • VisaType - naziv vrste vize (obavezno ukoliko je turist državljanin države za koje Republika Hrvatska zahtjeva vizu)
      • VisaNumber - broj vize (obavezno ukoliko je turist državljanin države za koje Republika Hrvatska zahtjeva vizu)
      • VisaValidityDate - datum važenja vize (obavezno ukoliko je turist državljanin države za koje Republika Hrvatska zahtjeva vizu)
      • CountryOfResidence – tro-slovna šifra države (ISO oznaka) prebivališta (npr. HRV za Hrvatsku ili DEU za Njemačku)
      • CityOfResidence - ukoliko je država prebivališta Hrvatska, onda ovdje treba staviti naziv grada-naselja prebivališta u obliku „grad-naselje“ iz pripremljenog šifrarnika, npr. „Zagreb-Adamovec“. Ukoliko država prebivališta nije Hrvatska, onda ovdje treba biti upisan naziv grada iz te države s tim da trenutno sustav prihvaća slobodni unos
      • ResidenceAddress - ulica i broj prebivališta
      • BorderCrossing - šifra graničnog prijelaza (obavezno ukoliko je turist iz države koja nije članica EU)
      • PassageDate - datum ulaska u EU (obavezno ukoliko je turist iz države koja nije članica EU)
      • TTPaymentCategory - šifra kategorije plaćanja boravišne pristojbe
      • TouristEmail - e-mail turista, opcionalno (podatak se validira, stoga mora biti validna email adresa)
      • TouristTelephone - kontakt telefon turista, opcionalno (validan format: +385916655333)
      • ArrivalOrganisation - šifra (MUP) organizacije dolaska
      • OfferedServiceType - naziv vrste pružene usluge
    • IsTTFlatRatePaymentVacationHome (bool) - opcionalno; želi plaćati pristojbu paušalno; polje nije obavezno
    • AccommodationUnitType (string) - podatak nije obavezan, naziv vrste smještajne jedinice, vrijednost iz browse-a AccommodationUnitFacilityType filtriran po FacilityCode***EditOfExistingCheckIn – opcionalni podatak. Ukoliko želite izmijeniti postojeću prijavu zbog greške u unosu onda u ovom polju šaljite vrijednost true. Postojeća prijava može se izmijeniti unutar 24 sata, a ključ za identifikaciju postojeće prijave (ukoliko nije proslijeđen ID parametar) su slijedeći podaci: DocumentType, DocumentNumber.
  • Validacija podataka:
    • Upisan datum boravka do je manji od datuma boravka od. (item.StayFrom > item.ForeseenStayUntil)
    • Upisano vrijeme odlaska je manje od upisanog vremena dolaska. (item.StayFrom == item.ForeseenStayUntil && item.TimeEstimatedStayUntil <= item.TimeStayFrom)
    • Potrebno je upisati granični prijelaz, te datum prijelaza. (item.CountryResidence.IsEUMember == false && (item.BorderCrossingHr == null || item.PassageDate == null)
    • Za odabranu zemlju potrebno je unijeti vrstu vize, broj vize i datum važenja vize. (item.CitizenshipCountry.IsVisaRequired == true && (item.VisaType == null || item.VisaNumber == null || item.VisaValidityDate == null))
    • Prekoračen je maksimalan broj dana boravka turista. (item.ForeseenStayUntil - item.StayFrom) > MaximumTouristsDaysOfStay)
    • Turist je već prijavljen u navedenom objektu. (x.Facility == item.Facility && x.DateOfBirth == item.DateOfBirth && x.DocumentTtype == item.DocumentTtype && x.DocumentNumber == item.DocumentNumber && x.CountryResidence == item.CountryResidence && item. CheckedOutTourist == false && item.TouristCancelled == false)
    • Nije dopušten unos datuma boravka od koji ne zadovoljava definirana prava. ( x.StayFrom <= (Today - parameters.AllowedNumberOfDaysToCheckInCheckOut))
    • Paušalno plaćanje dozvoljeno je samo za kuće za odmor do 15.7. u godini. (x => x.IsTTFlatRatePaymentVacationHome == true && (x.Facility.FacilitySubcategory.TTCalculationType.IsVacationHomeCalculation == false || x.StayFrom > new DateTime(DateTime.Today.Year, 7, 15))
    • Paušalno plaćanje nije dozvoljeno za turiste koji nisu iz europskog gospodarskog pojasa. (item => item.Facility.FacilitySubcategory.TTCalculationType.IsVacationHomeCalculation == true && item.CitizenshipCountry.IsEEAMember == false && item.IsTTFlatRatePaymentVacationHome == true)
    • Grad rođenja nije zadan. (item => string.IsNullOrEmpty(item.CityOfBirthAbroad) && item.CityOfBirthSettlementHrID == null)
    • Grad prebivališta nije zadan. (item => string.IsNullOrEmpty(item.CityResidenceAbroad) && item.CityOfResidenceSettlementHrID == null)

SaveFacility
  • Path: Htz/SaveFacility/
  • Atributi:
    • ID (guid)
    • AccommodationUnits (string) - obavezan podatak, lista entiteta AccommodationUnit serijalizirana u JSON
    • AdditionalCategories (string) - lista entiteta FacilityAdditionalCategory serijalizirana u JSON
    • Codess (string) - dodatne oznake objekta; lista entiteta FacilityFacilityCode serijalizirana u JSON
    • Facility (string) - obavezan podatak, entitet Facility serijaliziran u JSON
    • PeriodNote (string) - napomena turističke zajednice vezana za period rada objekta
    • WorkPeriod (string) - lista entiteta OpenFacilityPeriod serijalizirana u JSON

SaveFacilityCharacteristics
  • Path: Htz/SaveFacilityCharacteristics/
  • Atributi:
    • ID (guid)
    • CheckIn (datetime)
    • CheckOut (datetime)
    • CodeMI (string)
    • Distances (string) - lista entiteta FacilityDistance serijalizirana u JSON
    • Email (string)
    • Fax (string)
    • Lat (decimal)
    • Lon (decimal)
    • Services (string) - lista entiteta FacilityService serijalizirana u JSON
    • Telephone1 (string)
    • Telephone2 (string)
    • TouristAcceptancePeriod (string) - lista entiteta TouristAcceptancePeriod serijalizirana u JSON
    • Web (string)
    • AutomaticTouristCheckout (bool)

SaveTTPayer
  • Path: Htz/SaveTTPayer/
  • Atributi:
    • ID (guid) - obavezan podatak
    • City (string) - obavezan podatak ako država (CountryID) nije Hrvatska
    • CountryID (guid) - obavezan podatak, vrijednost iz browse-a CountryLookup
    • FirstName (string) - obavezan podatak ako je obveznik fizička osoba, inače se ne upisuje
    • IsFRFOwner (bool) - (vlasnik OPG-a) obavezan podatak ako je obveznik fizička osoba, inače se ne upisuje
    • IsNaturalPerson (bool) - (je fizička osoba) obavezan podatak, true ako je obveznik fizička osoba inače false
    • IsTradeOwner (bool) - (vlasnik obrta) obavezan podatak ako je obveznik fizička osoba, inače se ne upisuje
    • LegalPersonTypeID (guid) - obavezan podatak ako je obveznik pravna osoba, inače se ne upisuje, vrijednost iz browse-a LegalPersonTypeLookup
    • Name (string) - obavezan podatak ako je obveznik pravna osoba, inače se ne upisuje
    • OpeningBasisID (guid) - obavezan podatak, vrsta dokumenta temelja otvaranja obveznika, vrijednost iz browse-a OpeningBasisLookup
    • OpeningBasisDocumentID (guid) - obavezan podatak, vrijednost iz entiteta Document (dokument se dodaje pozivom UploadDocument)
    • Pin (string) - obavezan podatak, OIB obveznika
    • SettlementHrID (guid) - obavezan podatak ako je država (CountryID) Hrvatska, vrijednost iz browse-a SettlementLookup
    • StreetNumber (string) - obavezan podatak, ulica i kućni broj
    • Surname (string) - obavezan podatak ako je obveznik fizička osoba, inače se ne upisuje
    • ZIPCode (string) - obavezan podatak

SaveTTPayerAdditionalData
  • Path: Htz/SaveTTPayerAdditionalData/
  • Atributi:
    • ContactPerson (string) - obavezan podatak, sadrži JSON objekt entiteta ContactPerson
    • Documents (string) - sadrži JSON objekt entiteta Document
    • FRFOwner (string) - obavezan podatak ako je obveznik fizička osoba, sadrži JSON objekt entiteta FRFOwner
    • IsFRFOwner (bool) - obavezan podatak ako je obveznik fizička osoba
    • IsTradeOwner (bool) - obavezan podatak ako je obveznik fizička osoba
    • NoteTB (string) - napomena turističke zajednice koja unosi podatke
    • TradeOwner (string) - obavezan podatak ako je obveznik fizička osoba, sadrži JSON objekt entiteta TradeOwner

UploadDocument
  • Path: Htz/UploadDocument/
  • Atributi:
    • ID (guid)
    • Content (byte[]) - obavezan podatak, sadržaj datoteke
    • FileName (string) - obavezan podatak

Entiteti

Svi resursi u ovom poglavlju podržavaju metode opisane u poglavlju Entity

AccommodationUnit
  • Path: Htz/AccommodationUnit/
  • Atributi:
    • ID (guid)
    • CategoryID (guid) - obavezan podatak, vrijednost iz browse-a FacilityCategoryLookup
    • FacilityID (guid) - obavezan podatak, veza na entitet Facility
    • NumberOfBeds (int) - obavezan podatak
    • NumberOfEquivalentUnits (int) - obavezan podatak
    • NumberOfExtraBeds (int)
    • Sequence (int) - koristi se za sortiranje podataka za prikaz korisniku
    • TypeID (guid) - obavezan podatak, vrijednost iz browse-a AccommodationUnitTypePerSubtype (browse se filtrira po atributu FacilitySubcategoryID)

AccommodationUnitCharacteristics
  • Path: Htz/AccommodationUnitCharacteristics/
  • Atributi:
    • ID (guid)
    • AccommodationUnitID (guid) - obavezan podatak, veza na entitet AccommodationUnit
    • Name (string) - obavezan podatak
    • Price (string)
    • Sequence (int) - obavezan podatak, koristi se za sortiranje podataka za prikaz korisniku
    • TouristAcceptanceFromFacility (bool)

ContactPerson
  • Path: Htz/ContactPerson/
  • Atributi:
    • ID (guid)
    • City (string) - ako je IsUser = false obavezan podatak ako država (CountryID) nije Hrvatska
    • CountryID (guid) - ako je IsUser = false obavezan podatak, vrijednost iz browse-a CountryLookup
    • Email (string)
    • Fax (string)
    • FirstName (string) - ako je IsUser = false obavezan podatak
    • InternetPage (string)
    • IsUser (bool) - obavezan podatak
    • SettlementHrID (guid) - ako je IsUser = false obavezan podatak ako je država (CountryID) Hrvatska, vrijednost iz browse-a SettlementLookup
    • StreetNumber (string) - ako je IsUser = false obavezan podatak
    • Surname (string) - ako je IsUser = false obavezan podatak
    • Telephone1 (string)
    • Telephone2 (string)
    • Telephone3 (string)
    • ZIPCode (string)

Facility
  • Path: Htz/Facility/
  • Atributi:
    • ID (guid)
    • Code (string) - obavezan podatak, ovo je autocode atribut (potrebno je unijeti vrijednost '+' da se automatski generira slijedeća vrijednost)
    • DecisionClass (string)
    • DecisionDate (date) - obavezan podatak
    • DecisionDocumentID (guid) - obavezan podatak, vrijednost ID-a proslijeđenog u ranije pozvanoj akciji UploadDocument
    • DecisionFileNumber (string)
    • DecisionNumber (string)
    • DecisionNumberOfEquivalentFacilities (int)
    • FacilityCategoryID (guid) - vrijednost iz browse-a FacilityCategoryLookup
    • FacilityLinkToNaturalPersonID (guid) - obavezan podatak ako je obveznik na kojeg ej objekt vezan fizička osoba, vrijednost iz browse-a FacilityLinkToNaturalPersonPerTTPayer
    • FacilitySubcategoryID (guid) - obavezan podatak, vrijednost iz browse-a
    • Name (string) - obavezan podatak
    • Note (string)
    • PaysTTFlatAmount (bool)
    • SettlementHrID (guid) - obavezan podatak, vrijednost iz browse-a SettlementLookup
    • SettlementZoneID (guid) - obvezan podatak ako su definirane zone za naselje, vrijednost iz browse-a SettlementZoneLookup (browse se filtrira po atributu SettlementHrID)
    • StreetNumber (string) - obavezan podatak
    • TTPayerID (guid) - obavezan podatak, veza na entitet TTPayer

FacilityAdditionalCategory
  • Path: Htz/FacilityAdditionalCategory/
  • Atributi:
    • ID (guid)
    • FacilityID (guid) - obavezan podatak, veza na entitet Facility
    • FacilityCategoryID (guid) - obavezan podatak, vrijednost iz browse-a FacilityCategoryLookup

FacilityDistance
  • Path: Htz/FacilityDistance/
  • Atributi:
    • ID (guid)
    • DistanceID (guid) - obavezan podatak, vrijednost iz browse-a DistanceLookup
    • DistanceTypeID (guid) - obavezan podatak, vrijednost iz browse-a DistanceTypeLookup
    • FacilityCharacteristicsID (guid) - obavezan podatak, veza na entitet Facility

FacilityService
  • Path: Htz/FacilityService/
  • Atributi:
    • ID (guid)
    • FacilityCharacteristicsID (guid) - obavezan podatak, veza na entitet Facility
    • HasService (bool) - obavezan podatak
    • ServiceTypeID (guid) - obavezan podatak, vrijednost iz browse-a ServiceTypeLookup

FacilityFacilityCode
  • Path: Htz/FacilityFacilityCode/
  • Atributi:
    • ID (guid)
    • FacilityID (guid) - obavezan podatak, veza na entitet Facility
    • FacilityCodeID (guid) - obavezan podatak, vrijednost iz browse-a FacilityCodeLookup
    • Sequence (int) - obavezan podatak, koristi se za sortiranje podataka za prikaz korisniku

FRFOwner
  • Path: Htz/FRFOwner/
  • Atributi:
    • ID (guid)
    • BasedOnDocumentsID (guid) - obavezan podatak, vrijednost ID-a proslijeđenog u ranije pozvanoj akciji UploadDocument
    • City (string) - obavezan podatak ako država (CountryID) nije Hrvatska
    • CountryID (guid) - obavezan podatak, vrijednost iz browse-a CountryLookup
    • InternetPage (string)
    • Name (string) - obavezan podatak
    • SettlementHrID (guid) - obavezan podatak ako je država (CountryID) Hrvatska, vrijednost iz browse-a SettlementLookup
    • StreetNumber (string) - obavezan podatak
    • ValidityDateFrom (date) - obavezan podatak
    • ZIPCode (string) - obavezan podatak
  • Podaci o vlasniku OPG-a

MITTPayerFiles
  • Path: Htz/MITTPayerFiles/
  • Atributi:
    • ID (guid)
    • Content (byte">">) - obavezan podatak, sadržaj datoteke
    • FileName (string) - obavezan podatak, naziv datoteke
    • TTPayerID (guid) - obavezan podatak, veza na entitet [
    • UploadTime (datetime) - obavezan podatak, vrijeme kreiranja datoteke

OpenFacilityPeriod
  • Path: Htz/OpenFacilityPeriod/
  • Atributi:
    • ID (guid)
    • DateFrom (date) - obavezan podatak
    • DateUntil (date) - obavezan podatak
    • OpenFacilityPeriodInfoID (guid) - obavezan podatak, veza na entitet Facility

TouristAcceptancePeriod
  • Path: Htz/TouristAcceptancePeriod/
  • Atributi:
    • ID (guid)
    • DateFrom (date) - obavezan podatak
    • DateUntil (date) - obavezan podatak
    • FacilityID (guid) - obavezan podatak, veza na entitet Facility

TradeOwner
  • Path: Htz/TradeOwner/
  • Atributi:
    • ID (guid)
    • BasedOnDocumentsID (guid) - obavezan podatak, vrijednost ID-a proslijeđenog u ranije pozvanoj akciji UploadDocument
    • City (string) - obavezan podatak ako država (CountryID) nije Hrvatska
    • CountryID (guid) - obavezan podatak, vrijednost iz browse-a CountryLookup
    • InternetPage (string)
    • Name (string) - obavezan podatak
    • SettlementHrID (guid) - obavezan podatak ako je država (CountryID) Hrvatska, vrijednost iz browse-a SettlementLookup
    • StreetNumber (string) - obavezan podatak
    • ValidityDateFrom (date) - obavezan podatak
    • ZIPCode (string) - obavezan podatak
  • Podaci o vlasniku obrta

Browse

Svi resursi u ovom poglavlju podržavaju metode opisane u poglavlju Browse

AccommodationUnitFacilityType
  • Path: Htz/AccommodationUnitFacilityType/
  • Atributi:
    • ID (guid)
    • FacilityID (guid)
    • NameCode (string)
    • FacilityCode (string)
  • Ovaj pregled je osmišljen tako da se filtrira po atributu FacilityID ili FacilityCode

AccommodationUnitTypePerSubtype
  • Path: Htz/AccommodationUnitTypePerSubtype/
  • Atributi:
    • ID (guid)
    • Active (bool)
    • FacilitySubcategoryID (guid)
    • MaximumNumberOfBeds (int)
    • MaximumNumberOfExtraBeds (int)
    • MaximumNumberOfSameUnits (int)
    • Name (string)
  • Ovaj pregled je osmišljen tako da se filtrira po atributu FacilitySubcategoryID

CountryLookup
  • Path: Htz/CountryLookup/
  • Atributi:
    • ID (guid)
    • Active (bool)
    • AlternativeName (string)
    • CodeThreeLetters (string)
    • CodeTwoLetters (string)
    • IsEUMember (bool)
    • IsVisaRequired (bool)
    • NameCitizenships (string)
    • NameNational (string)
    • NameNationalAlternative (string)

DistanceLookup
  • Path: Htz/DistanceLookup/
  • Atributi:
    • ID (guid)
    • Active (bool)
    • Name (string)
    • Sequence (int) - koristi se za sortiranje podataka za prikaz korisniku

DistanceTypeLookup
  • Path: Htz/DistanceTypeLookup/
  • Atributi:
    • ID (guid)
    • Active (bool)
    • Name (string)
    • Sequence (int) - koristi se za sortiranje podataka za prikaz korisniku

FacilityCategoryLookup
  • Path: Htz/FacilityCategoryLookup/
  • Atributi:
    • ID (guid)
    • Active (bool)
    • FacilityCategoryTypeID (guid)
    • Name (string)

FacilityCodeLookup
  • Path: Htz/FacilityCodeLookup/
  • Atributi:
    • ID (guid)
    • Active (bool)
    • FacilitySubcategoryID (guid)
    • FacilitySubtypeName (string)
    • FacilityTypenName (string)
    • Name (string)

FacilityLinkToNaturalPersonPerTTPayer
  • Path: Htz/FacilityLinkToNaturalPersonPerTTPayer/
  • Atributi:
    • ID (guid)
    • Name (string)
    • TTPayerID (guid)

FacilitySubcategoryLookup
  • Path: Htz/FacilitySubcategoryLookup/
  • Atributi:
    • ID (guid)
    • Active (bool)
    • FacilityTypeID (guid)
    • FacilityTypenName (string)
    • HasCodes (bool)
    • MandatoryDecisionInput (bool)
    • Name (string)
    • NecessaryCalculationOfEquivalentUnits (bool)

LegalPersonTypeLookup
  • Path: Htz/LegalPersonTypeLookup/
  • Atributi:
    • ID (guid)
    • Active (bool)
    • Name (string)

OpeningBasisLookup
  • Path: Htz/OpeningBasisLookup/
  • Atributi:
    • ID (guid)
    • Active (bool)
    • ForNaturalPerson (bool)
    • Name (string)

ServiceTypeLookup
  • Path: Htz/ServiceTypeLookup/
  • Atributi:
    • ID (guid)
    • Active (bool)
    • Name (string)
    • Sequence (int) - koristi se za sortiranje podataka za prikaz korisniku

SettlementLookup
  • Path: Htz/SettlementLookup/
  • Atributi:
    • ID (guid)
    • Active (bool)
    • CityMunicipalityHrID (guid)
    • HasZones (bool)
    • Name (string)
    • ZIPCode (string)

SettlementZoneLookup
  • Path: Htz/SettlementZoneLookup/
  • Atributi:
    • ID (guid)
    • Active (bool)
    • BasisAmount (money)
    • Name (string)
    • Settlement (string)
    • SettlementHrID (guid)
    • ZoneID (guid)
  • Ovaj pregled je osmišljen tako da se filtrira po atributu SettlementHrID

TTPayerFinancialRecord
  • Path: Htz/TTPayerFinancialRecord/
  • Atributi:
    • ID (guid)
    • Date (DateTime)
    • Payment (decimal)
    • Reason (string)
    • TTPayerID (guid)
    • FacilityID (guid)
    • BoolCalculation (bool)
    • BoolManualApprovalDebit (bool)
    • BoolCashDesk (bool)
    • BoolFinalReport (bool)

      TTPayerLookup
  • Path: Htz/TTPayerLookup/
  • Atributi:
    • ID (guid)
    • Name (string)
    • Pin (string)
    • RightToTTPayerPrincipalID (guid)

VisaTypeLookup
  • Path: Htz/VisaTypeLookup/
  • Atributi:
    • ID (guid)
    • Active (bool)
    • Name (string)

Povezane stranice