redstar

redstar
Country
Object
id
string uuid
name
string
Сustomer Api
POST /customer/register
POST /customer/login
Регистрация
POST /customer/register

Request body

Object
email
string email required
password
string required

Responses

200 OK
Body
Object
token
string required
user
CustomerUser required
Авторизация
POST /customer/login

Request body

Object
email
string email required
password
string required

Responses

200 OK
Body
Object
token
string
Partner Api
POST /partner/register
POST /partner/login
Регистрация
POST /partner/register

Request body

Object
firstName
string required
lastName
string required
email
string required
phone
string
agentId
string

Эта сущность отличается от spbToursAgentId в схеме PartnerUser, их взаимосвязь и обязательность к заполнению пока не известна

Не полный объект (по кр. мере из диза) - только поля name, companyStreet, website, companyPostalCode, companyCity

password
string required

В дизе пока нет

Responses

200 OK
Body
Object
token
string
Авторизация
POST /partner/login

Request body

Object
email
string email required
password
string required
Examples

Responses

200 OK
Body
Object
token
string
User Schemes
AgencyCompany
Object
id
number

может и не быть

name
string
contactPerson
string
phone
string
bankAccount
string
bicswift
string
email
string email
iban
string

международный номер банковского счёта

bankStreet
string
bankPostalCode
string
bankCity
string

скорее всего это будет строка, а не id

companyStreet
string
companyPostalCode
string
companyCity
string

скорее всего это будет строка, а не id

website
string uri
CustomerUser
Object
id
number
firstName
string required
lastName
string required
dateBirth
string date
сitizenship
string
email
string email required
referalCode
string
PartnerUser
Object
id
number
firstName
string required
lastName
string required
email
string email required
spbToursAgentId
string
agencyCredentials
Array of string
commissionBaltic
number
Min: 0
Max: 100
commissionMedi
number
Min: 0
Max: 100
otherInfo
string
phone
string
agency
AgencyCompany required

сам объект обязателен, но поля могут быть пустыми

Transport Schemes
SeaShip
Object
id
number
name
string
startDates
Array
string date
mapImgCoords
TransportImgCoords
Object
x
number
y
number
passengerCount
Object
Default:
{
    "adults": 0,
    "teens": 0,
    "children": 0
}
adults
number
teens
number
children
number
Tours Schemes
FilterTourParams
Object
typeCarrier
string
Enumeration:
see
train
plain
carrierId
number

Здесь будут только морские перезвозчики (по крайней мере пока)

cityId
number
startDate
string date
passengerCount
tourType
string
Enumeration:
flat
private
stationId
string

Не понятно где это используется, поскольку нигде это не отображается. Вроде как нужно для отображения инфы о трансфере, но в дизайнах этого нет. Как это будет выглядеть?

count
number

Количество записей для пейджинга

offset
number

сдвиг для пейджинга

page
number

для удобства лучше тоже отдавать для пейджинга

shipId
number
airportId
number
duration
Array

условно, можно предложить что-либо еще

string
Enumeration:
1to3h

от 1 до 3 часов

4to8

от 4 до 8

1d

1 день

2d

2 дня

3d

3 дня

sortBy
string

условно, можно предложить что-либо еще

Enumeration:
popularity

по популярности

highToLow

от высокой цены к низкой

lowToHigh

от низкой цены к высокой

TourCityInfo
Object
id
string uuid
name
string
coutntry
image
string
imageSmall
string
description
string

отображается на странице детельной инфы о регионе

showPlaces
Array

отображается на странице детельной инфы о регионе

Object
image
string uri
Tour
Object
mainCharacteristics
otherCharacteristics
thirdPartyServices
Object

Структура не известна, в дизе инфа по TripAdvisor не соответствует требованиям, указанным здесь https://developer-tripadvisor.com/content-api/display-requirements - насколько это важно - не ясно

highlights
Array of Showplace
itenarary
Object
ship
Object

Объект с числовыми ключами - ключ это день

trainPlain
Object

Объект с числовыми ключами - ключ это день

addInfo
Array of string

Каждый эелемент - пункт в additional info

