Server definition
- Hash
- sha256:23c8a1fa4e6eb50951e9e86e96d2c76cb080940ee5fcdf6adbdcd26d4450d6b4
- What it is
- What a remote MCP server returned when asked what it offers: 7 tools
The blob, as servednamed by its sha256
{
"instructions": "Date publice de inteligență de CARACTER pentru cazări din toată România (tria.ro), read-only. Diferențiatorul tria este caracterul locului, nu pozele: liniște, natură, munte, apă, gastro, vin, cultură, viață de seară și profilul concret al zonei. Un singur instrument de căutare: find_accommodations — TOȚI parametrii opționali. `where`=locație structurată; dacă locația nu se rezolvă, tool-ul întoarce eroare în loc să cadă pe top național; `nume`=DOAR nume de cazare/proprietate/brand. Fără `where` → TOP NAȚIONAL. Pentru agenți, folosește `tokeni` ca vocabular public pentru intenții, caracter, facilități, stil sau experiențe: liniste, animat, retras, accesibil, munte, mare, apa, natura, verde, parcuri, arii-protejate, podgorie, gastronomie, viata-de-seara, liniste-seara, cultura, urban, balnear, vibrant, sezon-vara, sezon-iarna, activ-noaptea, sezonier, activ-tot-anul, weekend, cu-piscina, cu-spa, cu-restaurant, cabane, lux, spa, ciubar, drumetii, ciclism, atv, delta, echitatie, schi, degustari-vin, foc-tabara, piscina, copii, evenimente. Pentru excluderi pe caracter, folosește minus doar pe tokenii negabili din capabilities(), ex. cultura- = absența tokenului cultural real al zonei; nu nega facilități/experiențe prin tokeni. `criterii` și `teme` sunt parametri avansați/backward-compatible, nu vocabularul normal pentru user intent. Pentru litoral folosește intenția `mare`; coasta este inclusă în catalogul național. Pentru „cea mai bună pentru mine\" folosește intenții clare; `potrivire` apare doar când există intenție. La căutări largi, find întoarce `restrange` (zone + teme pe piloni cadru/stil/atmosferă/facilități, cu count) — oferă-l ca CLARIFICARE opțională („în ce zonă? ce stil?\"), NU ești obligat să restrângi. Fiecare rezultat poartă `rezolutie` — CITEȘTE-O ca să știi cât de complet e profilul și să-ți calibrezi încrederea. Slug-urile de cazare sunt identități stabile cu sufix, ex. `hotel-nobillis-bde28b`; pentru get_accommodation/get_concierge_brief copiază exact `results[].slug` sau ultimul segment din URL, NU slugifica numele. Pentru „unde să merg\" (zone) folosește explore_areas; când alegi apoi cazări într-o zonă returnată, folosește exact `areas[].find_args` în find_accommodations, nu reconstrui manual `where`/`tokeni`. Pentru o cazare anume get_accommodation(slug), care include galerie foto limitată, camere/dotări și prețuri informative când există; pentru suport de AI concierge folosește get_concierge_brief(slug, intrebare, plan), un brief determinist cu fapte, guardrails și CTA-uri permise; pentru hartă interactivă cu rezultate folosește show_map; pentru itinerarii cu scene/zile/grupe folosește show_itinerary_map. Vocabularul valid + ce e rezervat: capabilities(). Expune numai prețurile orientative primite în câmpurile dedicate; nu inventa și nu garanta disponibilitatea sau prețul final. Nu expune contact direct. Atribuie sursa tria.ro.",
"tools": [
{
"description": "Versiunea serverului MCP tria.ro, tool-urile publicate și VOCABULARUL complet, structurat: `tokeni` (interfața standard pentru intenții/facilități/experiențe/stil), `teme` (filtre avansate pe 4 piloni) și `criterii` (semnale avansate de ranking). Toate cu slug+etichetă, ca să ceri exact fără să ghicești și fără să confunzi axele. Plus ce e rezervat.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "capabilities",
"outputSchema": {
"properties": {
"resources": {
"description": "Resurse dereferențiabile prin resources/read (template-uri), unde există. Hărțile statice generate nu sunt expuse.",
"properties": {
"templates": {
"items": {
"properties": {
"mimeType": {
"type": "string"
},
"name": {
"type": "string"
},
"uriTemplate": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"rezervat": {
"description": "Parametri planificați, încă inactivi",
"items": {
"type": "string"
},
"type": "array"
},
"rezolutie": {
"description": "Cum se citește câmpul `rezolutie` din rezultate",
"type": "string"
},
"server": {
"type": "string"
},
"tools": {
"items": {
"type": "string"
},
"type": "array"
},
"updated_at": {
"type": "string"
},
"version": {
"type": "string"
},
"vocabular": {
"properties": {
"arhetipuri": {
"description": "Cum se citesc arhetipurile/tokenii din rezultate",
"type": "string"
},
"criterii": {
"description": "Vocabular de RANKING (param `criterii` = compozit, sau `sort` = o dimensiune).",
"items": {
"properties": {
"label": {
"type": "string"
},
"slug": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"functii": {
"description": "teme = filtru · criterii/sort = ordine; se combină",
"type": "string"
},
"model": {
"description": "Semantica vocabularului",
"type": "string"
},
"nume": {
"description": "Ce acceptă `nume`",
"type": "string"
},
"teme": {
"description": "FILTRU tematic (param `teme`), pe cei 4 piloni; aceleași filtre ca pe site. Multi-apartenență: o cazare ∈ mai multe teme.",
"items": {
"properties": {
"optiuni": {
"items": {
"properties": {
"label": {
"type": "string"
},
"slug": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"pilon": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"tokeni": {
"description": "Vocabular public standard pentru agenți; tokenii interni ai catalogului nu sunt expuși.",
"items": {
"properties": {
"input": {
"description": "Poate fi trimis în find_accommodations(tokeni)",
"type": "boolean"
},
"label": {
"type": "string"
},
"negabil": {
"description": "Poate fi trimis cu minus, ex. cultura-, pentru absența tokenului real de caracter",
"type": "boolean"
},
"slug": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"where": {
"description": "Ce acceptă `where`",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
{
"description": "Clasează ZONE (nu cazări) după caracter, ca să răspunzi „unde să merg\". scope: \"judet\" (implicit), \"localitate\" (în interiorul unui județ — dă `where`), \"statiune\" (litoral). Ranking după un semnal (`sort`) sau compozit (`criterii`). Dacă dai `where`, tool-ul rămâne în zona părinte rezolvată și nu întoarce județe naționale. Ex.: județele cele mai montane, localitățile cele mai verzi din Cluj, stațiunile cele mai potrivite pentru familie. Sursă: tria.ro.",
"inputSchema": {
"properties": {
"criterii": {
"description": "Ranking compozit (media) — doar pentru statiune.",
"items": {
"type": "string"
},
"type": "array"
},
"limit": {
"description": "Top N (implicit 8, max 30)",
"type": "integer"
},
"scope": {
"description": "Granularitatea ariei: judet (implicit) | localitate | statiune",
"type": "string"
},
"sort": {
"description": "O dimensiune de ranking: liniste, natura, verde, parcuri, arii_protejate, munte, schi, apa, family, gastro, vin_crame, crame, cultura_istorie, cultura, nightlife, business, relaxare, magnetism, turism, urbanitate, viata-de-seara, viata_de_seara (pentru statiune și plaja/farmec/anvergura/afluenta).",
"type": "string"
},
"where": {
"description": "Județul părinte pentru scope=localitate, ex. \"Brașov\"; acceptă și o localitate/stațiune, caz în care se folosește județul ei. Dacă `scope=judet` și dai `where`, tool-ul auto-corectează la localitățile din județul/locul rezolvat.",
"type": "string"
}
},
"type": "object"
},
"name": "explore_areas",
"outputSchema": {
"properties": {
"areas": {
"description": "Zonele clasate",
"items": {
"properties": {
"count": {
"description": "Câte cazări are zona",
"type": "integer"
},
"find_args": {
"description": "Argumente replayabile pentru find_accommodations. Folosește-le ca atare pentru follow-up pe cazare.",
"properties": {
"criterii": {
"items": {
"type": "string"
},
"type": "array"
},
"where": {
"type": "string"
}
},
"type": "object"
},
"name": {
"description": "Numele zonei (județ / localitate / stațiune)",
"type": "string"
},
"photo": {
"type": "string"
},
"score": {
"description": "Scorul mediu pe dimensiunea cerută (unde se aplică)",
"type": "number"
},
"where": {
"description": "Valoarea exactă de folosit în find_accommodations(where) pentru zona asta",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"judet": {
"description": "Județul părinte (doar scope=localitate)",
"type": "string"
},
"scope": {
"type": "string"
}
},
"type": "object"
}
},
{
"description": "Găsește cazări ORIUNDE în România (tria.ro), pe litoral sau în țară, după LOC, CARACTER și (în viitor) PERIOADĂ. TOȚI parametrii sunt OPȚIONALI — fără niciunul întoarce TOPUL NAȚIONAL (toate cazările, clasate ca recomandate). `where` = locație structurată (rezolvată server-side); dacă locația nu se rezolvă, tool-ul întoarce eroare în loc de top național. `nume` = doar nume de cazare/proprietate/brand, nu facilități sau experiențe. Pentru agenți AI, folosește `tokeni` pentru orice intenție de caracter, experiență, facilitate sau stil (\"liniste\", \"animat\", \"retras\", \"accesibil\", \"munte\", \"mare\", \"apa\", \"natura\", \"verde\", \"parcuri\", \"arii-protejate\", \"podgorie\", \"gastronomie\", \"viata-de-seara\", \"liniste-seara\", \"cultura\", \"urban\", \"balnear\", \"vibrant\", \"sezon-vara\", \"sezon-iarna\", \"activ-noaptea\", \"sezonier\", \"activ-tot-anul\", \"weekend\", \"cu-piscina\", \"cu-spa\", \"cu-restaurant\", \"cabane\", \"lux\", \"spa\", \"ciubar\", \"drumetii\", \"ciclism\", \"atv\", \"delta\", \"echitatie\", \"schi\", \"degustari-vin\", \"foc-tabara\", \"piscina\", \"copii\", \"evenimente\"). Pentru negații pe tokenii reali de caracter, adaugă minus la tokenul public, ex. [\"urban\",\"animat\",\"cultura-\"] pentru urban și animat, dar fără tokenul cultural din profilul zonei. Serverul mapează intern tokenii la filtre/ranking/experiențe. Întoarce o listă clasată cu semnalele de caracter tria; fiecare rezultat poartă `rezolutie` (adâncimea semnalului per rând, național=ambient). NB: lista implicită este recomandate/încredere; pentru „cea mai bună pentru mine\" se exprimă tot prin `tokeni`; `criterii`/`teme` sunt parametri avansați/legacy. Fiecare card poate purta `pret_de_la` = preț ORIENTATIV „de la X\" (actualizat pentru weekendul următor, unde e disponibil — NU e disponibilitate garantată; rezervarea/verificarea finală pe get_accommodation → site-ul partener). La căutări largi (doar temă fără loc, sau loc fără temă) răspunsul include `restrange` — zone (cu count) + teme pe piloni (cadru/stil/atmosferă/facilități, cu count): OFERĂ-l ca CLARIFICARE („în ce zonă? ce stil/atmosferă?\"), dar NU ești obligat să restrângi — rezultatele vin oricum. Pe hartă: show_map cu aceiași parametri. Atribuie sursa tria.ro.",
"inputSchema": {
"properties": {
"criterii": {
"description": "AVANSAT/legacy: ranking pe semnale interne. Pentru agenți AI, preferă `tokeni`. Vocabular: liniste,natura,munte,arii_protejate,schi,apa,family,gastro,vin_crame,crame,cultura_istorie,cultura,nightlife,business,relaxare,urbanitate,izolare,magnetism,turism,afluenta_turistica,farmec,dezirabilitate,aproape_de_mare,aproape_de_aeroport,aproape_de_tren.",
"items": {
"type": "string"
},
"type": "array"
},
"limit": {
"description": "Câte pe pagină (implicit 10, max 30)",
"type": "integer"
},
"near": {
"description": "„Lângă mine\" / în jurul unui punct. Alternativ cu where.",
"properties": {
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"radius_km": {
"description": "Rază (implicit 10)",
"type": "number"
}
},
"required": [
"lat",
"lng"
],
"type": "object"
},
"nume": {
"description": "DOAR nume de cazare/proprietate/brand, ex. \"Hotel Studis\", \"Vila Maria\". Nu folosi pentru facilități, experiențe, stil sau caracter; acelea merg în `tokeni`.",
"type": "string"
},
"page": {
"description": "Pagina (implicit 1) — total arată câte corespund",
"type": "integer"
},
"sort": {
"description": "AVANSAT/legacy: o singură dimensiune de ranking când nu dai tokeni/criterii: popularitate | liniste | natura | … (vezi criterii). Pentru user intent folosește `tokeni`; pentru potrivire personală, serverul calculează dinamic `potrivire` când există intenție.",
"type": "string"
},
"teme": {
"description": "AVANSAT/legacy: filtre UI/SEO interne. Pentru agenți AI, preferă `tokeni`; o temă este intern un set de tokeni.",
"items": {
"type": "string"
},
"type": "array"
},
"tokeni": {
"description": "Interfața standard pentru agenți: tokeni publici într-o singură listă. Ex. [\"ciubar\"], [\"lux\"], [\"spa\"], [\"piscina\"], [\"drumetii\"], [\"mare\",\"retras\"], [\"munte\",\"liniste\"], [\"urban\",\"gastronomie\"]. Acceptă semn pe tokenii reali de caracter: `cultura+` = cere tokenul, `cultura-`/`-cultura`/`fara cultura` = exclude cazările care poartă tokenul intern de caracter. Negația nu se aplică facilităților/experiențelor. Pentru orice user intent/facilitate/experiență/stil folosește acest parametru, nu `nume`, `teme` sau `criterii`. Vezi capabilities().vocabular.tokeni.",
"items": {
"type": "string"
},
"type": "array"
},
"where": {
"description": "UNDE — LOCAȚIE structurată: județ / oraș / localitate / stațiune; acceptă și forma calificată \"localitate, județ\" (ex. \"Filiași, Dolj\"). Ex. \"Brașov\", \"Bran\", \"Mamaia\". Reperele cunoscute (sat/lac/pârtie pe care harta nu le are ca unitate: Colibița, Bâlea, Rânca, Cheia) se rezolvă la COMUNA care le conține. OPȚIONAL. Dacă locația nu se rezolvă, primești eroare; pentru top național omite `where`. Nu pune aici facilități/experiențe sau nume de cazare; facilitățile/experiențele merg în `tokeni`, numele cazării merge în `nume`.",
"type": "string"
}
},
"type": "object"
},
"name": "find_accommodations",
"outputSchema": {
"properties": {
"page": {
"type": "integer"
},
"per_page": {
"type": "integer"
},
"results": {
"description": "Cazările care corespund, clasate (eșantion — vezi total). Fiecare are `rezolutie`.",
"items": {
"properties": {
"acces": {
"description": "Distanța până la cel mai apropiat (km), unde există — național",
"properties": {
"aeroport_km": {
"type": "number"
},
"mare_km": {
"type": "number"
},
"tren_km": {
"type": "number"
}
},
"type": "object"
},
"amenities": {
"description": "Facilități (doar la get_accommodation)",
"items": {
"type": "string"
},
"type": "array"
},
"arhetip": {
"description": "Arhetipul zonei din tokenii de contrast ai catalogului; limbajul preferat pentru explicații și matching.",
"items": {
"properties": {
"kind": {
"description": "strong | soft — cât de tare e tokenul în profilul zonei",
"type": "string"
},
"label": {
"description": "Etichetă citibilă: la mare, retras, urban, gastronomie…",
"type": "string"
},
"slug": {
"description": "Slug de temă tria când eticheta are pagină/filtru corespondent",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"caracter": {
"description": "Caracterul zonei pe intenții de ședere (0–100, doar cele cu semnal)",
"properties": {
"acces_auto": {
"type": "number"
},
"acces_localitate": {
"type": "number"
},
"apa": {
"type": "number"
},
"arii_protejate": {
"type": "number"
},
"business": {
"type": "number"
},
"cafea": {
"type": "number"
},
"cultura_istorie": {
"type": "number"
},
"dezirabilitate": {
"description": "Cât de căutată e zona (0–100)",
"type": "number"
},
"family": {
"type": "number"
},
"farmec": {
"description": "Farmecul zonei — calitatea spațiului public (0–100)",
"type": "number"
},
"gastro": {
"type": "number"
},
"izolare": {
"type": "number"
},
"liniste": {
"type": "number"
},
"munte": {
"type": "number"
},
"natura": {
"type": "number"
},
"nightlife": {
"type": "number"
},
"parcuri": {
"type": "number"
},
"plimbare": {
"type": "number"
},
"relaxare": {
"type": "number"
},
"schi": {
"type": "number"
},
"urbanitate": {
"type": "number"
},
"verde": {
"type": "number"
},
"vin_crame": {
"type": "number"
}
},
"type": "object"
},
"category": {
"description": "Categorie normalizată: hotel/pensiune/vila/apartament/hostel/resort/camping",
"type": "string"
},
"description": {
"description": "Descriere scurtă (doar la get_accommodation)",
"type": "string"
},
"etichete": {
"description": "1–2 etichete în limbaj natural, derivate din caracter",
"items": {
"type": "string"
},
"type": "array"
},
"gallery": {
"description": "Galerie foto limitată — doar la get_accommodation, cu URL-uri publice/proxied tria unde există.",
"items": {
"type": "string"
},
"type": "array"
},
"lat": {
"type": "number"
},
"license": {
"description": "Licența datelor — atribuire necesară",
"type": "string"
},
"lng": {
"type": "number"
},
"name": {
"description": "Numele cazării",
"type": "string"
},
"origins": {
"description": "Originile vizitatorilor, pe județe",
"items": {
"properties": {
"judet": {
"type": "string"
},
"share": {
"type": "number"
}
},
"type": "object"
},
"type": "array"
},
"photo": {
"description": "Poză de copertă — în liste poate lipsi; la get_accommodation este cover-ul disponibil.",
"type": "string"
},
"potrivire": {
"description": "Potrivire cu INTENȚIA ta (0–100) — cât de bine se aliniază cazarea cu tokenii/criteriile cerute. Apare DOAR când ai dat o intenție. NU e un scor/rating absolut al cazării (nu notăm cazări).",
"type": "number"
},
"pret": {
"description": "Preț ORIENTATIV live pe 3 perioade — doar la get_accommodation. Nu e disponibilitate garantată; verificarea finală + rezervarea se fac pe site-ul partener. Fără taxe/comisioane.",
"properties": {
"de_la": {
"description": "Cel mai mic preț orientativ peste perioadele de mai jos (fără taxe). În interfață se redă „de la X lei”, fără sufix.",
"type": "integer"
},
"moneda": {
"type": "string"
},
"perioade": {
"description": "3 perioade-eșantion (nu calendar complet).",
"items": {
"properties": {
"de_la": {
"description": "Preț orientativ pe această perioadă; absent = fără disponibilitate afișată (de verificat pe partener).",
"type": "integer"
},
"interval": {
"type": "string"
},
"perioada": {
"description": "Weekendul următor / Peste o lună / Peste 2-3 luni",
"type": "string"
},
"rezervare_url": {
"description": "Link către pagina de rezervare a partenerului.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"pret_de_la": {
"description": "Etichetă publică de preț informativ în forma „de la X lei”, fără sufix. Nu este disponibilitate și nu este ofertă de rezervare.",
"type": "string"
},
"resort": {
"description": "Stațiunea de pe litoral",
"type": "string"
},
"rezolutie": {
"description": "Provenance + încredere a semnalelor (mai bogat unde semnalul e fin, mai subțire la marginea litorală). Agentul îl CITEȘTE ca să calibreze încrederea; nu e parametru de request.",
"properties": {
"adancime": {
"description": "Profunzimea semnalelor: standard (național) | bazica; mai subțire la marginea litorală",
"type": "string"
},
"incredere": {
"description": "0–1: cât de bine acoperit e semnalul aici (mic la marginea litorală a modelului național r7)",
"type": "number"
},
"nivel": {
"description": "Granularitatea semnalului: identitate (loc anume) | local | ambient (zonă largă)",
"type": "string"
}
},
"type": "object"
},
"rezumat": {
"description": "Rezumat de caracter, într-o frază (originile vizitatorilor)",
"type": "string"
},
"rooms": {
"description": "Camere/unități, doar la get_accommodation, compactate și limitate ca să nu umfle contextul.",
"items": {
"properties": {
"amenities": {
"description": "Dotări pe cameră, limitate",
"items": {
"type": "string"
},
"type": "array"
},
"beds": {
"description": "Paturi",
"items": {
"type": "string"
},
"type": "array"
},
"description": {
"description": "Descriere scurtă a camerei",
"type": "string"
},
"max": {
"description": "Capacitate maximă persoane",
"type": "integer"
},
"name": {
"description": "Numele camerei/unității",
"type": "string"
},
"photos": {
"description": "Fotografii cameră, limitate",
"items": {
"type": "string"
},
"type": "array"
},
"price": {
"description": "Preț text pentru cameră, informativ",
"type": "string"
},
"price_from": {
"description": "Preț numeric minim pentru cameră, informativ",
"type": "number"
},
"size": {
"description": "Suprafață, unde există",
"type": "number"
},
"unit": {
"description": "Unitate suprafață, de obicei mp",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"slug": {
"description": "Slug exact al cazării — copiază această valoare în get_accommodation/get_concierge_brief; nu slugifica numele.",
"type": "string"
},
"source": {
"description": "Mereu \"tria.ro\"",
"type": "string"
},
"stars": {
"description": "Stele (din sursa de conținut)",
"type": "integer"
},
"teme": {
"description": "Teme de descoperire tria (cabane, retras, cu-piscina…) — naționale",
"items": {
"type": "string"
},
"type": "array"
},
"type": {
"description": "Categoria brută internă",
"type": "string"
},
"url": {
"description": "Pagina tria.ro a cazării",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"returned": {
"description": "Câte sunt în această pagină",
"type": "integer"
},
"total": {
"description": "Total cazări care corespund (poți pagina pentru restul)",
"type": "integer"
}
},
"type": "object"
}
},
{
"description": "Profilul complet al unei cazări de pe tria.ro (după slug), litoral sau național: semnale de caracter, împrejurimi, acces, arhetipuri, descriere/facilități, camere/dotări pe cameră, preț ORIENTATIV live pe 3 perioade-eșantion (`pret`, unde e disponibil — nu e disponibilitate garantată; rezervarea/verificarea finală pe site-ul partener), galerie foto limitată și `rezolutie` (cât de bogat e semnalul). Copiază slug-ul exact din `results[].slug` sau din URL; nu slugifica numele. Fără contact.",
"inputSchema": {
"properties": {
"slug": {
"description": "Slug exact din `find_accommodations.results[].slug` sau ultimul segment din URL, ex. \"casa-anda-2e3cfc\". Nu inventa/slugifica numele; dacă ai doar numele, caută întâi cu find_accommodations(nume=...).",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_accommodation",
"outputSchema": {
"properties": {
"acces": {
"description": "Distanța până la cel mai apropiat (km), unde există — național",
"properties": {
"aeroport_km": {
"type": "number"
},
"mare_km": {
"type": "number"
},
"tren_km": {
"type": "number"
}
},
"type": "object"
},
"amenities": {
"description": "Facilități (doar la get_accommodation)",
"items": {
"type": "string"
},
"type": "array"
},
"arhetip": {
"description": "Arhetipul zonei din tokenii de contrast ai catalogului; limbajul preferat pentru explicații și matching.",
"items": {
"properties": {
"kind": {
"description": "strong | soft — cât de tare e tokenul în profilul zonei",
"type": "string"
},
"label": {
"description": "Etichetă citibilă: la mare, retras, urban, gastronomie…",
"type": "string"
},
"slug": {
"description": "Slug de temă tria când eticheta are pagină/filtru corespondent",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"caracter": {
"description": "Caracterul zonei pe intenții de ședere (0–100, doar cele cu semnal)",
"properties": {
"acces_auto": {
"type": "number"
},
"acces_localitate": {
"type": "number"
},
"apa": {
"type": "number"
},
"arii_protejate": {
"type": "number"
},
"business": {
"type": "number"
},
"cafea": {
"type": "number"
},
"cultura_istorie": {
"type": "number"
},
"dezirabilitate": {
"description": "Cât de căutată e zona (0–100)",
"type": "number"
},
"family": {
"type": "number"
},
"farmec": {
"description": "Farmecul zonei — calitatea spațiului public (0–100)",
"type": "number"
},
"gastro": {
"type": "number"
},
"izolare": {
"type": "number"
},
"liniste": {
"type": "number"
},
"munte": {
"type": "number"
},
"natura": {
"type": "number"
},
"nightlife": {
"type": "number"
},
"parcuri": {
"type": "number"
},
"plimbare": {
"type": "number"
},
"relaxare": {
"type": "number"
},
"schi": {
"type": "number"
},
"urbanitate": {
"type": "number"
},
"verde": {
"type": "number"
},
"vin_crame": {
"type": "number"
}
},
"type": "object"
},
"category": {
"description": "Categorie normalizată: hotel/pensiune/vila/apartament/hostel/resort/camping",
"type": "string"
},
"description": {
"description": "Descriere scurtă (doar la get_accommodation)",
"type": "string"
},
"etichete": {
"description": "1–2 etichete în limbaj natural, derivate din caracter",
"items": {
"type": "string"
},
"type": "array"
},
"gallery": {
"description": "Galerie foto limitată — doar la get_accommodation, cu URL-uri publice/proxied tria unde există.",
"items": {
"type": "string"
},
"type": "array"
},
"lat": {
"type": "number"
},
"license": {
"description": "Licența datelor — atribuire necesară",
"type": "string"
},
"lng": {
"type": "number"
},
"name": {
"description": "Numele cazării",
"type": "string"
},
"origins": {
"description": "Originile vizitatorilor, pe județe",
"items": {
"properties": {
"judet": {
"type": "string"
},
"share": {
"type": "number"
}
},
"type": "object"
},
"type": "array"
},
"photo": {
"description": "Poză de copertă — în liste poate lipsi; la get_accommodation este cover-ul disponibil.",
"type": "string"
},
"potrivire": {
"description": "Potrivire cu INTENȚIA ta (0–100) — cât de bine se aliniază cazarea cu tokenii/criteriile cerute. Apare DOAR când ai dat o intenție. NU e un scor/rating absolut al cazării (nu notăm cazări).",
"type": "number"
},
"pret": {
"description": "Preț ORIENTATIV live pe 3 perioade — doar la get_accommodation. Nu e disponibilitate garantată; verificarea finală + rezervarea se fac pe site-ul partener. Fără taxe/comisioane.",
"properties": {
"de_la": {
"description": "Cel mai mic preț orientativ peste perioadele de mai jos (fără taxe). În interfață se redă „de la X lei”, fără sufix.",
"type": "integer"
},
"moneda": {
"type": "string"
},
"perioade": {
"description": "3 perioade-eșantion (nu calendar complet).",
"items": {
"properties": {
"de_la": {
"description": "Preț orientativ pe această perioadă; absent = fără disponibilitate afișată (de verificat pe partener).",
"type": "integer"
},
"interval": {
"type": "string"
},
"perioada": {
"description": "Weekendul următor / Peste o lună / Peste 2-3 luni",
"type": "string"
},
"rezervare_url": {
"description": "Link către pagina de rezervare a partenerului.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"pret_de_la": {
"description": "Etichetă publică de preț informativ în forma „de la X lei”, fără sufix. Nu este disponibilitate și nu este ofertă de rezervare.",
"type": "string"
},
"resort": {
"description": "Stațiunea de pe litoral",
"type": "string"
},
"rezolutie": {
"description": "Provenance + încredere a semnalelor (mai bogat unde semnalul e fin, mai subțire la marginea litorală). Agentul îl CITEȘTE ca să calibreze încrederea; nu e parametru de request.",
"properties": {
"adancime": {
"description": "Profunzimea semnalelor: standard (național) | bazica; mai subțire la marginea litorală",
"type": "string"
},
"incredere": {
"description": "0–1: cât de bine acoperit e semnalul aici (mic la marginea litorală a modelului național r7)",
"type": "number"
},
"nivel": {
"description": "Granularitatea semnalului: identitate (loc anume) | local | ambient (zonă largă)",
"type": "string"
}
},
"type": "object"
},
"rezumat": {
"description": "Rezumat de caracter, într-o frază (originile vizitatorilor)",
"type": "string"
},
"rooms": {
"description": "Camere/unități, doar la get_accommodation, compactate și limitate ca să nu umfle contextul.",
"items": {
"properties": {
"amenities": {
"description": "Dotări pe cameră, limitate",
"items": {
"type": "string"
},
"type": "array"
},
"beds": {
"description": "Paturi",
"items": {
"type": "string"
},
"type": "array"
},
"description": {
"description": "Descriere scurtă a camerei",
"type": "string"
},
"max": {
"description": "Capacitate maximă persoane",
"type": "integer"
},
"name": {
"description": "Numele camerei/unității",
"type": "string"
},
"photos": {
"description": "Fotografii cameră, limitate",
"items": {
"type": "string"
},
"type": "array"
},
"price": {
"description": "Preț text pentru cameră, informativ",
"type": "string"
},
"price_from": {
"description": "Preț numeric minim pentru cameră, informativ",
"type": "number"
},
"size": {
"description": "Suprafață, unde există",
"type": "number"
},
"unit": {
"description": "Unitate suprafață, de obicei mp",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"slug": {
"description": "Slug exact al cazării — copiază această valoare în get_accommodation/get_concierge_brief; nu slugifica numele.",
"type": "string"
},
"source": {
"description": "Mereu \"tria.ro\"",
"type": "string"
},
"stars": {
"description": "Stele (din sursa de conținut)",
"type": "integer"
},
"teme": {
"description": "Teme de descoperire tria (cabane, retras, cu-piscina…) — naționale",
"items": {
"type": "string"
},
"type": "array"
},
"type": {
"description": "Categoria brută internă",
"type": "string"
},
"url": {
"description": "Pagina tria.ro a cazării",
"type": "string"
}
},
"type": "object"
}
},
{
"description": "Brief deterministic pentru AI concierge al unei cazări: fapte publice, diferențiatori, întrebări sugerate, guardrails și CTA-uri permise. Nu consumă LLM, nu confirmă disponibilitate/preț final și nu expune contact direct; agentul folosește brief-ul ca să răspundă despre proprietate și zonă fără să inventeze. `slug` se copiază exact din `results[].slug` sau din ultimul segment al URL-ului; nu slugifica numele proprietății.",
"inputSchema": {
"properties": {
"intrebare": {
"description": "Întrebarea turistului; opțional. Tool-ul o clasifică simplu și întoarce un cadru de răspuns.",
"type": "string"
},
"plan": {
"description": "free | pro. În local/prototip schimbă doar nivelul de detaliu și CTA-urile permise; nu activează billing.",
"type": "string"
},
"slug": {
"description": "Slug exact din `find_accommodations.results[].slug` sau ultimul segment din URL, ex. \"gramofon-inn-f28a36\". Nu inventa/slugifica numele; dacă ai doar numele, caută întâi cu find_accommodations(nume=...).",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_concierge_brief",
"outputSchema": {
"properties": {
"concierge": {
"properties": {
"allowed_cta": {
"items": {
"type": "string"
},
"type": "array"
},
"owner_value": {
"items": {
"type": "string"
},
"type": "array"
},
"positioning": {
"items": {
"type": "string"
},
"type": "array"
},
"suggested_questions": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"facts": {
"properties": {
"amenities": {
"items": {
"type": "string"
},
"type": "array"
},
"archetypes": {
"items": {
"type": "string"
},
"type": "array"
},
"character": {
"items": {
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "number"
}
},
"type": "object"
},
"type": "array"
},
"photos_available": {
"type": "integer"
},
"rooms": {
"items": {
"properties": {
"amenities": {
"items": {
"type": "string"
},
"type": "array"
},
"capacity": {
"type": "integer"
},
"name": {
"type": "string"
},
"price": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"summary": {
"type": "string"
}
},
"type": "object"
},
"guardrails": {
"items": {
"type": "string"
},
"type": "array"
},
"license": {
"type": "string"
},
"missing_profile_data": {
"items": {
"type": "string"
},
"type": "array"
},
"mode": {
"description": "free | pro",
"type": "string"
},
"property": {
"properties": {
"category": {
"type": "string"
},
"location": {
"type": "string"
},
"name": {
"type": "string"
},
"slug": {
"type": "string"
},
"url": {
"type": "string"
},
"verified": {
"properties": {
"classification": {
"type": "string"
},
"situr": {
"type": "boolean"
}
},
"type": "object"
}
},
"type": "object"
},
"question": {
"properties": {
"answer_frame": {
"items": {
"type": "string"
},
"type": "array"
},
"intent": {
"type": "string"
},
"text": {
"type": "string"
}
},
"type": "object"
},
"source": {
"type": "string"
}
},
"type": "object"
}
},
{
"description": "Afișează o hartă interactivă de itinerariu, cu puncte fixe, scene/grupe (ex. zile/etape/zone), chips pentru scene, carousel și autoplay opțional. Refolosește harta tria; traseul este schematic (linie dreaptă între puncte), nu rutare pe drumuri. Sursă: tria.ro.",
"inputSchema": {
"properties": {
"autoplay": {
"description": "Autoplay pe scene, nu pe puncte.",
"properties": {
"enabled": {
"type": "boolean"
},
"interval_ms": {
"type": "integer"
},
"loop": {
"type": "boolean"
}
},
"type": "object"
},
"path": {
"description": "Linie schematică între puncte.",
"properties": {
"mode": {
"description": "none|straight. Rutarea road este rezervată.",
"type": "string"
},
"ordered_point_ids": {
"description": "Ordinea liniei schematice.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"points": {
"description": "Punctele itinerariului. Max 40.",
"items": {
"properties": {
"id": {
"description": "ID stabil în această hartă, ex. \"zi1-start\".",
"type": "string"
},
"label": {
"description": "Numele afișat pe card/chip.",
"type": "string"
},
"lat": {
"description": "Latitudine. Poate lipsi dacă dai slug de cazare tria.",
"type": "number"
},
"lng": {
"description": "Longitudine. Poate lipsi dacă dai slug de cazare tria.",
"type": "number"
},
"meta": {
"description": "Metadate scurte pentru card.",
"properties": {
"day": {
"type": "integer"
},
"kind": {
"type": "string"
},
"nights": {
"type": "integer"
},
"note": {
"type": "string"
}
},
"type": "object"
},
"photo": {
"description": "Poză opțională pentru card.",
"type": "string"
},
"role": {
"description": "start|stay|stop|poi|end — doar pentru afișare.",
"type": "string"
},
"slug": {
"description": "Slug cazare tria; dacă lipsesc coordonatele, serverul le rezolvă.",
"type": "string"
},
"url": {
"description": "URL opțional. Pentru cazări tria poate fi rezolvat din slug.",
"type": "string"
}
},
"required": [
"id",
"label"
],
"type": "object"
},
"type": "array"
},
"scenes": {
"description": "Scene/grupe pentru chips și autoplay. Dacă lipsește, se creează o scenă cu toate punctele. Max 20.",
"items": {
"properties": {
"active_point_id": {
"description": "Punctul focal la activarea scenei.",
"type": "string"
},
"description": {
"description": "Descriere scurtă a scenei.",
"type": "string"
},
"duration_ms": {
"description": "Durata scenei în autoplay.",
"type": "integer"
},
"id": {
"description": "ID scenă.",
"type": "string"
},
"label": {
"description": "Textul chip-ului, ex. \"Plecare + Delta Dunării\".",
"type": "string"
},
"point_ids": {
"description": "Punctele vizibile/highlight în scenă.",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"id",
"label",
"point_ids"
],
"type": "object"
},
"type": "array"
},
"subtitle": {
"description": "Subtitlu scurt, ex. \"cazări retrase, natură, sate, apă\".",
"type": "string"
},
"title": {
"description": "Titlul hărții, ex. \"Circuit 7 zile din Constanța\".",
"type": "string"
}
},
"required": [
"points"
],
"type": "object"
},
"name": "show_itinerary_map",
"outputSchema": {
"properties": {
"autoplay": {
"properties": {
"enabled": {
"type": "boolean"
},
"interval_ms": {
"type": "integer"
},
"loop": {
"type": "boolean"
}
},
"type": "object"
},
"mode": {
"type": "string"
},
"path": {
"properties": {
"mode": {
"type": "string"
},
"ordered_point_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"points": {
"items": {
"properties": {
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"meta": {
"type": "object"
},
"name": {
"type": "string"
},
"photo": {
"type": "string"
},
"role": {
"type": "string"
},
"slug": {
"type": "string"
},
"url": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"scenes": {
"items": {
"properties": {
"active_point_id": {
"type": "string"
},
"description": {
"type": "string"
},
"duration_ms": {
"type": "integer"
},
"id": {
"type": "string"
},
"label": {
"type": "string"
},
"point_ids": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"type": "array"
},
"source": {
"type": "string"
},
"subtitle": {
"type": "string"
},
"title": {
"type": "string"
}
},
"type": "object"
}
},
{
"description": "Afișează cazări pe o hartă INTERACTIVĂ — aceiași parametri de localizare/filtrare ca find_accommodations (where/near/nume/tokeni/criterii/teme/sort), region-routed. Widget MCP Apps când clientul suportă; altfel listă cu coordonate. Folosește-l când utilizatorul cere „pe hartă\". Sursă: tria.ro.",
"inputSchema": {
"properties": {
"criterii": {
"description": "AVANSAT/legacy: ranking pe caracter (media). Vocabular: liniste,natura,munte,arii_protejate,schi,apa,family,gastro,vin_crame,crame,cultura_istorie,cultura,nightlife,business,relaxare,urbanitate,izolare,magnetism,turism,afluenta_turistica,farmec,dezirabilitate,aproape_de_mare,aproape_de_aeroport,aproape_de_tren",
"items": {
"type": "string"
},
"type": "array"
},
"limit": {
"description": "Câte cazări/pini (implicit 12, max 30)",
"type": "integer"
},
"near": {
"description": "„Lângă mine\" / în jurul unui punct.",
"properties": {
"lat": {
"type": "number"
},
"lng": {
"type": "number"
},
"radius_km": {
"type": "number"
}
},
"required": [
"lat",
"lng"
],
"type": "object"
},
"nume": {
"description": "DOAR nume de cazare/proprietate/brand. Nu folosi pentru facilități, experiențe, stil sau caracter; acelea merg în `tokeni`.",
"type": "string"
},
"page": {
"description": "Pagina",
"type": "integer"
},
"sort": {
"description": "AVANSAT/legacy: o singură dimensiune de ranking. Pentru user intent folosește `tokeni`.",
"type": "string"
},
"teme": {
"description": "AVANSAT/legacy: filtru pe categorie (național), ex. [\"cabane\",\"cu-piscina\"]. Pentru agenți AI preferă `tokeni`.",
"items": {
"type": "string"
},
"type": "array"
},
"tokeni": {
"description": "Tokeni publici de intenție/facilitate/experiență/stil, ex. [\"ciubar\"], [\"lux\"], [\"spa\"], [\"piscina\"], [\"munte\",\"liniste\"]. Pe tokenii reali de caracter cu negabil=true în capabilities(), acceptă minus: [\"urban\",\"animat\",\"cultura-\"].",
"items": {
"type": "string"
},
"type": "array"
},
"where": {
"description": "UNDE — locație structurată (județ/oraș/localitate/stațiune), acceptă și \"localitate, județ\" (ex. \"Filiași, Dolj\"), OPȚIONAL. Reperele cunoscute (Colibița, Bâlea, Rânca…) se rezolvă la comuna care le conține. NU căutare după nume (aia e `nume`). Fără ea → național; nerecunoscut → eroare.",
"type": "string"
}
},
"type": "object"
},
"name": "show_map",
"outputSchema": {
"properties": {
"page": {
"type": "integer"
},
"per_page": {
"type": "integer"
},
"results": {
"description": "Cazări cu coordonate, pentru hartă (eșantion — vezi total). Fiecare are `rezolutie`.",
"items": {
"properties": {
"acces": {
"description": "Distanța până la cel mai apropiat (km), unde există — național",
"properties": {
"aeroport_km": {
"type": "number"
},
"mare_km": {
"type": "number"
},
"tren_km": {
"type": "number"
}
},
"type": "object"
},
"amenities": {
"description": "Facilități (doar la get_accommodation)",
"items": {
"type": "string"
},
"type": "array"
},
"arhetip": {
"description": "Arhetipul zonei din tokenii de contrast ai catalogului; limbajul preferat pentru explicații și matching.",
"items": {
"properties": {
"kind": {
"description": "strong | soft — cât de tare e tokenul în profilul zonei",
"type": "string"
},
"label": {
"description": "Etichetă citibilă: la mare, retras, urban, gastronomie…",
"type": "string"
},
"slug": {
"description": "Slug de temă tria când eticheta are pagină/filtru corespondent",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"caracter": {
"description": "Caracterul zonei pe intenții de ședere (0–100, doar cele cu semnal)",
"properties": {
"acces_auto": {
"type": "number"
},
"acces_localitate": {
"type": "number"
},
"apa": {
"type": "number"
},
"arii_protejate": {
"type": "number"
},
"business": {
"type": "number"
},
"cafea": {
"type": "number"
},
"cultura_istorie": {
"type": "number"
},
"dezirabilitate": {
"description": "Cât de căutată e zona (0–100)",
"type": "number"
},
"family": {
"type": "number"
},
"farmec": {
"description": "Farmecul zonei — calitatea spațiului public (0–100)",
"type": "number"
},
"gastro": {
"type": "number"
},
"izolare": {
"type": "number"
},
"liniste": {
"type": "number"
},
"munte": {
"type": "number"
},
"natura": {
"type": "number"
},
"nightlife": {
"type": "number"
},
"parcuri": {
"type": "number"
},
"plimbare": {
"type": "number"
},
"relaxare": {
"type": "number"
},
"schi": {
"type": "number"
},
"urbanitate": {
"type": "number"
},
"verde": {
"type": "number"
},
"vin_crame": {
"type": "number"
}
},
"type": "object"
},
"category": {
"description": "Categorie normalizată: hotel/pensiune/vila/apartament/hostel/resort/camping",
"type": "string"
},
"description": {
"description": "Descriere scurtă (doar la get_accommodation)",
"type": "string"
},
"etichete": {
"description": "1–2 etichete în limbaj natural, derivate din caracter",
"items": {
"type": "string"
},
"type": "array"
},
"gallery": {
"description": "Galerie foto limitată — doar la get_accommodation, cu URL-uri publice/proxied tria unde există.",
"items": {
"type": "string"
},
"type": "array"
},
"lat": {
"type": "number"
},
"license": {
"description": "Licența datelor — atribuire necesară",
"type": "string"
},
"lng": {
"type": "number"
},
"name": {
"description": "Numele cazării",
"type": "string"
},
"origins": {
"description": "Originile vizitatorilor, pe județe",
"items": {
"properties": {
"judet": {
"type": "string"
},
"share": {
"type": "number"
}
},
"type": "object"
},
"type": "array"
},
"photo": {
"description": "Poză de copertă — în liste poate lipsi; la get_accommodation este cover-ul disponibil.",
"type": "string"
},
"potrivire": {
"description": "Potrivire cu INTENȚIA ta (0–100) — cât de bine se aliniază cazarea cu tokenii/criteriile cerute. Apare DOAR când ai dat o intenție. NU e un scor/rating absolut al cazării (nu notăm cazări).",
"type": "number"
},
"pret": {
"description": "Preț ORIENTATIV live pe 3 perioade — doar la get_accommodation. Nu e disponibilitate garantată; verificarea finală + rezervarea se fac pe site-ul partener. Fără taxe/comisioane.",
"properties": {
"de_la": {
"description": "Cel mai mic preț orientativ peste perioadele de mai jos (fără taxe). În interfață se redă „de la X lei”, fără sufix.",
"type": "integer"
},
"moneda": {
"type": "string"
},
"perioade": {
"description": "3 perioade-eșantion (nu calendar complet).",
"items": {
"properties": {
"de_la": {
"description": "Preț orientativ pe această perioadă; absent = fără disponibilitate afișată (de verificat pe partener).",
"type": "integer"
},
"interval": {
"type": "string"
},
"perioada": {
"description": "Weekendul următor / Peste o lună / Peste 2-3 luni",
"type": "string"
},
"rezervare_url": {
"description": "Link către pagina de rezervare a partenerului.",
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"pret_de_la": {
"description": "Etichetă publică de preț informativ în forma „de la X lei”, fără sufix. Nu este disponibilitate și nu este ofertă de rezervare.",
"type": "string"
},
"resort": {
"description": "Stațiunea de pe litoral",
"type": "string"
},
"rezolutie": {
"description": "Provenance + încredere a semnalelor (mai bogat unde semnalul e fin, mai subțire la marginea litorală). Agentul îl CITEȘTE ca să calibreze încrederea; nu e parametru de request.",
"properties": {
"adancime": {
"description": "Profunzimea semnalelor: standard (național) | bazica; mai subțire la marginea litorală",
"type": "string"
},
"incredere": {
"description": "0–1: cât de bine acoperit e semnalul aici (mic la marginea litorală a modelului național r7)",
"type": "number"
},
"nivel": {
"description": "Granularitatea semnalului: identitate (loc anume) | local | ambient (zonă largă)",
"type": "string"
}
},
"type": "object"
},
"rezumat": {
"description": "Rezumat de caracter, într-o frază (originile vizitatorilor)",
"type": "string"
},
"rooms": {
"description": "Camere/unități, doar la get_accommodation, compactate și limitate ca să nu umfle contextul.",
"items": {
"properties": {
"amenities": {
"description": "Dotări pe cameră, limitate",
"items": {
"type": "string"
},
"type": "array"
},
"beds": {
"description": "Paturi",
"items": {
"type": "string"
},
"type": "array"
},
"description": {
"description": "Descriere scurtă a camerei",
"type": "string"
},
"max": {
"description": "Capacitate maximă persoane",
"type": "integer"
},
"name": {
"description": "Numele camerei/unității",
"type": "string"
},
"photos": {
"description": "Fotografii cameră, limitate",
"items": {
"type": "string"
},
"type": "array"
},
"price": {
"description": "Preț text pentru cameră, informativ",
"type": "string"
},
"price_from": {
"description": "Preț numeric minim pentru cameră, informativ",
"type": "number"
},
"size": {
"description": "Suprafață, unde există",
"type": "number"
},
"unit": {
"description": "Unitate suprafață, de obicei mp",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"slug": {
"description": "Slug exact al cazării — copiază această valoare în get_accommodation/get_concierge_brief; nu slugifica numele.",
"type": "string"
},
"source": {
"description": "Mereu \"tria.ro\"",
"type": "string"
},
"stars": {
"description": "Stele (din sursa de conținut)",
"type": "integer"
},
"teme": {
"description": "Teme de descoperire tria (cabane, retras, cu-piscina…) — naționale",
"items": {
"type": "string"
},
"type": "array"
},
"type": {
"description": "Categoria brută internă",
"type": "string"
},
"url": {
"description": "Pagina tria.ro a cazării",
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"returned": {
"description": "Câte sunt în această pagină",
"type": "integer"
},
"total": {
"description": "Total cazări care corespund (poți pagina pentru restul)",
"type": "integer"
}
},
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:23c8a1fa4e6eb50951e9e86e96d2c76cb080940ee5fcdf6adbdcd26d4450d6b4 | sha256sum