Import rezervari hotel
Importul rezervarilor se realizeaza in doua etape:
- Inserarea in tabelele de antete si linii a informatiilor corecte si complete. In cazul in care se doreste importul simultan pentru mai multe documente se foloseste pentru legatura dintre antet si linii campul id_document. Structura tabelelor este prezentata in anexele B si C.
- Apelarea procedurii stocate importex_rezervari_hotel_exec care valideaza, importa datele si goleste tabelele-buffer. In cazul in care datele nu sunt corecte procedura intoarce o exceptie si intregul proces de import este abandonat, restabilindu-se starea dinaintea importului. Lista erorilor posibile este prezentata in anexa D.
Anularea unui import se face prin apelarea procedurii stocate importex_rezervari_hotel_anulare cu parametrul id_importex (id lot articole importate), dar si prin id_document (id-ul extern din aplicatia terta). Procedura stocata verifica consistenta efectului de anulare a datelor deja importate si dupa caz realizeaza stergerea efectiva a datelor sau intoarce un mesaj de eroare.
Puteti consulta urmatoarele tabele pentru a verifica, in prealabil sau ulterior importului, datele existente:
- Antete de documente: ht_cazari. Cheia primara a tabelului: pct_lcr + id.
- Linii de documente pentru produse: ht_cazari_linii. Legatura cu antetul pl_caz + id_caz.
ANEXA A. Parametri import:
Câmp | Tip | Descriere |
---|---|---|
id_importex | varchar(25) | ID pentru identificarea unui lot de documente importate (util, de ex., pentru ștergerea în bloc a unui lot de documente importate), valoare implicită NULL |
id_document | varchar(25) | ID-ul documentului care se dorește a fi importat. În cazul în care se dorește importul tuturor documentelor se va trimite NULL. Valoarea implicită este NULL. |
keep_data_on_err | bit | 0 - nu se vor păstra datele în tabelele buffer (valoare implicită) 1 - se vor păstra datele în tabelele buffer, în caz de eroare |
manage_existing | tinyint | 0 - Blochează - procedura se oprește, returnând o eroare (valoare implicită) 1 - Suprascrie - se actualizează datele rezervarii existente 2 - Ignoră - se ignoră importul înregistrării curente, lăsând datele rezervarii neschimbate |
updated_columns | varchar(max) | Se va trimite lista de câmpuri ce se doresc a fi suprascrise, separate prin virgulă (fără spațiu între câmpuri și virgulă), implicit NULL |
single_tran | bit | Se specifică dacă se va deschide o singură tranzacție pentru întregul import sau se va utiliza o tranzacție per document. 1 - în cazul apariției unei erori la importul unui document, sistemul va reveni complet la starea dinaintea importului (valoare implicită). 0 - documentele importate până la apariția erorii rămân în baza de date |
exec_type | tinyint | 0 - Validare și import, cu oprire în cazul erorilor (valoare implicită) 1 - Validare și import, sărind peste înregistrările cu erori 2 - Validare date, fără a realiza importul |
return_errorlist | tinyint | 0 - Fără listă erori (valoare implicită) 1 - Returnează lista înregistrărilor cu erori 2 - Returnează lista tuturor înregistrărilor |
search_mode | tinyint | 0 - Caută după serie, număr, data document (valoare implicită) 1 - Caută după id_document (id_extern) |
ANEXA B. Tabel antete document: importex_rezervari_hotel avand structura:
Coloana | Tip | Descriere |
---|---|---|
id_importex | varchar(25) | ID pentru identificarea unui lot de documente importate (util, de ex., pentru stergerea in bloc a unui lot de documente importate) Atentie! Gestionarea, verificarea si validarea acestui camp este in sarcina dezvoltatorului utilitarului de export-import. |
id_document | varchar(25) | ID unic pentru identificarea documentului |
id_carnet | bigint | Codul intern al carnetului din care este emis documentul (optional) |
tip_document | varchar(15) | Tipul documentului, avand una dintre valorile: "Rez. grup" pentru rezervarea de grup; "Rez.camera grup" rezervarea unei camere in cadrul grupului; "Rez. individuala"pentru rezervarea individuala a unei camere. |
serie_document | varchar(10) | Seria documentului (optional) |
numar_document | varchar(20) | Numarul documentului |
data_document | date | Data documentului |
id_cladire | varchar(25) | Codul intern al cladirii in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_cladire) |
den_cladire | varchar(100) | Denumirea cladiri (optional daca se specifica id_cladire) |
id_client | varchar(25) | Codul intern al clientului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica cif_client, id_extern_client sau den_client) |
id_extern_client | varchar(50) | Id-ul extern al partenerului (optional daca se specifica id_client, cif_client, den_client) |
cif_client | varchar(20) | Codul fiscal / CNP al clientului (optional daca se specifica id_client sau den_client) |
den_client | varchar(100) | Denumirea clientului (optional daca se specifica id_client sau cif_client) |
id_delegat | varchar(25) | Codul intern al delegatului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_delegat) |
id_extern_delegat | varchar(25) | Id-ul extern al delegatului (optional daca se specifica id_delegat sau den_delegat) |
den_delegat | varchar(60) | Denumirea delegat (optional daca se specifica id_delegat sau id_extern_delegat) |
id_camera | varchar(25) | Codul intern al camerei (optional daca este rezervare de grup si nr_camere > 1) |
id_tip_camera | varchar(25) | Id-ul tipului de camera (optional daca se specifica den_tip_camera sau sigla_tip_camera sau rezervarea este de tip individuala) |
den_tip_camera | varchar(100) | Denumirea tipui de camera (optional daca se specifica id_tip_camera sau sigla_tip_camera sau rezervarea este de tip individuala) |
nr_camera | varchar(5) | Numarul camerei(optional daca este rezervare de grup si nr_camere > 1) |
sigla_tip_camera | char(3) | Sigla tipului de camera |
id_agentie | varchar(25) | Codul intern al agentiei in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucri este considerat implicit 1 (optional daca se specifica den_agentie sau id_extern_agentie) |
id_extern_agentie | varchar(25) | Id-ul extern al agentiei (optional daca se specifica id_agentie sau den_agentie) |
den_agentie | varchar(100) | Denumirea agentiei (optional daca se specifica id_agentie sau id_extern_agentie) |
status_cazare_tip | tinyint | ID status rezervare(optional daca se specifica statusul cazarii). Campul poate lua una din valorile: 1 = Cazare 2 = Mentenanta 3 = Check-Out 4 = Rezervare 5= Rezervare provizorie |
status_cazare | varchar(50) | Denumire status rezervare(Optional daca se specifica status_cazare_tip). Campul poate lua una dintre valorile:"Cazare", "Mentenanta", "Check-Out","Rezervare","Rezervare provizorie" |
oaspete | varchar(200) | Numele oaspetelui (Obligatoriu daca statusulrezervarii este Cazare sau Check-Out) |
telefon | varchar(50) | Numarul de telefon al oaspetelui (optional) |
varchar(50) | Adresa de email a oaspetelui (optional) | |
nr_pers | smallint | Numarul de persoane (optional) |
data_start | date | Data de inceput a rezervarii |
data_stop | date | Data de sfarsit a rezervarii |
data_ckin | date | Data sosirii efective a oaspetelui la receptia unitatii (obligatoriu daca status_cazare este Cazare) |
data_ckout | date | Data de inchidere a cazarii si eliberarea camerei (Obligatoriu daca status_cazare este Cazare sau Check-Out) |
observatii | varchar(2000) | Observatii (optional) |
id_grup | varchar(25) | Codul intern al cazarii de grup in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica cod_grup) |
cod_grup | varchar(100) | Codul grupului reprezinta un numar de identificare unic al cazarilor cuprinse intr-un grup. |
nr_camere | numeric(18,0) | Numarul de camere incluse in grup. Pentru rezervarile individuale valoarea default este 1. |
validare | bit | Se va valida sau nu documentul dupa salvare |
anulare | bit | Se va anula sau nu documentul dupa salvare |
nr_copii | tinyint | Numarul de copii (optional) |
identificator | varchar(50) | Informatii referitoare la numarul rezervarii efectuate intr-o aplicatie externa(ex: booking) |
id_gestiune_antet | varchar(25) | Codul intern al gestiunii in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_gestiune_antet). Doar in cazul in care tip_document e "Rez. grup" |
den_gestiune_antet | nvarchar(30) | Denumirea gestiunii. Doar in cazul in care tip_document e "Rez. grup" (optional daca se specifica id_gestiune_antet) |
ANEXA C. Tabel linii: importex_rezervari_hotel_lin avand structura:
Coloana | Tip | Descriere |
---|---|---|
id_document | varchar(25) | ID unic pentru identificarea documentului |
id_gestiune | varchar(25) | Codul intern al gestiunii in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_gestiune) |
den_gestiune | varchar(30) | Denumirea gestiunii (optional daca se specifica id_gestiune) |
id_cmd | varchar(25) | Codul intern al comenzii in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica numar_cmd) |
numar_cmd | numeric(18,0) | Numarul comenzii (pentru gruparea serviciilor) |
tip_doc_incasare | varchar(25) | Tipul documentului de incasare. Poate fi Factura sau Bon fiscal |
tip_incasare | varchar(1) | Optional daca se specifica tip_doc_incasare |
tip_produs | varchar(3) | Codul din 3 caractere corespunzator tipului de produs definit in nomenclatorul de bunuri si servicii (optional daca se specifica cont_produs) |
id_produs | varchar(25) | Codul intern al produsului in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica cod_produs sau den_produs) |
id_extern_produs | varchar(25) | Id-ul extern al produsului (optional daca se specifica id_produs sau den_produs) |
cod_produs | varchar(20) | Codul de bare al produsului (optional daca se specifica id_produs sau den_produs) |
den_produs | varchar(231) | Denumirea produsului (optional daca se specifica id_produs sau cod_produs) |
cont_produs | varchar(17) | Contul produsului (optional daca se specifica tip_produs) |
den_tip_srv | varchar(50) | Tipul de servicii posibile: Serviciu de baza, Serviciu secundar, Serviciu optional. Optional daca se specifica tip_srv. Implicit va fi Serviciu de baza |
tip_srv | tinyint | Pentru tipul de servicii utilizati una din variantele:1 = Serviciu de baza, 2 = Serviciu secundar, 3 = Serviciu optional(optional daca se specifica den_tip_srv). Implicit va fi 1 |
cantitate | numeric(13,3) | Cantitatea |
pret_achizitie | money | Pretul de achizitie (optional) |
pret_vanzare | money | Pretul de vanzare fara TVA (optional daca se specifica pret_vanzare_tva) |
pret_vanzare_tva | money | Pretul de vanzare cu TVA(optional daca se specifica pret_vanzare) |
cota_tva_ies | numeric(2,0) | Cota TVA iesire (optional, implicit e preluata din nomenclator) |
id_centru_profit | varchar(25) | Codul intern al centrului de profit in formatul ID(PCT_LCR). Daca se specifica doar ID-ul, atunci punctul de lucru este considerat implicit 1 (optional daca se specifica den_centru_profit) |
den_centru profit | nvarchar(100) | Denumirea centrului de profit (optional daca se specifica id_centru_profit) |
id_extern_centru_profit | varchar(25) | Id-ul extern al centrului de profit (optional daca se specifica id_centru_profit sau den_centru_profit) |
data_cazare | date | Se va completa data (ziua) din perioada de cazare pentru care este disponibil serviciul. Daca serviciul se multiplica cu numarul de zile aferent cazarii, atunci se va introduce cate o linie pentru fiecare zi de cazare din perioada cazarii. Altfel, data nu va fi specificata la import. |
ANEXA D. Tabel erori posibile la importul rezervarilor hoteliere:
Coloana | Descriere |
---|---|
HT001 | Lipsa date (tabelul de import nu are nicio inregistrare) |
HT002 | Numar nespecificat |
HT003 | Client nespecificat |
HT004 | Data de inceput nespecificata |
HT005 | Data de sfarsit nespecificata |
HT006 | Cladire nespecificata |
HT007 | Camera nespecificata |
HT008 | Urmatoarele coduri de carnet nu exista in nomenclator |
HT009 | Data sfarsit este anterioara datei de inceput |
HT010 | Produs nespecificat |
HT011 | Lipsa antet |
HT012 | Urmatoarele coduri fiscale nu identifica unic clientul |
HT013 | Urmatoarele coduri fiscale nu identifica unic clientul. |
HT014 | Urmatoarele denumiri nu identifica unic clientul. |
HT015 | Lipsa client in nomenclator |
HT016 | Urmatoarele id-uri externe nu identifica unic agentia |
HT017 | Urmatoarele denumiri nu identifica unic agentia |
HT018 | Lipsa agentie in nomenclator |
HT019 | Urmatoarele id-uri externe nu identifica unic delegatul |
HT020 | Urmatoarele denumiri nu identifica unic delegatul |
HT021 | Lipsa delegat in nomenclator |
HT022 | Urmatoarele denumiri nu identifica unic cladirea |
HT023 | Urmatoarele denumiri nu identifica unic tipul de camera. |
HT024 | Urmatoarele coduri ale camerei nu identifica unic tipul de camera. |
HT025 | Lipsa tip camera in nomenclator. |
HT026 | Nume oaspete nespecificat. |
HT027 | Numar camere incluse in grup nespecificat. |
HT028 | Data de check-in nespecificata pentru rezervare de tip cazare. |
HT029 | Data de check-in / check-out nespecificata pentru rezervare de tip check-out. |
HT030 | Exista linii cu pret de achizitie negativ |
HT031 | Exista linii cu pret de vanzare negativ |
HT032 | Urmatoarele conturi sunt invalide |
HT033 | Urmatoarele conturi nu identifica unic tipul in nomenclatorul de bunuri si servicii |
HT034 | Lipsa pozitie in nomenclator bunuri si servicii |
HT035 | Urmatoarele coduri nu identifica unic produsul dupa cod extern |
HT036 | Urmatoarele coduri nu identifica unic produsul dupa cod selectie |
HT037 | Urmatoarele coduri nu identifica unic produsul dupa cod echivalent |
HT038 | Urmatoarele id-uri externe nu identifica unic produsul |
HT039 | Urmatoarele denumiri nu identifica unic produsul |
HT040 | Lipsa produs in nomenclator |
HT041 | Urmatoarele denumiri nu identifica unic centrul de profit |
HT042 | Lipsa centru de profit in nomenclator |
HT043 | Urmatoarele denumiri nu identifica unic gestiunea |
HT044 | Lipsa gestiune in nomenclator |
HT045 | Urmatoarele denumiri nu identifica unic camera |
HT046 | Urmatoarele nr de camera nu exista in nomenclator sau nu corespund tipului de camera sau cladirii |
HT047 | Tip document : Tip de camera nespecificat. |
HT048 | Document deja existent |
HT049 | Urmatoarele denumiri nu identifica unic codul grupului |
HT050 | Cantitatea serviciului trebuie sa fie mai mare decat 0. |
HT051 | Nu exista o rezervare de grup care sa corespunda codului de grup |
HT052 | Urmatoarele statusuri nu exista in nomenclator |
HT053 | Documentul are asociate plati (diferite de avansuri). |
HT054 | Check-IN in afara perioadei rezervate. |
HT055 | Check-OUT in afara perioadei rezervate |
HT056 | Check-OUT-ul trebuie sa fie ulterior Check-IN-ului |
HT057 | Rezervarile au perioade de inchiriere care se suprapun pentru aceeasi camera |
HT058 | Documentul este o rezervare de grup si are asociate rezervari cu linii facturate si nu poate fi sters |
HT059 | Tip document nespecificat. |
HT060 | Tipul documentului trebuie sa fie: "Rez. grup", "Rez.camera grup" sau "Rez.individuala" |
HT061 | Tip document : "Rezervare de grup" : Cod grup nespecificat. |
HT062 | Tip document : "Rezervare de grup" : Tip de camera nespecificat! |
HT063 | Tip document : "Rezervare de grup" : Numar de camere incluse in grup nespecificat! |
HT064 | Tip document : "Rezervare de grup" : Numarul camerei nu trebuie specificat pentru rezervarile de grup! |
HT065 | Tip document : "Rezervare camera in grup" : Cod grup sau id_grup nespecificat. |
HT066 | Urmatoarele id-uri externe nu identifica unic centrul de profit |
HT067 | Urmatoarele numere de comanda nu identifica unic comanda |
HT068 | Sesiunea documentului a fost blocata la modificari! |
HT069 | Sesiunea documentului depaseste sesiunea curenta! |
HT070 | Data cazare in afara perioadei de cazare. |
HT071 | Data cazare in afara perioadei de cazare a grupului. |
HT072 | Tip document : "Rezervare de grup": Gestiune nespecificata! |
HT073 | Urmatoarele denumiri nu identifica unic gestiunea de pe antet |
HT074 | Lipsa gestiune antet in nomenclator |