eveningOptions
Array of EveningOption
includeInfo
Object
included
Array of string
excluded
Array of string
paymentDetails
Array of string
guides
Object
image
string
list
Array of Guide
priceFlat
pricePrivate
activityLevel
number

От одного до 5 с TripAdvisor не связано

image
Array

три картинки максимум

string uri
imageSmall
Array

три картинки максимум

string uri
duration
number

в часах

id
number
slug
string
tags
Array of Tag
name
string
TourCharacteristic
Array
Object
title
string
dscription
string
image
string
Showplace

Достопримечательности

Object
id
number
type
string
Example:
Museum
title
string
link
string uri

может и не быть

description
string
tours
Array
Object
id
number
slug
string
name
string
image
string
smallImage
string
galery
Array
string uri
coords
Object
lat
number
lng
number
Intenarary
Array
Object
type
string
Enumeration:
meeting
photo
lunch
showplace
time
string date-time
description
string
parnter
Object
logo
string

скорее всего ссылка

description
string
array
string

урлы картинок блюд, или может чего-нибудь еще

EveningOption
Object
id
number
title
string
description
string
duration
number

количество часов

price
passengerCount
TourShort
Object
id
number
slug
string
tags
Array of Tag
name
string
image
string
imageShort
string
duration
number

в часах

activityLevel
number

От одного до 5 с TripAdvisor не связано

otherCharacteristics
priceFlat
pricePrivate
Package
Object
id
number
slug
string
name
string
description
string
places
Object
tour
number

id тура, было бы не плохо сразу получать здесь объект тура, но он большой, поэтому лучше тур отдельным запросом получать

priceFrom
priceSave
duration
integer

в днях

image
Array

три картинки максимум

string uri
imageSmall
Array

три картинки максимум

string uri
Price
Object
usd
number
eur
number
Tag
Object
id
number
name
string

например Top

Получение списка морских перевозчиков
GET /get-sea-carrier-list

Request parameters

derection
number required

id региона

Responses

200 OK
Body
Object
id
number
name
string
Получение списка морских судов по перевозчику
GET /get-sea-ship-list/{carrierId}

Path variables

carrierId
number required

Responses

200 OK
Body
Object
id
number
name
string
startDates
Array
string date
cities
Array
Object
startDate
string date
endDate
string date
duration
number

в днях с округлением в большую сторону

Получение городов жд сообщений
GET /get-train-city-list

Request parameters

derection
number required

Responses

200 OK
Body
Object
id
string
data
Object
stations
Array
Object
id
number
name
string
Получение городов авиа сообщений
GET /get-air-city-list

Request parameters

derection
number optional

id региона

Responses

200 OK
Body
Object
id
number
data
Object
airports
Array
Object
id
number
name
string
Получить список пакетов по фильтру
GET /get-package-filter

Request body

Responses

200 OK
Body
Array of Package
Получить список туров по фильтру
GET /get-tour-filter

Request body

Responses

200 OK
Body
Array of TourShort
Получить список регионов
GET /get-deristion-list

Это нужно будет делать в первую очередь, так как от этого зависят транспортные запросы для карты и плавающего поиска

Responses

200 OK
Body
Array of Derection Short
Получить информацию по главной странице
GET /get-main-page-info

Responses

200 OK
Body
Object
packages
Array of Package
visaInfo
calculatorInfo
Object
image
string uri
title
string
subtitle
string
text
string
tour
aboutUsInfo
Object
image
string uri
reviews
Array of Review
faq
Array of FAQ
Получить детальную информацию о регионе
GET /get-derection-info/{id}

Path variables

id
number required

Responses

200 OK
Body
Получить детальную информацию о городе
GET /get-detail-city/{id}

Path variables

id
number required

Responses

200 OK
Body
Object
id
number
name
string
country
weatherInfo
Object
icon
string uri

скорее всего название типа - дождь, дождь с грозой и т.п.

centigrade
number
fahrenheit
number
description
string
Example:
It's cloudy now
image
string
downloadLink
string uri
interestingSection
topPlaces
Object
title
string
description
string
showPlaces
Array of Showplace

