{"openapi":"3.1.0","info":{"title":"Pranie Posejdona – zapytania","version":"1.1.0","description":"Zapytanie o wycenę lub inna sprawa do firmy Pranie Posejdona (pranie wykładzin, tapicerki i materacy u klienta). Wystarczy opis własnymi słowami i telefon lub e-mail. Wysyłaj tylko w imieniu użytkownika i z jego danymi kontaktowymi."},"servers":[{"url":"https://posejdon-saas.onrender.com"}],"paths":{"/api/zapytanie":{"post":{"operationId":"zapytajOWycene","summary":"Wyślij zapytanie (wycena, zamówienie, zmiana terminu, faktura, inna sprawa)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["opis","kontakt"],"properties":{"opis":{"type":"string","maxLength":4000,"description":"Co trzeba zrobić, własnymi słowami: usługa, metraż lub sztuki, miejscowość, termin. Może być wklejony mail."},"kontakt":{"type":"string","maxLength":120,"description":"Telefon lub e-mail do odpowiedzi (może być oba)."},"dla":{"type":"string","enum":["dom","firma"],"description":"dom – klient domowy (kanapa, narożnik, fotel, materac; w odpowiedzi ceny „od”), firma – firma lub instytucja. Bez pola – z treści."},"firma":{"type":"string"},"nip":{"type":"string"},"imie":{"type":"string"},"adres":{"type":"string","maxLength":150,"description":"Ulica z numerem (nieobowiązkowo)."},"miasto":{"type":"string"},"termin":{"type":"string"}}},"example":{"opis":"Pranie wykładziny w biurze, ok. 150 m², Gdańsk Oliwa, najlepiej w sobotę","kontakt":"600 100 200"}}}},"responses":{"200":{"description":"Przyjęte. numer służy do dosłania zdjęć i dopisania czegoś.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"numer":{"type":"string"},"klient":{"type":"string","enum":["dom","firma"]},"zrozumielismy":{"type":"object"},"brakuje":{"type":"array","items":{"type":"object"}},"zdjecia":{"type":"object"},"uzupelnij":{"type":"object"}}}}}},"400":{"description":"Błąd – w polu \"blad\" opis po polsku","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"blad":{"type":"string"},"pole":{"type":"string"}}}}}},"429":{"description":"Błąd – w polu \"blad\" opis po polsku","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"blad":{"type":"string"},"pole":{"type":"string"}}}}}}}}},"/api/zapytanie/{numer}/uzupelnij":{"post":{"operationId":"dopiszDoZapytania","summary":"Dopisz coś do wysłanego zapytania (np. metraż, adres, termin)","parameters":[{"name":"numer","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["tekst"],"properties":{"tekst":{"type":"string","maxLength":1500}}}}}},"responses":{"200":{"description":"Dopisane"},"400":{"description":"Błąd – w polu \"blad\" opis po polsku","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"blad":{"type":"string"},"pole":{"type":"string"}}}}}},"404":{"description":"Błąd – w polu \"blad\" opis po polsku","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"blad":{"type":"string"},"pole":{"type":"string"}}}}}},"429":{"description":"Błąd – w polu \"blad\" opis po polsku","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"blad":{"type":"string"},"pole":{"type":"string"}}}}}}}}},"/api/z/{numer}/photos":{"post":{"operationId":"dodajZdjecie","summary":"Dodaj jedno zdjęcie do zapytania (do 15 zdjęć, max 5 MB)","parameters":[{"name":"numer","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","required":["photo"],"properties":{"photo":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"Zapisane"},"400":{"description":"Błąd – w polu \"blad\" opis po polsku","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"blad":{"type":"string"},"pole":{"type":"string"}}}}}},"404":{"description":"Błąd – w polu \"blad\" opis po polsku","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"blad":{"type":"string"},"pole":{"type":"string"}}}}}}}}},"/api/z/{numer}/done":{"post":{"operationId":"zakonczZdjecia","summary":"Koniec wysyłania zdjęć (powiadomienie firmy)","parameters":[{"name":"numer","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}}}}