export interface EventGuest {
/** Guest ID. */
id?: string | null;
/** Event ID. */
eventId?: string | null;
/** RSVP ID.
**Note:** Only applicable when `guestType` is `RSVP`. */
rsvpId?: string | null;
/** Order number.
**Note:** Only applicable when `guestType` is `BUYER` or `TICKET_HOLDER`. */
orderNumber?: string | null;
/** Ticket number.
**Note:** Only applicable when `guestType` is `TICKET_HOLDER`. */
ticketNumber?: string | null;
/** List of names, numbers, and definition IDs for each ticket. */
tickets?: TicketDetails[];
/** Guest's contact ID. See [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4) for more details. */
contactId?: string | null;
/** Guest details.
Returned only when the `guestDetails` fieldset is sent in the request. */
guestDetails?: GuestDetails;
/** Attendance status. The attendance status updates based on status values in an RSVP object (for RSVP events) or in an Order object (for ticketed events). For more information read [this article](https://dev.wix.com/docs/rest/business-solutions/events/event-guests/guest-attendance-status-mapping).
**Note:** For `guestType` `BUYER` or `TICKET_HOLDER` the `IN_WAITLIST` value is not applicable. */
attendanceStatus?: AttendanceStatus;
/** Secondary language code in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format. Used when the event ticket should be translated into another language. */
secondaryLanguageCode?: string | null;
/** Date and time the guest was created in `yyyy-mm-ddThh:mm:sssZ` format. */
createdDate?: Date | null;
/** Date and time the guest was updated in `yyyy-mm-ddThh:mm:sssZ` format. */
updatedDate?: Date | null;
/** Date and time of guest's latest attendance status update. */
attendanceStatusUpdatedDate?: Date | null;
/** Site member ID. */
memberId?: string | null;
/** Guest type. */
guestType?: GuestType;
/** Locale in [IETF BCP 47](https://en.wikipedia.org/wiki/IETF_language_tag) format. Used when the event date and time on a ticket should be formatted into another locale. */
locale?: string | null;
/**
* Number of total guests in an event (registered guests + additional ones).
* @readonly
*/
totalGuests?: number | null;
/**
* Revision number, which increments by 1 each time the guest is updated.
* @readonly
*/
revision?: string | null;
}
export interface TicketDetails {
/** Ticket number. */
number?: string;
/** Ticket definition ID. */
definitionId?: string | null;
/** Ticket name. */
name?: string | null;
}
export interface TicketGuestDetails {
/** The login details for the guest to access the online conference event. */
onlineConferencingLogin?: OnlineConferencingLogin;
/** First name. */
firstName?: string | null;
/** Last name. */
lastName?: string | null;
}
export interface OnlineConferencingLogin {
/**
* Link URL to the online conference.
* @readonly
*/
link?: string;
/**
* Password for the online conference.
* @readonly
*/
password?: string | null;
}
export interface GuestDetails {
/** Email. */
email?: string | null;
/** First name. */
firstName?: string | null;
/** Last name. */
lastName?: string | null;
/** Form response. */
formResponse?: FormResponse;
/** Whether the guest has checked into the event. */
checkedIn?: boolean;
/** The login details for the guest to access the online conference event. */
onlineConferencingLogin?: OnlineConferencingLogin;
/** Phone extracted from form response. If multiples phone inputs are present, first one is returned. */
phone?: string | null;
/** Address extracted from form response. If multiples address inputs are present, first one is returned. */
address?: string | null;
}
export interface FormResponse {
/** Input values entered when filling the form. */
inputValues?: InputValue[];
}
export interface InputValue {
/** Input field name. */
inputName?: string;
/** Text entered into the input field. */
value?: string;
/** Multiple selection values. For example, the array is filled if several checkboxes are ticked. */
values?: string[];
}
export interface FormattedAddress {
/** One line address representation. */
formatted?: string;
/** Address components (optional). */
address?: Address;
}
/** Physical address */
export interface Address extends AddressStreetOneOf {
/** Street name and number. */
streetAddress?: StreetAddress;
/** Main address line, usually street and number as free text. */
addressLine?: string | null;
/** Country code. */
country?: string | null;
/** Subdivision shorthand. Usually, a short code (2 or 3 letters) that represents a state, region, prefecture, or province. e.g. NY */
subdivision?: string | null;
/** City name. */
city?: string | null;
/** Zip/postal code. */
postalCode?: string | null;
/** Free text providing more detailed address info. Usually contains Apt, Suite, and Floor. */
addressLine2?: string | null;
}
/** @oneof */
export interface AddressStreetOneOf {
/** Street name and number. */
streetAddress?: StreetAddress;
/** Main address line, usually street and number as free text. */
addressLine?: string | null;
}
export interface StreetAddress {
/** Street number. */
number?: string;
/** Street name. */
name?: string;
}
export interface AddressLocation {
/** Address latitude. */
latitude?: number | null;
/** Address longitude. */
longitude?: number | null;
}
export interface Subdivision {
/** Short subdivision code. */
code?: string;
/** Subdivision full name. */
name?: string;
}
export declare enum SubdivisionType {
UNKNOWN_SUBDIVISION_TYPE = "UNKNOWN_SUBDIVISION_TYPE",
/** State */
ADMINISTRATIVE_AREA_LEVEL_1 = "ADMINISTRATIVE_AREA_LEVEL_1",
/** County */
ADMINISTRATIVE_AREA_LEVEL_2 = "ADMINISTRATIVE_AREA_LEVEL_2",
/** City/town */
ADMINISTRATIVE_AREA_LEVEL_3 = "ADMINISTRATIVE_AREA_LEVEL_3",
/** Neighborhood/quarter */
ADMINISTRATIVE_AREA_LEVEL_4 = "ADMINISTRATIVE_AREA_LEVEL_4",
/** Street/block */
ADMINISTRATIVE_AREA_LEVEL_5 = "ADMINISTRATIVE_AREA_LEVEL_5",
/** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */
COUNTRY = "COUNTRY"
}
/** Subdivision Concordance values */
export interface StandardDetails {
/** subdivision iso-3166-2 code according to [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). e.g. US-NY, GB-SCT, NO-30 */
iso31662?: string | null;
}
export declare enum AttendanceStatus {
/** Not attending. */
NOT_ATTENDING = "NOT_ATTENDING",
/** Attending. */
ATTENDING = "ATTENDING",
/** In a waiting list. */
IN_WAITLIST = "IN_WAITLIST"
}
export declare enum GuestType {
/** An invited guest, no ticket necessary. */
RSVP = "RSVP",
/** The guest who bought the ticket. */
BUYER = "BUYER",
/** The guest for whom the ticket was bought. */
TICKET_HOLDER = "TICKET_HOLDER"
}
export interface GuestCountUpdated {
/** Guest. */
guest?: EventGuest;
/** Guest count updates. */
guestCountUpdates?: GuestCountUpdate[];
}
export interface GuestCountUpdate {
/** Attendance status. */
attendanceStatus?: AttendanceStatus;
/** Total guest count change. */
totalGuestsDelta?: number;
/** Guest count change. */
countDelta?: number;
}
export interface MemberEventStatusUpdated {
/** Event id. */
eventId?: string | null;
/** Member id. */
memberId?: string | null;
/** Member event status. */
status?: MemberEventStatusUpdatedEventType;
}
export declare enum MemberEventStatusUpdatedEventType {
/**
* Triggered every time a guest with a specified member ID is added to the event.
* This event can also be triggered if an existing guest changed their member ID.
*/
MEMBER_JOINED = "MEMBER_JOINED",
/**
* Triggered every time a guest with a specified member ID is removed from the event.
* This event can also be triggered if an existing guest changed their member ID.
*/
MEMBER_LEFT = "MEMBER_LEFT",
/**
* Triggered every time a guest with a specified member ID whose status is `ATTENDING` is added to the event.
* This event can also be triggered if an existing guest changed their member ID or changed their status to `ATTENDING`.
*/
ATTENDING_MEMBER_JOINED = "ATTENDING_MEMBER_JOINED",
/**
* Triggered when the last guest with a specified member ID is removed from the event or their status changes to `ATTENDING`.
* Once triggered there are no more attending guests with a specified member ID in the event.
* This event can also be triggered if the last existing guest changed their member ID or their status to `NOT_ATTENDING`.
*/
LAST_ATTENDING_MEMBER_LEFT = "LAST_ATTENDING_MEMBER_LEFT"
}
export interface ContactEventStatusUpdated {
/** Event id. */
eventId?: string | null;
/** Contact id. */
contactId?: string | null;
/** Contact event status. */
status?: EventType;
}
export declare enum EventType {
/**
* Triggered every time a guest with a specified contact ID is added to the event.
* This event can also be triggered if an existing guest changed their contact ID.
*/
CONTACT_JOINED = "CONTACT_JOINED",
/**
* Triggered every time a guest with a specified contact ID is removed from the event.
* This event can also be triggered if an existing guest changed their contact ID.
*/
CONTACT_LEFT = "CONTACT_LEFT",
/**
* Triggred when the last guest with a specified contact ID is removed from the event.
* Once triggered there are no more guests with a specified contact ID in the event.
* This event can also be triggered if the last existing guest changed their contact ID.
*/
LAST_CONTACT_LEFT = "LAST_CONTACT_LEFT"
}
export interface GuestCheckedIn {
/** Event guest */
guest?: EventGuest;
/** Event details */
eventDetails?: EventDetails;
}
export interface EventDetails {
/**
* Event title.
* @readonly
*/
title?: string | null;
/**
* Event short description.
* @readonly
*/
shortDescription?: string | null;
/**
* Event location.
* @readonly
*/
location?: Location;
/**
* Event date and time settings.
* @readonly
*/
dateAndTimeSettings?: DateAndTimeSettings;
/**
* Event page URL components.
* @readonly
*/
eventPageUrl?: PageUrl;
/**
* Event status.
* @readonly
*/
status?: Status;
}
export interface Location {
/** Location name. This value is displayed instead of the address when the location is defined as TBD by setting the `locationTbd` property to `true`. */
name?: string | null;
/** Location type. */
type?: LocationType;
/** Exact location address. */
address?: CommonAddress;
/** Whether the event location is TBD. */
locationTbd?: boolean | null;
}
export declare enum LocationType {
/** Unknown location type. */
UNKNOWN_LOCATION = "UNKNOWN_LOCATION",
/** Event is on-site at a specific physical location. */
VENUE = "VENUE",
/** Event is online, such as a virtual video conference. */
ONLINE = "ONLINE"
}
/** Physical address */
export interface CommonAddress extends CommonAddressStreetOneOf {
/** Street address. */
streetAddress?: CommonStreetAddress;
/** Primary address information (street and building number). */
addressLine?: string | null;
/** 2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format. */
country?: string | null;
/** Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2). */
subdivision?: string | null;
/** City name. */
city?: string | null;
/** Zip or postal code. */
postalCode?: string | null;
/** Secondary address information (suite or apartment number and room number). */
addressLine2?: string | null;
}
/** @oneof */
export interface CommonAddressStreetOneOf {
/** Street address. */
streetAddress?: CommonStreetAddress;
/** Primary address information (street and building number). */
addressLine?: string | null;
}
export interface CommonStreetAddress {
/** Street number. */
number?: string;
/** Street name. */
name?: string;
}
export interface CommonAddressLocation {
/** Address latitude coordinates. */
latitude?: number | null;
/** Address longitude coordinates. */
longitude?: number | null;
}
export interface CommonSubdivision {
/** Short subdivision code. */
code?: string;
/** Subdivision full name. */
name?: string;
}
export declare enum SubdivisionSubdivisionType {
UNKNOWN_SUBDIVISION_TYPE = "UNKNOWN_SUBDIVISION_TYPE",
/** State */
ADMINISTRATIVE_AREA_LEVEL_1 = "ADMINISTRATIVE_AREA_LEVEL_1",
/** County */
ADMINISTRATIVE_AREA_LEVEL_2 = "ADMINISTRATIVE_AREA_LEVEL_2",
/** City/town */
ADMINISTRATIVE_AREA_LEVEL_3 = "ADMINISTRATIVE_AREA_LEVEL_3",
/** Neighborhood/quarter */
ADMINISTRATIVE_AREA_LEVEL_4 = "ADMINISTRATIVE_AREA_LEVEL_4",
/** Street/block */
ADMINISTRATIVE_AREA_LEVEL_5 = "ADMINISTRATIVE_AREA_LEVEL_5",
/** ADMINISTRATIVE_AREA_LEVEL_0. Indicates the national political entity, and is typically the highest order type returned by the Geocoder. */
COUNTRY = "COUNTRY"
}
export interface DateAndTimeSettings {
/** Whether the event date and time are TBD. */
dateAndTimeTbd?: boolean | null;
/** Message that is displayed when time and date is TBD. */
dateAndTimeTbdMessage?: string | null;
/** Event start date. */
startDate?: Date | null;
/** Event end date. */
endDate?: Date | null;
/** Event time zone ID in the [TZ database](https://www.iana.org/time-zones) format. */
timeZoneId?: string | null;
/** Whether the end date is hidden in the formatted date and time. */
hideEndDate?: boolean | null;
/** Whether the time zone is displayed in the formatted schedule. */
showTimeZone?: boolean | null;
/**
* Repeating event status.
* @readonly
*/
recurrenceStatus?: RecurrenceStatusStatus;
/** Event repetitions. */
recurringEvents?: Recurrences;
/** Formatted date and time settings. */
formatted?: Formatted;
}
export declare enum RecurrenceStatusStatus {
/** Unknown recurrance status. */
UNKNOWN_STATUS = "UNKNOWN_STATUS",
/** Event happens only once and can last multiple days. */
ONE_TIME = "ONE_TIME",
/** A series of events that repeat. */
RECURRING = "RECURRING",
/** Next event in a schedule of recurring events. */
RECURRING_UPCOMING = "RECURRING_UPCOMING",
/** Latest event that ended in a schedule of recurring events. */
RECURRING_RECENTLY_ENDED = "RECURRING_RECENTLY_ENDED",
/** Latest canceled event in a schedule of recurring events */
RECURRING_RECENTLY_CANCELED = "RECURRING_RECENTLY_CANCELED"
}
export interface Recurrences {
/** Individual event dates. */
individualEventDates?: Occurrence[];
/**
* Recurring event category ID.
* @readonly
*/
categoryId?: string | null;
}
export interface Occurrence {
/** Event start date. */
startDate?: Date | null;
/** Event end date. */
endDate?: Date | null;
/** Event time zone ID in the [TZ database](https://www.iana.org/time-zones) format. */
timeZoneId?: string | null;
/** Whether the time zone is displayed in a formatted schedule. */
showTimeZone?: boolean;
}
export interface Formatted {
/**
* Formatted date and time representation.
* Example of formatting when an event lasts multiple days and is in the UTC time zone: `September 1, 2015 at 10:20 AM – September 5, 2015 at 12:14 PM`.
* Example of formatting when an event lasts 1 day and is in the GMT+2 time zone: `February 1, 2018, 12:10 – 2:50 PM GMT+2`.
* @readonly
*/
dateAndTime?: string | null;
/**
* Formatted start date of the event. Empty for TBD schedules.
* @readonly
*/
startDate?: string | null;
/**
* Formatted start time of the event. Empty for TBD schedules.
* @readonly
*/
startTime?: string | null;
/**
* Formatted end date of the event. Empty for TBD schedules or when the end date is hidden.
* @readonly
*/
endDate?: string | null;
/**
* Formatted end time of the event. Empty for TBD schedules or when the end date is hidden.
* @readonly
*/
endTime?: string | null;
}
export interface PageUrl {
/** The base URL. For premium sites, the base is the domain. For free sites, the base is the Wix site URL (for example, `https://mysite.wixsite.com/mysite`). */
base?: string;
/** The path to the page. For example, `/product-page/a-product`. */
path?: string;
}
export declare enum Status {
/** Unknown event status. */
UNKNOWN_EVENT_STATUS = "UNKNOWN_EVENT_STATUS",
/** Event is published and scheduled to start. */
UPCOMING = "UPCOMING",
/** Event has started. */
STARTED = "STARTED",
/** Event has ended. */
ENDED = "ENDED",
/** Event is canceled. */
CANCELED = "CANCELED",
/** Event is not public. */
DRAFT = "DRAFT"
}
export interface NotifyGuestAction {
/** Event guest. */
guest?: EventGuest;
/** Task context. */
taskContext?: TaskContext;
}
export interface TaskContext {
/** Task id. */
id?: string | null;
/** Notify action type. */
type?: NotifyActionType;
/** Timing. Used for EVENT_STARTS */
timing?: Timing;
/** Event context. */
event?: EventDetails;
/** Order context. */
order?: OrderDetails;
}
export declare enum NotifyActionType {
UNKNOWN = "UNKNOWN",
EMAIL = "EMAIL",
AUTOMATION_TRIGGER = "AUTOMATION_TRIGGER",
PUSH = "PUSH",
EVENT_CANCELED = "EVENT_CANCELED",
EVENT_STARTS = "EVENT_STARTS",
ORDER_CANCELED = "ORDER_CANCELED"
}
export declare enum Timing {
/** Unknown event start time. */
UNKNOWN_TIMING = "UNKNOWN_TIMING",
/** Instant. */
NOW = "NOW",
/** 24 hours prior. */
STARTS_IN_1_DAY = "STARTS_IN_1_DAY",
/** 3 days prior. */
STARTS_IN_3_DAYS = "STARTS_IN_3_DAYS",
/** 7 days prior. */
STARTS_IN_1_WEEK = "STARTS_IN_1_WEEK",
/** 1 hour prior. */
STARTS_IN_1_HOUR = "STARTS_IN_1_HOUR",
/** 30 minutes prior. */
STARTS_IN_30_MINUTES = "STARTS_IN_30_MINUTES",
/** 2 hours prior. */
STARTS_IN_2_HOURS = "STARTS_IN_2_HOURS"
}
export interface OrderDetails {
/** Order status */
orderStatus?: OrderStatus;
/** Invoice */
invoice?: Invoice;
}
export declare enum OrderStatus {
/** Order status not available for this request fieldset. */
NA_ORDER_STATUS = "NA_ORDER_STATUS",
/** Order is confirmed and payment isn't required. */
FREE = "FREE",
/** Order is paid for but the payment gateway has suspended the payment. */
PENDING = "PENDING",
/** Order is paid via a payment gateway. */
PAID = "PAID",
/** Order is confirmed but must be paid via offline payment. Status needs to be manually updated to `PAID`. */
OFFLINE_PENDING = "OFFLINE_PENDING",
/** Order is awaiting payment at the cashier. */
INITIATED = "INITIATED",
/** Order is canceled. */
CANCELED = "CANCELED",
/** Order payment is declined. */
DECLINED = "DECLINED",
/** Order payment is authorized. */
AUTHORIZED = "AUTHORIZED",
/** Order payment is voided. */
VOIDED = "VOIDED",
/** Order is partially paid with less than the total amount. */
PARTIALLY_PAID = "PARTIALLY_PAID"
}
export interface Invoice {
items?: Item[];
/**
* Total cart amount.
* @deprecated
*/
total?: Money;
/** Discount applied to cart. */
discount?: Discount;
/** Tax applied to cart. */
tax?: Tax;
/** Total cart amount before discount, tax, and fees. */
subTotal?: Money;
/**
* Total amount of cart after discount, tax, and fees.
* Grand total is calculated in the following order:
* 1. Total prices of all items in the cart are calculated.
* 2. Discount is subtracted from the cart (if applicable).
* 3. Tax is added (if applicable).
* 4. Wix ticket service fee is added.
*/
grandTotal?: Money;
/**
* Fees applied to the cart.
* @readonly
*/
fees?: Fee[];
/** Total revenue, excluding fees. (Taxes and payment provider fees are not deducted). */
revenue?: Money;
/** URL to invoice preview. Returned only if order is paid. */
previewUrl?: string | null;
}
export interface Item {
/** Unique line item ID. */
id?: string;
/** Line item quantity. */
quantity?: number;
/** Line item name. */
name?: string;
/** Line item price. */
price?: Money;
/** Total price for line items. Always equal to price * quantity. */
total?: Money;
/** Discount applied to the line item. */
discount?: Discount;
/** Tax applied to the item. */
tax?: Tax;
/**
* Fees applied to the item.
* @readonly
*/
fees?: Fee[];
}
export interface Money {
/**
* *Deprecated:** Use `value` instead.
* @deprecated
*/
amount?: string;
/** ISO 4217 format of the currency e.g., `USD`. */
currency?: string;
/** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, starts with a single (-), to indicate that the amount is negative. */
value?: string | null;
}
export interface Discount {
/** Total discount amount. */
amount?: Money;
/** Total charge after applied discount. */
afterDiscount?: Money;
/**
* Discount coupon code.
* @deprecated
*/
code?: string;
/**
* Discount coupon name.
* @deprecated
*/
name?: string;
/**
* Discount coupon ID.
* @deprecated
*/
couponId?: string;
/** Discount items. */
discounts?: DiscountItem[];
}
export interface DiscountItem extends DiscountItemDiscountOneOf {
/** Coupon discount. */
coupon?: CouponDiscount;
/** Pricing plan discount. */
paidPlan?: PaidPlanDiscount;
/** Total discount amount. */
amount?: Money;
}
/** @oneof */
export interface DiscountItemDiscountOneOf {
/** Coupon discount. */
coupon?: CouponDiscount;
/** Pricing plan discount. */
paidPlan?: PaidPlanDiscount;
}
export interface CouponDiscount {
/** Discount coupon name. */
name?: string;
/** Discount coupon code. */
code?: string;
/** Discount coupon ID. */
couponId?: string;
}
export interface PaidPlanDiscount extends PaidPlanDiscountDiscountOneOf {
/** Discount by percentage applied to tickets. */
percentDiscount?: PercentDiscount;
/** Name of pricing plan. */
name?: string;
}
/** @oneof */
export interface PaidPlanDiscountDiscountOneOf {
/** Discount by percentage applied to tickets. */
percentDiscount?: PercentDiscount;
}
export interface PercentDiscount {
/** Percent rate. */
rate?: string;
/** Number of discounted tickets. */
quantityDiscounted?: number;
}
export interface Tax {
/** Tax type. */
type?: TaxType;
/**
* Tax name.
* @readonly
*/
name?: string;
/** Tax rate. */
rate?: string;
/** Taxable amount. */
taxable?: Money;
/** Total tax amount. */
amount?: Money;
}
export declare enum TaxType {
/** Tax is included in the ticket price. */
INCLUDED = "INCLUDED",
/** Tax is added to the order at the checkout. */
ADDED = "ADDED",
/** Tax is added to the final total at the checkout. */
ADDED_AT_CHECKOUT = "ADDED_AT_CHECKOUT"
}
export interface Fee {
/** Fee identifier. */
name?: FeeName;
/** How fee is calculated. */
type?: FeeType;
/**
* Fee rate.
* @readonly
*/
rate?: string;
/** Total amount of fee charges. */
amount?: Money;
}
export declare enum FeeName {
/** Wix ticket service fee charges applied to the line item. */
WIX_FEE = "WIX_FEE"
}
export declare enum FeeType {
/** Fee is added to the ticket price at checkout. */
FEE_ADDED = "FEE_ADDED",
/** Seller absorbs the fee. It is deducted from the ticket price. */
FEE_INCLUDED = "FEE_INCLUDED",
/** Fee is added to the ticket price at checkout. */
FEE_ADDED_AT_CHECKOUT = "FEE_ADDED_AT_CHECKOUT"
}
export interface GuestEventCanceled {
/** Event guest. */
guest?: EventGuest;
/** Event context. */
event?: EventDetails;
}
export interface GuestEventStarts {
/** Event guest. */
guest?: EventGuest;
/** Event context. */
event?: EventDetails;
/** Timing */
timing?: Timing;
}
export interface GuestOrderCanceled {
/** Event guest. */
guest?: EventGuest;
/** Event context. */
event?: EventDetails;
/** Order context. */
order?: OrderDetails;
}
export interface DomainEvent extends DomainEventBodyOneOf {
createdEvent?: EntityCreatedEvent;
updatedEvent?: EntityUpdatedEvent;
deletedEvent?: EntityDeletedEvent;
actionEvent?: ActionEvent;
/**
* Unique event ID.
* Allows clients to ignore duplicate webhooks.
*/
id?: string;
/**
* Assumes actions are also always typed to an entity_type
* Example: wix.stores.catalog.product, wix.bookings.session, wix.payments.transaction
*/
entityFqdn?: string;
/**
* This is top level to ease client code dispatching of messages (switch on entity_fqdn+slug)
* This is although the created/updated/deleted notion is duplication of the oneof types
* Example: created/updated/deleted/started/completed/email_opened
*/
slug?: string;
/** ID of the entity associated with the event. */
entityId?: string;
/** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example: 2020-04-26T13:57:50.699Z */
eventTime?: Date | null;
/**
* Whether the event was triggered as a result of a privacy regulation application
* (for example, GDPR).
*/
triggeredByAnonymizeRequest?: boolean | null;
/** If present, indicates the action that triggered the event. */
originatedFrom?: string | null;
/**
* A sequence number defining the order of updates to the underlying entity.
* For example, given that some entity was updated at 16:00 and than again at 16:01,
* it is guaranteed that the sequence number of the second update is strictly higher than the first.
* As the consumer, you can use this value to ensure that you handle messages in the correct order.
* To do so, you will need to persist this number on your end, and compare the sequence number from the
* message against the one you have stored. Given that the stored number is higher, you should ignore the message.
*/
entityEventSequence?: string | null;
}
/** @oneof */
export interface DomainEventBodyOneOf {
createdEvent?: EntityCreatedEvent;
updatedEvent?: EntityUpdatedEvent;
deletedEvent?: EntityDeletedEvent;
actionEvent?: ActionEvent;
}
export interface EntityCreatedEvent {
entityAsJson?: string;
/** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */
restoreInfo?: RestoreInfo;
}
export interface RestoreInfo {
deletedDate?: Date | null;
}
export interface EntityUpdatedEvent {
/**
* Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.
* This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.
* We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.
*/
currentEntityAsJson?: string;
}
export interface EntityDeletedEvent {
/** Entity that was deleted */
deletedEntityAsJson?: string | null;
}
export interface ActionEvent {
bodyAsJson?: string;
}
export interface MessageEnvelope {
/** App instance ID. */
instanceId?: string | null;
/** Event type. */
eventType?: string;
/** The identification type and identity data. */
identity?: IdentificationData;
/** Stringify payload. */
data?: string;
}
export interface IdentificationData extends IdentificationDataIdOneOf {
/** ID of a site visitor that has not logged in to the site. */
anonymousVisitorId?: string;
/** ID of a site visitor that has logged in to the site. */
memberId?: string;
/** ID of a Wix user (site owner, contributor, etc.). */
wixUserId?: string;
/** ID of an app. */
appId?: string;
/** @readonly */
identityType?: WebhookIdentityType;
}
/** @oneof */
export interface IdentificationDataIdOneOf {
/** ID of a site visitor that has not logged in to the site. */
anonymousVisitorId?: string;
/** ID of a site visitor that has logged in to the site. */
memberId?: string;
/** ID of a Wix user (site owner, contributor, etc.). */
wixUserId?: string;
/** ID of an app. */
appId?: string;
}
export declare enum WebhookIdentityType {
UNKNOWN = "UNKNOWN",
ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
MEMBER = "MEMBER",
WIX_USER = "WIX_USER",
APP = "APP"
}
export interface QueryEventGuestsRequest {
/** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */
query: QueryV2;
/** Predefined sets of fields to return. */
fields?: RequestedFieldsEnumRequestedFields[];
}
export interface QueryV2 extends QueryV2PagingMethodOneOf {
/** Paging options to limit and skip the number of items. */
paging?: Paging;
/** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
cursorPaging?: CursorPaging;
/** Filter object in the following format:
`"filter" : { "fieldName1": "value1", "fieldName2":{"$operator":"value2"} }`.
**Example:**
`"filter" : { "eventId": "sd3f-jhds-4fs77", "ticketNumber": {"$startsWith":"478"} }`
See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort) for more information. */
filter?: Record | null;
/** Sort object in the following format:
`[{"fieldName":"sortField1"},{"fieldName":"sortField2","direction":"DESC"}]`
**Example:**
`[{"fieldName":"createdDate","direction":"DESC"}]`
See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort) for more information. */
sort?: Sorting[];
/**
* Currently the only supported fieldset is `guestDetails`. The `WIX_EVENTS.READ_GUESTS_DETAILS` permission is required to access the guest details.
See [field projection](https://dev.wix.com/api/rest/getting-started/field-projection) for more information.
* @deprecated Currently the only supported fieldset is `guestDetails`. The `WIX_EVENTS.READ_GUESTS_DETAILS` permission is required to access the guest details.
See [field projection](https://dev.wix.com/api/rest/getting-started/field-projection) for more information.
* @replacedBy fields
* @targetRemovalDate 2024-06-30
*/
fieldsets?: string[];
}
/** @oneof */
export interface QueryV2PagingMethodOneOf {
/** Paging options to limit and skip the number of items. */
paging?: Paging;
/** Cursor token pointing to a page of results. Not used in the first request. Following requests use the cursor token and not `filter` or `sort`. */
cursorPaging?: CursorPaging;
}
export interface Sorting {
/** Name of the field to sort by. */
fieldName?: string;
/** Sort order. */
order?: SortOrder;
}
export declare enum SortOrder {
ASC = "ASC",
DESC = "DESC"
}
export interface Paging {
/** Number of items to load. */
limit?: number | null;
/** Number of items to skip in the current sort order. */
offset?: number | null;
}
export interface CursorPaging {
/** Maximum number of items to return in the results. */
limit?: number | null;
/**
* Pointer to the next or previous page in the list of results.
*
* Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.
* Not relevant for the first request.
*/
cursor?: string | null;
}
export declare enum RequestedFieldsEnumRequestedFields {
/** Unknown requested field. */
UNKNOWN_REQUESTED_FIELD = "UNKNOWN_REQUESTED_FIELD",
/** Returns `guestDetails` and `tickets`. */
GUEST_DETAILS = "GUEST_DETAILS",
/** Returns `totalGuests`. */
GUEST_TOTAL = "GUEST_TOTAL"
}
export interface QueryEventGuestsResponse {
/** List of guests. */
guests?: EventGuest[];
/** Metadata for the paginated results. */
pagingMetadata?: PagingMetadataV2;
}
export interface PagingMetadataV2 {
/** Number of items returned in the response. */
count?: number | null;
/** Offset that was requested. */
offset?: number | null;
/** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */
total?: number | null;
/** Flag that indicates the server failed to calculate the `total` field. */
tooManyToCount?: boolean | null;
/** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */
cursors?: Cursors;
}
export interface Cursors {
/** Cursor string pointing to the next page in the list of results. */
next?: string | null;
/** Cursor pointing to the previous page in the list of results. */
prev?: string | null;
}
export interface StreamEventGuestsRequest {
/** Filter. */
filter?: Record | null;
/** Task context. */
taskContext?: TaskContext;
}
export interface Empty {
}
export interface SecondaryLanguagesRequest {
/** Guest event id. */
eventId?: string;
}
export interface SecondaryLanguagesResponse {
/** Aggregated guests secondary languages. */
secondaryLanguages?: string[];
/** Aggregated guests languages. */
languages?: Language[];
}
export interface Language {
/** Guest language. */
language?: string | null;
/** Guest locale. */
locale?: string | null;
}
export interface OrderConfirmed {
/** Order confirmation timestamp in ISO UTC. */
timestamp?: Date | null;
/** Site language when Order initiated */
language?: string | null;
/** Notifications silenced for this domain event. */
silent?: boolean | null;
/** Locale in which Order was created. */
locale?: string | null;
/** Event ID. */
eventId?: string;
/** Unique order number. */
orderNumber?: string;
/** Contact ID associated with this order. */
contactId?: string;
/** Member ID associated with this order. */
memberId?: string | null;
/**
* Order created timestamp
* @readonly
*/
created?: Date | null;
/** Buyer first name. */
firstName?: string;
/** Buyer last name. */
lastName?: string;
/** Buyer email address. */
email?: string;
/** Checkout form response. */
checkoutForm?: FormResponse;
/** Order status. */
status?: OrderStatus;
/** Payment method used for paid tickets purchase, i.e. "payPal", "creditCard", etc. */
method?: string | null;
/** Tickets (generated after payment). */
tickets?: Ticket[];
/** Invoice. */
invoice?: Invoice;
/** Reservation ID associated with this order. */
reservationId?: string;
}
export interface Ticket {
/** Unique issued ticket number. */
ticketNumber?: string;
/** Ticket definition ID. */
ticketDefinitionId?: string;
/** Ticket check-in. */
checkIn?: CheckIn;
/** Ticket price. */
price?: Money;
/** Whether ticket is archived. */
archived?: boolean;
/** Guest first name. */
firstName?: string | null;
/** Guest last name. */
lastName?: string | null;
/** Guest email. */
email?: string | null;
/** Contact ID associated with this ticket. */
contactId?: string | null;
/** Whether ticket is confirmed */
confirmed?: boolean;
/** Member ID associated with this ticket. */
memberId?: string | null;
/** Ticket form response (only assigned tickets contain separate forms). */
form?: FormResponse;
/** Ticket name. */
ticketName?: string;
/** Anonymized tickets no longer contain personally identifiable information (PII). */
anonymized?: boolean;
/** URL and password to online conference */
onlineConferencingLogin?: OnlineConferencingLogin;
/** Seat ID associated with this ticket. */
seatId?: string | null;
/** Whether ticket is canceled. */
canceled?: boolean | null;
}
export interface CheckIn {
/** Time of check-in */
created?: Date | null;
}
export interface OrderUpdated {
/** Order updated timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Site language when Order initiated */
language?: string | null;
/** Locale in which Order was created. */
locale?: string | null;
/** Event ID. */
eventId?: string;
/** Unique order number. */
orderNumber?: string;
/** Contact ID associated with this order. */
contactId?: string;
/** Member ID associated with this order. */
memberId?: string | null;
/**
* Order created timestamp.
* @readonly
*/
created?: Date | null;
/**
* Order updated timestamp.
* @readonly
*/
updated?: Date | null;
/** Buyer first name. */
firstName?: string;
/** Buyer last name. */
lastName?: string;
/** Buyer email. */
email?: string;
/** Checkout form response. */
checkoutForm?: FormResponse;
/** Whether order is confirmed - occurs once payment gateway processes the payment and funds reach merchant's account. */
confirmed?: boolean;
/** Order status. */
status?: OrderStatus;
/** Payment method used for paid tickets purchase, i.e. "payPal", "creditCard", etc. */
method?: string | null;
/** Tickets generated after payment. */
tickets?: Ticket[];
/** Whether order was archived and excluded from results. */
archived?: boolean;
/** Whether event was triggered by GDPR delete request. */
triggeredByAnonymizeRequest?: boolean;
}
export interface OrderDeleted {
/** Order deleted timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Unique order number. */
orderNumber?: string;
/** Contact ID associated with this order */
contactId?: string;
/** Member ID associated with this order. */
memberId?: string | null;
/**
* Order created timestamp.
* @readonly
*/
created?: Date | null;
/**
* Order updated timestamp.
* @readonly
*/
updated?: Date | null;
/** Whether order was anonymized by GDPR delete. */
anonymized?: boolean;
/** Order type. */
orderType?: OrderType;
/** Whether event was triggered by GDPR delete request. */
triggeredByAnonymizeRequest?: boolean;
/** Tickets generated after payment. */
tickets?: Ticket[];
}
export declare enum OrderType {
/** Buyer form is used for all tickets. */
UNASSIGNED_TICKETS = "UNASSIGNED_TICKETS",
/** Each order ticket has its own form. */
ASSIGNED_TICKETS = "ASSIGNED_TICKETS"
}
export interface EventDeleted {
/** Event deleted timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event title. */
title?: string;
/** Event creator user ID. */
userId?: string | null;
}
export interface Task {
key?: TaskKey;
executeAt?: Date | null;
payload?: string | null;
}
export interface TaskKey {
appId?: string;
instanceId?: string;
subjectId?: string | null;
}
export interface ListGuestListPreviewsRequest {
/** Event ids. */
eventIds?: string[];
/** Cursor paging. */
cursorPaging?: CursorPaging;
/** Requested fields. */
fields?: RequestedFields[];
}
export declare enum RequestedFields {
/** Unknown requested field. */
UNKNOWN_REQUESTED_FIELD = "UNKNOWN_REQUESTED_FIELD",
/** Member guests. */
MEMBER_GUESTS = "MEMBER_GUESTS",
/** Waitlist count. */
WAITLIST_COUNT = "WAITLIST_COUNT"
}
export interface ListGuestListPreviewsResponse {
/** List of guests. */
previews?: GuestListPreview[];
/** Metadata for the paginated results. */
pagingMetadata?: PagingMetadataV2;
}
export interface GuestListPreview {
/** Event id. */
eventId?: string;
/** Latest attending members. */
latestAttendingMembers?: EventGuests;
/** Attending guests count. */
attending?: GuestCount;
/** Waiting guests count. */
inWaitlist?: GuestCount;
/** Not attending guests count. */
notAttending?: GuestCount;
}
export interface EventGuests {
guests?: EventGuest[];
}
export interface GuestCount {
/** Total guest count. For Rsvp Event every RSVP guest and additional guest count, for Ticketed Event count of TICKET_HOLDER */
totalEventGuests?: number;
/** EventGuest count (RSVP, TICKET_HOLDER, BUYER); */
count?: number;
}
export interface UpdateGuestRequest {
/** Updated guest */
guest?: EventGuest;
/** Guest revision */
revision?: string | null;
}
export interface UpdateGuestResponse {
/** Updated guest */
guest?: EventGuest;
}
interface OnlineConferencingLoginNonNullableFields {
link: string;
}
interface TicketGuestDetailsNonNullableFields {
onlineConferencingLogin?: OnlineConferencingLoginNonNullableFields;
}
interface TicketDetailsNonNullableFields {
number: string;
guestDetails?: TicketGuestDetailsNonNullableFields;
}
interface StreetAddressNonNullableFields {
number: string;
name: string;
apt: string;
}
interface SubdivisionNonNullableFields {
code: string;
name: string;
type: SubdivisionType;
}
interface AddressNonNullableFields {
streetAddress?: StreetAddressNonNullableFields;
subdivisions: SubdivisionNonNullableFields[];
}
interface FormattedAddressNonNullableFields {
formatted: string;
address?: AddressNonNullableFields;
}
interface InputValueNonNullableFields {
inputName: string;
value: string;
values: string[];
address?: FormattedAddressNonNullableFields;
}
interface FormResponseNonNullableFields {
inputValues: InputValueNonNullableFields[];
}
interface GuestDetailsNonNullableFields {
formResponse?: FormResponseNonNullableFields;
checkedIn: boolean;
onlineConferencingLogin?: OnlineConferencingLoginNonNullableFields;
}
interface EventGuestNonNullableFields {
tickets: TicketDetailsNonNullableFields[];
guestDetails?: GuestDetailsNonNullableFields;
attendanceStatus: AttendanceStatus;
guestType: GuestType;
}
export interface QueryEventGuestsResponseNonNullableFields {
guests: EventGuestNonNullableFields[];
}
export {};