listings:read, iar schimbările cer listings:write și consumă bugetul de tranziții al contului (60 pe minut).
Cum se formează orele
Fiecare anunț își ia orele într-unul din trei moduri:inherit: urmează programul de bază al celui care face vizionările anunțului. E modul unui anunț la care n-ai schimbat nimic.own: are orele lui, pe zile.on_request: nu are ore. Clienții cer o zi prin mesaj.
{from, to}, cel mult 6, pe un pas de 15 minute (09:00, 09:15…), fără suprapuneri. 24:00 e acceptat ca sfârșit de zi. O zi lipsă e o zi fără vizionări.
Programul tău de bază
GET /account/viewing-schedule:
savedefalsecât timp n-ai salvat programul. Atuncieffectivearată valorile de la care pornește.- Un câmp
nullînseamnă că n-ai ales nimic. Valoarea aplicată e îneffective. confirmatione setarea contului tău pentru toate anunțurile care n-au o alegere a lor:autoconfirmă rezervările pe loc,manualle lasă să aștepte răspunsul tău.listings_followingnumără anunțurile publice ale căror vizionări le faci tu și care urmează programul de bază.
PATCH /account/viewing-schedule schimbă doar câmpurile trimise:
- Un câmp lipsă rămâne cum era, iar
nullreaduce valoarea implicită.confirmationprimește doarautosaumanual. hours, când îl trimiți, înlocuiește toată săptămâna.blocked_datesare cel mult 50 de intervale. Un interval cu o singură zi poate lipsi deto.- Cu
confirm_pending: true, când setarea contului eauto(trimisă acum sau salvată deja), se confirmă și cererile care așteaptă la anunțurile tale care urmează setarea contului, cel mult 100 odată, iar fiecare client primește confirmarea. Răspunsul spune câte s-au confirmat și câte mai așteaptă:"confirmed_pending": { "confirmed": 12, "still_waiting": 0 }. - Răspunsul are aceeași formă ca la
GETși nu așteaptă generarea orelor. - Programul de bază e al contului: îl urmează anunțurile ale căror vizionări le faci, din orice firmă în care lucrezi. Cererile confirmate cu
confirm_pendingși numerele din răspuns țin doar de firma cheii și de anunțurile tale fără firmă.
Programul unui anunț
GET /account/listings/{code}/viewing-schedule:
hourssunt orele proprii ale anunțului. Rămân păstrate și când anunțul urmează alt mod, ca să le regăsești la întoarcere.duration_min,notice_minșiconfirmationcunullînseamnă „ca de obicei”: programul de bază al celui care face vizionările, respectiv setarea titularului.runnere cel care face vizionările: un coleg căruia i le-ai dat sau, altfel, titularul. Emailul lui îl primesc cheile titularului, ale administratorilor și ale managerului care îl are în echipă, plus cheia lui; celelalte primescemail: null, ca pe pagina Echipa din portal.occupant.phonee telefonul unei persoane, așa că îl primește doar o cheie culeads:read. Altfel enull.effectivee ce generează orele acum și e doar de citit. Pauza și orizontul vin mereu din programul de bază al celui care face vizionările.base_savedspune dacă acel om are un program de bază salvat. Fără el,inheritnu le dă clienților nicio oră.
PATCH /listings/{code}/viewing-schedule schimbă doar câmpurile trimise: mode, hours (doar cu mode: own), duration_min, notice_min, available_from (YYYY-MM-DD), confirmation (auto, manual sau null), runner, occupant (notify, phone), blocked_dates, confirm_pending.
- Doar
{"mode": "inherit"}(sau alt mod) schimbă modul și atât, ca în portal: regulile și orele proprii rămân. Un anunț care trece peownfără ore proprii pornește de la programul de bază al celui care face vizionările, deci pentru clienți nu se schimbă nimic până nu editezi orele. runnere emailul unui coleg activ din firma anunțului, unul pe care l-ai putea alege și în portal (un manager își alege echipa).nullsau emailul titularului lasă vizionările titularului. La un anunț fără firmă, singurulrunnerposibil e titularul.occupant.phonee obligatoriu cândoccupant.notifyetrue. Numărul e păstrat cu programul anunțului cât timpnotifyetrue; cunotify: falsese șterge, ca în aplicație.confirm_pending: trueconfirmă cererile care așteaptă la acest anunț, dacă după salvare anunțul confirmă pe loc.- Pe un anunț care nu e public, programul se salvează, dar nu generează ore până anunțul redevine activ.
PATCH /listings/{code}/viewings (setările din Vizionările) scrie aceeași durată și aceeași confirmare. Acolo un null e ignorat. Aici, null înseamnă „ca de obicei”.
Durata și confirmarea anunțului schimbă etag-ul anunțului, ca prin PATCH /listings/{code}/viewings. Orele, modul, preavizul, zilele libere și runner nu îl schimbă.
Programul tău pe mai multe anunțuri
POST /account/viewing-schedule/apply face ce face „Folosește programul meu” pe anunțurile selectate în portal. Trimiți cel mult 100 de coduri:
inherit dacă e activ, îl gestionezi și cel care îi face vizionările are un program de bază salvat. Altfel primești motivul: base_schedule_missing, not_active sau not_found. Un cod care nu există și unul la care cheia ta nu ajunge primesc amândouă not_found. Aceeași listă trimisă de două ori dă același rezultat.