turboself-api
Version:
A wrapper around Turboself internal API.
860 lines (837 loc) • 30.5 kB
text/typescript
/** @class Host */
declare class Host {
/** Internal identifier of the host on the digital space */
id: number;
/** Internal identifier of the host in the TurboSelf local database */
localId: number;
etabId: number;
/** First name of the host */
firstName: string;
/** Last name of the host */
lastName: string;
/** Host mode */
mode: "Argent" | "Forfait";
/** Host quality */
quality: string;
/** Host's Class */
division: string;
/** Lunch Price */
lunchPrice: number;
/** Type of host (Student or Commensal or Trainee) */
type: number;
/** Host coded card number */
cardNumber: number;
/** Access URL for Cafeteria pre-order */
cafeteriaUrl: string | null;
permissions: {
/** Does the student have the right to payment in the digital space? */
payment?: boolean;
/** Does the student have the right to reservation on the digital space? */
reservation?: boolean;
/** Is the student entitled to pre-order Cafeteria on the digital space? */
cafeteria?: boolean;
/** Is the host allowed to book if their balance is insufficient? */
bookWithNegativeBalance?: boolean;
/** Number of passages or reservations authorized at the Self for a service */
maxPassages?: number;
};
constructor(
/** Internal identifier of the host on the digital space */
id: number,
/** Internal identifier of the host in the TurboSelf local database */
localId: number, etabId: number,
/** First name of the host */
firstName: string,
/** Last name of the host */
lastName: string,
/** Host mode */
mode: "Argent" | "Forfait",
/** Host quality */
quality: string,
/** Host's Class */
division: string,
/** Lunch Price */
lunchPrice: number,
/** Type of host (Student or Commensal or Trainee) */
type: number,
/** Host coded card number */
cardNumber: number,
/** Access URL for Cafeteria pre-order */
cafeteriaUrl: string | null, permissions: {
/** Does the student have the right to payment in the digital space? */
payment?: boolean;
/** Does the student have the right to reservation on the digital space? */
reservation?: boolean;
/** Is the student entitled to pre-order Cafeteria on the digital space? */
cafeteria?: boolean;
/** Is the host allowed to book if their balance is insufficient? */
bookWithNegativeBalance?: boolean;
/** Number of passages or reservations authorized at the Self for a service */
maxPassages?: number;
});
}
declare class Balance {
/** Internal identifier of a host's accounting in the digital space */
id: number;
/** Internal identifier of the host */
hostId: number;
/** Label of the balance */
label: string;
/** Amount of the balance */
amount: number;
/** Estimated host account balance (taking into account future reservations and OK payments) */
estimatedAmount: number;
/** Date of the estimated balance */
estimatedDate: Date;
constructor(
/** Internal identifier of a host's accounting in the digital space */
id: number,
/** Internal identifier of the host */
hostId: number,
/** Label of the balance */
label: string,
/** Amount of the balance */
amount: number,
/** Estimated host account balance (taking into account future reservations and OK payments) */
estimatedAmount: number,
/** Date of the estimated balance */
estimatedDate: Date);
}
declare class Payment {
/** Internal identifier of Payline payment in the digital space */
id: number | null;
/** Host ID of the buyer */
hostId: number;
/** Amount of the payment */
amount: number;
/** Status of the payment */
status: string;
/** Payment token */
token: string;
/** URL of the payment page */
url: string | null;
/** URL to redirect to if the payment is cancelled */
cancelURL: string;
/** URL to redirect to if the payment is successful */
returnURL: string;
/** Date of the payment */
date: Date;
constructor(
/** Internal identifier of Payline payment in the digital space */
id: number | null,
/** Host ID of the buyer */
hostId: number,
/** Amount of the payment */
amount: number,
/** Status of the payment */
status: string,
/** Payment token */
token: string,
/** URL of the payment page */
url: string | null,
/** URL to redirect to if the payment is cancelled */
cancelURL: string,
/** URL to redirect to if the payment is successful */
returnURL: string,
/** Date of the payment */
date: Date);
}
declare class HistoryEvent {
/** Internal identifier of a host's history in digital space */
id: number;
/** Date of the operation */
date: Date;
/** Operation details */
label: string;
/** Amount of the operation */
amount: number;
constructor(
/** Internal identifier of a host's history in digital space */
id: number,
/** Date of the operation */
date: Date,
/** Operation details */
label: string,
/** Amount of the operation */
amount: number);
}
declare class BookingDay {
private token;
/** Internal identifier of the host on the digital space */
hostId: number;
/** Internal identifier of the booking week in the digital space */
id: string;
/** Whether the day is booked */
booked: boolean;
/** Whether the day is available to book */
canBook: boolean;
/** Day of the week */
dayNumber: number;
/** Message to display */
message: string;
/** Number of reservations this day */
reservations: number;
/** Date of the day */
date: Date;
constructor(token: string,
/** Internal identifier of the host on the digital space */
hostId: number,
/** Internal identifier of the booking week in the digital space */
id: string,
/** Whether the day is booked */
booked: boolean,
/** Whether the day is available to book */
canBook: boolean,
/** Day of the week */
dayNumber: number,
/** Message to display */
message: string,
/** Number of reservations this day */
reservations: number,
/** Date of the day */
date: Date);
book(reservations?: number, bookEvening?: boolean): Promise<BookingDay>;
}
declare class Terminal {
/** Internal identifier of the Self terminal in the digital space */
id: number;
/** Internal identfeir of the Self terminal in the local database */
localId: number;
/** 2P5 Code of the establishment */
code: number;
/** Terminal Name (eg. Self) */
name: string;
prices: Array<{
/** Internal identifier of the price in the digital space */
id: number;
/** Internal identifier of the price in the local database */
localId: number;
/** Name of the price */
name: string;
/** Price in cents */
price: number;
}>;
constructor(
/** Internal identifier of the Self terminal in the digital space */
id: number,
/** Internal identfeir of the Self terminal in the local database */
localId: number,
/** 2P5 Code of the establishment */
code: number,
/** Terminal Name (eg. Self) */
name: string, prices: Array<{
/** Internal identifier of the price in the digital space */
id: number;
/** Internal identifier of the price in the local database */
localId: number;
/** Name of the price */
name: string;
/** Price in cents */
price: number;
}>);
}
declare class Booking {
/** Internal identifier of a host's accounting in the digital space */
id: string;
/** Calendar week number */
week: number;
/** Internal identifier of the host on the digital space */
hostId: number;
/** Week Start Date */
from: Date;
/** Week End Date */
to: Date;
/** Terminal information */
terminal: Terminal;
/** Days of the week available to book */
days: Array<BookingDay>;
constructor(
/** Internal identifier of a host's accounting in the digital space */
id: string,
/** Calendar week number */
week: number,
/** Internal identifier of the host on the digital space */
hostId: number,
/** Week Start Date */
from: Date,
/** Week End Date */
to: Date,
/** Terminal information */
terminal: Terminal,
/** Days of the week available to book */
days: Array<BookingDay>);
}
declare const getHost: (token: string, hostId: number) => Promise<Host>;
declare const getBalances: (token: string, hostId: number) => Promise<Array<Balance>>;
declare const initPayment: (token: string, hostId: number, amount: number) => Promise<Payment>;
declare const getHistory: (token: string, hostId: number) => Promise<Array<HistoryEvent>>;
declare const getHistoryEvent: (token: string, hostId: number, eventId: number) => Promise<HistoryEvent>;
declare const getLastPayment: (token: string, hostId: number) => Promise<Payment>;
declare const canBookEvening: (token: string, hostId: number) => Promise<boolean>;
declare const getBookings: (token: string, hostId: number, week?: number) => Promise<Array<Booking>>;
declare const bookMeal: (token: string, hostId: number, bookId: string, day: number, reservations?: number, bookEvening?: boolean) => Promise<BookingDay>;
declare const getHostSiblings: (token: string, hostId: number) => Promise<Array<Host>>;
declare const requestPasswordReset: (email: string) => Promise<boolean>;
declare const editPassword: (user: number, actualPassword: string, password: string, token: string) => Promise<string>;
interface Location {
/** City of the establishment */
city: string | null;
/** Address of the establishment */
address: string | null;
/** Postcode of the establishment */
postcode: string | null;
}
interface Permissions {
/** Maximum number of reservations per service for students in money mode */
maxReservationsStudentMoney: number | null;
/** Maximum number of reservations per service for students in package mode */
maxReservationsStudentPackage: number | null;
/** Maximum number of reservations per service for commensals in money mode */
maxReservationsCommensalMoney: number | null;
/** Maximum number of reservations per service for commensals in package mode */
maxReservationsCommensalPackage: number | null;
/** Maximum number of reservations per service for trainees in money mode */
maxReservationsTraineeMoney: number | null;
/** Maximum number of reservations per service for trainees in package mode */
maxReservationsTraineePackage: number | null;
/** Right for the QR Code for students */
qrCodeStudent: boolean | null;
/** Right for the QR Code for commensals */
qrCodeCommensal: boolean | null;
/** Right for the QR Code for trainees */
qrCodeTrainee: boolean | null;
/** Should we hide student history on the home page? */
hideHistory: boolean | null;
}
interface Contact {
/** Phone number of the establishment */
phoneNumber: string | null;
/** Fax number of the establishment */
faxNumber: string | null;
/** Email of the establishment */
email: string | null;
/** Website of the establishment */
website: string | null;
}
interface Synchronisation {
/** Date of the last synchronisation */
firstSync: Date;
/** Date of the next synchronisation */
lastSync: Date;
}
interface rawEstablishmentResult {
/** Internal identifier of the establishment on the digital space */
id: number;
/** Address 1 of the establishment */
adr1: string;
/** Address 2 of the establishment */
adr2: string;
/** Postcode of the establishment */
cp: string;
/** City of the establishment */
ville: string;
/** Phone number of the establishment */
tel?: string;
/** Fax number of the establishment */
fax?: string;
/** Logo of the establishment */
logoUrl?: string;
/** Date of first sync of the establishment */
datePremSynchro?: string;
/** Date of last sync of the establishment */
dateDernSynchro?: string;
/** Public IP address of the Teambox */
ipTeamBox?: string;
/** Currency Symbol (eg. €) */
currencySymbol?: string;
configuration?: rawEstablishmentConfiguration;
configurationsReservation?: Array<rawEstablishmentReservationConfiguration>;
configurationSelf?: rawEstablishmentConfigurationSelf;
/** Establishment number */
numEtab?: string;
/** Is the establishment disabled in the digital space? */
desactive?: boolean;
/** MAC address of the TeamBox */
pcServeur?: string;
/** Number of authorized transactions */
nbTransactionAutorise?: number;
/** Total number of reservations */
nbReservationsTotal?: number;
/** Code2p5 of the establishment */
code2p5?: string;
/** Name of the establishment */
nom?: string;
/** Version of Turboself used by the establishment */
versionTS?: string;
}
interface rawEstablishmentSearchResult {
/** Code2p5 of the establishment */
code2p5: string;
/** Name of the establishment */
nom: string;
/** Version of Turboself used by the establishment */
versionTS: string;
}
interface rawEstablishmentConfigurationSelf {
/** Internal identifier of the configuration of an establishment on the digital space */
id?: number;
/** Maximum number of reservations per service for students in money mode */
nbmultiElvArg?: number;
/** Maximum number of reservations per service for students in plan mode */
nbmultiElvFor?: number;
/** Maximum number of reservations per service for commensals in money mode */
nbmultiComArg?: number;
/** Maximum number of reservations per service for commensals in plan mode */
nbmultiComFor?: number;
/** Maximum number of reservations per service for trainees in money mode */
nbmultiStgArg?: number;
/** Maximum number of reservations per service for trainees in plan mode */
nbmultiStgFor?: number;
/** Date of last sync of the configuration */
dateDernSynchro?: string;
/** Number of negative meals authorized for students */
nbrepasnegElv?: number;
/** Number of negative meals authorized for commensals */
nbrepasnegCom?: number;
/** Number of negative meals authorized for trainees */
nbrepasnegStg?: number;
}
interface rawEstablishmentConfiguration {
/** Internal identifier of the configuration of an establishment on the digital space */
id?: number;
/** Url of the establishment's website*/
url?: string;
/** Email address for creating an account */
emailCreationCompte?: string;
/** Email of the establishment */
email?: string;
/** Minimum number of meals to credit the Self account */
nbRepasMini?: number;
/** Minimum claim to credit the plan account */
creanceMini?: number;
/** Minimum amount to credit the Self account */
montantCreditMini?: number;
/** Number of weeks of reservations displayed on the site or app */
nbSemaineReserv?: number;
jPlusN?: number;
/** Greeting message on the home page */
msgAccueil?: string;
sso?: SSOConfiguration;
/** Does the commensals have the right to use the QR Code? */
autoriseQrCodeCommensal?: boolean;
/** Does the students have the right to use the QR Code? */
autoriseQrCodeEleve?: boolean;
/** Does the trainees have the right to use the QR Code? */
autoriseQrCodeStagiaire?: boolean;
/** Should we hide student history on the home page? */
cacherHistorique?: boolean;
fermetures?: Array<CloseConfiguration>;
}
interface CloseConfiguration {
/** Internal identifier of the reservation or payment closure configuration */
id: number;
/** Does the closure concern the reservation? */
rsv?: boolean;
/** Does the closure concern the payment? */
paiement?: boolean;
/** Closure start date */
du: string;
au: string;
synchro?: boolean;
}
interface SSOConfiguration {
/** Internal identifier of Sso in the digital space */
id?: number | null;
/** ENT Code */
entCode: string | null;
/** ENT Name */
entName: string | null;
/** CAS Server URL */
serveurCas: string | null;
/** Service URL */
service: string | null;
}
interface rawEstablishmentReservationConfiguration {
id?: number;
usage?: number;
elecom?: number;
finReserv?: string;
}
interface Closure {
/** Identifiant interne de la configuration de fermeture de la réservation ou du paiement */
id: number;
/** Does the closure concern the reservation? */
canBook: boolean;
/** Does the closure concern the payment? */
canPay: boolean;
/** Closure start date */
from: Date;
/** Closure end date */
to: Date;
}
/** @class Establishment */
declare class Establishment {
/** Internal identifier of the establishment on the digital space */
id: number;
/** Name of establishment (max length: 50) */
name: string;
/** Currency symbol */
currencySymbol: string | null;
/** 2p5 code */
code: string | null;
/** URL of the establishment logo */
logoUrl: string | null;
/** UAI (Unité Administrative Immatriculée) code, unique to each establishment */
uai: string | null;
/** Server MAC Adress */
macAddress: string | null;
/** Digital space greeting */
motd: string;
/** Minimum number of meals to credit the Self account */
minMealsToCredit: number | null;
/** Minimum debt to credit the Forfait account */
minDebtToCredit: number | null;
/** Minimum amount to credit the Self account */
minAmountToCredit: number | null;
/** If the establishment is disabled */
disabled: boolean | null;
closures: Array<Closure>;
location: Location;
contact: Contact;
permissions: Permissions;
sso: SSOConfiguration | null;
synchronisation: Synchronisation;
constructor(
/** Internal identifier of the establishment on the digital space */
id: number,
/** Name of establishment (max length: 50) */
name: string,
/** Currency symbol */
currencySymbol: string | null,
/** 2p5 code */
code: string | null,
/** URL of the establishment logo */
logoUrl: string | null,
/** UAI (Unité Administrative Immatriculée) code, unique to each establishment */
uai: string | null,
/** Server MAC Adress */
macAddress: string | null,
/** Digital space greeting */
motd: string,
/** Minimum number of meals to credit the Self account */
minMealsToCredit: number | null,
/** Minimum debt to credit the Forfait account */
minDebtToCredit: number | null,
/** Minimum amount to credit the Self account */
minAmountToCredit: number | null,
/** If the establishment is disabled */
disabled: boolean | null, closures: Array<Closure>, location: Location, contact: Contact, permissions: Permissions, sso: SSOConfiguration | null, synchronisation: Synchronisation);
}
declare const searchEstablishments: (query: string, code?: string, limit?: number, minimalist?: boolean, token?: string) => Promise<Array<Establishment>>;
declare const getEstablishmentBy2P5: (token: string, code2p5: string) => Promise<Establishment>;
declare const getEstablishment: (token: string, etabId: number) => Promise<Establishment>;
declare const getPayment: (token: string, paymentToken: string) => Promise<Payment>;
interface rawAuthResult {
/** Bearer token */
access_token: string;
/** ID of the account */
userId: number;
/** ID of the host */
hoteId: number;
}
interface AuthCredentials {
/** Bearer Token */
token: string;
/** ID of the host */
hostId: number;
/** ID of the account */
userId: number;
/** Username used for authentication */
username: string | null;
/** Password used for authentication */
password: string | null;
/** Token expiration date */
token_expiry: number;
}
declare class Client {
private credentials;
establishment?: Establishment | undefined;
host?: Host | undefined;
balances?: Array<Balance> | undefined;
constructor(credentials: AuthCredentials, establishment?: Establishment | undefined, host?: Host | undefined, balances?: Array<Balance> | undefined);
/** This method is used to book a meal.
* @param bookId The booking ID
* @param day The day
* @param reservations The number of reservations
* @param bookEvening Whether to book the evening
*/
bookMeal(bookId: string, day: number, reservations?: number, bookEvening?: boolean): Promise<BookingDay>;
/** This method is used to check if the client can book an evening.
*/
canBookEvening(): Promise<boolean>;
/** This method is used to edit the password of the client.
* @param actualPassword The actual password
* @param password The new password
* @returns The token of the request
*/
editPassword(actualPassword: string, password: string): Promise<string>;
/** This method is used to get the balances of the client.
*/
getBalances(): Promise<Array<Balance>>;
getBookings(week?: number): Promise<Array<Booking>>;
/** This method is used to get the establishment of the client.
* @param establishmentId The establishment ID to get. If not provided, the establishment of the host will be returned.
*/
getEstablishment(establishmentId?: number): Promise<Establishment>;
/** This method is used to get the history of the client.
*/
getHistory(): Promise<Array<HistoryEvent>>;
/** This method is used to get a specific history event.
* @param eventId The event ID
*/
getHistoryEvent(eventId: number): Promise<HistoryEvent>;
/** This method is used to get the host of the client.
*/
getHost(): Promise<Host>;
/** This method is used to get the last payment of the client.
*/
getLastPayment(): Promise<Payment>;
/** This method is used to get a specific payment.
* @param paymentToken The payment token
*/
getPayment(paymentToken: string): Promise<Payment>;
/** This method is used to get siblings of the host
*/
getSiblings(): Promise<Array<Host>>;
/** This method is used to initialize a payment.
* @param amount The amount
*/
initPayment(amount: number): Promise<Payment>;
refreshBearerToken(force?: boolean): Promise<boolean>;
/** This method is used to search for establishments.
* @param query The query to search for.
* @param code The establishment code to search for.
* @param limit The maximum number of establishments to return.
* @param minimalist Whether to return only minimalist data or the full establishment data (more requests).
*/
searchEstablishments(query: string, code?: string, limit?: number, minimalist?: boolean): Promise<Array<Establishment>>;
}
interface rawRequestPasswordResetResult {
accepted: Array<string>;
rejected: Array<string>;
envelopeTime: number;
messageTime: number;
/** Size of the message in bytes */
messageSize: number;
/** SMTP Code */
response: string;
envelope: {
/** Sender email */
from: string;
/** Recipient email */
to: Array<string>;
};
/** Message ID */
messageId: string;
}
interface rawPasswordChangeResult {
id: number;
email: string;
dateDernConn: string;
token: string;
}
interface rawPaymentResult {
id: number;
hote: {
id: number;
};
date: string;
/** ? Not referenced in API Documentation */
type: unknown;
/** Amount of the payment */
montant: number;
/** Payline payment synchronization date */
dateMaj: string;
/** Payment status */
statut: "OK" | "INIT" | "ANNULE" | "ERREUR";
/** Payline payment transaction ID */
idTransaction: string | null;
/** Payline payment token */
token: string;
paiements?: Array<{
id: number;
compte: unknown;
appli: unknown;
montant: number;
}>;
/** Status message (eg. Paiement refusé) */
msg: string;
}
interface rawTerminalResult {
id: number;
code2p5: number;
idOrig: number;
lib: string;
prix: Array<rawPriceResult>;
}
interface rawPriceResult {
id: number;
borneId: number;
usage: number;
prix: number;
idOrig: number;
lib: string;
}
interface rawHostResult {
/** Internal identifier of the host on the digital space */
id: number;
/** Internal identifier of the host in the TurboSelf local database */
idOrig: number;
/** Establishment attached to the host */
etab: rawEstablishmentResult;
/** Host's first name */
nom: string;
/** Host's last name */
prenom: string;
/** Host mode */
mode: "Argent" | "Forfait";
/** Host quality */
qualite: string;
/** Host's Class */
division: string;
/** Lunch Price */
prixDej: number;
/** Type of host (Student or Commensal or Trainee) */
type: number;
/** Number of passages or reservations authorized at the Self for a service */
nbMulti: number;
/** Does the student have the right to payment in the digital space? */
droitPaiement: boolean;
/** Does the student have the right to reservation on the digital space? */
droitReservation: boolean;
/** Is the student entitled to pre-order Cafeteria on the digital space? */
droitCafeteria: boolean;
/** Access URL for Cafeteria pre-order */
urlCafeteria?: string;
/** Host last sync date on digital space */
dateDernSynchro: string;
/** Is the host disabled? */
desactive: boolean;
/** Does the host have a private password? */
mdpPrive: boolean;
/** Is the host allowed to book if their balance is insufficient? */
autoriseReservSoldeIns: boolean;
/** Modulated package profile (bit fields) */
profilForfaitModule: number;
/** Host coded card number */
carteCodee: number;
}
interface rawHostBalanceResult {
/** Internal identifier of a host's accounting in the digital space */
id: number;
/** Internal identifier of the accounting account in the digital space */
compte: number;
appli: {
/** Internal identifier of the app in the digital space */
id: number;
/** TurboSelf identifier of the app in the local TurboSelf database */
idOrig: number;
/** App Label */
lib: string;
};
hote: {
/** Internal identifier of the host on the digital space */
id: number;
};
/** Host account balance */
montant: number;
/** Estimated host account balance (taking into account future reservations and OK payments) */
montantEstime: number;
/** Estimated host account balance as a string */
montantEstimeMsg: string;
}
interface rawPaymentInitResult {
result: {
code: string;
shortMessage: string;
longMessage: string;
};
/** Payment Token */
token: string;
/** URL of the payment page */
redirectURL: string;
_rawResponse: string;
}
interface rawHistoryGet {
/** Internal identifier of a host's history in digital space */
id: number;
/** History date */
date: string;
/** Operation details */
detail: string;
/** Debit amount */
debit: number | null;
/** Credit amount */
credit: number | null;
}
interface rawBookingResult {
rsvWebDto: Array<RsvWebWeekDto>;
numSemaines: Array<number>;
isResaSoirActive: boolean;
dateSemaine: string;
}
interface RsvWebWeekDto {
id: string;
hote: {
id: number;
};
annee: number;
semaine: number;
borne: rawTerminalResult;
joursAutorises: number;
jours: Array<rawBookingDay>;
usage: number;
}
interface rawBookingDay {
dayReserv: number;
reservDernSynchro: number;
dayOfWeek: number;
web: {
id: string;
};
autorise: boolean;
msg?: string;
dayLabel: string;
}
interface rawBookResult {
dayReserv: number;
reservHorsKiosk: number;
reservDernSynchro: number;
web: {
id: string;
annee: number;
semaine: number;
borneId: number;
joursAutorises: number;
usage: number;
hote: rawHostResult;
};
rsvwebid: string;
dayOfWeek: number;
msg: string;
id: string;
}
interface rawHostHomeResult {
latestPaiement: rawPaymentResult;
historiques: Array<rawHistoryGet>;
comptesHote: Array<rawHostBalanceResult>;
}
interface RequestOptions {
method?: "GET" | "POST" | "PUT" | "DELETE";
path?: string;
body?: unknown;
headers?: Record<string, string>;
}
declare const authenticateWithCredentials: (username: string, password: string, remember?: boolean, minimalist?: boolean, hoteId?: number) => Promise<Client>;
declare const authenticateWithTicket: (ent: "PRONOTE" | string, ticket: string, remember?: boolean, minimalist?: boolean) => Promise<Client>;
export { type AuthCredentials, Balance, Booking, BookingDay, Client, type CloseConfiguration, type Closure, type Contact, Establishment, HistoryEvent, Host, type Location, Payment, type Permissions, type RequestOptions, type RsvWebWeekDto, type SSOConfiguration, type Synchronisation, Terminal, authenticateWithCredentials, authenticateWithTicket, bookMeal, canBookEvening, editPassword, getBalances, getBookings, getEstablishment, getEstablishmentBy2P5, getHistory, getHistoryEvent, getHost, getHostSiblings, getLastPayment, getPayment, initPayment, type rawAuthResult, type rawBookResult, type rawBookingDay, type rawBookingResult, type rawEstablishmentConfiguration, type rawEstablishmentConfigurationSelf, type rawEstablishmentReservationConfiguration, type rawEstablishmentResult, type rawEstablishmentSearchResult, type rawHistoryGet, type rawHostBalanceResult, type rawHostHomeResult, type rawHostResult, type rawPasswordChangeResult, type rawPaymentInitResult, type rawRequestPasswordResetResult, requestPasswordReset, searchEstablishments };