То что отображается в стопке в разделе Это интересно

tours
Array of TourShort
packages
Array of Package
visaInfo
addInfo
Array
Any of
Object
title
string
description
string
Object
title
string
description
Array of string

для списков

translations
Array
Object
name
string
transcription
string
translate
string
hacks
Array of Showplace
showPlaces
Array of Showplace
galery
Array
Object
name
string
photos
string uri
otherTours
Array of TourShort
movie
string uri

ссылка на youtube

currency
string
Example:
rub
Получить список городов
GET /get-cities-list

Нужно скорее всего это запрашивать при запуске приложения и сохранять

Responses

200 OK
Body
Array of TourCityInfo
Derections Schemes
Derection Short
Object
derections
Object
id
number
name
string
countriesCount
number
citiesCount
number
image
string uri
Review
Object
user
Object
firstName
string
lastName
string

в дизайне пока нет, но мало ли

date
string date
rating
number

от 1 до 5 связано с tripadvisor

title
string
text
string
FAQ
Object
id
number
question
string
answer
string
Получить список сотрудников и машин
GET /get-team-list

Responses

200 OK
Body
Object
guides
Array of Guide
officeWorkers
Array of Stuff
drivers
Array of Stuff
cars
Array of CarInfo
Получить список отзывов по годам
GET /get-reviews-filter

Request parameters

year
number required

возможно придется написать запрос на получение списка годов, там где есть отзывы

count
number required
offset
number required
page
number required

Responses

200 OK
Body
Array of Review
Получить коды всех стран
GET /get-phone-code-list

Возможно придется это зашить на клиенте

Responses

200 OK
Body
Array of number
Отправить обратную связь
POST /send-feedback

Для поля ввода ID предполагается маска NNNNN (5 символов). Для остальных полей достаточно введения минимум 3 символов.

Request body

Object
firstName
string required
lastName
string required
phone
string required
Example:
79287777777
email
string email required
isUserId
boolean
Default:
true
userId
number

необходимо заполнять если isUserId === true

message
string required
Получить html about pages
GET /get-html-about

Responses

200 OK
Body
Object
care
Object
main
string
help
string
testimonials
Object

Это только хедер, потому что список самих отзывов идет по годам

Example:
Это только хедер, потому что список самих отзывов идет по годам
header
string
years
Array of number

годы в которых есть отзывы

cautomerCare
Object
header
string
contacts
Object
main
string
Team Schemes
Guide
Object
id
number
firstName
string
lastName
string
statrtWorkDate
string date
description
string
image
string
ImageSmall
string

возможно не понадобится

Stuff
Object
firstName
string
lastName
string
position
string
quote
string
description
string
id
number
CarInfo
Object
id
number
image
string
title
string
description
string
VisaInfo
Object
image
string uri
description
string

должен быть html

countries
Array of string

Возможно не строка, а объект с полями id, name. Но пока не известно для чего этот список предназначен

Booking Schemes
Booking

функционал корзины

Object
id
number
tourOrders
Array of TourOrder
totalPrice
eveningOptionsPrice
packageSavingPrice
promocodePrice
ship
Object
id
number
name
string
carrier
Object
id
string
name
string
passengerCount
typeCarrier
string
Enumeration:
sea
train
plain
persons
Array of PersonOrder

может и не быть изначально. если не дошли до второго этапа

stationId
number

берется из данных, что ввел клиент

transferAddress
string

Если будет указан переключетель трансфера

sailingDate
string date

дата начала круиза || дата прибытия корабля, поезда || первая выбраная дата при добавлении тура

airportId
number

берется из данных, что ввел клиент

lang
string

обозначение языка, ru, например

TourOrder
Object
id
number

id тура

slug
string

slug тура

startDate
string date-time
endDate
string date-time
totalPrice

Расчетная цена - высчитывается на сервре, с со всеми доп параметрами и условиями при добавлении в заказ

tourType
string
Enumeration:
private
flat
passengerCount
isDissabilities
boolean
eveningOptions
Array of EveningOption
comment
string

по умолчанию пустая строка

