11 KiB
Softra Rent API - Transkrypcja: Rezerwacje i p?atno?ci
?r?d?o: "Oferta 37 Softra_Rent_API - zaaczni k Specyfikacja_Rent_RESTAPI_1_15.pdf"
- Utworzenie rezerwacji
Opis: Rezerwacja wstępna pojazdu na X minut dla wybranej kategorii pojazdu, okresu najmu, określonych warunków klienta ewentualnie podanej marki i modelu pojazdu, wraz podaną listą dodatków wyposażenia. Zwraca numer rezerwacji. URL : /rent/makebooking Typ metody : POST Nagłówki: "Authorization: Bearer [token]" Parametry JSON Object
Nazwa Opis pola Typ danych Wymagalność dateFrom data początku najmu YYYY- MM-DDTHH24:MI:SS String TAK dateTo data końca najmu YYYY-MM- DDTHH24:MI:SS String TAK customerId identyfikator klienta String TAK payerId identyfikator płatnika String NIE pickUpLocation Miejsce/adres wydania pojazdu RentLocation TAK pickUpComments uwagi dot. podstawienia String(50) NIE pickUpCommentsEx uwagi dot. faktycznego podstawienia String(255) NIE returnLocation Miejsce/adres odbiotu pojazdu RentLocation TAK returnComments uwagi dot. odbioru String(50) NIE returnCommentsEx uwagi dot. faktycznego odbioru String(255) NIE carParameters Parametry pojazdu CarParameters TAK priceListId identyfikator cennika String TAK depositValue wysokość kaucji BigDecimal NIE validTime ilość minut określająća czas po którym rezerwacja zostanie anulowana w systuacji gdy nie zostanie dokonana płatność (nie nastąpi wywołanie meotdy rent/confirm). API cyklicznie (co 5 minut) sprawdza i anuluje nie opłacone rezerwacje po przekroczeniu limitu określonego przez parametr valid_time Integer TAK priceItems lista usług dodatkowych List NIE drivers lista kierowców List NIE agreementItems lista zgód marketingowych/oświadczeń zaznaczonych przez klienta List NIE
comments Uwagi do rezerwacji String(500) NIE
Obiekt RentLocation: Nazwa pola Opis pola Typ danych Uwagi branchName Symbol oddziału String(10) TAK outOfBranch jedna z wartości: [‘N’, ‘A’, ‘P’] 'N' - brak podstawienia/zwrotu pod adres, String(1) TAK
'A' – podstawienie/zwrot pod adres, 'P' - punkt z listy oddziałów address Podstawienei/zwrot pod adres String(100) TAK/NIE pointName Podstawienie/zwrot do puktu. Punkt String(10) TAK/NIE
Obiekt CarParameters: Nazwa pola Opis pola Typ danych Wymagalność brand Marka pojazdu String(40) NIE model Model pojazdu String(40) NIE categoryName Klasa pojazdu String(10) TAK gearBoxType Rodzaj skrzyni biegów String(10) NIE bodyType Rodzaj nadwozia String(10) NIE seatCount Ilość miejsc Integer NIE doorCount Ilość drzwi Integer NIE bagCount Ilość walizek Integer NIE drivingGearType Rodzaj napędu String(10) NIE fuelType Rodzaj paliwa String(10) NIE group Grupa modelowa pojazdu String(10) NIE
Obiekt BookingPriceItem:
Nazwa pola Opis pola Typ danych Wymagalność id idetyfikator elementu usługi dodatkowej String TAK name nazwa usługi dodatkowej String(50) TAK unit jednostka miary usługi dodatkowej String(10) TAK amount ilość BigDecmial TAK priceBeforeDiscount cena przed rabatem BigDecmial TAK discount wysokosc rabatu BigDecmial TAK priceAfterDiscount cena po rabacie BigDecmial TAK
Obiekt DriverItem:
Nazwa pola Opis pola Typ danych Wyamgalność firstName imię String(20) TAK lastName nazwisko String(30) TAK address adres DriverAddress TAK pesel PESEL String(11) TAK phone telefon String(60) NIE phoneMobile telefon kom. String(60) NIE email e-mail String(50) NIE idCard dane dot. dowodu os. CustomerIdDoc NIE passportNo numer paszportu String(20) NIE driveLicence dane dot prawa jazdy CustomerDriveLicence NIE country kraj String(10) NIE birthDate data urodzenia format YYYY- MM-DD HH24:MI:SS String NIE birthCity miejsce urodzenia String(30) NIE
Obiekt DriverAddress:
Nazwa pola Opis pola Typ danych Uwagi city miejscowość String(30) TAK zipCode kod pocztowy String(10) TAK street ulica String(60) TAK
Obiekt AgreementItem:
Nazwa pola Opis pola Typ danych Uwagi id dentyfiaktor oświadczenia (patrz metoda GetAgreementsDefList) String TAK value Zgoda /brak zgody Boolean TAK
Odpowiedź : Obiekt typu BookingResult
Obiekt BookingResult Nazwa pola Opis pola Typ danych Uwagi
success Sukces/Bąd Boolean rejectReason Przyczyna niepowodzenia String CAR_NOT_FOUND reservationId identyfikator rezerwacji String reservationNo numer rezerwacji String grossValue wartość brutto rezerwacji wraz z kaucją BigDecimal
- Dodanie klienta do istniejącej rezerwacji Opis: Dodaje klienta do istniejącej rezerwacji ( przypadek z rezerwacją na klienta anonimowego) URL : /customer/addToReservation Typ metody : POST Nagłówki: "Authorization: Bearer [token]" Parametry JSON Object
Nazwa Opis pola Typ danych Wymagalność customerId identyfikator klienta z systermu Flota. Parametr customer_id otrzymujemy metodą GetCustomer lub AddCustomer String TAK reservationId identyfikator rezerwacji String TAK
Odpowiedź :
Nazwa pola Opis pola Typ danych Uwagi success Sukces/Błąd Boolean rejectReason Przyczyna niepowodzenia String
- Potwierdzenie rezerwacji Opis: Zmienia rezerwację na potwierdzoną URL : /rent/confirm Typ metody : POST Nagłówki: "Authorization: Bearer [token]" Parametry JSON Object
Nazwa Opis pola Typ danych Wymagalność reservationId identyfikator rezerwacji String TAK
Odpowiedź : Obiekt typu ConfirmResult
Nazwa pola Opis pola Typ danych Uwagi success Sukces/Błąd Boolean rejectReason Przyczyna niepowodzenia String
- Anulowanie rezerwacji Opis: Anuluje rezerwację dla podanego identyfikatora rezerwacji URL : /rent/cancel Typ metody : POST Nagłówki: "Authorization: Bearer [token]" Parametry JSON Object
Nazwa pola Opis pola Typ danych Wymagalność reservationId id wynajmu/rezerwacji String TAK reason przyczyna anulowania String(255) TAK
Odpowiedź : Obiekt typu CancelBookingResponse
Obiekt CancelBookingResponse
Nazwa pola Opis pola Typ danych Uwagi success Sukces/Błąd Boolean rejectReason Przyczyna niepowodzenia String
- Podsumowanie opłat przed złożeniem rezerwacji
Opis: Metoda zwraca podsumowanie rezerwacji z elementami wyceny. W zwróconej odpowiedzi mogą pojawiać się elementy dodatkowe - np. doliczona opłata za zwrot w innym oddziale, opłata za obsługę po godzinach pracy itp. URL : /rent/princingSummary Typ metody : POST Nagłówki: "Authorization: Bearer [token]" Parametry JSON Object
Przyjmowane parametry:
Nazwa Opis pola Typ danych Wymagalność dateFrom data początku najmu String TAK dateTo data końca najmu String TAK customerId identyfikator klienta String TAK payerId identyfikator płatnika String NIE pickUpLocation Miejsce/adres wydania pojazdu RentLocation TAK returnLocation Miejsce/adres odbiotu pojazdu RentLocation TAK carParameters Parametry pojazdu CarParameters TAK priceListId identyfikator cennika String TAK depositValue wysokość kaucji BigDecimal NIE priceItems lista usług dodatkowych List NIE
Obiekt BookingPriceItem:
Nazwa pola Opis pola Typ danych Wymagalność id idetyfikator elementu usługi dodatkowej String TAK name nazwa usługi dodatkowej String(50) TAK unit jednostka miary usługi dodatkowej String(10) TAK amount ilość BigDecmial TAK priceBeforeDiscount cena przed rabatem BigDecmial TAK
dicount wysokosc rabatu BigDecmial TAK priceAfterDiscount cena po rabacie BigDecmial TAK
Odpowiedź : Obiekt typu SummaryResponse
Obiekt SummaryResponse
Nazwa pola Opis pola Typ danych Uwagi totalNetValue wartość netto rezerwacji BigDecimal totalVatValue wartość vat rezerwacji BigDecimal totalGrossValue wartość brutto rezerwacji BigDecimal pricelist lista elementów wyceny List
Obiekt PriceItem
Nazwa pola Opis pola Typ danych Uwagi id id opłaty String name nazwa opłaty String(50) code symbol opłaty String unit jednostka miary String(10) amount ilość BigDecmial priceBeforeDiscount cena przed rabatem BigDecmial dicount wysokosc rabatu % BigDecmial priceAfterDiscount cena po rabacie BigDecmial netValue wartosc netto BigDecmial vatRate stopa vat "23%" String vatValue wartość vat BigDecmial grossValue wartość brutto BigDecmial addedBySystem true oznacza że jest to dodatkowa opłata doliczona przez system z automatu Boolean systemItemType rodzaj doliczonej automatycznie opłaty: 1 - opłata za zwrot w innym oddziale, 2 - wydanie auta po godzinach pracy 3 - wydanie auta w godzinach pracy 4 - zdanie auta po godzinach pracy 5 - zdanie auta w godzinach pracy Integer
- Dodawanie wpłat i kaucji do rezerwacji
Opis: Pozwala na dodawanie wpłat i kaucji do zamówienia/rezerwacji URL : /rent/payment/add Typ metody : POST Nagłówki: "Authorization: Bearer [token]"
Parametry JSON Object
Nazwa pola Opis pola Typ danych Wymagalność reservationId id zamówienia/rezerwacji String TAK paymentDate data płatności String TAK paymentMethod sposób płatności ['GOTÓWKA', 'PRZELEW', 'KARTA PŁ.', 'PREAUTORYZ', 'INNE'] String TAK paymentType rodzaj płatności ['wpłata','kaucja','preautoryzacja','zaliczka częściowa','zaliczka całkowita'] String TAK currency symbol waluty String(3) TAK grossValue kwota wpłaty w walucie BigDecimal TAK paymentNo numer płatności String(20) NIE paymentState „Do pobrania”, „Pobrano”, „Zwrócono” TAK
Odpowiedź : Obiekt typu PaymentAddResponse
Nazwa pola Opis pola Typ danych Uwagi paymentId Id utworzenego obiektu płatności String
- Pobieranie listy opłat dodatkowych dla podanej rezerwacji / wynajmu
Opis: Zwraca listę opłat dodatkowych dla podanego id wynajmu/rezerwacji URL : /rent/pricelist/list Typ metody : GET Nagłówki: "Authorization: Bearer [token]" Parametry JSON Object
Nazwa Opis pola Typ danych Wymagalność rentId id wynajmu/rezerwacji String TAK
Odpowiedź : Obiekt typu List< RentAdditionalPriceItem>
Obiekt RentAdditionalPriceItem
Nazwa pola Opis pola Typ danych Uwagi itemId id opłaty dodatkowej String name nazwa opłaty dodatkowej String nameCode symbol nazwy String vatRate stopa va BigDecimal symbolVat symbol vat String amount ilość String currency waluta String netPrice cena netto BigDecimal grossPrice cena brutto BigDecimal unit jednostka miary String discountValue wartość rabatu BigDecimal discountPercent procent rabatu BigDecimal netValue wartość netto BigDecimal vatValue wartość vat BigDecimal grossValue wartość brutto BigDecimal payerShortName symbol płatnika String
- Pobieranie listy wpłat dla podanej rezerwacji / wynajmu
Opis: Zwraca listę wpłat dla podanego id wynajmu/rezerwacji URL : /rent/payment/list Typ metody : GET Nagłówki: "Authorization: Bearer [token]"
Przyjmowane parametry:
Nazwa Opis pola Typ danych Wymagalność rentId id wynajmu/rezerwacji String TAK
Odpowiedź : Obiekt typu List< RentPaymentItem>
Obiekt RentPaymentItem
Nazwa pola Opis pola Typ danych Uwagi itemId Id wpłaty String rentId id wynajmu/rezerwacji Integer type rodzaj wpłat/kaucja/zaliczka itp String comments uawgi String date data wpłaty String grossValue wartość brutto w walucie BigDecimal paymentMethod metoda płatności String paymentDirection Pobrano/Zwrócono/Do pobrania String currency waluta String grossPlnValue wartość brutto PLN BigDecimal payerShortName symbol płatnika String
- Dodawanie płatnika
Opis: Dodaje klienta (będącego płatnikiem) do kartoteki klientów w systemie Flota Rent
URL : /payer/add Typ metody : POST
Nagłówki: "Authorization: Bearer [token]" Parametry JSON Object
Przyjmowane parametry:
jak dla metody customer/add
Odpowiedź : taka jak dla metody customer/add