# 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"

9. 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<BookingPriceItem>  NIE
drivers lista kierowców List<DriverItem>  NIE
agreementItems lista zgód
marketingowych/oświadczeń
zaznaczonych przez klienta
List<AgreementItem>  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

10. 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

11. 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

12. 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

19. 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<BookingPriceItem>  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<PriceItem>

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

23. 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

24. 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

25. 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

26. 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