image
string uri
PersonOrder
Object
firstName
string
lastName
string
phone
string
email
string email
dateBirth
string date
citizenhoip
string
passportNumber
string
dietaryRestrictions
Array of number

id пунтов диеты

isLeader
boolean
id
number

возмжно не будет, в качестве id - номер паспорта

AddOrderTourParams
Object
tourId
number
tourType
string
Enumeration:
private
flat
isDissabilities
boolean
eveningOptions
Array of EveningOption
startDate
string date-time
passengerCount
carrierId
number

для морских пока

shipId
number

Если морские

typeCarrier
string
Enumeration:
sea
train
plain
Order
Object
id
number
panding
boolean

в ожидании отказа или подтверждения

downloads
Object
description
string uri
ticket
string uri
receipt
string uri
isPaid
boolean

проплачен или нет

isApproved
boolean

одобрено или нет, если менее чем 7 дней до начала нужно одобрение

depositPayment
number

проплата депозитом в валюте

lastPayment
Object
type
string
Enumeration:
card
cash
date
string date

дата проплаты

restPayment
string

Оставшаяся часть в валюте

commission
number

коммисия в валюте если она есть

booking
status
string

нужно какое-нибудь перечисление (event passed, order cancel)

Enumeration:
passed
cancel
Добавить к тур к оплате
POST /add-tour-order

Request body

Responses

200 OK
Body
Добавить комментарий к заказанному туру
POST /add-comment-order-tour

Request body

Object
tourId
number
comment
string

Responses

200 OK
Проверить наличие тура
POST /check-tour-available

Request body

Responses

200 OK
Получить список ограничений по диете
GET /get-diets-filter

для поиска ограничений по диетам

Request parameters

search
string optional

Responses

200 OK
Body
Array
Object
id
number
name
string
Подтверждение email
POST /confirm-email

Убираются лишние поля по типу диеты

Request body

Responses

200 OK
Оплатить заказ
POST /pay-order

Request body

Object
isDeposit
boolean
booking
tourOrders
Array of TourOrder
isCash
boolean

Только для Санкт-Петербурга, скорее всего делается для пометки, что будет оплачено наличкой

Responses

201 Created
Body
Поменять количество пассажиров
POST /change-passenger-count

Request body

Object
orderId
number
changeData
Array
Object
tourId
number
data
Object
passengerCount

Responses

200 OK
Применить промокод
POST /apply-promocode

Request body

Object
bookingId
number
promocode
string

Responses

200 OK
Body
Изменить данные о букинге
POST /change-booking-info

возможно что-то будет еще или весь объект букнига

Request body

Object
lang
string
passengerCount
sailingDate
string date

Responses

201 Created
Body
Удалить тур из букинга
POST /remove-tour-booking

Request body

Object
bookingId
number
tourId
number

Responses

201 Created
Body
Редактировать тур из букинга
POST /edit-tour-booking

Request body

Object
bookingId
number
tour

Responses

200 OK
Body
Добавить изменить данные о пассажире
POST /add-edit-passnger

Request body

Responses

200 OK
Body
Удалить данные о пассажире
POST /remove-passenger

Request body

Object
bookingId
number
passengerId
number

Responses

201 Created
Body
Проверка туров в букинге
POST /check-booking

Те же данные. что и при изменении данных о букинге

Request body

Object
lang
string
passengerCount
sailingDate
string

Responses

200 OK
Body
Object
inaccessibleTours
eveningOptionsPrice
packageSavingPrice
inaccessiblePrice
Отменить заказ
POST /cancel-order

Request body

Object
orderId
number

Responses

200 OK
Body
Превышение предела количества людей
POST /limit-passengers

Request body

Object
email
string

Responses

200 OK
Favorite api
Добавить в избранное
POST /add-favorite

Request body

Object
tourId
number
Получить избранное
POST /get-favorite-filter

Request body

Responses

200 OK
Body
Array of TourShort
Полчить список частых вопросов
GET /get-faq

Responses

200 OK
Body
Array
Object
id
string

описание группы

name
string
questions
Array of FAQ