skyhook-graphql-sdk
Version:
Node SDK for the Skyhook graphql API
1,777 lines • 125 kB
TypeScript
export declare type Maybe<T> = T | null;
export declare type InputMaybe<T> = Maybe<T>;
export declare type Exact<T extends {
[key: string]: unknown;
}> = {
[K in keyof T]: T[K];
};
export declare type MakeOptional<T, K extends keyof T> = Omit<T, K> & {
[SubKey in K]?: Maybe<T[SubKey]>;
};
export declare type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {
[SubKey in K]: Maybe<T[SubKey]>;
};
/** All built-in and custom scalars, mapped to their actual values */
export declare type Scalars = {
ID: string;
String: string;
Boolean: boolean;
Int: number;
Float: number;
AWSDate: string;
AWSDateTime: string;
AWSEmail: string;
AWSIPAddress: string;
AWSJSON: {
[key: string]: any;
};
AWSPhone: string;
AWSTime: string;
AWSTimestamp: string;
AWSURL: string;
};
export declare enum AccountingAccountName {
ACCOUNTS_PAYABLE = "ACCOUNTS_PAYABLE",
ACCOUNTS_RECEIVABLE = "ACCOUNTS_RECEIVABLE",
PAYPAL_EUR = "PAYPAL_EUR",
PAYPAL_GBP = "PAYPAL_GBP",
PAYPAL_NOK = "PAYPAL_NOK",
PAYPAL_USD = "PAYPAL_USD",
STRIPE_CAD = "STRIPE_CAD",
STRIPE_EUR = "STRIPE_EUR",
STRIPE_GBP = "STRIPE_GBP",
STRIPE_NOK = "STRIPE_NOK",
STRIPE_NZD = "STRIPE_NZD",
STRIPE_SGD = "STRIPE_SGD",
STRIPE_USD = "STRIPE_USD",
TMTV2_EUR = "TMTV2_EUR",
TMTV2_GBP = "TMTV2_GBP",
TMTV2_USD = "TMTV2_USD",
TMT_EUR = "TMT_EUR",
TMT_GBP = "TMT_GBP",
TMT_USD = "TMT_USD",
TRAVEL_AGENT_COMMISSION = "TRAVEL_AGENT_COMMISSION"
}
/**
* Accounting Journal
*
* For internal use only.
*
* Inspired by the
* [QuickBooks API](https://developer.intuit.com/app/developer/qbo/docs/api/accounting/all-entities/journalentry) but
* designed to be used universally with other tools as needed.
*
* Also designed to work with the [Zoho Books API](https://www.zoho.com/books/api/v3/#Journals).
*/
export declare type AccountingJournal = Node & {
/** Date the journal should be posted */
date: Scalars['AWSDateTime'];
/**
* Description of journal being posted
*
* @example
* Booking Space
*
* @example
* Transaction
*
* @example
* Cancellation
*/
description: Scalars['String'];
/**
* Journal ID
*
* Should be the id of the booking invoice.
*
* @example
* ln_UUID
*/
id: Scalars['ID'];
/**
* Journal Lines
*
* Must contain exactly two lines.
*/
lines: Array<AccountingJournalLine>;
};
export declare type AccountingJournalLine = {
account: AccountingAccountName;
currency: Currency;
/**
* Customer (host) ID
*
* @example
* host_UUID
*/
customer: Scalars['String'];
/**
* Gross Amount in ZD (i.e. cents not dollars)
*
* This is before any taxes, and is always positive.
*/
grossAmountZD: Scalars['Int'];
/**
* Journal line ID
*
* Should be based on the line ID plus an integer postfix
*
* @example
* ln_UUID_1
*/
id: Scalars['ID'];
journalType: AccountingJournalType;
/** Tax code */
taxCode?: Maybe<BookingCommissionTaxRate>;
/**
* Country within which sales tax may be due
*
* Should be set as the country of the host.
*/
taxCountry?: Maybe<CountryCodes>;
};
export declare enum AccountingJournalType {
/**
* Credit
*
* A credit either increases equity, liability, or revenue accounts or decreases an asset or expense account. Record the
* corresponding credit for the purchase of a new computer by crediting your expense account.
*/
CREDIT = "CREDIT",
/**
* Debit
*
* A debit either increases an asset or expense account or decreases equity, liability, or revenue accounts. For example,
* you would debit the purchase of a new computer by entering the asset gained on the left side of your asset account.
*/
DEBIT = "DEBIT"
}
/**
* ActivityObject
*
* The Activity object represents the direct object upon which an activity was
* performed on e.g. space for space cancellation or booking for booking created.
*/
export declare type ActivityObject = {
id: Scalars['String'];
name: Scalars['String'];
};
/**
* ActivityStream
*
* The activity stream is based on Activity Stream Spec v2 and represents an
* activity that has been performed on the system.
*
* https://www.w3.org/TR/activitystreams-vocabulary/#introduction
*/
export declare type ActivityStream = {
/**
* ActivityStreamActor
*
* Actors represent entities capable of carrying out an Activity - for example the
* actor for a booking created activity is the person/user who made the booking.
*
* @example
* {
* id: "user_UUID",
* name: "John Doe",
* }
*
* https://www.w3.org/TR/activitystreams-core/#actors
*/
actor: ActivityStreamActor;
/**
* A unique ID for the activity stream object. This is created by the Notification
* service and not by the service emitting the activity.
*
* You can pass an activity stream object without id.
*
* @example
* as_UUID
*/
id: Scalars['String'];
/**
* isRead
*
* Indicates whether a notification has been viewed and read by the user.
*/
isRead?: Maybe<NotificationIsRead>;
/**
* The Activity object represents the direct object upon which an activity was
* performed on e.g. space for space cancellation or booking for booking created.
*
* @example
* {
* id: "space_UUID",
* name: "space",
* }
*
* https://www.w3.org/TR/activitystreams-vocabulary/#dfn-object
*/
object: ActivityObject;
/**
* The date and time at which the object was published
*
* https://www.w3.org/TR/activitystreams-vocabulary/#dfn-published
*/
published: Scalars['AWSDateTime'];
/**
* An optional ID to group activities together i.e. for a space cancellation you
* can group by groupID, allowing all cancellation for a specific departure date to
* be grouped together. This is not part of the ActivityStreams spec.
*
* @example
* group_UUID
*
* @example
* trip_UUID
*/
serviceBatchID?: Maybe<Scalars['ID']>;
/**
* The activity target represents the indirect object of the activity e.g. for
* space cancellation, the direct object is Space, the target is the Trip that
* the space was cancelled on.
*
* @example
* {
* id: "group_UUID",
* name: "Trip Title, 1 Jan 2020",
* }
*
* https://www.w3.org/TR/activitystreams-vocabulary/#dfn-target
*/
target?: Maybe<ActivityStreamTarget>;
/**
* The id of the user or host affected by the activity (i.e the person to receive the
* notification from this activity)
*
* @example
* user_UUID
*
* @example
* host_UUID
*
* https://www.w3.org/TR/activitystreams-vocabulary/#dfn-to
*/
to: Scalars['String'];
/**
* The action that was performed
*
* Activity types are added in past tense so they are ready to displayed to the user without
* need for conversion from present tense i.e. Cancelled, Received, etc
*
* https://www.w3.org/TR/activitystreams-vocabulary/#activity-types
*/
type: Scalars['String'];
/**
* A url or link to a dashboard or web page where the user can view the activity
* or activities or take action in relationship to the activity or set of
* activities.
*
* For batched activities, this is the url to the page where the user can view
* and taken action for the batch of activities.
*
* @example
* https://www.skyhookadventure.com/hosts/dashboard/host-url/bookings/group_UUID
*
* https://www.w3.org/TR/activitystreams-vocabulary/#dfn-url
*/
url: Scalars['AWSURL'];
/**
* A generated ID that is unique but deterministic in a certain period of time
* for a given user, object, and activity stream type.
*
* NB: This is generated by the Notification service and not by the emitting
* service.
*
* @example
* cancelled-space-host_UUID-1640696400000
*
* @example
* booked-space-host_UUID-1640696400000
*/
userBatchID: Scalars['ID'];
};
/**
* ActivityStreamPerson
*
* Actors represent entities capable of carrying out an Activity - for example the
* actor for a booking created activity is the person/user who made the booking.
*/
export declare type ActivityStreamActor = {
host?: Maybe<Host>;
/**
* Describes an Icon for An Actor in the activity stream i.e. Profile Picture or
* Host Image.
*
* https://www.w3.org/ns/activitystreams#icon
*/
icon?: Maybe<ActivityStreamIcon>;
/**
* The user id or host id of the host or guest who performed the action.
*
* @example
* user_UUID
*
* @example
* host_UUID
*/
id?: Maybe<Scalars['String']>;
/**
* The full name of the host or the guest who performed the action.
*
* @example
* John Doe
*
* @example
* Skyhook Mountaineering LTD
*/
name?: Maybe<Scalars['String']>;
/** The role of user who performed the action within Skyhook hook i.e. Host or Guest. */
type: ActivityStreamActorType;
user?: Maybe<UserPublicProfile>;
};
export declare enum ActivityStreamActorType {
GUEST = "GUEST",
HOST = "HOST",
SYSTEM = "SYSTEM"
}
export declare type ActivityStreamConnection = {
items: Array<ActivityStream>;
nextToken?: Maybe<Scalars['String']>;
};
/**
* Describes an Icon for An Actor in the activity stream i.e. Profile Picture or
* Host Image.
*
* https://www.w3.org/ns/activitystreams#icon
*/
export declare type ActivityStreamIcon = {
height?: Maybe<Scalars['Int']>;
name?: Maybe<Scalars['String']>;
type?: Maybe<ActivityStreamIconType>;
url: Scalars['AWSURL'];
width?: Maybe<Scalars['Int']>;
};
export declare enum ActivityStreamIconType {
Image = "Image"
}
/**
* ActivityStreamTarget
*
* The direct object upon which an activity was performed on i.e. space or booking.
*/
export declare type ActivityStreamTarget = {
/**
* Web link to the target object i.e. Link to host group dashboard for
* cancellations or host inbox link for messages.
*/
href?: Maybe<Scalars['String']>;
id: Scalars['String'];
name: Scalars['String'];
};
export declare type AddUserHostRoleInput = {
hostID: Scalars['ID'];
role: HostRoleType;
userID: Scalars['ID'];
};
export declare type AddUserToWaitListInput = {
groupID: Scalars['ID'];
spacesRequested?: InputMaybe<Scalars['Int']>;
userID: Scalars['ID'];
};
/** Address uses the OASIS [XAL](https://www.oasis-open.org/committees/ciq/download.shtml) standard */
export declare type Address = {
additionalNames?: Maybe<Scalars['String']>;
addressLine1?: Maybe<Scalars['String']>;
addressLine2?: Maybe<Scalars['String']>;
/** State, province or county */
administrativeArea?: Maybe<Scalars['String']>;
coordinates?: Maybe<Coordinates>;
country: CountryCodes;
/** Neighborhood or suburb */
dependentLocality?: Maybe<Scalars['String']>;
familyName?: Maybe<Scalars['String']>;
givenName?: Maybe<Scalars['String']>;
/** City */
locality?: Maybe<Scalars['String']>;
organisation?: Maybe<Scalars['String']>;
postalCode?: Maybe<Scalars['String']>;
sortingCode?: Maybe<Scalars['String']>;
};
export declare type AddressInput = {
additionalNames?: InputMaybe<Scalars['String']>;
addressLine1?: InputMaybe<Scalars['String']>;
addressLine2?: InputMaybe<Scalars['String']>;
administrativeArea?: InputMaybe<Scalars['String']>;
coordinates?: InputMaybe<CoordinatesInput>;
country: CountryCodes;
dependentLocality?: InputMaybe<Scalars['String']>;
familyName?: InputMaybe<Scalars['String']>;
givenName?: InputMaybe<Scalars['String']>;
locality?: InputMaybe<Scalars['String']>;
organisation?: InputMaybe<Scalars['String']>;
postalCode?: InputMaybe<Scalars['String']>;
sortingCode?: InputMaybe<Scalars['String']>;
};
export declare type AdminAddTransactionCardInput = {
address: TransactionAddressInput;
cardType: Scalars['String'];
lastFourDigits: Scalars['String'];
};
/**
* Admin add transaction input
*
* These fields mirror the database fields for the most part, so that we can quickly create transactions manually where
* they have been taken but not stored already (e.g. duplicate transactions).
*/
export declare type AdminAddTransactionInput = {
/** Allocations to spaces */
allocation: Array<AdminAddTransactionSpaceAllocation>;
amount: PriceInput;
baseTransaction?: InputMaybe<RefInput>;
booking: RefInput;
card?: InputMaybe<AdminAddTransactionCardInput>;
created: Scalars['AWSDateTime'];
hostAmount?: InputMaybe<PriceInput>;
processor: TransactionProcessor;
/**
* For chargebacks you may need to use the same ID for both a chargeback and the corresponding reversal (e.g. for
* Stripe). For Legacy TMT you will want to use the remote ID of the original transaction for simplicity (as this is how
* it appears on the statement).
*/
remoteID: Scalars['ID'];
remoteIDHost?: InputMaybe<Scalars['ID']>;
/** TMT V2 Details */
tmt?: InputMaybe<AdminAddTransactionTMTDetails>;
/** Transaction type */
type: TransactionType;
};
export declare type AdminAddTransactionSpaceAllocation = {
/** Guest amount (+ve for payments and -ve for transactions - we'll convert it for the invoice lines) */
guestAmountZD: Scalars['Int'];
/** Guest overpayment amount (e.g. with a duplicate transaction) */
guestOverpaymentZD?: InputMaybe<Scalars['Int']>;
/** Host amount (+ve for payments and -ve for transactions - we'll convert it for the invoice lines) */
hostAmountZD: Scalars['Int'];
/** Host overpayment amount (e.g. with a duplicate transaction) */
hostOverpaymentZD?: InputMaybe<Scalars['Int']>;
/** Space ID */
id: Scalars['ID'];
};
export declare type AdminAddTransactionTMTDetails = {
affiliateChannelID?: InputMaybe<Scalars['Int']>;
bookingID: Scalars['Int'];
channelID: Scalars['Int'];
};
export declare type AdminDiscretionaryRefundInput = {
bookingID: Scalars['ID'];
spaces: Array<AdminDiscretionaryRefundSpaceInput>;
};
export declare type AdminDiscretionaryRefundPayload = {
booking: Booking;
};
export declare type AdminDiscretionaryRefundSpaceInput = {
/**
* Guest Amount
*
* Should be given as a positive zero-decimal amount.
*/
guestAmount: Scalars['Int'];
/**
* Host Amount
*
* Should be given as a positive zero-decimal amount.
*/
hostAmount: Scalars['Int'];
id: Scalars['ID'];
};
export declare type ApplyCouponValue = {
code: Scalars['String'];
/** The amount to be deducted from the deposit. */
depositAmountDeduction: Price;
/** The total discount applied */
discountApplied: Price;
spacesRequested: Scalars['Int'];
/** The final amount to be deducted from total price. */
totalAmountDeduction: Price;
};
export declare type AutomatedMessage = {
created: Scalars['AWSDateTime'];
/** The message to send to the guest after booking */
message: Scalars['String'];
updated: Scalars['AWSDateTime'];
};
export declare type BackupPasswordInput = {
password: Scalars['String'];
};
export declare type BankDetails = {
accountNumber: Scalars['String'];
bankAccountName: Scalars['String'];
bankAddress: Address;
bankName: Scalars['String'];
ibanNumber?: Maybe<Scalars['String']>;
routingCode?: Maybe<Scalars['String']>;
sortCode?: Maybe<Scalars['String']>;
swiftCode?: Maybe<Scalars['String']>;
};
export declare type BankDetailsInput = {
accountNumber: Scalars['String'];
bankAccountName: Scalars['String'];
bankAddress: AddressInput;
bankName: Scalars['String'];
ibanNumber?: InputMaybe<Scalars['String']>;
routingCode?: InputMaybe<Scalars['String']>;
sortCode?: InputMaybe<Scalars['String']>;
swiftCode?: InputMaybe<Scalars['String']>;
};
export declare type Booking = Node & {
/**
* Each space has net commission and cash received. This is the total of all
* spaces.
*/
commissionDetails: BookingCommissionDetails;
commissionTaxRate: BookingCommissionTaxRate;
created: Scalars['AWSDateTime'];
group: Group;
host: Ref;
id: Scalars['ID'];
invoiceSummary: Array<BookingInvoiceSummary>;
/**
* All actions (transactions, cancellations, refunds, credits applied...) are shown broken down by their impact on
* individual spaces, rather than the total booking. A single transaction can still be made to pay for several spaces -
* the full transaction will be available from the Transaction type and then here if there are 2 spaces it will show
* half on each space (or whatever the appropriate split was).
*/
spaces: Array<BookingSpace>;
/**
* User tracking details
*
* Only available via IAM access (on the backend).
*/
tracking?: Maybe<Tracking>;
trip: Trip;
/** The booking owner */
user: User;
};
export declare type BookingCommissionDetails = {
cashReceived: Price;
commission: Price;
commissionLessCoupons: Price;
commissionLessCredits: Price;
commissionRefundAmount: Price;
/** Cash received before any refunds */
expectedCashReceived: Price;
netCommission: Price;
numberOfSpacesCancelled: Scalars['Int'];
/** Commission amount cancelled (not total amount cancelled) */
totalAmountCancelled: Price;
};
export declare enum BookingCommissionTaxRate {
/** European Commission zero-rated (the host is responsible for sales tax) */
ECZERORATED = "ECZERORATED",
/** UK 20% Vat rate */
OUTPUT = "OUTPUT",
/** Zero rated (e.g. for hosts where the place of supply is outside of the UK and EC) */
ZERORATED = "ZERORATED"
}
export declare type BookingConnection = Nodes & {
items: Array<Booking>;
nextToken?: Maybe<Scalars['String']>;
};
export declare type BookingCreditInput = {
amountZD: Scalars['Int'];
};
export declare type BookingDiscountInput = {
amountZD: Scalars['Int'];
code: Scalars['String'];
};
/**
* Booking entity type
*
* For DB and Events only. Note in SentenceCase for legacy reasons.
*/
export declare enum BookingEntityType {
Booking = "Booking",
BookingSpace = "BookingSpace",
BookingSpaceInvoiceLine = "BookingSpaceInvoiceLine",
Transaction = "Transaction"
}
export declare type BookingGroupInput = {
/** Required to validate the price shown to the customer. This is the guest unit price. */
guestPrice: PriceInput;
id: Scalars['ID'];
};
/**
* Invoice lines are stored on per space basis, so a booking with 2 spaces will
* have 2 invoice lines for each transaction. This will allow us to summarize that
* based on the invoice lines for the purpose of showing the user a summary of the
* invoice.
*/
export declare type BookingInvoiceSummary = {
amount: Price;
/**
* If Transaction (i.e. a payment or refund) is associated with this line then
* this will be the card details used for the transaction.
*/
card?: Maybe<TransactionCard>;
/**
* The coupon code applied to this invoice for the booking invoice summary if
* type is COUPON
*/
couponCode?: Maybe<Scalars['String']>;
created: Scalars['AWSDateTime'];
/** The numberOfSpaces of spaces impacted by this invoice line */
numberOfSpaces: Scalars['Int'];
type: BookingSpaceInvoiceSummaryType;
};
export declare type BookingPaymentInput = {
amount: PriceInput;
card: TransactionCardInput;
/**
* TMT Booking ID
*
* The TMT Modal will auto-create a booking ID for each transaction.
*/
tmtBookingID?: InputMaybe<Scalars['Int']>;
/**
* TMT Transaction ID
*
* The TMT Modal will return this in the `transaction_logged` response.
*/
tmtTransactionID?: InputMaybe<Scalars['Int']>;
};
export declare type BookingPublicDetails = {
created: Scalars['AWSDateTime'];
group: Group;
trip: Trip;
/** The booking owner */
user: UserPublicProfile;
};
export declare type BookingSpace = {
/** Shows if a space is active (true) or cancelled (false) */
active: Scalars['Boolean'];
booking: Ref;
/** Cancellation options will show unless the space is already cancelled */
cancellationOptions: Array<BookingSpaceCancellationOption>;
/**
* Cash received by us (commission - credits - refunds)
*
* We don't refund deposit, so even if the guest cancels, we keep the deposit.
* This contributes to the cash received.
*/
cashReceived: Price;
/** Nominal sales tax (aka VAT) applicable to the host commission */
commissionTax: Price;
/** Sales tax (aka VAT) rate applicable to the host commission */
commissionTaxRate: BookingCommissionTaxRate;
created: Scalars['AWSDateTime'];
/**
* The exchange rate used to convert the booking price to GBP at the time of
* booking.
*/
gbpExchangeRate: Scalars['String'];
/** Commission before sales tax (aka VAT) */
grossCommission: Price;
/**
* Guest
*
* Only exists on active spaces
*/
guest?: Maybe<Guest>;
guestBalance: Price;
guestDeposit: Price;
guestTotal: Price;
hostBalance: Price;
hostDeposit: Price;
hostTotal: Price;
id: Scalars['ID'];
/**
* The invoice lines show, in date order, everything that has an impact on the balance owed. The first line is always
* the total owed, and then there can be lines for payments (-ve), credits (-ve), discounts (-ve), cancellation (-ve),
* and refunds (+ve).
*/
invoice: Array<BookingSpaceInvoiceLine>;
/** Commission after sales tax (aka VAT) */
netCommission: Price;
};
export declare type BookingSpaceCancellationOption = {
guestCredit: Price;
/** Guest permission to use this cancellation option (true = has permission) */
guestPermission: Scalars['Boolean'];
guestRefund: Price;
hostRefund: Price;
type: BookingSpaceCancellationType;
};
export declare enum BookingSpaceCancellationType {
BALANCE_REFUND = "BALANCE_REFUND",
FULL_REFUND = "FULL_REFUND",
NO_REFUND = "NO_REFUND"
}
export declare type BookingSpaceInvoiceLine = {
booking: Booking;
bookingSpace: BookingSpace;
couponCode?: Maybe<Scalars['String']>;
created: Scalars['AWSDateTime'];
discount?: Maybe<Ref>;
guestAmount: PriceWithOverpayment;
hostAmount: PriceWithOverpayment;
id: Scalars['ID'];
/**
* Note
*
* Can be used to give the reason for e.g. a discretionary change or a cancellation.
*/
note?: Maybe<Scalars['String']>;
transaction?: Maybe<Transaction>;
type: BookingSpaceInvoiceLineType;
};
export declare type BookingSpaceInvoiceLineConnection = {
items: Array<BookingSpaceInvoiceLine>;
nextToken?: Maybe<Scalars['String']>;
};
export declare enum BookingSpaceInvoiceLineType {
CANCELLATION = "CANCELLATION",
COUPON = "COUPON",
CREDIT = "CREDIT",
DISCOUNT = "DISCOUNT",
/**
* A discretionary change is anything that changes the invoice for a discretionary reason, e.g. to allow for a
* discretionary refund.
*/
DISCRETIONARY_CHANGE = "DISCRETIONARY_CHANGE",
TOTAL = "TOTAL",
TRANSACTION = "TRANSACTION"
}
export declare enum BookingSpaceInvoiceSummaryType {
BALANCE_DUE = "BALANCE_DUE",
BALANCE_PAYMENT = "BALANCE_PAYMENT",
BALANCE_REFUND = "BALANCE_REFUND",
CANCELLATION = "CANCELLATION",
COUPON = "COUPON",
COUPON_CANCELLED = "COUPON_CANCELLED",
CREDIT_ISSUED = "CREDIT_ISSUED",
CREDIT_USED = "CREDIT_USED",
DEPOSIT_PAYMENT = "DEPOSIT_PAYMENT",
/**
* A discretionary change is anything that changes the invoice for a discretionary reason, e.g. to allow for a
* discretionary refund.
*/
DISCRETIONARY_CHANGE = "DISCRETIONARY_CHANGE",
FULL_PAYMENT = "FULL_PAYMENT",
TOTAL_BOOKING_VALUE = "TOTAL_BOOKING_VALUE",
TOTAL_PAID = "TOTAL_PAID"
}
export declare type BookingUserInput = {
id: Scalars['ID'];
};
/**
* Bookings Query Filter
*
* @example
* // Get all bookings since 2010
* {
* date: "2010-01-01T00:00:00Z"
* comparisonOperator: ">"
* dateType: "CREATED"
* }
*/
export declare type BookingsQueryFilter = {
/**
* Comparison Operator
*
* Supported options include:
* - > Greater than
* - < Less than
* - >= Greater than or equal to
* - <= Less than or equal to
* - = Equal to
* - <> Not equal to
*/
comparisonOperator?: InputMaybe<Scalars['String']>;
date?: InputMaybe<Scalars['AWSDateTime']>;
dateEnd?: InputMaybe<Scalars['AWSDate']>;
/** Filter arguments used only with BETWEEN comparison Operator */
dateStart?: InputMaybe<Scalars['AWSDate']>;
/**
* Date Type
*
* Filter by booking created date (default) or departure date.
*/
dateType?: InputMaybe<BookingsQueryFilterDateType>;
};
export declare enum BookingsQueryFilterDateType {
CREATED = "CREATED",
DEPARTURE = "DEPARTURE"
}
export declare type BroadcastMessageToGuestsInGroupInput = {
/** The group ID to target for the message being sent out */
groupID: Scalars['ID'];
/** The message to be sent to Guests on the group */
text: Scalars['String'];
};
export declare type CSVExport = {
downloadUrl: Scalars['String'];
};
export declare type CancelBookingInput = {
bookingID: Scalars['ID'];
note?: InputMaybe<Scalars['String']>;
spaces: Array<Scalars['ID']>;
type: BookingSpaceCancellationType;
};
export declare type CancelBookingPayload = {
booking: Booking;
};
export declare type ChangeChatConversationStatusInput = {
conversationID: Scalars['ID'];
status: ChatConversationStatus;
};
export declare type ChatConversation = Node & {
created: Scalars['AWSDateTime'];
id: Scalars['ID'];
lastMessage?: Maybe<Scalars['AWSDateTime']>;
lastRead?: Maybe<Scalars['AWSDateTime']>;
messages: ChatMessageConnection;
participants: ChatParticipantConnection;
/**
* Title
*
* Typically provided for a group conversation, but not a direct chat.
*/
title?: Maybe<Scalars['String']>;
};
export declare type ChatConversationmessagesArgs = {
limit?: InputMaybe<Scalars['Int']>;
nextToken?: InputMaybe<Scalars['String']>;
};
export declare type ChatConversationparticipantsArgs = {
limit?: InputMaybe<Scalars['Int']>;
nextToken?: InputMaybe<Scalars['String']>;
};
export declare type ChatConversationConnection = Nodes & {
items: Array<ChatConversation>;
nextToken?: Maybe<Scalars['String']>;
};
export declare enum ChatConversationStatus {
CLOSED = "CLOSED",
OPEN = "OPEN",
WAITING_FOR_CUSTOMER_REPLY = "WAITING_FOR_CUSTOMER_REPLY"
}
export declare type ChatDirectConversationInput = {
from: Scalars['String'];
to: Scalars['String'];
};
export declare type ChatMessage = Node & {
/**
* Automated host message
*
* Set as true if the message was e.g. an automatic host message, sent after booking.
*/
automatedHostMessage?: Maybe<Scalars['Boolean']>;
created: Scalars['AWSDateTime'];
/** Host, where the author is a host (not a user) */
host?: Maybe<Host>;
/**
* hostTeamMemberUserID
*
* The userID of the host user admin who has sent the message, making it easier to
* let the guest know who answered.
*/
hostTeamMemberUserID?: Maybe<Scalars['ID']>;
id: Scalars['ID'];
/**
* System message
*
* If set, no notifications will be sent out, and the conversation lastMessage date won't be updated.
*/
system?: Maybe<Scalars['Boolean']>;
text: Scalars['String'];
/** User profile, where the author is a user (not a host) */
user?: Maybe<UserPublicProfile>;
};
export declare type ChatMessageConnection = Nodes & {
items: Array<ChatMessage>;
nextToken?: Maybe<Scalars['String']>;
};
export declare type ChatMessageInput = {
conversationID: Scalars['String'];
/**
* conversationStatus
*
* When sending a message, set the conversation status for instance a Host can
* reply to a customer and set a conversation as closed.
*/
conversationStatus?: InputMaybe<ChatConversationStatus>;
/**
* Participant ID
*
* The user/host participant ID of the user creating the message.
*/
participantID: Scalars['String'];
text: Scalars['String'];
};
export declare type ChatParticipant = {
/** Host, where the participant is a host (not a user) */
host?: Maybe<Host>;
lastMessage?: Maybe<Scalars['AWSDateTime']>;
lastRead?: Maybe<Scalars['AWSDateTime']>;
status?: Maybe<ChatConversationStatus>;
/** User profile, where the participant is a user (not a host) */
user?: Maybe<UserPublicProfile>;
};
export declare type ChatParticipantConnection = Nodes & {
items: Array<ChatParticipant>;
nextToken?: Maybe<Scalars['String']>;
};
/**
* Chat User Message Count
*
* Shows the number of unread messages for a chat user (i.e. user or host).
*/
export declare type ChatUserMessageCount = {
id: Scalars['ID'];
unreadMessages: Scalars['Int'];
/** This is the chat user ID (i.e. hostID or userID) */
userID: Scalars['ID'];
};
export declare type ClaimGuestInput = {
accessCode: Scalars['String'];
spaceID: Scalars['String'];
userID: Scalars['String'];
};
export declare type CommissionOverrides = Node & {
id: Scalars['ID'];
percentage: Scalars['String'];
validFrom: Scalars['AWSDateTime'];
validTo: Scalars['AWSDateTime'];
};
export declare type CommissionOverridesTripsConnection = {
defaultCommission: Scalars['String'];
items: Array<CommissionOverrides>;
};
export declare enum ComparisonOperator {
EQUAL = "EQUAL",
GREATER_THAN = "GREATER_THAN",
GREATER_THAN_OR_EQUAL = "GREATER_THAN_OR_EQUAL",
LESS_THAN = "LESS_THAN",
LESS_THAN_OR_EQUAL = "LESS_THAN_OR_EQUAL"
}
/**
* Confirmation
*
* A response for mutations that simply returns true/false.
*/
export declare type Confirmation = {
success: Scalars['Boolean'];
};
export declare type Coordinates = {
lat: Scalars['Float'];
lng: Scalars['Float'];
};
export declare type CoordinatesInput = {
lat: Scalars['Float'];
lng: Scalars['Float'];
};
export declare type Country = {
code?: Maybe<CountryCodes>;
name?: Maybe<Scalars['String']>;
};
export declare enum CountryCodes {
AD = "AD",
AE = "AE",
AF = "AF",
AG = "AG",
AI = "AI",
AL = "AL",
AM = "AM",
AO = "AO",
AQ = "AQ",
AR = "AR",
AS = "AS",
AT = "AT",
AU = "AU",
AW = "AW",
AX = "AX",
AZ = "AZ",
BA = "BA",
BB = "BB",
BD = "BD",
BE = "BE",
BF = "BF",
BG = "BG",
BH = "BH",
BI = "BI",
BJ = "BJ",
BL = "BL",
BM = "BM",
BN = "BN",
BO = "BO",
BQ = "BQ",
BR = "BR",
BS = "BS",
BT = "BT",
BV = "BV",
BW = "BW",
BY = "BY",
BZ = "BZ",
CA = "CA",
CC = "CC",
CD = "CD",
CF = "CF",
CG = "CG",
CH = "CH",
CI = "CI",
CK = "CK",
CL = "CL",
CM = "CM",
CN = "CN",
CO = "CO",
CR = "CR",
CU = "CU",
CV = "CV",
CW = "CW",
CX = "CX",
CY = "CY",
CZ = "CZ",
DE = "DE",
DJ = "DJ",
DK = "DK",
DM = "DM",
DO = "DO",
DZ = "DZ",
EC = "EC",
EE = "EE",
EG = "EG",
EH = "EH",
ER = "ER",
ES = "ES",
ET = "ET",
FI = "FI",
FJ = "FJ",
FK = "FK",
FM = "FM",
FO = "FO",
FR = "FR",
GA = "GA",
GB = "GB",
GD = "GD",
GE = "GE",
GF = "GF",
GG = "GG",
GH = "GH",
GI = "GI",
GL = "GL",
GM = "GM",
GN = "GN",
GP = "GP",
GQ = "GQ",
GR = "GR",
GS = "GS",
GT = "GT",
GU = "GU",
GW = "GW",
GY = "GY",
HK = "HK",
HM = "HM",
HN = "HN",
HR = "HR",
HT = "HT",
HU = "HU",
ID = "ID",
IE = "IE",
IL = "IL",
IM = "IM",
IN = "IN",
IO = "IO",
IQ = "IQ",
IR = "IR",
IS = "IS",
IT = "IT",
JE = "JE",
JM = "JM",
JO = "JO",
JP = "JP",
KE = "KE",
KG = "KG",
KH = "KH",
KI = "KI",
KM = "KM",
KN = "KN",
KP = "KP",
KR = "KR",
KW = "KW",
KY = "KY",
KZ = "KZ",
LA = "LA",
LB = "LB",
LC = "LC",
LI = "LI",
LK = "LK",
LR = "LR",
LS = "LS",
LT = "LT",
LU = "LU",
LV = "LV",
LY = "LY",
MA = "MA",
MC = "MC",
MD = "MD",
ME = "ME",
MF = "MF",
MG = "MG",
MH = "MH",
MK = "MK",
ML = "ML",
MM = "MM",
MN = "MN",
MO = "MO",
MP = "MP",
MQ = "MQ",
MR = "MR",
MS = "MS",
MT = "MT",
MU = "MU",
MV = "MV",
MW = "MW",
MX = "MX",
MY = "MY",
MZ = "MZ",
NA = "NA",
NC = "NC",
NE = "NE",
NF = "NF",
NG = "NG",
NI = "NI",
NL = "NL",
NO = "NO",
NP = "NP",
NR = "NR",
NU = "NU",
NZ = "NZ",
OM = "OM",
PA = "PA",
PE = "PE",
PF = "PF",
PG = "PG",
PH = "PH",
PK = "PK",
PL = "PL",
PM = "PM",
PN = "PN",
PR = "PR",
PS = "PS",
PT = "PT",
PW = "PW",
PY = "PY",
QA = "QA",
RE = "RE",
RO = "RO",
RS = "RS",
RU = "RU",
RW = "RW",
SA = "SA",
SB = "SB",
SC = "SC",
SD = "SD",
SE = "SE",
SG = "SG",
SH = "SH",
SI = "SI",
SJ = "SJ",
SK = "SK",
SL = "SL",
SM = "SM",
SN = "SN",
SO = "SO",
SR = "SR",
SS = "SS",
ST = "ST",
SV = "SV",
SX = "SX",
SY = "SY",
SZ = "SZ",
TC = "TC",
TD = "TD",
TF = "TF",
TG = "TG",
TH = "TH",
TJ = "TJ",
TK = "TK",
TL = "TL",
TM = "TM",
TN = "TN",
TO = "TO",
TR = "TR",
TT = "TT",
TV = "TV",
TW = "TW",
TZ = "TZ",
UA = "UA",
UG = "UG",
UM = "UM",
US = "US",
UY = "UY",
UZ = "UZ",
VA = "VA",
VC = "VC",
VE = "VE",
VG = "VG",
VI = "VI",
VN = "VN",
VU = "VU",
WF = "WF",
WS = "WS",
YE = "YE",
YT = "YT",
ZA = "ZA",
ZM = "ZM",
ZW = "ZW"
}
export declare type Coupon = Node & {
active: Scalars['Boolean'];
code: Scalars['String'];
created: Scalars['AWSDateTime'];
deductFrom: CouponDeductionType;
description?: Maybe<Scalars['String']>;
expiryDate?: Maybe<Scalars['AWSDateTime']>;
group?: Maybe<Group>;
id: Scalars['ID'];
trip?: Maybe<Trip>;
value: CouponValue;
};
export declare type CouponConnection = {
items: Array<Coupon>;
nextToken?: Maybe<Scalars['String']>;
};
export declare enum CouponDeductionType {
FULL = "FULL",
HOST = "HOST",
SKYHOOK = "SKYHOOK"
}
export declare enum CouponType {
FIXED = "FIXED",
PERCENTAGE = "PERCENTAGE"
}
export declare type CouponValue = {
fixed?: Maybe<Price>;
percentage?: Maybe<Scalars['Float']>;
type: CouponType;
};
export declare type CouponValueInput = {
percentage?: InputMaybe<Scalars['Float']>;
type: CouponType;
value?: InputMaybe<PriceInput>;
};
export declare type CreateBookingInput = {
couponCode?: InputMaybe<Scalars['String']>;
credit?: InputMaybe<BookingCreditInput>;
group: BookingGroupInput;
payment?: InputMaybe<BookingPaymentInput>;
spacesRequired: Scalars['Int'];
tracking?: InputMaybe<TrackingInput>;
user: BookingUserInput;
};
export declare type CreateBookingPayload = {
booking: Booking;
};
export declare type CreateTMTBookingInput = {
couponCode?: InputMaybe<Scalars['String']>;
credit?: InputMaybe<BookingCreditInput>;
group: BookingGroupInput;
spacesRequired: Scalars['Int'];
tracking?: InputMaybe<TrackingInput>;
user: BookingUserInput;
};
export declare type CreateTMTBookingPayload = {
channels: Scalars['Int'];
content: Scalars['String'];
countries: Scalars['String'];
currencies: Scalars['String'];
date: Scalars['String'];
email: Scalars['String'];
firstname: Scalars['String'];
id: Scalars['Int'];
pax: Scalars['Int'];
reference: Scalars['String'];
status: Scalars['String'];
surname: Scalars['String'];
total: Scalars['Int'];
transaction_ids: Array<Scalars['Int']>;
};
export declare enum Currency {
CAD = "CAD",
EUR = "EUR",
GBP = "GBP",
NOK = "NOK",
NZD = "NZD",
SGD = "SGD",
USD = "USD"
}
export declare type CurrencyDetails = {
code?: Maybe<GlobalCurrencies>;
symbol?: Maybe<Scalars['String']>;
};
export declare type CurrencyInput = {
convertFrom: PriceInput;
date: Scalars['AWSDate'];
};
export declare type DaysBreakdown = {
days: Scalars['Int'];
nights: Scalars['Int'];
};
export declare type DeleteLastTripItineraryItemInput = {
tripID: Scalars['String'];
};
export declare type DiscontinuedTrip = {
isDiscontinued: Scalars['Boolean'];
recommendedTrips: Array<RecommendedTrip>;
};
export declare type DiscontinuedTripInput = {
isDiscontinued: Scalars['Boolean'];
recommendedTrips: Array<RecommendedTripInput>;
};
export declare type Discount = Node & {
code: Scalars['ID'];
createdAt: Scalars['AWSDateTime'];
/** If null, the discount is available for any trip group. */
group?: Maybe<Group>;
id: Scalars['ID'];
nominalAmount?: Maybe<Price>;
/** If null, the discount can be used an unlimited amount of times. */
quantityRemaining?: Maybe<Scalars['Int']>;
updatedAt: Scalars['AWSDateTime'];
};
export declare type DownloadRevenueReportInput = {
type: RevenueReportType;
};
export declare type DripTagGuestOnGroupsInput = {
/** The start date to apply the tag to the guests */
fromDate: Scalars['AWSDateTime'];
requestID: Scalars['ID'];
/** The tag to apply to the guests */
tag: Scalars['String'];
/** The end date to apply the tag to the guests */
toDate: Scalars['AWSDateTime'];
/** The trip to apply the tag to */
tripId: Scalars['ID'];
};
export declare enum Gender {
FEMALE = "FEMALE",
MALE = "MALE",
/**
* Other Gender
*
* Please note that many countries do not allow any gender other than male/female on official forms, and as such you may
* need to specify male/female for these use cases.
*/
OTHER = "OTHER"
}
export declare type GeoLocation = {
country?: Maybe<Country>;
currency?: Maybe<CurrencyDetails>;
ipAddress?: Maybe<Scalars['AWSIPAddress']>;
phoneCode?: Maybe<Scalars['String']>;
xccyRates?: Maybe<Array<Maybe<XCCYRate>>>;
};
export declare enum GlobalCurrencies {
AED = "AED",
AFN = "AFN",
ALL = "ALL",
AMD = "AMD",
ANG = "ANG",
AOA = "AOA",
ARS = "ARS",
AUD = "AUD",
AWG = "AWG",
AZN = "AZN",
BAM = "BAM",
BBD = "BBD",
BDT = "BDT",
BGN = "BGN",
BHD = "BHD",
BIF = "BIF",
BMD = "BMD",
BND = "BND",
BOB = "BOB",
BRL = "BRL",
BSD = "BSD",
BTN = "BTN",
BWP = "BWP",
BYR = "BYR",
BZD = "BZD",
CAD = "CAD",
CDF = "CDF",
CHF = "CHF",
CLP = "CLP",
CNY = "CNY",
COP = "COP",
CRC = "CRC",
CUP = "CUP",
CVE = "CVE",
CZK = "CZK",
DJF = "DJF",
DKK = "DKK",
DOP = "DOP",
DZD = "DZD",
EGP = "EGP",
ERN = "ERN",
ETB = "ETB",
EUR = "EUR",
FJD = "FJD",
FKP = "FKP",
GBP = "GBP",
GEL = "GEL",
GHS = "GHS",
GIP = "GIP",
GMD = "GMD",
GNF = "GNF",
GTQ = "GTQ",
GYD = "GYD",
HKD = "HKD",
HNL = "HNL",
HRK = "HRK",
HTG = "HTG",
HUF = "HUF",
IDR = "IDR",
ILS = "ILS",
INR = "INR",
IQD = "IQD",
IRR = "IRR",
ISK = "ISK",
JMD = "JMD",
JOD = "JOD",
JPY = "JPY",
KES = "KES",
KGS = "KGS",
KHR = "KHR",
KMF = "KMF",
KPW = "KPW",
KRW = "KRW",
KWD = "KWD",
KYD = "KYD",
KZT = "KZT",
LAK = "LAK",
LBP = "LBP",
LKR = "LKR",
LRD = "LRD",
LSL = "LSL",
LTL = "LTL",
LYD = "LYD",
MAD = "MAD",
MDL = "MDL",
MGA = "MGA",
MKD = "MKD",
MMK = "MMK",
MNT = "MNT",
MOP = "MOP",
MRO = "MRO",
MUR = "MUR",
MVR = "MVR",
MWK = "MWK",
MXN = "MXN",
MYR = "MYR",
MZN = "MZN",
NAD = "NAD",
NGN = "NGN",
NIO = "NIO",
NOK = "NOK",
NPR = "NPR",
NZD = "NZD",
OMR = "OMR",
PAB = "PAB",
PEN = "PEN",
PGK = "PGK",
PHP = "PHP",
PKR = "PKR",
PLN = "PLN",
PYG = "PYG",
QAR = "QAR",
RON = "RON",
RSD = "RSD",
RUB = "RUB",
RWF = "RWF",
SAR = "SAR",
SBD = "SBD",
SCR = "SCR",
SDG = "SDG",
SEK = "SEK",
SGD = "SGD",
SHP = "SHP",
SLL = "SLL",
SOS = "SOS",
SRD = "SRD",
SSP = "SSP",
STD = "STD",
SYP = "SYP",
SZL = "SZL",
THB = "THB",
TJS = "TJS",
TMT = "TMT",
TND = "TND",
TOP = "TOP",
TRY = "TRY",
TTD = "TTD",
TWD = "TWD",
TZS = "TZS",
UAH = "UAH",
UGX = "UGX",
USD = "USD",
UYU = "UYU",
UZS = "UZS",
VEF = "VEF",
VND = "VND",
VUV = "VUV",
WST = "WST",
XAF = "XAF",
XCD = "XCD",
XOF = "XOF",
XPF = "XPF",
YER = "YER",
ZAR = "ZAR",
ZMK = "ZMK",
ZWL = "ZWL"
}
export declare type Group = Node & {
bookings: BookingConnection;
commissionPercentage: Scalars['String'];
coupons?: Maybe<CouponConnection>;
end: LocalDateTime;
guestDeposit: Price;
guestPrice: Price;
guestPriceBeforeDiscount?: Maybe<Price>;
/** Public details of any guests (including their public profiles) */
guests: GuestPublicConnection;
hostPrice: Price;
/**
* To avoid modifying t he booking service, we will have a price before discount
* field that will be used to calculate the discount rate for display purposes
* only and will not be used for any calculations
*/
hostPriceBeforeDiscount?: Maybe<Price>;
id: Scalars['ID'];
maxCredit: Price;
/** Media for a Trip Group */
media?: Maybe<MediaConnection>;
private: Scalars['Boolean'];
remainingSpaces: Scalars['Int'];
spacesBooked?: Maybe<Scalars['Int']>;
start: LocalDateTime;
trip: Trip;
/**
* Groups waiting list
*
* View users on a groups waiting list
*/
waitList: WaitListConnection;
/** Number of people on the waiting list */
waitListCount?: Maybe<Scalars['Int']>;
};
export declare type GroupcouponsArgs = {
limit?: InputMaybe<Scalars['Int']>;
nextToken?: InputMaybe<Scalars['String']>;
};
export declare type GroupmediaArgs = {
limit?: InputMaybe<Scalars['Int']>;
nextToken?: InputMaybe<Scalars['String']>;
};
export declare type GroupwaitListArgs = {
limit?: InputMaybe<Scalars['Int']>;
nextToken?: InputMaybe<Scalars['String']>;
};
export declare type GroupConnection = Nodes & {
items: Array<Group>;
nextToken?: Maybe<Scalars['String']>;
};
/**
* Guest
*
* A guest is the person who is actually travelling for a given booking space. This may be the booking owner, but it also
* may be someone they bought the space for.
*/
export declare type Guest = Node & {
/**
* Access code
*
* This is a 4-digit code that can be shared to let someone else fill in the guest form. Made public so that a user can
* get a link to share directly rather than letting the system email the guest.
*/
accessCode: Scalars['String'];
bio?: Maybe<Scalars['String']>;
birthDate?: Maybe<Scalars['AWSDate']>;
booking: Booking;
/** Booking Owner User ID */
bookingOwnerID: Scalars['String'];
/**
* Completed
*
* Marked as true if all the required information has been given for the guest & trip form.
*/
completed: Scalars['Boolean'];
created: Scalars['AWSDateTime'];
email?: Maybe<Scalars['String']>;
familyName?: Maybe<Scalars['String']>;
givenName?: Maybe<Scalars['String']>;
group: Group;
hostNotes?: Maybe<Scalars['String']>;
/**
* Guest ID
*
* UUID of the format guest_UUID, primarily used for caching (as we update using the booking space ID instead of this).
*/
id: Scalars['ID'];
phone?: Maybe<Scalars['String']>;
/** Guest Profile Picture */
picture?: Maybe<Media>;
review?: Maybe<Review>;
spaceID: Scalars['String'];
trip: Trip;
tripForm?: Maybe<TripForm>;
tripFormDueDate: Scalars['String'];
tripFormRequiredInformation: TripFormRequiredInformation;
updated: Scalars['AWSDateTime'];
user?: Maybe<User>;
userID?: Maybe<Scalars['String']>;
};
export declare type GuestConnection = {
items: Array<Guest>;
};
export declare type GuestInput = {
bio?: InputMaybe<Scalars['String']>;
birthDate?: InputMaybe<Scalars['AWSDate']>;
email: Scalars['AWSEmail'];
familyName: Scalars['String'];
givenName: Scalars['String'];
/**
* Is Booking Owner
*
* If the guest is the booking owner, it will be linked to their account (using the userID field). Otherwise the guest
* will get an email to let them claim the guest entity with a different account.
*/
isBookingOwner: Scalars['Boolean'];
phone: Scalars['AWSPhone'];
picture?: InputMaybe<MediaReferenceInput>;
spaceID: Scalars['String'];
tripForm?: InputMaybe<TripFormInput>;
};
/**
* Guest Public
*
* Used to show limited information publicly (e.g. the guest public photo)
*/
export declare type GuestPublic = Node & {
bookingOwnerID: Scalars['String'];
givenName?: Maybe<Scalars['String']>;
id: Scalars['ID'];
/** The profile picture of the guest */
picture?: Maybe<Media>;
user?: Maybe<UserPublicProfile>;
userID?: Maybe<Scalars['String']>;
};
/**
* Guest Public Connection
*
* Used to show limited information publicly (e.g. the guest public photo)
*/
export declare type GuestPublicConnection = {
items: Array<GuestPublic>;
};
export declare type Host = Node & {
about: Scalars['String'];
active: Scalars['Boolean'];
badges?: Maybe<Array<Media>>;
/** Hosts' bookings, ordered by created date */
bookings: BookingConnection;
/** Official Registration Address */
businessAddress?: Maybe<Address>;
chatInbox: ChatConversationConnection;
chatMessageCount: ChatUserMessageCount;
/**
* Company Registration Number
*
* New requirements for hosts
*
* (Optional for backwards compatibility with existing hosts, but required for new hosts.)
*/
companyRegistrationNumber?: Maybe<Scalars['String']>;
contact?: Maybe<HostContactDetails>;
created: Scalars['AWSDateTime'];
facebookPage?: Maybe<Scalars['AWSURL']>;
hostFeaturedVideoURL?: Maybe<Scalars['AWSURL']>;
hostFeaturedVideoURLThumbnail?: Maybe<Media>;
id: Scalars['ID'];
legalName?: Maybe<Scalars['String']>;
/** Host Logo */
logo?: Maybe<Media>;
/** The list of media items uploaded by a host */
media?: Maybe<MediaConnection>;
name: Scalars['String'];
notifications?: Maybe<ActivityStreamConnection>;
paymentDetails?: Maybe<HostPaymentDetails>;
reviews: ReviewConnection;
settings?: Maybe<HostSettings>;
/**
* Host statements
*
* Start and end date filters are inclusive (i.e. >= and <= respectively)
*/
statement: HostStatement;
/** Team members of the host */
team: HostTeamConnection;
termsConditions?: Maybe<Scalars['String']>;
trips: TripConnection;
twitterPage?: Maybe<Scalars['AWSURL']>;
updated: Scalars['AWSDateTime'];
urlSlug: Scalars['String'];
/** Users with permissions to manage host */
userRoles: HostUsersRolesConnection;
website?: Maybe<Scalars['AWSURL']>;
};
export declare type HostbookingsArgs = {
limit?: InputMaybe<Scalars['Int']>;
nextToken?: InputMaybe<Scalars['String']>;
};
export declare type HostchatInboxArgs = {
limit?: InputMaybe<Scalars['Int']>;
nextToken?: InputMaybe<Scalars['String']>;
status?: InputMaybe<ChatConversationStatus>;
};
export declare type HostmediaArgs = {
limit?: InputMaybe<Scalars['Int']>;
nextToken?: InputMaybe<Scalars['String']>;
};
export declare type HostnotificationsArgs = {
limit?: InputMaybe<Scalars['Int']>;
nextToken?: InputMaybe<Scalars['String']>;
};
export declare type HostreviewsArgs = {
limit?: InputMaybe<Scalars['Int']>;
nextToken?: InputMaybe<Scalars['String']>;
};
export declare type HoststatementArgs = {
endDate: Scalars['AWSDateTime'];
startDate: Scalars['AWSDateTime'];
};
export declare type HostBusinessInfoInput = {
/** Official Registration Address */
businessAddress: AddressInput;
/** Legal Business Name */
businessName: Scalars['String'];
/**
* Company Registration Number
*
* (Optional for backwards compatibility with existing hosts, but required for new hosts.)
*/
companyRegistrationNumber?: InputMaybe<Scalars['String']>;
};
export declare type HostContactDetails = {
contactName?: Maybe<Scalars['String']>;
email: Scalars['String'];
phone: Scalars['String'];
};
export declare type HostContactDetailsInput = {
contactName: Scalars['String'];
email: Scalars['String'];
phone: Scalars['String'];
};
export declare type HostPaymentDetails = {
bankDetails?: Maybe<