;
interface ChangeCurrencyOptions$1 {
/** Event ID. */
eventId?: string;
/** Event currency, in 3-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */
currency: string;
}
type eventsV1TicketDefinition_universal_d_WixFeeConfig = WixFeeConfig;
type eventsV1TicketDefinition_universal_d_FeeType = FeeType;
const eventsV1TicketDefinition_universal_d_FeeType: typeof FeeType;
type eventsV1TicketDefinition_universal_d_TicketSalePeriod = TicketSalePeriod;
type eventsV1TicketDefinition_universal_d_TicketSaleStatus = TicketSaleStatus;
const eventsV1TicketDefinition_universal_d_TicketSaleStatus: typeof TicketSaleStatus;
type eventsV1TicketDefinition_universal_d_TicketDefinitionStateEnumState = TicketDefinitionStateEnumState;
const eventsV1TicketDefinition_universal_d_TicketDefinitionStateEnumState: typeof TicketDefinitionStateEnumState;
type eventsV1TicketDefinition_universal_d_TicketPricing = TicketPricing;
type eventsV1TicketDefinition_universal_d_TicketPricingPriceOneOf = TicketPricingPriceOneOf;
type eventsV1TicketDefinition_universal_d_PricingOption = PricingOption;
type eventsV1TicketDefinition_universal_d_TicketDefinitionFieldset = TicketDefinitionFieldset;
const eventsV1TicketDefinition_universal_d_TicketDefinitionFieldset: typeof TicketDefinitionFieldset;
type eventsV1TicketDefinition_universal_d_QueryTicketDefinitionsV2Request = QueryTicketDefinitionsV2Request;
type eventsV1TicketDefinition_universal_d_QueryTicketDefinitionsV2Response = QueryTicketDefinitionsV2Response;
type eventsV1TicketDefinition_universal_d_ListTicketDefinitionsRequest = ListTicketDefinitionsRequest;
type eventsV1TicketDefinition_universal_d_GroupBy = GroupBy;
const eventsV1TicketDefinition_universal_d_GroupBy: typeof GroupBy;
type eventsV1TicketDefinition_universal_d_ListTicketDefinitionsResponse = ListTicketDefinitionsResponse;
type eventsV1TicketDefinition_universal_d_ResponseMetaData = ResponseMetaData;
type eventsV1TicketDefinition_universal_d_TicketDefinitionData = TicketDefinitionData;
type eventsV1TicketDefinition_universal_d_TicketDefinitionCreated = TicketDefinitionCreated;
type eventsV1TicketDefinition_universal_d_OriginatedFrom = OriginatedFrom;
type eventsV1TicketDefinition_universal_d_TicketDefinitionUpdated = TicketDefinitionUpdated;
type eventsV1TicketDefinition_universal_d_DeleteTicketDefinitionRequestDeleteOneOf = DeleteTicketDefinitionRequestDeleteOneOf;
type eventsV1TicketDefinition_universal_d_ById = ById;
type eventsV1TicketDefinition_universal_d_TicketDefinitionDeleted = TicketDefinitionDeleted;
type eventsV1TicketDefinition_universal_d_PaidTicketDefinitionExistsRequest = PaidTicketDefinitionExistsRequest;
type eventsV1TicketDefinition_universal_d_PaidTicketDefinitionExistsResponse = PaidTicketDefinitionExistsResponse;
const eventsV1TicketDefinition_universal_d_queryTicketDefinitionsV2: typeof queryTicketDefinitionsV2;
type eventsV1TicketDefinition_universal_d_QueryTicketDefinitionsV2Options = QueryTicketDefinitionsV2Options;
type eventsV1TicketDefinition_universal_d_DefinitionsQueryResult = DefinitionsQueryResult;
type eventsV1TicketDefinition_universal_d_DefinitionsQueryBuilder = DefinitionsQueryBuilder;
const eventsV1TicketDefinition_universal_d_listTicketDefinitions: typeof listTicketDefinitions;
type eventsV1TicketDefinition_universal_d_ListTicketDefinitionsOptions = ListTicketDefinitionsOptions;
type eventsV1TicketDefinition_universal_d_DeleteTicketDefinitionOptions = DeleteTicketDefinitionOptions;
namespace eventsV1TicketDefinition_universal_d {
export {
TicketDefinition$1 as TicketDefinition,
Money$3 as Money,
Dashboard$3 as Dashboard,
eventsV1TicketDefinition_universal_d_WixFeeConfig as WixFeeConfig,
eventsV1TicketDefinition_universal_d_FeeType as FeeType,
eventsV1TicketDefinition_universal_d_TicketSalePeriod as TicketSalePeriod,
eventsV1TicketDefinition_universal_d_TicketSaleStatus as TicketSaleStatus,
eventsV1TicketDefinition_universal_d_TicketDefinitionStateEnumState as TicketDefinitionStateEnumState,
eventsV1TicketDefinition_universal_d_TicketPricing as TicketPricing,
eventsV1TicketDefinition_universal_d_TicketPricingPriceOneOf as TicketPricingPriceOneOf,
PricingOptions$1 as PricingOptions,
eventsV1TicketDefinition_universal_d_PricingOption as PricingOption,
Type$2 as Type,
QueryTicketDefinitionsRequest$1 as QueryTicketDefinitionsRequest,
eventsV1TicketDefinition_universal_d_TicketDefinitionFieldset as TicketDefinitionFieldset,
QueryTicketDefinitionsResponse$1 as QueryTicketDefinitionsResponse,
FacetCounts$2 as FacetCounts,
eventsV1TicketDefinition_universal_d_QueryTicketDefinitionsV2Request as QueryTicketDefinitionsV2Request,
QueryV2$3 as QueryV2,
QueryV2PagingMethodOneOf$3 as QueryV2PagingMethodOneOf,
Sorting$4 as Sorting,
SortOrder$4 as SortOrder,
Paging$4 as Paging,
CursorPaging$4 as CursorPaging,
eventsV1TicketDefinition_universal_d_QueryTicketDefinitionsV2Response as QueryTicketDefinitionsV2Response,
PagingMetadataV2$4 as PagingMetadataV2,
Cursors$4 as Cursors,
eventsV1TicketDefinition_universal_d_ListTicketDefinitionsRequest as ListTicketDefinitionsRequest,
State$3 as State,
eventsV1TicketDefinition_universal_d_GroupBy as GroupBy,
eventsV1TicketDefinition_universal_d_ListTicketDefinitionsResponse as ListTicketDefinitionsResponse,
eventsV1TicketDefinition_universal_d_ResponseMetaData as ResponseMetaData,
GetTicketDefinitionRequest$1 as GetTicketDefinitionRequest,
GetTicketDefinitionResponse$1 as GetTicketDefinitionResponse,
CreateTicketDefinitionRequest$1 as CreateTicketDefinitionRequest,
eventsV1TicketDefinition_universal_d_TicketDefinitionData as TicketDefinitionData,
CreateTicketDefinitionResponse$1 as CreateTicketDefinitionResponse,
eventsV1TicketDefinition_universal_d_TicketDefinitionCreated as TicketDefinitionCreated,
eventsV1TicketDefinition_universal_d_OriginatedFrom as OriginatedFrom,
UpdateTicketDefinitionRequest$1 as UpdateTicketDefinitionRequest,
UpdateTicketDefinitionResponse$1 as UpdateTicketDefinitionResponse,
eventsV1TicketDefinition_universal_d_TicketDefinitionUpdated as TicketDefinitionUpdated,
DeleteTicketDefinitionRequest$1 as DeleteTicketDefinitionRequest,
eventsV1TicketDefinition_universal_d_DeleteTicketDefinitionRequestDeleteOneOf as DeleteTicketDefinitionRequestDeleteOneOf,
eventsV1TicketDefinition_universal_d_ById as ById,
DeleteTicketDefinitionResponse$1 as DeleteTicketDefinitionResponse,
eventsV1TicketDefinition_universal_d_TicketDefinitionDeleted as TicketDefinitionDeleted,
ChangeCurrencyRequest$1 as ChangeCurrencyRequest,
ChangeCurrencyResponse$1 as ChangeCurrencyResponse,
BulkCopyTicketDefinitionsByEventIdRequest$1 as BulkCopyTicketDefinitionsByEventIdRequest,
BulkCopyTicketDefinitionsByEventIdResponse$1 as BulkCopyTicketDefinitionsByEventIdResponse,
CopiedTicketDefinition$1 as CopiedTicketDefinition,
eventsV1TicketDefinition_universal_d_PaidTicketDefinitionExistsRequest as PaidTicketDefinitionExistsRequest,
eventsV1TicketDefinition_universal_d_PaidTicketDefinitionExistsResponse as PaidTicketDefinitionExistsResponse,
MessageEnvelope$4 as MessageEnvelope,
IdentificationData$4 as IdentificationData,
IdentificationDataIdOneOf$4 as IdentificationDataIdOneOf,
WebhookIdentityType$4 as WebhookIdentityType,
queryTicketDefinitions$1 as queryTicketDefinitions,
QueryTicketDefinitionsOptions$1 as QueryTicketDefinitionsOptions,
eventsV1TicketDefinition_universal_d_queryTicketDefinitionsV2 as queryTicketDefinitionsV2,
eventsV1TicketDefinition_universal_d_QueryTicketDefinitionsV2Options as QueryTicketDefinitionsV2Options,
eventsV1TicketDefinition_universal_d_DefinitionsQueryResult as DefinitionsQueryResult,
eventsV1TicketDefinition_universal_d_DefinitionsQueryBuilder as DefinitionsQueryBuilder,
eventsV1TicketDefinition_universal_d_listTicketDefinitions as listTicketDefinitions,
eventsV1TicketDefinition_universal_d_ListTicketDefinitionsOptions as ListTicketDefinitionsOptions,
getTicketDefinition$1 as getTicketDefinition,
GetTicketDefinitionOptions$1 as GetTicketDefinitionOptions,
createTicketDefinition$1 as createTicketDefinition,
CreateTicketDefinitionOptions$1 as CreateTicketDefinitionOptions,
updateTicketDefinition$1 as updateTicketDefinition,
UpdateTicketDefinitionOptions$1 as UpdateTicketDefinitionOptions,
deleteTicketDefinition$1 as deleteTicketDefinition,
eventsV1TicketDefinition_universal_d_DeleteTicketDefinitionOptions as DeleteTicketDefinitionOptions,
changeCurrency$1 as changeCurrency,
ChangeCurrencyOptions$1 as ChangeCurrencyOptions,
};
}
interface Policy {
/**
* Policy ID.
* @readonly
*/
_id?: string | null;
/**
* Revision number, which increments by 1 each time the policy is updated. The existing revision must be used when updating a policy to prevent conflicting changes. You'll get an error if you try to use the previous revision.
* @readonly
*/
revision?: string | null;
/**
* Date and time when the policy was created.
* @readonly
*/
_createdDate?: Date | null;
/**
* Date and time of the policy's latest update in.
* @readonly
*/
_updatedDate?: Date | null;
/**
* Policy name that is visible in the dashboard and checkout form.
*
* Min: 1 character
*
* Max: 40 characters
*/
name?: string;
/**
* Policy body, usually containing various terms and conditions.
*
* Min: 1 character
*
* Max: 50000 characters.
*
* **Note**: You can format text using various HTML tags such as ``, ``, ``, etc.
*/
body?: string;
/** ID of the event to which the policy belongs. */
eventId?: string;
}
interface CreatePolicyRequest {
/** Policy info. */
policy: Policy;
}
interface CreatePolicyResponse {
/** Created policy. */
policy?: Policy;
}
interface UpdatePolicyRequest {
/** Policy to update. */
policy: Policy;
/**
* Explicit list of fields to update.
* @internal
*/
mask?: string[];
}
interface UpdatePolicyResponse {
/** The updated policy. */
policy?: Policy;
}
interface UpdatePolicySortIndexRequest {
/** Policy's ID */
policyId?: string;
/** The revision of the event policy. */
revision?: string;
/** The sort index of a policy to set. */
sortIndex?: number;
}
interface UpdatePolicySortIndexResponse {
/** The updated event policy. */
policy?: Policy;
}
interface DeletePolicyRequest {
/** ID of the policy to delete. */
policyId: string;
}
interface DeletePolicyResponse {
}
interface QueryPoliciesRequest {
/** Query options. See [API Query Langauge](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */
query: QueryV2$2;
}
interface QueryV2$2 extends QueryV2PagingMethodOneOf$2 {
/** Pagination options. */
paging?: Paging$3;
/** 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$3;
/** Filter object in the following format:
`"filter" : { "fieldName1": "value1", "fieldName2":{"$operator":"value2"} }`.
**Example:**
`"filter" : { "id": "2224a9d1-79e6-4549-a5c5-bf7ce5aac1a5", "revision": {"$ne":"1"} }`
See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/policy-v2/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/policy-v2/filter-and-sort) for more information. */
sort?: Sorting$3[];
}
/** @oneof */
interface QueryV2PagingMethodOneOf$2 {
/** Pagination options. */
paging?: Paging$3;
/** 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$3;
}
interface Sorting$3 {
/** Name of the field to sort by. */
fieldName?: string;
/** Sort order (ASC/DESC). Defaults to ASC */
order?: SortOrder$3;
}
enum SortOrder$3 {
ASC = "ASC",
DESC = "DESC"
}
interface Paging$3 {
/** Number of items to load per page. */
limit?: number | null;
/** Number of items to skip in the current sort order. */
offset?: number | null;
}
interface CursorPaging$3 {
/** Number of items to load per page. */
limit?: number | null;
/**
* Pointer to the next or previous page in the list of results.
* You can get the relevant cursor token
* from the `pagingMetadata` object in the previous call's response.
* Not relevant for the first request.
*/
cursor?: string | null;
}
interface QueryPoliciesResponse {
/** Event policies. */
policies?: Policy[];
/** Query result's metadata. */
metadata?: PagingMetadataV2$3;
}
interface PagingMetadataV2$3 {
/** 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$3;
}
interface Cursors$3 {
/** Cursor pointing to next page in the list of results. */
next?: string | null;
/** Cursor pointing to previous page in the list of results. */
prev?: string | null;
}
interface ReorderEventPoliciesRequest extends ReorderEventPoliciesRequestReferencePolicyOneOf {
/** Move the given `policyId` before the specified policy. */
beforePolicyId?: string;
/** Move the given `policyId` after the specified policy. */
afterPolicyId?: string;
/** Event ID. */
eventId: string;
/** Event policy ID. */
policyId: string;
}
/** @oneof */
interface ReorderEventPoliciesRequestReferencePolicyOneOf {
/** */
beforePolicyId?: string;
/** Move the given `policyId` after the specified policy. */
afterPolicyId?: string;
}
interface ReorderEventPoliciesResponse {
/** Ordered event policies. */
policies?: Policy[];
}
interface GetPolicyRequest {
/** Policy ID. */
policyId: string;
}
interface GetPolicyResponse {
/** The requested policy. */
policy?: Policy;
}
interface EventCopied$1 {
/** Event created timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event location. */
location?: Location$3;
/** Event schedule configuration. */
scheduleConfig?: ScheduleConfig$3;
/** Event title. */
title?: string;
/** Event creator user ID. */
userId?: string | null;
/** Event status. */
status?: EventStatus$3;
/** Instance ID. Indicates the original app instance which current event was derived from. */
derivedFromInstanceId?: string | null;
/** Event ID. Indicates the original event which current event was derived from. */
derivedFromEventId?: string | null;
/**
* Map of copied ticket definitions from original event.
* Key represents ticket def id in the original event.
* Value represents ticket def id in the newly created event.
*/
ticketDefinitions?: Record;
}
interface Location$3 {
/** Location name. */
name?: string | null;
/** Location map coordinates. */
coordinates?: MapCoordinates$3;
/** Single line address representation. */
address?: string | null;
/** Location type. */
type?: LocationType$3;
/**
* Full address derived from formatted single line `address`.
* When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored.
* If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service.
*
* Migration notes:
* - `full_address.formatted_address` is equivalent to `address`.
* - `full_address.geocode` is equivalent to `coordinates`.
*/
fullAddress?: Address$3;
/**
* Defines event location as TBD (To Be Determined).
* When event location is not yet defined, `name` is displayed instead of location address.
* `coordinates`, `address`, `type` and `full_address` are not required when location is TBD.
*/
tbd?: boolean | null;
}
interface MapCoordinates$3 {
/** Latitude. */
lat?: number;
/** Longitude. */
lng?: number;
}
enum LocationType$3 {
VENUE = "VENUE",
ONLINE = "ONLINE"
}
/** Physical address */
interface Address$3 extends AddressStreetOneOf$3 {
/** a break down of the street to number and street name */
streetAddress?: StreetAddress$3;
/** Main address line (usually street and number) as free text */
addressLine1?: string | null;
/** country code */
country?: string | null;
/** subdivision (usually state or region) code according to ISO 3166-2 */
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, Floor */
addressLine2?: string | null;
/** A string containing the human-readable address of this location */
formatted?: string | null;
/** coordinates of the physical address */
location?: AddressLocation$3;
/** country full-name */
countryFullname?: string | null;
/** multi-level subdivisions from top to bottom */
subdivisions?: Subdivision$3[];
}
/** @oneof */
interface AddressStreetOneOf$3 {
/** a break down of the street to number and street name */
streetAddress?: StreetAddress$3;
/** Main address line (usually street and number) as free text */
addressLine?: string | null;
}
interface StreetAddress$3 {
/** street number */
number?: string;
/** street name */
name?: string;
/**
* apartment number
* @internal
*/
apt?: string;
}
interface AddressLocation$3 {
/** address latitude coordinates */
latitude?: number | null;
/** address longitude coordinates */
longitude?: number | null;
}
interface Subdivision$3 {
/** subdivision short code */
code?: string;
/** subdivision full-name */
name?: string;
/**
* subdivision level
* @internal
*/
type?: SubdivisionType$3;
/**
* free text description of subdivision type
* @internal
*/
typeInfo?: string | null;
}
enum SubdivisionType$3 {
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"
}
interface ScheduleConfig$3 {
/**
* Defines event as TBD (To Be Determined) schedule.
* When event time is not yet defined, TBD message is displayed instead of event start and end times.
* `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD.
*/
scheduleTbd?: boolean;
/** TBD message. */
scheduleTbdMessage?: string | null;
/** Event start timestamp. */
startDate?: Date | null;
/** Event end timestamp. */
endDate?: Date | null;
/** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */
timeZoneId?: string | null;
/** Whether end date is hidden in the formatted schedule. */
endDateHidden?: boolean;
/** Whether time zone is displayed in formatted schedule. */
showTimeZone?: boolean;
/** Event recurrences. */
recurrences?: Recurrences$3;
}
interface Recurrences$3 {
/** Event occurrences. */
occurrences?: Occurrence$3[];
/**
* Recurring event category ID.
* @readonly
*/
categoryId?: string | null;
/**
* Recurrence status.
* @readonly
*/
status?: Status$3;
}
interface Occurrence$3 {
/** Event start timestamp. */
startDate?: Date | null;
/** Event end timestamp. */
endDate?: Date | null;
/** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */
timeZoneId?: string | null;
/** Whether time zone is displayed in formatted schedule. */
showTimeZone?: boolean;
}
enum Status$3 {
/** Event occurs only once. */
ONE_TIME = "ONE_TIME",
/** Event is recurring. */
RECURRING = "RECURRING",
/** Marks the next upcoming occurrence of the recurring event. */
RECURRING_NEXT = "RECURRING_NEXT",
/** Marks the most recent ended occurrence of the recurring event. */
RECURRING_LAST_ENDED = "RECURRING_LAST_ENDED",
/** Marks the most recent canceled occurrence of the recurring event. */
RECURRING_LAST_CANCELED = "RECURRING_LAST_CANCELED"
}
enum EventStatus$3 {
/** Event is public and scheduled to start */
SCHEDULED = "SCHEDULED",
/** Event has started */
STARTED = "STARTED",
/** Event has ended */
ENDED = "ENDED",
/** Event was canceled */
CANCELED = "CANCELED",
/** Event is not public and needs to be published */
DRAFT = "DRAFT"
}
interface Empty$3 {
}
interface GetPolicyFromTrashBinRequest {
/** Policy ID. */
policyId?: string;
}
interface GetPolicyFromTrashBinResponse {
/** The requested policy. */
policy?: Policy;
}
interface DomainEvent$3 extends DomainEventBodyOneOf$3 {
createdEvent?: EntityCreatedEvent$3;
updatedEvent?: EntityUpdatedEvent$3;
deletedEvent?: EntityDeletedEvent$3;
actionEvent?: ActionEvent$3;
/**
* 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 */
interface DomainEventBodyOneOf$3 {
createdEvent?: EntityCreatedEvent$3;
updatedEvent?: EntityUpdatedEvent$3;
deletedEvent?: EntityDeletedEvent$3;
actionEvent?: ActionEvent$3;
}
interface EntityCreatedEvent$3 {
entityAsJson?: string;
/**
* Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity
* @internal
*/
triggeredByUndelete?: boolean | null;
/** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */
restoreInfo?: RestoreInfo$3;
/**
* WIP
* @internal
*/
additionalMetadataAsJson?: string | null;
}
interface RestoreInfo$3 {
deletedDate?: Date | null;
}
interface EntityUpdatedEvent$3 {
/**
* 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;
/**
* This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard
* wont populate it / have any reference to it in the API.
* The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,
* the developer should send only the new (current) entity.
* An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big
* Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.
* @internal
* @deprecated
*/
previousEntityAsJson?: string | null;
/**
* WIP - This property will hold both names and values of the updated fields of the entity.
* For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)
* @internal
*/
modifiedFields?: Record;
/**
* WIP
* @internal
*/
additionalMetadataAsJson?: string | null;
}
interface EntityDeletedEvent$3 {
/**
* Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled
* @internal
*/
movedToTrash?: boolean | null;
/** Entity that was deleted */
deletedEntityAsJson?: string | null;
/**
* WIP
* @internal
*/
additionalMetadataAsJson?: string | null;
}
interface ActionEvent$3 {
bodyAsJson?: string;
}
interface MessageEnvelope$3 {
/** App instance ID. */
instanceId?: string | null;
/** Event type. */
eventType?: string;
/** The identification type and identity data. */
identity?: IdentificationData$3;
/** Stringify payload. */
data?: string;
}
interface IdentificationData$3 extends IdentificationDataIdOneOf$3 {
/** 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$3;
}
/** @oneof */
interface IdentificationDataIdOneOf$3 {
/** 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;
}
enum WebhookIdentityType$3 {
UNKNOWN = "UNKNOWN",
ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
MEMBER = "MEMBER",
WIX_USER = "WIX_USER",
APP = "APP"
}
/**
* Creates a policy.
*
*
*
*
* The `createPolicy()` function returns a Promise that resolves to the newly-created policy.
*
* You can create up to 3 policies per event. If you try to create more than 3, you'll get the "Maximum number of policies for the event has been reached" error.
* @public
* @requiredField policy
* @requiredField policy.body
* @requiredField policy.eventId
* @requiredField policy.name
* @param policy - Policy info.
* @permissionId WIX_EVENTS.MANAGE_POLICIES
* @adminMethod
* @returns Created policy.
*/
function createPolicy(policy: Policy): Promise;
/**
* Updates a policy.
*
*
*
* The `updatePolicy()` function returns a Promise that resolves to the newly-updated policy.
*
* Each time the policy is updated, `revision` increments by 1. The existing `revision` must be included when updating the policy. This ensures you're working with the latest policy and prevents unintended overwrites.
* @public
* @requiredField _id
* @requiredField policy
* @requiredField policy.body
* @requiredField policy.eventId
* @requiredField policy.name
* @requiredField policy.revision
* @param policy - Policy to update.
* @param _id - Policy ID.
* @permissionId WIX_EVENTS.MANAGE_POLICIES
* @adminMethod
* @returns The updated policy.
*/
function updatePolicy(_id: string | null, policy: UpdatePolicy, options?: UpdatePolicyOptions): Promise;
interface UpdatePolicy {
/**
* Policy ID.
* @readonly
*/
_id?: string | null;
/**
* Revision number, which increments by 1 each time the policy is updated. The existing revision must be used when updating a policy to prevent conflicting changes. You'll get an error if you try to use the previous revision.
* @readonly
*/
revision?: string | null;
/**
* Date policy was created.
* @readonly
*/
_createdDate?: Date | null;
/**
* Date and time of the policy's latest update in `yyyy-mm-ddThh:mm:sssZ` format.
* @readonly
*/
_updatedDate?: Date | null;
/**
* Policy name that is visible in the dashboard and checkout form.
*
* Min: 1 character
*
* Max: 40 characters
*/
name?: string;
/**
* Policy body. Here you can enter various terms and conditions.
*
* Min: 1 character
*
* Max: 50000 characters
*
* **Note**: You can format text using various HTML tags such as ``, ``, ``, etc.
*/
body?: string;
/** ID of the event to which the policy belongs. */
eventId?: string;
}
interface UpdatePolicyOptions {
/**
* Explicit list of fields to update.
* @internal
*/
mask?: string[];
}
/**
* Permanently deletes a policy.
*
*
*
*
* The `deletePolicy()` function returns a Promise that resolves when the specified policy is deleted.
*
* Deleted policies are not returned by the `getPolicy()` or `queryPolicies()` functions.
* @public
* @requiredField policyId
* @param options - Options for Delete Policy function.
* @param policyId - ID of the policy to delete.
* @permissionId WIX_EVENTS.MANAGE_POLICIES
* @adminMethod
*/
function deletePolicy(policyId: string): Promise;
/**
* Creates a query to retrieve a list of policies, given the provided paging and filter.
*
*
* The `queryPolicies()` function builds a query to retrieve a list of policies and returns a [PoliciesQueryBuilder](https://www.wix.com/velo/reference/wix-events-v2/policies/policiesquerybuilder) object.
*
* The returned object contains the query definition which is typically used to run the query using the [`find()`](https://www.wix.com/velo/reference/wix-events-v2/policies/policiesquerybuilder/find) function.
*
* You can refine the query by chaining `PoliciesQueryBuilder` functions onto the query. `PoliciesQueryBuilder` functions enable you to sort, filter and control the results that `PoliciesQueryBuilder.find()` returns.
*
* The query runs with the following `PoliciesQueryBuilder` defaults that you can override:
*
* [`limit`](https://www.wix.com/velo/reference/wix-events-v2/policies/policiesquerybuilder/limit): `50`
* [`descending`](https://www.wix.com/velo/reference/wix-events-v2/policies/policiesquerybuilder/descending): `_createdDate`
*
* The functions that are chained to `queryPolicies()` are applied in the order they are called. For example, if you sort on the `_createdDate` property in ascending order and then on the id property in descending order, the results are sorted by the created date and then, if there are multiple results with the same date, the items are sorted by the id.
*
* The table below shows which `PoliciesQueryBuilder` functions are supported for `queryPoliciesGuests()`. You can only use one filter function for each property. If a property is used in more than one filter, only the first filter will work.
* @public
* @permissionId WIX_EVENTS.READ_POLICIES
*/
function queryPolicies(): PoliciesQueryBuilder;
interface QueryCursorResult$2 {
cursors: Cursors$3;
hasNext: () => boolean;
hasPrev: () => boolean;
length: number;
pageSize: number;
}
interface PoliciesQueryResult extends QueryCursorResult$2 {
items: Policy[];
query: PoliciesQueryBuilder;
next: () => Promise;
prev: () => Promise;
}
interface PoliciesQueryBuilder {
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
eq: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'body' | 'eventId', value: any) => PoliciesQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
ne: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'body' | 'eventId', value: any) => PoliciesQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
ge: (propertyName: 'revision' | '_createdDate' | '_updatedDate', value: any) => PoliciesQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
gt: (propertyName: 'revision' | '_createdDate' | '_updatedDate', value: any) => PoliciesQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
le: (propertyName: 'revision' | '_createdDate' | '_updatedDate', value: any) => PoliciesQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
lt: (propertyName: 'revision' | '_createdDate' | '_updatedDate', value: any) => PoliciesQueryBuilder;
in: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'body' | 'eventId', value: any) => PoliciesQueryBuilder;
exists: (propertyName: '_id' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'body' | 'eventId', value: boolean) => PoliciesQueryBuilder;
/** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */
ascending: (...propertyNames: Array<'_id' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'body' | 'eventId'>) => PoliciesQueryBuilder;
/** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */
descending: (...propertyNames: Array<'_id' | 'revision' | '_createdDate' | '_updatedDate' | 'name' | 'body' | 'eventId'>) => PoliciesQueryBuilder;
/** @param limit - Number of items to return, which is also the `pageSize` of the results object. */
limit: (limit: number) => PoliciesQueryBuilder;
/** @param cursor - A pointer to specific record */
skipTo: (cursor: string) => PoliciesQueryBuilder;
find: () => Promise;
}
/**
* Changes policy order in an event dashboard and agreement checkbox on the checkout form.
* For example, if we have 3 policies in the list, after using this function the 3rd policy will become the 1st, and other policies will move by 1 position. By default, the policies are arranged by the created date in descending order.
*
* > **Note**: it is possible to use both `beforePolicyId` and `afterPolicyId` at the same time but only the last one defined will be executed.
*
*
*
* The `reorderEventPolicies()` function returns a Promise that resolves to the newly-reordered policy.
* @param policyId - Event policy ID.
* @param eventId - Event ID.
* @public
* @requiredField eventId
* @requiredField policyId
* @param options - Options for Reorder Event Policies function.
* @permissionId WIX_EVENTS.MANAGE_POLICIES
* @adminMethod
*/
function reorderEventPolicies(policyId: string, eventId: string, options?: ReorderEventPoliciesOptions): Promise;
interface ReorderEventPoliciesOptions extends ReorderEventPoliciesRequestReferencePolicyOneOf {
/** Move the given `policyId` before the specified policy. */
beforePolicyId?: string;
/** Move the given `policyId` after the specified policy. */
afterPolicyId?: string;
}
/**
* Retrieves a policy by ID.
*
*
* The `getPolicy()` function returns a Promise that resolves to a policy whose ID matches the given ID.
* @public
* @requiredField policyId
* @param policyId - Policy ID.
* @permissionId WIX_EVENTS.READ_POLICIES
* @returns The requested policy.
*/
function getPolicy(policyId: string): Promise;
type eventsV2Policy_universal_d_Policy = Policy;
type eventsV2Policy_universal_d_CreatePolicyRequest = CreatePolicyRequest;
type eventsV2Policy_universal_d_CreatePolicyResponse = CreatePolicyResponse;
type eventsV2Policy_universal_d_UpdatePolicyRequest = UpdatePolicyRequest;
type eventsV2Policy_universal_d_UpdatePolicyResponse = UpdatePolicyResponse;
type eventsV2Policy_universal_d_UpdatePolicySortIndexRequest = UpdatePolicySortIndexRequest;
type eventsV2Policy_universal_d_UpdatePolicySortIndexResponse = UpdatePolicySortIndexResponse;
type eventsV2Policy_universal_d_DeletePolicyRequest = DeletePolicyRequest;
type eventsV2Policy_universal_d_DeletePolicyResponse = DeletePolicyResponse;
type eventsV2Policy_universal_d_QueryPoliciesRequest = QueryPoliciesRequest;
type eventsV2Policy_universal_d_QueryPoliciesResponse = QueryPoliciesResponse;
type eventsV2Policy_universal_d_ReorderEventPoliciesRequest = ReorderEventPoliciesRequest;
type eventsV2Policy_universal_d_ReorderEventPoliciesRequestReferencePolicyOneOf = ReorderEventPoliciesRequestReferencePolicyOneOf;
type eventsV2Policy_universal_d_ReorderEventPoliciesResponse = ReorderEventPoliciesResponse;
type eventsV2Policy_universal_d_GetPolicyRequest = GetPolicyRequest;
type eventsV2Policy_universal_d_GetPolicyResponse = GetPolicyResponse;
type eventsV2Policy_universal_d_GetPolicyFromTrashBinRequest = GetPolicyFromTrashBinRequest;
type eventsV2Policy_universal_d_GetPolicyFromTrashBinResponse = GetPolicyFromTrashBinResponse;
const eventsV2Policy_universal_d_createPolicy: typeof createPolicy;
const eventsV2Policy_universal_d_updatePolicy: typeof updatePolicy;
type eventsV2Policy_universal_d_UpdatePolicy = UpdatePolicy;
type eventsV2Policy_universal_d_UpdatePolicyOptions = UpdatePolicyOptions;
const eventsV2Policy_universal_d_deletePolicy: typeof deletePolicy;
const eventsV2Policy_universal_d_queryPolicies: typeof queryPolicies;
type eventsV2Policy_universal_d_PoliciesQueryResult = PoliciesQueryResult;
type eventsV2Policy_universal_d_PoliciesQueryBuilder = PoliciesQueryBuilder;
const eventsV2Policy_universal_d_reorderEventPolicies: typeof reorderEventPolicies;
type eventsV2Policy_universal_d_ReorderEventPoliciesOptions = ReorderEventPoliciesOptions;
const eventsV2Policy_universal_d_getPolicy: typeof getPolicy;
namespace eventsV2Policy_universal_d {
export {
eventsV2Policy_universal_d_Policy as Policy,
eventsV2Policy_universal_d_CreatePolicyRequest as CreatePolicyRequest,
eventsV2Policy_universal_d_CreatePolicyResponse as CreatePolicyResponse,
eventsV2Policy_universal_d_UpdatePolicyRequest as UpdatePolicyRequest,
eventsV2Policy_universal_d_UpdatePolicyResponse as UpdatePolicyResponse,
eventsV2Policy_universal_d_UpdatePolicySortIndexRequest as UpdatePolicySortIndexRequest,
eventsV2Policy_universal_d_UpdatePolicySortIndexResponse as UpdatePolicySortIndexResponse,
eventsV2Policy_universal_d_DeletePolicyRequest as DeletePolicyRequest,
eventsV2Policy_universal_d_DeletePolicyResponse as DeletePolicyResponse,
eventsV2Policy_universal_d_QueryPoliciesRequest as QueryPoliciesRequest,
QueryV2$2 as QueryV2,
QueryV2PagingMethodOneOf$2 as QueryV2PagingMethodOneOf,
Sorting$3 as Sorting,
SortOrder$3 as SortOrder,
Paging$3 as Paging,
CursorPaging$3 as CursorPaging,
eventsV2Policy_universal_d_QueryPoliciesResponse as QueryPoliciesResponse,
PagingMetadataV2$3 as PagingMetadataV2,
Cursors$3 as Cursors,
eventsV2Policy_universal_d_ReorderEventPoliciesRequest as ReorderEventPoliciesRequest,
eventsV2Policy_universal_d_ReorderEventPoliciesRequestReferencePolicyOneOf as ReorderEventPoliciesRequestReferencePolicyOneOf,
eventsV2Policy_universal_d_ReorderEventPoliciesResponse as ReorderEventPoliciesResponse,
eventsV2Policy_universal_d_GetPolicyRequest as GetPolicyRequest,
eventsV2Policy_universal_d_GetPolicyResponse as GetPolicyResponse,
EventCopied$1 as EventCopied,
Location$3 as Location,
MapCoordinates$3 as MapCoordinates,
LocationType$3 as LocationType,
Address$3 as Address,
AddressStreetOneOf$3 as AddressStreetOneOf,
StreetAddress$3 as StreetAddress,
AddressLocation$3 as AddressLocation,
Subdivision$3 as Subdivision,
SubdivisionType$3 as SubdivisionType,
ScheduleConfig$3 as ScheduleConfig,
Recurrences$3 as Recurrences,
Occurrence$3 as Occurrence,
Status$3 as Status,
EventStatus$3 as EventStatus,
Empty$3 as Empty,
eventsV2Policy_universal_d_GetPolicyFromTrashBinRequest as GetPolicyFromTrashBinRequest,
eventsV2Policy_universal_d_GetPolicyFromTrashBinResponse as GetPolicyFromTrashBinResponse,
DomainEvent$3 as DomainEvent,
DomainEventBodyOneOf$3 as DomainEventBodyOneOf,
EntityCreatedEvent$3 as EntityCreatedEvent,
RestoreInfo$3 as RestoreInfo,
EntityUpdatedEvent$3 as EntityUpdatedEvent,
EntityDeletedEvent$3 as EntityDeletedEvent,
ActionEvent$3 as ActionEvent,
MessageEnvelope$3 as MessageEnvelope,
IdentificationData$3 as IdentificationData,
IdentificationDataIdOneOf$3 as IdentificationDataIdOneOf,
WebhookIdentityType$3 as WebhookIdentityType,
eventsV2Policy_universal_d_createPolicy as createPolicy,
eventsV2Policy_universal_d_updatePolicy as updatePolicy,
eventsV2Policy_universal_d_UpdatePolicy as UpdatePolicy,
eventsV2Policy_universal_d_UpdatePolicyOptions as UpdatePolicyOptions,
eventsV2Policy_universal_d_deletePolicy as deletePolicy,
eventsV2Policy_universal_d_queryPolicies as queryPolicies,
eventsV2Policy_universal_d_PoliciesQueryResult as PoliciesQueryResult,
eventsV2Policy_universal_d_PoliciesQueryBuilder as PoliciesQueryBuilder,
eventsV2Policy_universal_d_reorderEventPolicies as reorderEventPolicies,
eventsV2Policy_universal_d_ReorderEventPoliciesOptions as ReorderEventPoliciesOptions,
eventsV2Policy_universal_d_getPolicy as getPolicy,
};
}
interface V2Rsvp {
/**
* RSVP ID.
* @readonly
*/
_id?: string | null;
/**
* Revision number, which increments by 1 each time the RSVP is updated. To prevent conflicting changes, the existing revision must be used when updating the RSVP.
* @readonly
*/
revision?: string | null;
/** Event ID to which the RSVP belongs. */
eventId?: string | null;
/**
* Date and time when the RSVP was created.
* @readonly
*/
_createdDate?: Date | null;
/**
* Date and time when the RSVP was update.
* @readonly
*/
_updatedDate?: Date | null;
/** Site member ID. You can override the field value when updating RSVP. Overriding member ID requires the **WIX_EVENTS.MANAGE_RSVP** permission. */
memberId?: string | null;
/** Contact ID of a guest who filled in the RSVP form. See [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4) for more details. */
contactId?: string | null;
/** First name of a guest who filled in the RSVP form. */
firstName?: string | null;
/** Last name of a guest who filled in the RSVP form. */
lastName?: string | null;
/** Email of a guest who filled in the RSVP form. */
email?: string | null;
/** Event registration form. */
form?: FormResponse;
/** RSVP response status. */
status?: RsvpStatus;
/**
* Total number of guests per 1 RSVP.
* @readonly
*/
totalGuests?: number | null;
/**
* Guest list.
* @readonly
*/
guestList?: GuestList;
/**
* Site language code in the [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.
* @readonly
*/
language?: string | null;
/**
* Locale in the [IETF BCP 47](https://en.wikipedia.org/wiki/IETF_language_tag) format.
* @readonly
*/
locale?: string | null;
/**
* Whether all guests are checked in.
* @readonly
*/
fullyCheckedIn?: boolean | null;
/**
* How many guests are checked in.
* @readonly
*/
checkedInGuestCount?: number | null;
/** Additional guest details. */
additionalGuestDetails?: AdditionalGuestDetails;
/** Whether the notifications are disabled. */
disableNotifications?: boolean | null;
/**
* Guest login details for accessing the online conference event.
* @readonly
*/
onlineConferencingLogin?: OnlineConferencingLogin;
/**
* Whether the RSVP is anonymized.
* @readonly
*/
anonymized?: boolean | null;
/**
* Email domain of a guest who filled in the RSVP form.
* @internal
* @readonly
*/
emailDomain?: string | null;
/**
* Custom field data for the RSVP object.
*
* **Note:** You must configure extended fields using schema plugin extensions in your app's dashboard before you can access the extended fields with API calls.
*/
extendedFields?: ExtendedFields$1;
}
interface FormResponse {
inputValues?: InputValue[];
}
interface InputValue {
inputName?: string;
value?: string;
values?: string[];
/**
* Int or floating point number value.
* @internal
*/
number?: number | null;
/**
* Date/time value.
* @internal
*/
dateTime?: Date | null;
/**
* Address type value.
* @internal
*/
address?: FormattedAddress;
}
interface FormattedAddress {
/** One line address representation. */
formatted?: string;
/** Address components (optional). */
address?: CommonAddress$2;
}
/** Physical address */
interface CommonAddress$2 extends CommonAddressStreetOneOf$2 {
/** Street name and number. */
streetAddress?: CommonStreetAddress$2;
/** Main address line, usually street and number as free text. */
addressLine1?: 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;
/**
* A string containing the full address of this location.
* @internal
*/
formatted?: string | null;
/**
* Coordinates of the physical address.
* @internal
*/
location?: CommonAddressLocation$2;
/**
* Country full name.
* @internal
*/
countryFullname?: string | null;
/**
* Subdivision full name.
* @internal
*/
subdivisionFullname?: string | null;
/**
* Multi-level subdivisions from top to bottom.
* @internal
*/
subdivisions?: CommonSubdivision$2[];
}
/** @oneof */
interface CommonAddressStreetOneOf$2 {
/** Street name and number. */
streetAddress?: CommonStreetAddress$2;
/** Main address line, usually street and number as free text. */
addressLine?: string | null;
}
interface CommonStreetAddress$2 {
/** Street number. */
number?: string;
/** Street name. */
name?: string;
/**
* Apartment number.
* @internal
*/
apt?: string;
/**
* Optional address line 1
* @internal
*/
formattedAddressLine?: string | null;
}
interface CommonAddressLocation$2 {
/** Address latitude. */
latitude?: number | null;
/** Address longitude. */
longitude?: number | null;
}
interface CommonSubdivision$2 {
/** Short subdivision code. */
code?: string;
/** Subdivision full name. */
name?: string;
/**
* Subdivision level
* @internal
*/
type?: SubdivisionType$2;
/**
* Free text description of subdivision type.
* @internal
*/
typeInfo?: string | null;
/**
* Standard organizations details (e.g. ISO).
* @internal
*/
standardDetails?: StandardDetails;
}
enum SubdivisionType$2 {
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 */
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;
}
enum RsvpStatus {
/** Unknown status. This value is not used. */
UNKNOWN_RSVP_STATUS = "UNKNOWN_RSVP_STATUS",
/** Guest is attending the event. */
YES = "YES",
/** Guest is not attending the event. */
NO = "NO",
/** Guest is in a waitlist. */
WAITLIST = "WAITLIST"
}
interface GuestList {
/** List of guests. */
guests?: Guest[];
}
interface Guest {
/** Index in the guest list. */
index?: number | null;
/** Full name. */
fullName?: string | null;
/** Check-in details. */
checkInDetails?: CheckInDetails;
/** Guest ID. */
guestId?: number | null;
}
interface CheckInDetails {
/** Whether the guest has checked in. */
checkedIn?: boolean | null;
/** Check-in date. */
checkInDate?: Date | null;
}
interface AdditionalGuestDetails {
/** Number of additional guests. */
guestCount?: number | null;
/** Names of additional guests. */
guestNames?: string[] | null;
}
interface OnlineConferencingLogin {
/**
* Link URL to the online conference.
* @readonly
*/
link?: string;
/**
* Password for the online conference.
* @readonly
*/
password?: string | null;
}
interface ExtendedFields$1 {
/**
* Extended field data. Each key corresponds to the namespace of the app that created the extended fields.
* The value of each key is structured according to the schema defined when the extended fields were configured.
*
* You can only access fields for which you have the appropriate permissions.
*
* Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).
*/
namespaces?: Record>;
}
interface SearchRsvpsRequest {
/** Search options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */
search?: CursorSearch;
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[];
}
interface CursorSearch extends CursorSearchPagingMethodOneOf {
/**
* Cursor paging options.
*
* Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).
*/
cursorPaging?: CursorPaging$2;
/**
* Filter object.
*
* Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).
*/
filter?: Record | null;
/**
* Sort object.
*
* Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting).
*/
sort?: Sorting$2[];
/**
* Logical groupings of data into facets, with summaries for each facet.
* For example, use aggregations to allow site visitors to narrow down their search results by selecting specific categories.
*/
aggregations?: Aggregation[];
/** Free text to match in searchable fields. */
search?: SearchDetails;
/**
* Time zone to adjust date-time-based filters and aggregations, in ISO 8601 (including offsets) or IANA time zone database (including time zone IDs) format.
* Applies to all relevant filters and aggregations, unless overridden by providing timestamps including time zone. For example, "2023-12-20T10:52:34.795Z".
*/
timeZone?: string | null;
}
/** @oneof */
interface CursorSearchPagingMethodOneOf {
/**
* Cursor paging options.
*
* Learn more about [cursor paging](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#cursor-paging).
*/
cursorPaging?: CursorPaging$2;
}
interface Sorting$2 {
/** Name of the field to sort by. */
fieldName?: string;
/** Sort order. */
order?: SortOrder$2;
/**
* When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by
* a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.
*
* If multiple filters are provided, they are combined with AND operator.
*
* Example:
* Given we have document like {"id": "1", "nestedField": [{"price": 10, "region": "EU"}, {"price": 20, "region": "US"}]}
* and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be
* { fieldName: "nestedField.price", "select_items_by": [{"nestedField.region": "US"}] }
* @internal
*/
selectItemsBy?: Record[] | null;
}
enum SortOrder$2 {
ASC = "ASC",
DESC = "DESC"
}
interface Aggregation extends AggregationKindOneOf {
/** A value aggregation calculates metrics such as count for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of products for each price listed in the store. */
value?: ValueAggregation;
/** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */
range?: RangeAggregation;
/** A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */
scalar?: ScalarAggregation;
/** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */
dateHistogram?: DateHistogramAggregation;
/** A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy. For example, to get the number of products that are in stock and out of stock for each price listed, first perform a value aggregation on `discountedPriceNumeric`, and a second value aggregation on `inStock`. */
nested?: NestedAggregation;
/** Aggregation name displayed in the return. */
name?: string | null;
/** Type of aggregation to perform. */
type?: AggregationType;
/**
* Field to aggregate by.
* Use dot notation to specify a JSON path. For example, `order.address.streetName`.
*/
fieldPath?: string;
}
/** @oneof */
interface AggregationKindOneOf {
/** A value aggregation calculates metrics such as count for specific fields within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of products for each price listed in the store. */
value?: ValueAggregation;
/** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. */
range?: RangeAggregation;
/** A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */
scalar?: ScalarAggregation;
/** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.) For example, use a date histogram to find how many reservations have been made at a restaurant each week. */
dateHistogram?: DateHistogramAggregation;
/** A nested aggregation is applied within the results of another aggregation. Rather than aggregating directly on the primary dataset, first group data using one aggregation and then apply another aggregation within each group. It allows for more complex analyses where you can summarize data at different levels of detail or hierarchy. For example, to get the number of products that are in stock and out of stock for each price listed, first perform a value aggregation on `discountedPriceNumeric`, and a second value aggregation on `inStock`. */
nested?: NestedAggregation;
}
interface RangeBucket {
/** Inclusive lower bound of the range. Required if `to` is not given. */
from?: number | null;
/** Exclusive upper bound of the range. Required if `from` is not given. */
to?: number | null;
}
enum SortType {
/** Number of matches in the results. */
COUNT = "COUNT",
/** Alphabetically by the field value. */
VALUE = "VALUE"
}
enum SortDirection {
/** Descending order. */
DESC = "DESC",
/** Ascending order. */
ASC = "ASC"
}
enum MissingValues {
/** Exclude missing values from the aggregation results. */
EXCLUDE = "EXCLUDE",
/** Include missing values in the aggregation results. */
INCLUDE = "INCLUDE"
}
interface IncludeMissingValuesOptions {
/**
* Specify a custom name for the bucket containing the missing values.
* Defaults: `"N/A"` for strings, `0` for integers, and `false` for booleans.
*/
addToBucket?: string;
}
enum ScalarType {
/** Unknown scalar type. This value is not used. */
UNKNOWN_SCALAR_TYPE = "UNKNOWN_SCALAR_TYPE",
/** Total number of distinct values. */
COUNT_DISTINCT = "COUNT_DISTINCT",
/** Minimum value. */
MIN = "MIN",
/** Maximum value. */
MAX = "MAX",
/** Sum of values. */
SUM = "SUM",
/** Average of values. */
AVG = "AVG"
}
interface ValueAggregation extends ValueAggregationOptionsOneOf {
/**
* Whether to include or exclude missing values in the aggregation results.
* Default: `EXCLUDE`.
*/
includeOptions?: IncludeMissingValuesOptions;
/** Sort type. */
sortType?: SortType;
/** Sort direction. */
sortDirection?: SortDirection;
/**
* Number of aggregation results to return.
* Min: `1`
* Max: `250`
* Default: `10`
*/
limit?: number | null;
/** Whether to include or exclude missing values from the aggregation results. Default: `EXCLUDE`. */
missingValues?: MissingValues;
}
/** @oneof */
interface ValueAggregationOptionsOneOf {
/**
* Whether to include or exclude missing values in the aggregation results.
* Default: `EXCLUDE`.
*/
includeOptions?: IncludeMissingValuesOptions;
}
enum NestedAggregationType {
/** Unknown aggregation type. This value is not used. */
UNKNOWN_AGGREGATION_TYPE = "UNKNOWN_AGGREGATION_TYPE",
/** Calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. */
VALUE = "VALUE",
/** Calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. */
RANGE = "RANGE",
/** Calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */
SCALAR = "SCALAR",
/** Calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). */
DATE_HISTOGRAM = "DATE_HISTOGRAM"
}
interface RangeAggregation {
/** List of range buckets. During aggregation each entity is placed in the first bucket its value falls into, based on the provided range bounds. */
buckets?: RangeBucket[];
}
interface ScalarAggregation {
/** Operator type for the scalar aggregation. */
type?: ScalarType;
}
interface DateHistogramAggregation {
/** Interval for date histogram aggregation */
interval?: Interval;
}
enum Interval {
/** Unknown interval. This value is not used. */
UNKNOWN_INTERVAL = "UNKNOWN_INTERVAL",
YEAR = "YEAR",
MONTH = "MONTH",
WEEK = "WEEK",
DAY = "DAY",
HOUR = "HOUR",
MINUTE = "MINUTE",
SECOND = "SECOND"
}
interface NestedAggregationItem extends NestedAggregationItemKindOneOf {
/** A value aggregation calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of orders for each order status. */
value?: ValueAggregation;
/** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria. */
range?: RangeAggregation;
/** A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */
scalar?: ScalarAggregation;
/** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). For example, use a date histogram to determine how many reservations have been made at a restaurant each week. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria. */
dateHistogram?: DateHistogramAggregation;
/** Unique, caller-defined aggregation name, returned in `aggregations.results`. */
name?: string | null;
/** Type of aggregation to perform. The matching aggregation field must be passed. */
type?: NestedAggregationType;
/**
* Field to aggregate by.
* Use dot notation to specify a JSON path. For example, `order.address.streetName`.
*/
fieldPath?: string;
}
/** @oneof */
interface NestedAggregationItemKindOneOf {
/** A value aggregation calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. For example, use a value aggregation to get the number (count) of orders for each order status. */
value?: ValueAggregation;
/** A range aggregation calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. For example, use a range aggregation to compare the number of reservations made for parties of 4 or less to the number of reservations made for parties with 5 or more. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria. */
range?: RangeAggregation;
/** A scalar aggregation calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */
scalar?: ScalarAggregation;
/** A date histogram calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). For example, use a date histogram to determine how many reservations have been made at a restaurant each week. If ranges overlap, a record that fits more than one range will only be counted in the first range that matches the criteria. */
dateHistogram?: DateHistogramAggregation;
}
enum AggregationType {
/** Unknown type. This value is not used. */
UNKNOWN_AGGREGATION_TYPE = "UNKNOWN_AGGREGATION_TYPE",
/** Calculates the distribution of a specific field's values within a dataset, providing insights into the overall distribution and key statistics of those values. */
VALUE = "VALUE",
/** Calculates the count of the values from the specified field in the dataset that fall within the range of each bucket you define. */
RANGE = "RANGE",
/** Calculates a single numerical value from a dataset, summarizing the dataset into one key metric: `COUNT_DISTINCT`, `SUM`, `AVG`, `MIN`, or `MAX`. */
SCALAR = "SCALAR",
/** Calculates the count of time values from the specified field in the dataset that fall within each time interval you define (hour, day, week, etc.). */
DATE_HISTOGRAM = "DATE_HISTOGRAM",
/** Flattened list of aggregations, where each aggregation is nested within previous one. */
NESTED = "NESTED"
}
/** Flattened list of aggregations, where each aggregation is nested within previous one. */
interface NestedAggregation {
/** Flattened list of aggregations, where each aggregation is nested within previous one. */
nestedAggregations?: NestedAggregationItem[];
}
interface SearchDetails {
/** Search mode. Defines the search logic for combining multiple terms in the `expression`. */
mode?: Mode;
/** Search term or expression. */
expression?: string | null;
/**
* Fields to search in. If the array is empty, all searchable fields are searched.
* Use dot notation to specify a JSON path. For example, For example, `order.address.streetName`.
*/
fields?: string[];
/** Whether to enable the search function to use an algorithm to automatically find results that are close to the search expression, such as typos and declensions. */
fuzzy?: boolean;
}
enum Mode {
/** At least one of the search terms must be present. */
OR = "OR",
/** Searches by all provided words. */
AND = "AND"
}
interface CursorPaging$2 {
/** 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;
}
enum RequestedFields$1 {
/** Unknown requested field. This value is not used. */
UNKNOWN_REQUESTED_FIELD = "UNKNOWN_REQUESTED_FIELD",
/** Returns `createdDate`, `updatedDate`, `firstName`, `lastName`, `totalGuests`, `guests`. */
DETAILS = "DETAILS",
/** Returns `form`. */
FORM = "FORM",
/** Returns `email`. */
CONTACT_DETAILS = "CONTACT_DETAILS"
}
interface SearchRsvpsResponse {
/** List of RSVPs. */
rsvps?: V2Rsvp[];
/** Metadata for the paginated results. */
pagingMetadata?: CursorPagingMetadata;
/** Aggregation data. */
aggregationData?: AggregationData;
}
interface CursorPagingMetadata {
/** Number of items returned in the response. */
count?: number | null;
/** Cursor strings that point to the next page, previous page, or both. */
cursors?: Cursors$2;
/**
* Whether there are more pages to retrieve following the current page.
*
* + `true`: Another page of results can be retrieved.
* + `false`: This is the last page.
*/
hasNext?: boolean | null;
}
interface Cursors$2 {
/** 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;
}
interface AggregationData {
/** List of the aggregated data results. */
results?: AggregationResults[];
}
interface ValueAggregationResult {
/** Value of the field. */
value?: string;
/** Total number of entities with this value. */
count?: number;
}
interface RangeAggregationResult {
/** Inclusive lower bound of the range. */
from?: number | null;
/** Exclusive upper bound of the range. */
to?: number | null;
/** Count of entities in this range. */
count?: number;
}
interface NestedAggregationResults extends NestedAggregationResultsResultOneOf {
/** Value aggregation results. */
values?: ValueResults;
/** Range aggregation results. */
ranges?: RangeResults;
/** Scalar aggregation results. */
scalar?: AggregationResultsScalarResult;
/** Unique, caller-defined aggregation name, identifiable by the requested aggregation `name`. */
name?: string;
/** Aggregation type. */
type?: AggregationType;
/** Field which the data was aggregated by. */
fieldPath?: string;
}
/** @oneof */
interface NestedAggregationResultsResultOneOf {
/** Value aggregation results. */
values?: ValueResults;
/** Range aggregation results. */
ranges?: RangeResults;
/** Scalar aggregation results. */
scalar?: AggregationResultsScalarResult;
}
interface ValueResults {
/** List of ranges returned in the same order as requested. */
results?: ValueAggregationResult[];
}
interface RangeResults {
/** List of ranges returned in same order as requested. */
results?: RangeAggregationResult[];
}
interface AggregationResultsScalarResult {
/** Type of scalar aggregation. */
type?: ScalarType;
/** Value of the scalar aggregation. */
value?: number;
}
interface NestedValueAggregationResult {
/** Value of the field. */
value?: string;
/** Nested aggregations. */
nestedResults?: NestedAggregationResults;
}
interface ValueResult {
/** Value of the field. */
value?: string;
/** Total number of entities with this value. */
count?: number | null;
}
interface RangeResult {
/** Inclusive lower bound of the range. */
from?: number | null;
/** Exclusive upper bound of the range. */
to?: number | null;
/** Total number of entities in this range. */
count?: number | null;
}
interface ScalarResult {
/** Value of the scalar aggregation. */
value?: number;
}
interface NestedResultValue extends NestedResultValueResultOneOf {
/** Value aggregation result. */
value?: ValueResult;
/** Range aggregation result. */
range?: RangeResult;
/** Scalar aggregation result. */
scalar?: ScalarResult;
/** Date histogram aggregation result. */
dateHistogram?: ValueResult;
}
/** @oneof */
interface NestedResultValueResultOneOf {
/** Value aggregation result. */
value?: ValueResult;
/** Range aggregation result. */
range?: RangeResult;
/** Scalar aggregation result. */
scalar?: ScalarResult;
/** Date histogram aggregation result. */
dateHistogram?: ValueResult;
}
interface Results {
/** List of nested aggregations. */
results?: Record;
}
interface DateHistogramResult {
/** Date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. */
value?: string;
/** Total number of entities in the bucket. */
count?: number;
}
interface GroupByValueResults {
/** List of value aggregations. */
results?: NestedValueAggregationResult[];
}
interface DateHistogramResults {
/** List of date histogram aggregations. */
results?: DateHistogramResult[];
}
/** Results of `NESTED` aggregation type in a flattened array, identifiable by the requested aggregation `name`. */
interface NestedResults {
/** List of nested aggregations. */
results?: Results[];
}
interface AggregationResults extends AggregationResultsResultOneOf {
/** Value aggregation results. */
values?: ValueResults;
/** Range aggregation results. */
ranges?: RangeResults;
/** Scalar aggregation results. */
scalar?: AggregationResultsScalarResult;
/** Group by value aggregation results. */
groupedByValue?: GroupByValueResults;
/** Date histogram aggregation results. */
dateHistogram?: DateHistogramResults;
/** Nested aggregation results. */
nested?: NestedResults;
/** Aggregation name displayed in the return. */
name?: string;
/** Type of aggregation that was performed. */
type?: AggregationType;
/** Field which the data was aggregated by. */
fieldPath?: string;
}
/** @oneof */
interface AggregationResultsResultOneOf {
/** Value aggregation results. */
values?: ValueResults;
/** Range aggregation results. */
ranges?: RangeResults;
/** Scalar aggregation results. */
scalar?: AggregationResultsScalarResult;
/** Group by value aggregation results. */
groupedByValue?: GroupByValueResults;
/** Date histogram aggregation results. */
dateHistogram?: DateHistogramResults;
/** Nested aggregation results. */
nested?: NestedResults;
}
interface SearchRsvpsWithOffsetRequest {
/** Search options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */
search?: Search;
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[];
}
interface Search extends SearchPagingMethodOneOf {
/** Paging options to limit and offset the number of items. */
paging?: Paging$2;
/** 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$2;
/**
* Filter object.
*
* Learn more about [filtering](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#filters).
*/
filter?: Record | null;
/**
* Sort object.
*
* Learn more about [sorting](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#sorting).
*/
sort?: Sorting$2[];
/** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */
fields?: string[];
/** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */
fieldsets?: string[];
/**
* Logical groupings of data into facets, with summaries for each facet.
* For example, use aggregations to allow site visitors to narrow down their search results by selecting specific categories.
*/
aggregations?: Aggregation[];
/** Free text to match in searchable fields. */
search?: SearchDetails;
/**
* Time zone to adjust date-time-based filters and aggregations, in ISO 8601 (including offsets) or IANA time zone database (including time zone IDs) format.
* Applies to all relevant filters and aggregations, unless overridden by providing timestamps including time zone. For example, "2023-12-20T10:52:34.795Z".
*/
timeZone?: string | null;
}
/** @oneof */
interface SearchPagingMethodOneOf {
/** Paging options to limit and offset the number of items. */
paging?: Paging$2;
/** 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$2;
}
interface Paging$2 {
/** Number of items to load. */
limit?: number | null;
/** Number of items to skip in the current sort order. */
offset?: number | null;
}
interface SearchRsvpsWithOffsetResponse {
/** List of RSVPs. */
rsvps?: V2Rsvp[];
/** Metadata for the paginated results. */
pagingMetadata?: PagingMetadataV2$2;
/** Aggregation data. */
aggregationData?: AggregationData;
}
interface PagingMetadataV2$2 {
/** 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$2;
/**
* Indicates if there are more results after the current page.
* If `true`, another page of results can be retrieved.
* If `false`, this is the last page.
* @internal
*/
hasNext?: boolean | null;
}
interface QueryRsvpsRequest {
/** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */
query?: CursorQuery;
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[];
}
interface CursorQuery extends CursorQueryPagingMethodOneOf {
/** 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$2;
/**
* Filter object in the following format:
* `"filter" : {
* "fieldName1": "value1",
* "fieldName2":{"$operator":"value2"}
* }`
* Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`
*/
filter?: Record | null;
/**
* Sort object in the following format:
* `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
*/
sort?: Sorting$2[];
}
/** @oneof */
interface CursorQueryPagingMethodOneOf {
/** 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$2;
}
interface QueryRsvpsResponse {
/** List of RSVPs. */
rsvps?: V2Rsvp[];
/** Metadata for the paginated results. */
pagingMetadata?: CursorPagingMetadata;
}
interface CountRsvpsRequest {
/**
* Filter object in the following format:
* `"filter" : {
* "fieldName1": "value1",
* "fieldName2":{"$operator":"value2"}
* }`
* Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`
*/
filter?: Record | null;
/** Search details. */
search?: SearchDetails;
}
interface CountRsvpsResponse {
/** Number of RSVPs. */
count?: number;
}
interface GetRsvpRequest {
/** RSVP ID. */
rsvpId: string;
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[];
}
interface GetRsvpResponse {
/** The requested RSVP. */
rsvp?: V2Rsvp;
}
interface CreateRsvpRequest {
/** RSVP info. */
rsvp: V2Rsvp;
/** RSVP options.
The **WIX_EVENTS.MANAGE_RSVP** permission is required. */
options?: ModificationOptions;
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[];
}
interface ModificationOptions {
/** Whether to create or update RSVP regardless of event's guest limit. */
ignoreLimits?: boolean;
/** Whether to ignore the form validation. */
ignoreFormValidation?: boolean;
/** Whether to ignore response status. */
ignoreResponseStatus?: boolean;
/** Whether to ignore additional guest names validation. */
ignoreAdditionalGuestNames?: boolean;
}
interface CreateRsvpResponse {
/** Created RSVP. */
rsvp?: V2Rsvp;
/** "Add to calendar" links. */
calendarLinks?: CalendarLinks$2;
}
interface CalendarLinks$2 {
/** "Add to Google calendar" URL. */
google?: string;
/** "Download ICS calendar file" URL. */
ics?: string;
}
interface GuestLimitExceededData {
/** Max rsvp guest list size. */
maxRsvpSize?: number;
}
interface UpdateRsvpRequest {
/** RSVP to update. */
rsvp: V2Rsvp;
/**
* List of exact fields to update. For example, if you define only the `firstName`, all other fields are ignored.
* @internal
*/
fieldMask: string[];
/** RSVP options.
The **WIX_EVENTS.MANAGE_RSVP** permission is required to pass these fields. */
options?: ModificationOptions;
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[];
}
interface UpdateRsvpResponse {
/** Updated RSVP. */
rsvp?: V2Rsvp;
}
interface DeleteRsvpRequest {
/** ID of RSVP to delete. */
rsvpId: string | null;
}
interface DeleteRsvpResponse {
}
interface BulkUpdateRsvpRequest {
/** RSVPs to update. */
rsvps: MaskedRsvp[];
/** Whether to return the whole `rsvp` object in the response. If `false`, only metadata is returned. */
returnEntity?: boolean;
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[];
/** RSVP options.
The **WIX_EVENTS.MANAGE_RSVP** permission is required to pass these fields. */
options?: ModificationOptions;
}
interface MaskedRsvp {
/** RSVP to update. */
rsvp?: V2Rsvp;
/**
* Explicit list of fields to update.
* @internal
*/
fieldMask?: string[];
}
interface BulkUpdateRsvpResponse {
/** Response of bulk update. */
results?: BulkRsvpResult[];
/** Response metadata. */
bulkActionMetadata?: BulkActionMetadata;
}
interface ItemMetadata {
/** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */
_id?: string | null;
/** Index of the item within the request array. Allows for correlation between request and response items. */
originalIndex?: number;
/** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */
success?: boolean;
/** Details about the error in case of failure. */
error?: ApplicationError;
}
interface ApplicationError {
/** Error code. */
code?: string;
/** Description of the error. */
description?: string;
/** Data related to the error. */
data?: Record | null;
}
interface BulkRsvpResult {
/** Item metadata. */
itemMetadata?: ItemMetadata;
/** Updated RSVP. */
rsvp?: V2Rsvp;
}
interface BulkActionMetadata {
/** Number of items that were successfully processed. */
totalSuccesses?: number;
/** Number of items that couldn't be processed. */
totalFailures?: number;
/** Number of failures without details because detailed failure threshold was exceeded. */
undetailedFailures?: number;
}
interface BulkDeleteRsvpsByFilterRequest {
/** Filter object. */
filter: Record | null;
/** Search details. */
search?: SearchDetails;
}
interface BulkDeleteRsvpsByFilterResponse {
/** Job ID. Pass this ID to [Get Async Job](https://dev.wix.com/docs/rest/business-management/async-job/introduction) to retrieve job details and metadata. */
jobId?: string;
}
interface CheckInRsvpGuestsRequest {
/** ID of RSVP to check-in. */
rsvpId: string | null;
/** IDs of guests to check-in. */
guestIds?: number[];
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[];
}
interface CheckInRsvpGuestsResponse {
/** Updated RSVP. */
rsvp?: V2Rsvp;
}
interface CancelRsvpGuestsCheckInRequest {
/** ID of RSVP to cancel check-in. */
rsvpId: string;
/** IDs of guests to check-in. */
guestIds?: number[];
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[];
}
interface CancelRsvpGuestsCheckInResponse {
/** Updated RSVP. */
rsvp?: V2Rsvp;
}
interface ListRsvpSummaryRequest {
/** Event ID. */
eventId: string[] | null;
/**
* Consistent read.
* @internal
*/
consistentRead?: boolean | null;
}
interface ListRsvpSummaryResponse {
/** List of RSVP summary. */
summaries?: V2RsvpSummary[];
}
interface V2RsvpSummary {
/**
* Event ID.
* @readonly
*/
eventId?: string | null;
/**
* Number of RSVPs that answered `yes`.
* @readonly
*/
yesGuestCount?: number | null;
/**
* Number of RSVPs that answered `no`.
* @readonly
*/
noGuestCount?: number | null;
/**
* Number of RSVPs that are in the waitlist.
* @readonly
*/
waitlistGuestCount?: number | null;
/**
* Total number of RSVPs.
* @readonly
*/
totalRsvpCount?: number | null;
}
interface CompareRsvpSummaryRequest {
/** Event ID. */
eventId?: string | null;
/** Whether to apply fixes. */
applyFix?: boolean | null;
}
interface CompareRsvpSummaryResponse {
/** Actual Rsvp summary. */
actualSummary?: V2RsvpSummary;
/** Persisted Rsvp summary. */
persistedSummary?: V2RsvpSummary;
}
interface EventCreated$2 {
/** Event created timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event location. */
location?: Location$2;
/** Event schedule configuration. */
scheduleConfig?: ScheduleConfig$2;
/** Event title. */
title?: string;
/** Event creator user ID. */
userId?: string | null;
/** Event status. */
status?: EventStatus$2;
/** Instance ID. Indicates the original app instance which current event was derived from. */
derivedFromInstanceId?: string | null;
/** Event ID. Indicates the original event which current event was derived from. */
derivedFromEventId?: string | null;
/** Event that was created. */
event?: Event$2;
}
interface Location$2 {
/** Location name. */
name?: string | null;
/** Location map coordinates. */
coordinates?: MapCoordinates$2;
/** Single line address representation. */
address?: string | null;
/** Location type. */
type?: LocationType$2;
/**
* Full address derived from formatted single line `address`.
* When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored.
* If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service.
*
* Migration notes:
* - `full_address.formatted_address` is equivalent to `address`.
* - `full_address.geocode` is equivalent to `coordinates`.
*/
fullAddress?: Address$2;
/**
* Defines event location as TBD (To Be Determined).
* When event location is not yet defined, `name` is displayed instead of location address.
* `coordinates`, `address`, `type` and `full_address` are not required when location is TBD.
*/
tbd?: boolean | null;
}
interface MapCoordinates$2 {
/** Latitude. */
lat?: number;
/** Longitude. */
lng?: number;
}
enum LocationType$2 {
VENUE = "VENUE",
ONLINE = "ONLINE"
}
/** Physical address */
interface Address$2 extends AddressStreetOneOf$2 {
/** a break down of the street to number and street name */
streetAddress?: StreetAddress$2;
/** Main address line (usually street and number) as free text */
addressLine1?: string | null;
/** country code */
country?: string | null;
/** subdivision (usually state or region) code according to ISO 3166-2 */
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, Floor */
addressLine2?: string | null;
/** A string containing the human-readable address of this location */
formatted?: string | null;
/** coordinates of the physical address */
location?: AddressLocation$2;
/** country full-name */
countryFullname?: string | null;
/** multi-level subdivisions from top to bottom */
subdivisions?: Subdivision$2[];
}
/** @oneof */
interface AddressStreetOneOf$2 {
/** a break down of the street to number and street name */
streetAddress?: StreetAddress$2;
/** Main address line (usually street and number) as free text */
addressLine?: string | null;
}
interface StreetAddress$2 {
/** street number */
number?: string;
/** street name */
name?: string;
/**
* apartment number
* @internal
*/
apt?: string;
}
interface AddressLocation$2 {
/** address latitude coordinates */
latitude?: number | null;
/** address longitude coordinates */
longitude?: number | null;
}
interface Subdivision$2 {
/** subdivision short code */
code?: string;
/** subdivision full-name */
name?: string;
/**
* subdivision level
* @internal
*/
type?: SubdivisionType$2;
/**
* free text description of subdivision type
* @internal
*/
typeInfo?: string | null;
}
interface ScheduleConfig$2 {
/**
* Defines event as TBD (To Be Determined) schedule.
* When event time is not yet defined, TBD message is displayed instead of event start and end times.
* `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD.
*/
scheduleTbd?: boolean;
/** TBD message. */
scheduleTbdMessage?: string | null;
/** Event start timestamp. */
startDate?: Date | null;
/** Event end timestamp. */
endDate?: Date | null;
/** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */
timeZoneId?: string | null;
/** Whether end date is hidden in the formatted schedule. */
endDateHidden?: boolean;
/** Whether time zone is displayed in formatted schedule. */
showTimeZone?: boolean;
/** Event recurrences. */
recurrences?: Recurrences$2;
}
interface Recurrences$2 {
/** Event occurrences. */
occurrences?: Occurrence$2[];
/**
* Recurring event category ID.
* @readonly
*/
categoryId?: string | null;
/**
* Recurrence status.
* @readonly
*/
status?: Status$2;
}
interface Occurrence$2 {
/** Event start timestamp. */
startDate?: Date | null;
/** Event end timestamp. */
endDate?: Date | null;
/** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */
timeZoneId?: string | null;
/** Whether time zone is displayed in formatted schedule. */
showTimeZone?: boolean;
}
enum Status$2 {
/** Event occurs only once. */
ONE_TIME = "ONE_TIME",
/** Event is recurring. */
RECURRING = "RECURRING",
/** Marks the next upcoming occurrence of the recurring event. */
RECURRING_NEXT = "RECURRING_NEXT",
/** Marks the most recent ended occurrence of the recurring event. */
RECURRING_LAST_ENDED = "RECURRING_LAST_ENDED",
/** Marks the most recent canceled occurrence of the recurring event. */
RECURRING_LAST_CANCELED = "RECURRING_LAST_CANCELED"
}
enum EventStatus$2 {
/** Event is public and scheduled to start */
SCHEDULED = "SCHEDULED",
/** Event has started */
STARTED = "STARTED",
/** Event has ended */
ENDED = "ENDED",
/** Event was canceled */
CANCELED = "CANCELED",
/** Event is not public and needs to be published */
DRAFT = "DRAFT"
}
interface Event$2 {
/**
* Event ID.
* @readonly
*/
_id?: string;
/** Event location. */
location?: Location$2;
/** Event scheduling. */
scheduling?: Scheduling$2;
/** Event title. */
title?: string;
/** Event description. */
description?: string;
/** Rich-text content displayed in Wix UI - "About Event" section (HTML). */
about?: string;
/** Main event image. */
mainImage?: string;
/** Event slug URL (generated from event title). */
slug?: string;
/** ISO 639-1 language code of the event (used in content translations). */
language?: string;
/** Event creation timestamp. */
created?: Date | null;
/** Event modified timestamp. */
modified?: Date | null;
/** Event status. */
status?: EventStatus$2;
/** RSVP or ticketing registration details. */
registration?: Registration$2;
/** "Add to calendar" URLs. */
calendarLinks?: CalendarLinks$2;
/** Event page URL components. */
eventPageUrl?: SiteUrl$2;
/** Event registration form. */
form?: Form$2;
/** Event dashboard summary of RSVP / ticket sales. */
dashboard?: Dashboard$2;
/** Instance ID of the site where event is hosted. */
instanceId?: string;
/** Guest list configuration. */
guestListConfig?: GuestListConfig$2;
/** Event creator user ID. */
userId?: string;
/** Event discussion feed. For internal use. */
feed?: Feed$2;
/** Online conferencing details. */
onlineConferencing?: OnlineConferencing$2;
/** SEO settings. */
seoSettings?: SeoSettings$2;
/** Assigned contacts label key. */
assignedContactsLabel?: string | null;
/** Agenda details. */
agenda?: Agenda$2;
/** Categories this event is assigned to. */
categories?: Category$2[];
/** Visual settings for event. */
eventDisplaySettings?: EventDisplaySettings$2;
/**
* @internal
* @readonly
*/
customizableTickets?: boolean | null;
/**
* Labelling related data.
* @internal
*/
labellingSettings?: LabellingSettings$2;
}
interface Scheduling$2 {
/** Schedule configuration. */
config?: ScheduleConfig$2;
/** Formatted schedule representation. */
formatted?: string;
/** Formatted start date of the event (empty for TBD schedules). */
startDateFormatted?: string;
/** Formatted start time of the event (empty for TBD schedules). */
startTimeFormatted?: string;
/** Formatted end date of the event (empty for TBD schedules or when end date is hidden). */
endDateFormatted?: string;
/** Formatted end time of the event (empty for TBD schedules or when end date is hidden). */
endTimeFormatted?: string;
}
interface Registration$2 {
/** Event type. */
type?: EventType$2;
/** Event registration status. */
status?: RegistrationStatus$2;
/** RSVP collection details. */
rsvpCollection?: RsvpCollection$2;
/** Ticketing details. */
ticketing?: Ticketing$2;
/** External registration details. */
external?: ExternalEvent$2;
/** Types of users allowed to register. */
restrictedTo?: VisitorType$2;
/** Initial event type which was set when creating an event. */
initialType?: EventType$2;
}
enum EventType$2 {
/** Type not available for this request fieldset */
NA_EVENT_TYPE = "NA_EVENT_TYPE",
/** Registration via RSVP */
RSVP = "RSVP",
/** Registration via ticket purchase */
TICKETS = "TICKETS",
/** External registration */
EXTERNAL = "EXTERNAL",
/** Registration not available */
NO_REGISTRATION = "NO_REGISTRATION"
}
enum RegistrationStatus$2 {
/** Registration status is not applicable */
NA_REGISTRATION_STATUS = "NA_REGISTRATION_STATUS",
/** Registration to event is closed */
CLOSED = "CLOSED",
/** Registration to event is closed manually */
CLOSED_MANUALLY = "CLOSED_MANUALLY",
/** Registration is open via RSVP */
OPEN_RSVP = "OPEN_RSVP",
/** Registration to event waitlist is open via RSVP */
OPEN_RSVP_WAITLIST = "OPEN_RSVP_WAITLIST",
/** Registration is open via ticket purchase */
OPEN_TICKETS = "OPEN_TICKETS",
/** Registration is open via external URL */
OPEN_EXTERNAL = "OPEN_EXTERNAL",
/** Registration will be open via RSVP */
SCHEDULED_RSVP = "SCHEDULED_RSVP"
}
interface RsvpCollection$2 {
/** RSVP collection configuration. */
config?: RsvpCollectionConfig$2;
}
interface RsvpCollectionConfig$2 {
/** Defines the supported RSVP statuses. */
rsvpStatusOptions?: RsvpStatusOptions$2;
/**
* Total guest limit available to register to the event.
* Additional guests per RSVP are counted towards total guests.
*/
limit?: number | null;
/** Whether a waitlist is opened when total guest limit is reached, allowing guests to create RSVP with WAITING RSVP status. */
waitlist?: boolean;
/** Registration start timestamp. */
startDate?: Date | null;
/** Registration end timestamp. */
endDate?: Date | null;
}
enum RsvpStatusOptions$2 {
/** Only YES RSVP status is available for RSVP registration */
YES_ONLY = "YES_ONLY",
/** YES and NO RSVP status options are available for the registration */
YES_AND_NO = "YES_AND_NO"
}
interface Ticketing$2 {
/**
* Deprecated.
* @deprecated
*/
lowestPrice?: string | null;
/**
* Deprecated.
* @deprecated
*/
highestPrice?: string | null;
/** Currency used in event transactions. */
currency?: string | null;
/** Ticketing configuration. */
config?: TicketingConfig$2;
/**
* Price of lowest priced ticket.
* @readonly
*/
lowestTicketPrice?: Money$2;
/**
* Price of highest priced ticket.
* @readonly
*/
highestTicketPrice?: Money$2;
/**
* Formatted price of lowest priced ticket.
* @readonly
*/
lowestTicketPriceFormatted?: string | null;
/**
* Formatted price of highest priced ticket.
* @readonly
*/
highestTicketPriceFormatted?: string | null;
/**
* Whether all tickets are sold for this event.
* @readonly
*/
soldOut?: boolean | null;
}
interface TicketingConfig$2 {
/** Whether the form must be filled out separately for each ticket. */
guestAssignedTickets?: boolean;
/** Tax configuration. */
taxConfig?: TaxConfig$2;
/** Limit of tickets that can be purchased per order, default 20. */
ticketLimitPerOrder?: number;
/**
* App Id for external ticket stock management.
* By default tickets stock is defined in TicketDefinition object.
* If defined then limitation from TicketDefinition is ignored.
* @internal
*/
stockManagerAppId?: string | null;
/** Duration for which the tickets being bought are reserved. */
reservationDurationInMinutes?: number | null;
}
interface TaxConfig$2 {
/** Tax application settings. */
type?: TaxType$2;
/** Tax name. */
name?: string | null;
/** Tax rate (e.g.,`21.55`). */
rate?: string | null;
/** Applies taxes for donations, default true. */
appliesToDonations?: boolean | null;
}
enum TaxType$2 {
/** 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"
}
interface Money$2 {
/**
* *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;
}
interface ExternalEvent$2 {
/** External event registration URL. */
registration?: string;
}
enum VisitorType$2 {
/** Site visitor (including member) */
VISITOR = "VISITOR",
/** Site member */
MEMBER = "MEMBER",
/** Site visitor or member */
VISITOR_OR_MEMBER = "VISITOR_OR_MEMBER"
}
/** Site URL components */
interface SiteUrl$2 {
/**
* Base URL. For premium sites, this will be the domain.
* For free sites, this would be site URL (e.g `mysite.wixsite.com/mysite`)
*/
base?: string;
/** The path to that page - e.g `/my-events/weekly-meetup-2` */
path?: string;
}
/**
* The form defines which elements are rendered in the Wix UI during the registration process (RSVP or checkout).
* It also contains customizable messages and labels.
*
*
* A form is an ordered list of controls (blocks), which accept guest information into a field input.
*
* Each control contains one or more nested inputs. For example, `Name` control has two inputs:
* - First Name
* - Last Name
*
* By default, name and email controls are always required and are pinned to the top of the form.
*/
interface Form$2 {
/** Nested fields as an ordered list. */
controls?: InputControl$2[];
/** Set of configured form messages. */
messages?: FormMessages$2;
}
/**
* A block of nested fields.
* Used to aggregate similar inputs like First Name and Last Name.
*/
interface InputControl$2 {
/** Field control type. */
type?: InputControlType$2;
/** Whether control is mandatory (such as name & email). When true, only label can be changed. */
system?: boolean;
/**
* Deprecated: Use `id`.
* @deprecated
*/
name?: string;
/** Child inputs. */
inputs?: Input$2[];
/**
* Deprecated: use `inputs.label`.
* @deprecated
*/
label?: string;
/** Field controls are sorted by this value in ascending order. */
orderIndex?: number;
/** Unique control ID. */
_id?: string;
/**
* Whether input control is deleted.
* @readonly
*/
deleted?: boolean | null;
}
enum InputControlType$2 {
/** Single text value field. */
INPUT = "INPUT",
/** Single text value field. */
TEXTAREA = "TEXTAREA",
/** Single-choice field of predefined values. */
DROPDOWN = "DROPDOWN",
/** Single-choice field of predefined values. */
RADIO = "RADIO",
/** Multiple-choice field of predefined values. */
CHECKBOX = "CHECKBOX",
/** First and last name fields. */
NAME = "NAME",
/** Additional guests and respective guest names fields. */
GUEST_CONTROL = "GUEST_CONTROL",
/** Single-line address field. */
ADDRESS_SHORT = "ADDRESS_SHORT",
/** Full address field. */
ADDRESS_FULL = "ADDRESS_FULL",
/** Year, month and day fields. */
DATE = "DATE"
}
/** An input of one or multiple text values */
interface Input$2 {
/** Field name. */
name?: string;
/**
* Deprecated: use `ValueType.TEXT_ARRAY`.
* @deprecated
*/
array?: boolean;
/** Main field label */
label?: string;
/** Additional labels for multi-valued fields such as address. */
additionalLabels?: Record;
/** Predefined choice options for fields, such as dropdown. */
options?: string[];
/** Whether field is mandatory. */
mandatory?: boolean;
/** Maximum number of accepted characters (relevant for text fields). */
maxLength?: number;
/**
* Type which determines field format.
* Used to validate submitted response.
*/
type?: ValueType$2;
/**
* A maximum accepted values for array input.
* Only applicable for inputs of valueType: TEXT_ARRAY.
*/
maxSize?: number | null;
/**
* Preselected option.
* Currently only applicable for dropdown.
*/
defaultOptionSelection?: OptionSelection$2;
/**
* Additional labels for multi-valued fields such as address.
* @readonly
*/
labels?: Label$2[];
}
enum ValueType$2 {
TEXT = "TEXT",
NUMBER = "NUMBER",
TEXT_ARRAY = "TEXT_ARRAY",
DATE_TIME = "DATE_TIME",
ADDRESS = "ADDRESS"
}
/**
* Describes initially selected option when an input has multiple choices.
* Defaults to first (0th) option if not configured.
*/
interface OptionSelection$2 extends OptionSelectionSelectedOptionOneOf$2 {
/** 0-based index from predefined `input.options` which is selected initially. */
optionIndex?: number;
/**
* Placeholder hint describing expected choices (such as "Please select").
* Considered an empty choice.
*/
placeholderText?: string;
}
/** @oneof */
interface OptionSelectionSelectedOptionOneOf$2 {
/** 0-based index from predefined `input.options` which is selected initially. */
optionIndex?: number;
/**
* Placeholder hint describing expected choices (such as "Please select").
* Considered an empty choice.
*/
placeholderText?: string;
}
interface Label$2 {
/** Field name. */
name?: string;
/** Field label. */
label?: string;
}
/**
* Defines form messages shown in UI before, during, and after registration flow.
* It enables configuration of form titles, response labels, "thank you" messages, and call-to-action texts.
*/
interface FormMessages$2 {
/** RSVP form messages. */
rsvp?: RsvpFormMessages$2;
/** Checkout form messages. */
checkout?: CheckoutFormMessages$2;
/** Messages shown when event registration is closed. */
registrationClosed?: RegistrationClosedMessages$2;
/** Messages shown when event tickets are unavailable. */
ticketsUnavailable?: TicketsUnavailableMessages$2;
}
interface RsvpFormMessages$2 {
/** Label text indicating RSVP `YES` response. */
rsvpYesOption?: string;
/** Label text indicating RSVP `NO` response. */
rsvpNoOption?: string;
/** Messages shown for RSVP = `YES`. */
positiveMessages?: Positive$2;
/** Messages shown for RSVP = `WAITING` (when event is full and waitlist is available). */
waitlistMessages?: Positive$2;
/** Messages shown for RSVP = `NO`. */
negativeMessages?: Negative$2;
/** "Submit form" call-to-action label text. */
submitActionLabel?: string;
}
/** Confirmation messages shown after registration. */
interface PositiveResponseConfirmation$2 {
/** Confirmation message title. */
title?: string;
/** Confirmation message text. */
message?: string;
/** "Add to calendar" call-to-action label text. */
addToCalendarActionLabel?: string;
/** "Share event" call-to-action label text. */
shareActionLabel?: string;
}
/** Confirmation messages shown after registration. */
interface NegativeResponseConfirmation$2 {
/** Confirmation message title. */
title?: string;
/** "Share event" call-to-action label text. */
shareActionLabel?: string;
}
/** Set of messages shown during registration when RSVP response is positive. */
interface Positive$2 {
/** Main form title for positive response. */
title?: string;
/** Confirmation messages shown after registration. */
confirmation?: PositiveResponseConfirmation$2;
}
/** A set of messages shown during registration with negative response */
interface Negative$2 {
/** Main form title for negative response. */
title?: string;
/** Confirmation messages shown after registration. */
confirmation?: NegativeResponseConfirmation$2;
}
interface CheckoutFormMessages$2 {
/** Main form title for response. */
title?: string;
/** Submit form call-to-action label text. */
submitActionLabel?: string;
/** Confirmation messages shown after checkout. */
confirmation?: ResponseConfirmation$2;
}
/** Confirmation messages shown after checkout. */
interface ResponseConfirmation$2 {
/** Confirmation message title. */
title?: string;
/** Confirmation message text. */
message?: string;
/** "Download tickets" call-to-action label text. */
downloadTicketsLabel?: string;
/** "Add to calendar" call-to-action label text. */
addToCalendarLabel?: string;
/** "Share event" call-to-action label text. */
shareEventLabel?: string;
}
interface RegistrationClosedMessages$2 {
/** Message shown when event registration is closed. */
message?: string;
/** "Explore other events" call-to-action label text. */
exploreEventsActionLabel?: string;
}
interface TicketsUnavailableMessages$2 {
/** Message shown when event tickets are unavailable. */
message?: string;
/** "Explore other events" call-to-action label text. */
exploreEventsActionLabel?: string;
}
interface Dashboard$2 {
/** Guest RSVP summary. */
rsvpSummary?: RsvpSummary$2;
/**
* Summary of revenue and tickets sold.
* (Archived orders are not included).
*/
ticketingSummary?: TicketingSummary$2;
}
interface RsvpSummary$2 {
/** Total number of RSVPs. */
total?: number;
/** Number of RSVPs with status `YES`. */
yes?: number;
/** Number of RSVPs with status `NO`. */
no?: number;
/** Number of RSVPs in waitlist. */
waitlist?: number;
}
interface TicketingSummary$2 {
/** Number of tickets sold. */
tickets?: number;
/**
* Total revenue, excluding fees.
* (taxes and payment provider fees are not deducted.)
*/
revenue?: Money$2;
/** Whether currency is locked and cannot be changed (generally occurs after the first order in the specified currency has been created). */
currencyLocked?: boolean;
/** Number of orders placed. */
orders?: number;
/** Total balance of confirmed transactions. */
totalSales?: Money$2;
}
interface GuestListConfig$2 {
/** Whether members can see other members attending the event (defaults to true). */
publicGuestList?: boolean;
}
interface Feed$2 {
/** Event discussion feed token. */
token?: string;
}
interface OnlineConferencing$2 {
config?: OnlineConferencingConfig$2;
session?: OnlineConferencingSession$2;
/**
* Configured conferencing provider name.
* @internal
* @readonly
*/
providerName?: string;
}
interface OnlineConferencingConfig$2 {
/**
* Whether online conferencing is enabled (not supported for TBD schedules).
* When enabled, links to join conferencing are generated and provided to guests.
*/
enabled?: boolean;
/** Conferencing provider ID. */
providerId?: string | null;
/** Conference type */
conferenceType?: ConferenceType$2;
}
enum ConferenceType$2 {
/** Everyone in the meeting can publish and subscribe video and audio. */
MEETING = "MEETING",
/** Guests can only subscribe to video and audio. */
WEBINAR = "WEBINAR"
}
interface OnlineConferencingSession$2 {
/**
* Link for event host to start the online conference session.
* @readonly
*/
hostLink?: string;
/**
* Link for guests to join the online conference session.
* @readonly
*/
guestLink?: string;
/**
* The password required to join online conferencing session (when relevant).
* @readonly
*/
password?: string | null;
/**
* Indicates that session was created successfully on providers side.
* @readonly
*/
sessionCreated?: boolean | null;
/**
* Unique session id
* @readonly
*/
sessionId?: string | null;
}
interface SeoSettings$2 {
/** URL slug */
slug?: string;
/** Advanced SEO data */
advancedSeoData?: SeoSchema$2;
/**
* Hidden from SEO Site Map
* @readonly
*/
hidden?: boolean | null;
}
/**
* The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.
* The search engines use this information for ranking purposes, or to display snippets in the search results.
* This data will override other sources of tags (for example patterns) and will be included in the section of the HTML document, while not being displayed on the page itself.
*/
interface SeoSchema$2 {
/** SEO tag information. */
tags?: Tag$2[];
/** SEO general settings. */
settings?: Settings$2;
}
interface Keyword$2 {
/** Keyword value. */
term?: string;
/** Whether the keyword is the main focus keyword. */
isMain?: boolean;
/** The source that added the keyword terms to the SEO settings. */
origin?: string | null;
}
interface Tag$2 {
/**
* SEO tag type.
*
*
* Supported values: `title`, `meta`, `script`, `link`.
*/
type?: string;
/**
* A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.
* For example: `{"name": "description", "content": "the description itself"}`.
*/
props?: Record | null;
/** SEO tag meta data. For example, `{"height": 300, "width": 240}`. */
meta?: Record | null;
/** SEO tag inner content. For example, ` inner content `. */
children?: string;
/** Whether the tag is a custom tag. */
custom?: boolean;
/** Whether the tag is disabled. */
disabled?: boolean;
}
interface Settings$2 {
/**
* Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.
*
*
* Default: `false` (Auto Redirect is enabled.)
*/
preventAutoRedirect?: boolean;
/** User-selected keyword terms for a specific page. */
keywords?: Keyword$2[];
}
interface Agenda$2 {
/** Whether the schedule is enabled for the event. */
enabled?: boolean;
/**
* Agenda page URL.
* @readonly
*/
pageUrl?: SiteUrl$2;
}
interface Category$2 {
/**
* Category ID.
* @readonly
*/
_id?: string;
/** Category name. */
name?: string;
/**
* Date and time when category was created.
* @readonly
*/
_createdDate?: Date | null;
/**
* Assigned events count. Deleted events are excluded.
* @internal
* @readonly
* @deprecated
*/
assignedEventsCount?: number | null;
/**
* The total number of draft and published events assigned to the category.
* @readonly
*/
counts?: CategoryCounts$2;
/**
* Category state. Possible values:
*
* `MANUAL`: Category is created manually by the user.
* `AUTO`: Category is created automatically.
* `RECURRING_EVENT`: Category is created automatically when publishing recurring events.
* `HIDDEN`: Category can't be seen.
*
* Default: `MANUAL`.
*
* **Note:** The WIX_EVENTS.MANAGE_AUTO_CATEGORIES permission scope is required to use states other than `MANUAL`.
*/
states?: State$2[];
/**
* Optionally client defined external ID.
* @internal
*/
externalId?: string | null;
}
interface CategoryCounts$2 {
/** Total number of draft events assigned to the category. */
assignedEventsCount?: number | null;
/** Total number of published events assigned to the category. Deleted events are excluded. */
assignedDraftEventsCount?: number | null;
}
enum State$2 {
/** Created manually by the user. */
MANUAL = "MANUAL",
/** Created automatically. */
AUTO = "AUTO",
/** Created when publishing recurring events. */
RECURRING_EVENT = "RECURRING_EVENT",
/** Category is hidden. */
HIDDEN = "HIDDEN",
/** Category is used to store component events. */
COMPONENT = "COMPONENT"
}
interface EventDisplaySettings$2 {
/** Whether event details button is hidden. Only available for events with no registration. */
hideEventDetailsButton?: boolean | null;
/** Disables event details page visibility. If event has an external registration configured visitors will be redirected from this page. */
hideEventDetailsPage?: boolean | null;
}
interface LabellingSettings$2 {
/**
* @internal
* @readonly
*/
assignedContactsLegacyLabelId?: string | null;
/**
* @internal
* @readonly
*/
assignedContactsLabelDeleted?: boolean | null;
}
interface Empty$2 {
}
interface EventDeleted$2 {
/** 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;
/**
* Event categories.
* @internal
*/
categories?: string[];
}
interface DomainEvent$2 extends DomainEventBodyOneOf$2 {
createdEvent?: EntityCreatedEvent$2;
updatedEvent?: EntityUpdatedEvent$2;
deletedEvent?: EntityDeletedEvent$2;
actionEvent?: ActionEvent$2;
/**
* 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 */
interface DomainEventBodyOneOf$2 {
createdEvent?: EntityCreatedEvent$2;
updatedEvent?: EntityUpdatedEvent$2;
deletedEvent?: EntityDeletedEvent$2;
actionEvent?: ActionEvent$2;
}
interface EntityCreatedEvent$2 {
entityAsJson?: string;
/**
* Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity
* @internal
*/
triggeredByUndelete?: boolean | null;
/** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */
restoreInfo?: RestoreInfo$2;
/**
* WIP
* @internal
*/
additionalMetadataAsJson?: string | null;
}
interface RestoreInfo$2 {
deletedDate?: Date | null;
}
interface EntityUpdatedEvent$2 {
/**
* 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;
/**
* This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard
* wont populate it / have any reference to it in the API.
* The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,
* the developer should send only the new (current) entity.
* An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big
* Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.
* @internal
* @deprecated
*/
previousEntityAsJson?: string | null;
/**
* WIP - This property will hold both names and previous values of the updated fields of the entity.
* For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)
* @internal
*/
modifiedFields?: Record;
/**
* WIP
* @internal
*/
additionalMetadataAsJson?: string | null;
}
interface EntityDeletedEvent$2 {
/**
* Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled
* @internal
*/
movedToTrash?: boolean | null;
/** Entity that was deleted */
deletedEntityAsJson?: string | null;
/**
* WIP
* @internal
*/
additionalMetadataAsJson?: string | null;
}
interface ActionEvent$2 {
bodyAsJson?: string;
}
interface BulkUpdateRsvpContactIdRequest {
/** RSVP IDs. */
rsvpIds?: string[] | null;
/** New RSVP contact ID. */
contactId?: string | null;
}
interface BulkUpdateRsvpContactIdResponse {
}
interface MessageEnvelope$2 {
/** App instance ID. */
instanceId?: string | null;
/** Event type. */
eventType?: string;
/** The identification type and identity data. */
identity?: IdentificationData$2;
/** Stringify payload. */
data?: string;
}
interface IdentificationData$2 extends IdentificationDataIdOneOf$2 {
/** 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$2;
}
/** @oneof */
interface IdentificationDataIdOneOf$2 {
/** 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;
}
enum WebhookIdentityType$2 {
UNKNOWN = "UNKNOWN",
ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
MEMBER = "MEMBER",
WIX_USER = "WIX_USER",
APP = "APP"
}
/**
* Retrieves a list of RSVPs that match the provided search query and optionally performs aggregations on the data queried.
*
* To learn about working with _Search_ endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language), [Sorting and Paging](https://dev.wix.com/api/rest/getting-started/pagination), and [Field Projection](https://dev.wix.com/api/rest/getting-started/field-projection).
* @public
* @documentationMaturity preview
* @permissionId WIX_EVENTS.READ_RSVP
* @adminMethod
*/
function searchRsvps(options?: SearchRsvpsOptions): Promise;
interface SearchRsvpsOptions {
/** Search options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */
search?: CursorSearch;
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[];
}
/**
* Retrieves a list of RSVPs, given the provided paging, filtering, and sorting. Query RSVPs runs with these defaults, which you can override:
*
* - `createdDate` is sorted in `ASC` order
* - `paging.limit` is `100`
* - `paging.offset` is `0`
*
* For field support for filters and sorting, see [RSVP v2: Supported Filters and Sorting](https://dev.wix.com/docs/rest/business-solutions/events/rsvp-v2/filter-and-sort). To learn about working with Query endpoints, see [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language).
*
* > **Note:** This method is quite slow. We suggest you using the following filter pairs for the most optimal speed:
* > - `eventId` and `status`
* > - `eventId` and `fullyCheckedIn`
* > - `eventId` and `memberId`
* > - `eventId` and `contactId`
* > - `eventId` and `createdDate`
* @public
* @documentationMaturity preview
* @permissionId WIX_EVENTS.READ_RSVP
* @adminMethod
*/
function queryRsvps(options?: QueryRsvpsOptions): RsvpsQueryBuilder;
interface QueryRsvpsOptions {
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[] | undefined;
}
interface QueryCursorResult$1 {
cursors: Cursors$2;
hasNext: () => boolean;
hasPrev: () => boolean;
length: number;
pageSize: number;
}
interface RsvpsQueryResult extends QueryCursorResult$1 {
items: V2Rsvp[];
query: RsvpsQueryBuilder;
next: () => Promise;
prev: () => Promise;
}
interface RsvpsQueryBuilder {
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
* @documentationMaturity preview
*/
eq: (propertyName: '_id' | 'eventId' | '_createdDate' | '_updatedDate' | 'memberId' | 'contactId' | 'status' | 'fullyCheckedIn', value: any) => RsvpsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
* @documentationMaturity preview
*/
ne: (propertyName: '_id' | 'eventId' | '_createdDate' | '_updatedDate' | 'memberId' | 'contactId' | 'status' | 'fullyCheckedIn', value: any) => RsvpsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
* @documentationMaturity preview
*/
ge: (propertyName: '_createdDate' | '_updatedDate', value: any) => RsvpsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
* @documentationMaturity preview
*/
gt: (propertyName: '_createdDate' | '_updatedDate', value: any) => RsvpsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
* @documentationMaturity preview
*/
le: (propertyName: '_createdDate' | '_updatedDate', value: any) => RsvpsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
* @documentationMaturity preview
*/
lt: (propertyName: '_createdDate' | '_updatedDate', value: any) => RsvpsQueryBuilder;
/** @documentationMaturity preview */
in: (propertyName: '_id' | 'eventId' | '_createdDate' | '_updatedDate' | 'memberId' | 'contactId' | 'status' | 'fullyCheckedIn', value: any) => RsvpsQueryBuilder;
/** @documentationMaturity preview */
exists: (propertyName: '_id' | 'eventId' | 'memberId' | 'contactId', value: boolean) => RsvpsQueryBuilder;
/** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.
* @documentationMaturity preview
*/
ascending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'status' | 'fullyCheckedIn'>) => RsvpsQueryBuilder;
/** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments.
* @documentationMaturity preview
*/
descending: (...propertyNames: Array<'_createdDate' | '_updatedDate' | 'status' | 'fullyCheckedIn'>) => RsvpsQueryBuilder;
/** @param limit - Number of items to return, which is also the `pageSize` of the results object.
* @documentationMaturity preview
*/
limit: (limit: number) => RsvpsQueryBuilder;
/** @param cursor - A pointer to specific record
* @documentationMaturity preview
*/
skipTo: (cursor: string) => RsvpsQueryBuilder;
/** @documentationMaturity preview */
find: () => Promise;
}
/**
* Counts RSVPs given the provided filtering and searching.
* @public
* @documentationMaturity preview
* @permissionId WIX_EVENTS.READ_RSVP
* @adminMethod
*/
function countRsvps(options?: CountRsvpsOptions): Promise;
interface CountRsvpsOptions {
/**
* Filter object in the following format:
* `"filter" : {
* "fieldName1": "value1",
* "fieldName2":{"$operator":"value2"}
* }`
* Example of operators: `$eq`, `$ne`, `$lt`, `$lte`, `$gt`, `$gte`, `$in`, `$hasSome`, `$hasAll`, `$startsWith`, `$contains`
*/
filter?: Record | null;
/** Search details. */
search?: SearchDetails;
}
/**
* Retrieves RSVP by ID.
* @param rsvpId - RSVP ID.
* @public
* @documentationMaturity preview
* @requiredField rsvpId
* @permissionId WIX_EVENTS.READ_RSVP
* @adminMethod
* @returns The requested RSVP.
*/
function getRsvp(rsvpId: string, options?: GetRsvpOptions): Promise;
interface GetRsvpOptions {
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[];
}
/**
* Creates RSVP.
*
* To create RSVP with multiple guests, you have to specify the `additionalGuests` and `guestNames` fields.
* @param rsvp - RSVP info.
* @public
* @documentationMaturity preview
* @requiredField rsvp
* @requiredField rsvp.additionalGuestDetails.guestCount
* @requiredField rsvp.email
* @requiredField rsvp.eventId
* @requiredField rsvp.firstName
* @requiredField rsvp.lastName
* @requiredField rsvp.status
* @permissionId WIX_EVENTS.CREATE_RSVP
* @returns Created RSVP.
*/
function createRsvp(rsvp: V2Rsvp, options?: CreateRsvpOptions): Promise;
interface CreateRsvpOptions {
/** RSVP options.
The **WIX_EVENTS.MANAGE_RSVP** permission is required. */
options?: ModificationOptions;
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[];
}
/**
* Updates RSVP.
*
* Each time the RSVP is updated, `revision` increments by 1. The existing `revision` must be included when updating the RSVP. This ensures you're working with the latest RSVP and prevents unintended overwrites.
* @param _id - RSVP ID.
* @public
* @documentationMaturity preview
* @requiredField _id
* @requiredField rsvp
* @permissionId WIX_EVENTS.MANAGE_RSVP
* @adminMethod
* @returns Updated RSVP.
*/
function updateRsvp(_id: string | null, rsvp: UpdateRsvp, options?: UpdateRsvpOptions): Promise;
interface UpdateRsvp {
/**
* RSVP ID.
* @readonly
*/
_id?: string | null;
/**
* Revision number, which increments by 1 each time the RSVP is updated. To prevent conflicting changes, the existing revision must be used when updating the RSVP.
* @readonly
*/
revision?: string | null;
/** Event ID to which the RSVP belongs. */
eventId?: string | null;
/**
* Date and time when the RSVP was created.
* @readonly
*/
_createdDate?: Date | null;
/**
* Date and time when the RSVP was update.
* @readonly
*/
_updatedDate?: Date | null;
/** Site member ID. You can override the field value when updating RSVP. Overriding member ID requires the **WIX_EVENTS.MANAGE_RSVP** permission. */
memberId?: string | null;
/** Contact ID of a guest who filled in the RSVP form. See [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/contacts-v4) for more details. */
contactId?: string | null;
/** First name of a guest who filled in the RSVP form. */
firstName?: string | null;
/** Last name of a guest who filled in the RSVP form. */
lastName?: string | null;
/** Email of a guest who filled in the RSVP form. */
email?: string | null;
/** Event registration form. */
form?: FormResponse;
/** RSVP response status. */
status?: RsvpStatus;
/**
* Total number of guests per 1 RSVP.
* @readonly
*/
totalGuests?: number | null;
/**
* Guest list.
* @readonly
*/
guestList?: GuestList;
/**
* Site language code in the [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) format.
* @readonly
*/
language?: string | null;
/**
* Locale in the [IETF BCP 47](https://en.wikipedia.org/wiki/IETF_language_tag) format.
* @readonly
*/
locale?: string | null;
/**
* Whether all guests are checked in.
* @readonly
*/
fullyCheckedIn?: boolean | null;
/**
* How many guests are checked in.
* @readonly
*/
checkedInGuestCount?: number | null;
/** Additional guest details. */
additionalGuestDetails?: AdditionalGuestDetails;
/** Whether the notifications are disabled. */
disableNotifications?: boolean | null;
/**
* Guest login details for accessing the online conference event.
* @readonly
*/
onlineConferencingLogin?: OnlineConferencingLogin;
/**
* Whether the RSVP is anonymized.
* @readonly
*/
anonymized?: boolean | null;
/**
* Email domain of a guest who filled in the RSVP form.
* @internal
* @readonly
*/
emailDomain?: string | null;
/**
* Custom field data for the RSVP object.
*
* **Note:** You must configure extended fields using schema plugin extensions in your app's dashboard before you can access the extended fields with API calls.
*/
extendedFields?: ExtendedFields$1;
}
interface UpdateRsvpOptions {
/**
* List of exact fields to update. For example, if you define only the `firstName`, all other fields are ignored.
* @internal
*/
fieldMask: string[];
/** RSVP options.
The **WIX_EVENTS.MANAGE_RSVP** permission is required to pass these fields. */
options?: ModificationOptions;
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[];
}
/**
* Permanently deletes RSVP.
* @param rsvpId - ID of RSVP to delete.
* @public
* @documentationMaturity preview
* @requiredField rsvpId
* @permissionId WIX_EVENTS.MANAGE_RSVP
* @adminMethod
*/
function deleteRsvp(rsvpId: string | null): Promise;
/**
* Updates multiple RSVPs.
*
* You can update up to 100 RSVPs per request.
* @param rsvps - RSVPs to update.
* @public
* @documentationMaturity preview
* @requiredField rsvps
* @requiredField rsvps.rsvp._id
* @requiredField rsvps.rsvp.revision
* @permissionId WIX_EVENTS.MANAGE_RSVP
* @adminMethod
*/
function bulkUpdateRsvp(rsvps: MaskedRsvp[], options?: BulkUpdateRsvpOptions): Promise;
interface BulkUpdateRsvpOptions {
/** Whether to return the whole `rsvp` object in the response. If `false`, only metadata is returned. */
returnEntity?: boolean;
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[];
/** RSVP options.
The **WIX_EVENTS.MANAGE_RSVP** permission is required to pass these fields. */
options?: ModificationOptions;
}
/**
* Permanently deletes multiple RSVPs by filter.
* @param filter - Filter object.
* @public
* @documentationMaturity preview
* @requiredField filter
* @permissionId WIX_EVENTS.MANAGE_RSVP
* @adminMethod
*/
function bulkDeleteRsvpsByFilter(filter: Record | null, options?: BulkDeleteRsvpsByFilterOptions): Promise;
interface BulkDeleteRsvpsByFilterOptions {
/** Search details. */
search?: SearchDetails;
}
/**
* Checks in RSVP guests.
*
* You can check in up to 11 guests per request.
* @param rsvpId - ID of RSVP to check-in.
* @public
* @documentationMaturity preview
* @requiredField rsvpId
* @permissionId WIX_EVENTS.CHECK_IN
* @adminMethod
*/
function checkInRsvpGuests(rsvpId: string | null, options?: CheckInRsvpGuestsOptions): Promise;
interface CheckInRsvpGuestsOptions {
/** IDs of guests to check-in. */
guestIds?: number[];
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[];
}
/**
* Cancels the check-in of RSVP guests.
*
* If the request body is empty, cancels all check-ins from the RSVP. After the cancellation, the `guests.checkInDate` value becomes empty.
*
* You can cancel check-in of up to 11 guests per request.
* @param rsvpId - ID of RSVP to cancel check-in.
* @public
* @documentationMaturity preview
* @requiredField rsvpId
* @permissionId WIX_EVENTS.CHECK_IN
* @adminMethod
*/
function cancelRsvpGuestsCheckIn(rsvpId: string, options?: CancelRsvpGuestsCheckInOptions): Promise;
interface CancelRsvpGuestsCheckInOptions {
/** IDs of guests to check-in. */
guestIds?: number[];
/** Predefined sets of fields to return. */
fields?: RequestedFields$1[];
}
/**
* Retrieves RSVP summary by ID.
* @param eventId - Event ID.
* @public
* @documentationMaturity preview
* @requiredField eventId
* @permissionId WIX_EVENTS.READ_RSVP
* @adminMethod
*/
function listRsvpSummary(eventId: string[] | null, options?: ListRsvpSummaryOptions): Promise;
interface ListRsvpSummaryOptions {
/**
* Consistent read.
* @internal
*/
consistentRead?: boolean | null;
}
type eventsV2Rsvp_universal_d_V2Rsvp = V2Rsvp;
type eventsV2Rsvp_universal_d_FormResponse = FormResponse;
type eventsV2Rsvp_universal_d_InputValue = InputValue;
type eventsV2Rsvp_universal_d_FormattedAddress = FormattedAddress;
type eventsV2Rsvp_universal_d_StandardDetails = StandardDetails;
type eventsV2Rsvp_universal_d_RsvpStatus = RsvpStatus;
const eventsV2Rsvp_universal_d_RsvpStatus: typeof RsvpStatus;
type eventsV2Rsvp_universal_d_GuestList = GuestList;
type eventsV2Rsvp_universal_d_Guest = Guest;
type eventsV2Rsvp_universal_d_CheckInDetails = CheckInDetails;
type eventsV2Rsvp_universal_d_AdditionalGuestDetails = AdditionalGuestDetails;
type eventsV2Rsvp_universal_d_OnlineConferencingLogin = OnlineConferencingLogin;
type eventsV2Rsvp_universal_d_SearchRsvpsRequest = SearchRsvpsRequest;
type eventsV2Rsvp_universal_d_CursorSearch = CursorSearch;
type eventsV2Rsvp_universal_d_CursorSearchPagingMethodOneOf = CursorSearchPagingMethodOneOf;
type eventsV2Rsvp_universal_d_Aggregation = Aggregation;
type eventsV2Rsvp_universal_d_AggregationKindOneOf = AggregationKindOneOf;
type eventsV2Rsvp_universal_d_RangeBucket = RangeBucket;
type eventsV2Rsvp_universal_d_SortType = SortType;
const eventsV2Rsvp_universal_d_SortType: typeof SortType;
type eventsV2Rsvp_universal_d_SortDirection = SortDirection;
const eventsV2Rsvp_universal_d_SortDirection: typeof SortDirection;
type eventsV2Rsvp_universal_d_MissingValues = MissingValues;
const eventsV2Rsvp_universal_d_MissingValues: typeof MissingValues;
type eventsV2Rsvp_universal_d_IncludeMissingValuesOptions = IncludeMissingValuesOptions;
type eventsV2Rsvp_universal_d_ScalarType = ScalarType;
const eventsV2Rsvp_universal_d_ScalarType: typeof ScalarType;
type eventsV2Rsvp_universal_d_ValueAggregation = ValueAggregation;
type eventsV2Rsvp_universal_d_ValueAggregationOptionsOneOf = ValueAggregationOptionsOneOf;
type eventsV2Rsvp_universal_d_NestedAggregationType = NestedAggregationType;
const eventsV2Rsvp_universal_d_NestedAggregationType: typeof NestedAggregationType;
type eventsV2Rsvp_universal_d_RangeAggregation = RangeAggregation;
type eventsV2Rsvp_universal_d_ScalarAggregation = ScalarAggregation;
type eventsV2Rsvp_universal_d_DateHistogramAggregation = DateHistogramAggregation;
type eventsV2Rsvp_universal_d_Interval = Interval;
const eventsV2Rsvp_universal_d_Interval: typeof Interval;
type eventsV2Rsvp_universal_d_NestedAggregationItem = NestedAggregationItem;
type eventsV2Rsvp_universal_d_NestedAggregationItemKindOneOf = NestedAggregationItemKindOneOf;
type eventsV2Rsvp_universal_d_AggregationType = AggregationType;
const eventsV2Rsvp_universal_d_AggregationType: typeof AggregationType;
type eventsV2Rsvp_universal_d_NestedAggregation = NestedAggregation;
type eventsV2Rsvp_universal_d_SearchDetails = SearchDetails;
type eventsV2Rsvp_universal_d_Mode = Mode;
const eventsV2Rsvp_universal_d_Mode: typeof Mode;
type eventsV2Rsvp_universal_d_SearchRsvpsResponse = SearchRsvpsResponse;
type eventsV2Rsvp_universal_d_CursorPagingMetadata = CursorPagingMetadata;
type eventsV2Rsvp_universal_d_AggregationData = AggregationData;
type eventsV2Rsvp_universal_d_ValueAggregationResult = ValueAggregationResult;
type eventsV2Rsvp_universal_d_RangeAggregationResult = RangeAggregationResult;
type eventsV2Rsvp_universal_d_NestedAggregationResults = NestedAggregationResults;
type eventsV2Rsvp_universal_d_NestedAggregationResultsResultOneOf = NestedAggregationResultsResultOneOf;
type eventsV2Rsvp_universal_d_ValueResults = ValueResults;
type eventsV2Rsvp_universal_d_RangeResults = RangeResults;
type eventsV2Rsvp_universal_d_AggregationResultsScalarResult = AggregationResultsScalarResult;
type eventsV2Rsvp_universal_d_NestedValueAggregationResult = NestedValueAggregationResult;
type eventsV2Rsvp_universal_d_ValueResult = ValueResult;
type eventsV2Rsvp_universal_d_RangeResult = RangeResult;
type eventsV2Rsvp_universal_d_ScalarResult = ScalarResult;
type eventsV2Rsvp_universal_d_NestedResultValue = NestedResultValue;
type eventsV2Rsvp_universal_d_NestedResultValueResultOneOf = NestedResultValueResultOneOf;
type eventsV2Rsvp_universal_d_Results = Results;
type eventsV2Rsvp_universal_d_DateHistogramResult = DateHistogramResult;
type eventsV2Rsvp_universal_d_GroupByValueResults = GroupByValueResults;
type eventsV2Rsvp_universal_d_DateHistogramResults = DateHistogramResults;
type eventsV2Rsvp_universal_d_NestedResults = NestedResults;
type eventsV2Rsvp_universal_d_AggregationResults = AggregationResults;
type eventsV2Rsvp_universal_d_AggregationResultsResultOneOf = AggregationResultsResultOneOf;
type eventsV2Rsvp_universal_d_SearchRsvpsWithOffsetRequest = SearchRsvpsWithOffsetRequest;
type eventsV2Rsvp_universal_d_Search = Search;
type eventsV2Rsvp_universal_d_SearchPagingMethodOneOf = SearchPagingMethodOneOf;
type eventsV2Rsvp_universal_d_SearchRsvpsWithOffsetResponse = SearchRsvpsWithOffsetResponse;
type eventsV2Rsvp_universal_d_QueryRsvpsRequest = QueryRsvpsRequest;
type eventsV2Rsvp_universal_d_CursorQuery = CursorQuery;
type eventsV2Rsvp_universal_d_CursorQueryPagingMethodOneOf = CursorQueryPagingMethodOneOf;
type eventsV2Rsvp_universal_d_QueryRsvpsResponse = QueryRsvpsResponse;
type eventsV2Rsvp_universal_d_CountRsvpsRequest = CountRsvpsRequest;
type eventsV2Rsvp_universal_d_CountRsvpsResponse = CountRsvpsResponse;
type eventsV2Rsvp_universal_d_GetRsvpRequest = GetRsvpRequest;
type eventsV2Rsvp_universal_d_GetRsvpResponse = GetRsvpResponse;
type eventsV2Rsvp_universal_d_CreateRsvpRequest = CreateRsvpRequest;
type eventsV2Rsvp_universal_d_ModificationOptions = ModificationOptions;
type eventsV2Rsvp_universal_d_CreateRsvpResponse = CreateRsvpResponse;
type eventsV2Rsvp_universal_d_GuestLimitExceededData = GuestLimitExceededData;
type eventsV2Rsvp_universal_d_UpdateRsvpRequest = UpdateRsvpRequest;
type eventsV2Rsvp_universal_d_UpdateRsvpResponse = UpdateRsvpResponse;
type eventsV2Rsvp_universal_d_DeleteRsvpRequest = DeleteRsvpRequest;
type eventsV2Rsvp_universal_d_DeleteRsvpResponse = DeleteRsvpResponse;
type eventsV2Rsvp_universal_d_BulkUpdateRsvpRequest = BulkUpdateRsvpRequest;
type eventsV2Rsvp_universal_d_MaskedRsvp = MaskedRsvp;
type eventsV2Rsvp_universal_d_BulkUpdateRsvpResponse = BulkUpdateRsvpResponse;
type eventsV2Rsvp_universal_d_ItemMetadata = ItemMetadata;
type eventsV2Rsvp_universal_d_ApplicationError = ApplicationError;
type eventsV2Rsvp_universal_d_BulkRsvpResult = BulkRsvpResult;
type eventsV2Rsvp_universal_d_BulkActionMetadata = BulkActionMetadata;
type eventsV2Rsvp_universal_d_BulkDeleteRsvpsByFilterRequest = BulkDeleteRsvpsByFilterRequest;
type eventsV2Rsvp_universal_d_BulkDeleteRsvpsByFilterResponse = BulkDeleteRsvpsByFilterResponse;
type eventsV2Rsvp_universal_d_CheckInRsvpGuestsRequest = CheckInRsvpGuestsRequest;
type eventsV2Rsvp_universal_d_CheckInRsvpGuestsResponse = CheckInRsvpGuestsResponse;
type eventsV2Rsvp_universal_d_CancelRsvpGuestsCheckInRequest = CancelRsvpGuestsCheckInRequest;
type eventsV2Rsvp_universal_d_CancelRsvpGuestsCheckInResponse = CancelRsvpGuestsCheckInResponse;
type eventsV2Rsvp_universal_d_ListRsvpSummaryRequest = ListRsvpSummaryRequest;
type eventsV2Rsvp_universal_d_ListRsvpSummaryResponse = ListRsvpSummaryResponse;
type eventsV2Rsvp_universal_d_V2RsvpSummary = V2RsvpSummary;
type eventsV2Rsvp_universal_d_CompareRsvpSummaryRequest = CompareRsvpSummaryRequest;
type eventsV2Rsvp_universal_d_CompareRsvpSummaryResponse = CompareRsvpSummaryResponse;
type eventsV2Rsvp_universal_d_BulkUpdateRsvpContactIdRequest = BulkUpdateRsvpContactIdRequest;
type eventsV2Rsvp_universal_d_BulkUpdateRsvpContactIdResponse = BulkUpdateRsvpContactIdResponse;
const eventsV2Rsvp_universal_d_searchRsvps: typeof searchRsvps;
type eventsV2Rsvp_universal_d_SearchRsvpsOptions = SearchRsvpsOptions;
const eventsV2Rsvp_universal_d_queryRsvps: typeof queryRsvps;
type eventsV2Rsvp_universal_d_QueryRsvpsOptions = QueryRsvpsOptions;
type eventsV2Rsvp_universal_d_RsvpsQueryResult = RsvpsQueryResult;
type eventsV2Rsvp_universal_d_RsvpsQueryBuilder = RsvpsQueryBuilder;
const eventsV2Rsvp_universal_d_countRsvps: typeof countRsvps;
type eventsV2Rsvp_universal_d_CountRsvpsOptions = CountRsvpsOptions;
const eventsV2Rsvp_universal_d_getRsvp: typeof getRsvp;
type eventsV2Rsvp_universal_d_GetRsvpOptions = GetRsvpOptions;
const eventsV2Rsvp_universal_d_createRsvp: typeof createRsvp;
type eventsV2Rsvp_universal_d_CreateRsvpOptions = CreateRsvpOptions;
const eventsV2Rsvp_universal_d_updateRsvp: typeof updateRsvp;
type eventsV2Rsvp_universal_d_UpdateRsvp = UpdateRsvp;
type eventsV2Rsvp_universal_d_UpdateRsvpOptions = UpdateRsvpOptions;
const eventsV2Rsvp_universal_d_deleteRsvp: typeof deleteRsvp;
const eventsV2Rsvp_universal_d_bulkUpdateRsvp: typeof bulkUpdateRsvp;
type eventsV2Rsvp_universal_d_BulkUpdateRsvpOptions = BulkUpdateRsvpOptions;
const eventsV2Rsvp_universal_d_bulkDeleteRsvpsByFilter: typeof bulkDeleteRsvpsByFilter;
type eventsV2Rsvp_universal_d_BulkDeleteRsvpsByFilterOptions = BulkDeleteRsvpsByFilterOptions;
const eventsV2Rsvp_universal_d_checkInRsvpGuests: typeof checkInRsvpGuests;
type eventsV2Rsvp_universal_d_CheckInRsvpGuestsOptions = CheckInRsvpGuestsOptions;
const eventsV2Rsvp_universal_d_cancelRsvpGuestsCheckIn: typeof cancelRsvpGuestsCheckIn;
type eventsV2Rsvp_universal_d_CancelRsvpGuestsCheckInOptions = CancelRsvpGuestsCheckInOptions;
const eventsV2Rsvp_universal_d_listRsvpSummary: typeof listRsvpSummary;
type eventsV2Rsvp_universal_d_ListRsvpSummaryOptions = ListRsvpSummaryOptions;
namespace eventsV2Rsvp_universal_d {
export {
eventsV2Rsvp_universal_d_V2Rsvp as V2Rsvp,
eventsV2Rsvp_universal_d_FormResponse as FormResponse,
eventsV2Rsvp_universal_d_InputValue as InputValue,
eventsV2Rsvp_universal_d_FormattedAddress as FormattedAddress,
CommonAddress$2 as CommonAddress,
CommonAddressStreetOneOf$2 as CommonAddressStreetOneOf,
CommonStreetAddress$2 as CommonStreetAddress,
CommonAddressLocation$2 as CommonAddressLocation,
CommonSubdivision$2 as CommonSubdivision,
SubdivisionType$2 as SubdivisionType,
eventsV2Rsvp_universal_d_StandardDetails as StandardDetails,
eventsV2Rsvp_universal_d_RsvpStatus as RsvpStatus,
eventsV2Rsvp_universal_d_GuestList as GuestList,
eventsV2Rsvp_universal_d_Guest as Guest,
eventsV2Rsvp_universal_d_CheckInDetails as CheckInDetails,
eventsV2Rsvp_universal_d_AdditionalGuestDetails as AdditionalGuestDetails,
eventsV2Rsvp_universal_d_OnlineConferencingLogin as OnlineConferencingLogin,
ExtendedFields$1 as ExtendedFields,
eventsV2Rsvp_universal_d_SearchRsvpsRequest as SearchRsvpsRequest,
eventsV2Rsvp_universal_d_CursorSearch as CursorSearch,
eventsV2Rsvp_universal_d_CursorSearchPagingMethodOneOf as CursorSearchPagingMethodOneOf,
Sorting$2 as Sorting,
SortOrder$2 as SortOrder,
eventsV2Rsvp_universal_d_Aggregation as Aggregation,
eventsV2Rsvp_universal_d_AggregationKindOneOf as AggregationKindOneOf,
eventsV2Rsvp_universal_d_RangeBucket as RangeBucket,
eventsV2Rsvp_universal_d_SortType as SortType,
eventsV2Rsvp_universal_d_SortDirection as SortDirection,
eventsV2Rsvp_universal_d_MissingValues as MissingValues,
eventsV2Rsvp_universal_d_IncludeMissingValuesOptions as IncludeMissingValuesOptions,
eventsV2Rsvp_universal_d_ScalarType as ScalarType,
eventsV2Rsvp_universal_d_ValueAggregation as ValueAggregation,
eventsV2Rsvp_universal_d_ValueAggregationOptionsOneOf as ValueAggregationOptionsOneOf,
eventsV2Rsvp_universal_d_NestedAggregationType as NestedAggregationType,
eventsV2Rsvp_universal_d_RangeAggregation as RangeAggregation,
eventsV2Rsvp_universal_d_ScalarAggregation as ScalarAggregation,
eventsV2Rsvp_universal_d_DateHistogramAggregation as DateHistogramAggregation,
eventsV2Rsvp_universal_d_Interval as Interval,
eventsV2Rsvp_universal_d_NestedAggregationItem as NestedAggregationItem,
eventsV2Rsvp_universal_d_NestedAggregationItemKindOneOf as NestedAggregationItemKindOneOf,
eventsV2Rsvp_universal_d_AggregationType as AggregationType,
eventsV2Rsvp_universal_d_NestedAggregation as NestedAggregation,
eventsV2Rsvp_universal_d_SearchDetails as SearchDetails,
eventsV2Rsvp_universal_d_Mode as Mode,
CursorPaging$2 as CursorPaging,
RequestedFields$1 as RequestedFields,
eventsV2Rsvp_universal_d_SearchRsvpsResponse as SearchRsvpsResponse,
eventsV2Rsvp_universal_d_CursorPagingMetadata as CursorPagingMetadata,
Cursors$2 as Cursors,
eventsV2Rsvp_universal_d_AggregationData as AggregationData,
eventsV2Rsvp_universal_d_ValueAggregationResult as ValueAggregationResult,
eventsV2Rsvp_universal_d_RangeAggregationResult as RangeAggregationResult,
eventsV2Rsvp_universal_d_NestedAggregationResults as NestedAggregationResults,
eventsV2Rsvp_universal_d_NestedAggregationResultsResultOneOf as NestedAggregationResultsResultOneOf,
eventsV2Rsvp_universal_d_ValueResults as ValueResults,
eventsV2Rsvp_universal_d_RangeResults as RangeResults,
eventsV2Rsvp_universal_d_AggregationResultsScalarResult as AggregationResultsScalarResult,
eventsV2Rsvp_universal_d_NestedValueAggregationResult as NestedValueAggregationResult,
eventsV2Rsvp_universal_d_ValueResult as ValueResult,
eventsV2Rsvp_universal_d_RangeResult as RangeResult,
eventsV2Rsvp_universal_d_ScalarResult as ScalarResult,
eventsV2Rsvp_universal_d_NestedResultValue as NestedResultValue,
eventsV2Rsvp_universal_d_NestedResultValueResultOneOf as NestedResultValueResultOneOf,
eventsV2Rsvp_universal_d_Results as Results,
eventsV2Rsvp_universal_d_DateHistogramResult as DateHistogramResult,
eventsV2Rsvp_universal_d_GroupByValueResults as GroupByValueResults,
eventsV2Rsvp_universal_d_DateHistogramResults as DateHistogramResults,
eventsV2Rsvp_universal_d_NestedResults as NestedResults,
eventsV2Rsvp_universal_d_AggregationResults as AggregationResults,
eventsV2Rsvp_universal_d_AggregationResultsResultOneOf as AggregationResultsResultOneOf,
eventsV2Rsvp_universal_d_SearchRsvpsWithOffsetRequest as SearchRsvpsWithOffsetRequest,
eventsV2Rsvp_universal_d_Search as Search,
eventsV2Rsvp_universal_d_SearchPagingMethodOneOf as SearchPagingMethodOneOf,
Paging$2 as Paging,
eventsV2Rsvp_universal_d_SearchRsvpsWithOffsetResponse as SearchRsvpsWithOffsetResponse,
PagingMetadataV2$2 as PagingMetadataV2,
eventsV2Rsvp_universal_d_QueryRsvpsRequest as QueryRsvpsRequest,
eventsV2Rsvp_universal_d_CursorQuery as CursorQuery,
eventsV2Rsvp_universal_d_CursorQueryPagingMethodOneOf as CursorQueryPagingMethodOneOf,
eventsV2Rsvp_universal_d_QueryRsvpsResponse as QueryRsvpsResponse,
eventsV2Rsvp_universal_d_CountRsvpsRequest as CountRsvpsRequest,
eventsV2Rsvp_universal_d_CountRsvpsResponse as CountRsvpsResponse,
eventsV2Rsvp_universal_d_GetRsvpRequest as GetRsvpRequest,
eventsV2Rsvp_universal_d_GetRsvpResponse as GetRsvpResponse,
eventsV2Rsvp_universal_d_CreateRsvpRequest as CreateRsvpRequest,
eventsV2Rsvp_universal_d_ModificationOptions as ModificationOptions,
eventsV2Rsvp_universal_d_CreateRsvpResponse as CreateRsvpResponse,
CalendarLinks$2 as CalendarLinks,
eventsV2Rsvp_universal_d_GuestLimitExceededData as GuestLimitExceededData,
eventsV2Rsvp_universal_d_UpdateRsvpRequest as UpdateRsvpRequest,
eventsV2Rsvp_universal_d_UpdateRsvpResponse as UpdateRsvpResponse,
eventsV2Rsvp_universal_d_DeleteRsvpRequest as DeleteRsvpRequest,
eventsV2Rsvp_universal_d_DeleteRsvpResponse as DeleteRsvpResponse,
eventsV2Rsvp_universal_d_BulkUpdateRsvpRequest as BulkUpdateRsvpRequest,
eventsV2Rsvp_universal_d_MaskedRsvp as MaskedRsvp,
eventsV2Rsvp_universal_d_BulkUpdateRsvpResponse as BulkUpdateRsvpResponse,
eventsV2Rsvp_universal_d_ItemMetadata as ItemMetadata,
eventsV2Rsvp_universal_d_ApplicationError as ApplicationError,
eventsV2Rsvp_universal_d_BulkRsvpResult as BulkRsvpResult,
eventsV2Rsvp_universal_d_BulkActionMetadata as BulkActionMetadata,
eventsV2Rsvp_universal_d_BulkDeleteRsvpsByFilterRequest as BulkDeleteRsvpsByFilterRequest,
eventsV2Rsvp_universal_d_BulkDeleteRsvpsByFilterResponse as BulkDeleteRsvpsByFilterResponse,
eventsV2Rsvp_universal_d_CheckInRsvpGuestsRequest as CheckInRsvpGuestsRequest,
eventsV2Rsvp_universal_d_CheckInRsvpGuestsResponse as CheckInRsvpGuestsResponse,
eventsV2Rsvp_universal_d_CancelRsvpGuestsCheckInRequest as CancelRsvpGuestsCheckInRequest,
eventsV2Rsvp_universal_d_CancelRsvpGuestsCheckInResponse as CancelRsvpGuestsCheckInResponse,
eventsV2Rsvp_universal_d_ListRsvpSummaryRequest as ListRsvpSummaryRequest,
eventsV2Rsvp_universal_d_ListRsvpSummaryResponse as ListRsvpSummaryResponse,
eventsV2Rsvp_universal_d_V2RsvpSummary as V2RsvpSummary,
eventsV2Rsvp_universal_d_CompareRsvpSummaryRequest as CompareRsvpSummaryRequest,
eventsV2Rsvp_universal_d_CompareRsvpSummaryResponse as CompareRsvpSummaryResponse,
EventCreated$2 as EventCreated,
Location$2 as Location,
MapCoordinates$2 as MapCoordinates,
LocationType$2 as LocationType,
Address$2 as Address,
AddressStreetOneOf$2 as AddressStreetOneOf,
StreetAddress$2 as StreetAddress,
AddressLocation$2 as AddressLocation,
Subdivision$2 as Subdivision,
ScheduleConfig$2 as ScheduleConfig,
Recurrences$2 as Recurrences,
Occurrence$2 as Occurrence,
Status$2 as Status,
EventStatus$2 as EventStatus,
Event$2 as Event,
Scheduling$2 as Scheduling,
Registration$2 as Registration,
EventType$2 as EventType,
RegistrationStatus$2 as RegistrationStatus,
RsvpCollection$2 as RsvpCollection,
RsvpCollectionConfig$2 as RsvpCollectionConfig,
RsvpStatusOptions$2 as RsvpStatusOptions,
Ticketing$2 as Ticketing,
TicketingConfig$2 as TicketingConfig,
TaxConfig$2 as TaxConfig,
TaxType$2 as TaxType,
Money$2 as Money,
ExternalEvent$2 as ExternalEvent,
VisitorType$2 as VisitorType,
SiteUrl$2 as SiteUrl,
Form$2 as Form,
InputControl$2 as InputControl,
InputControlType$2 as InputControlType,
Input$2 as Input,
ValueType$2 as ValueType,
OptionSelection$2 as OptionSelection,
OptionSelectionSelectedOptionOneOf$2 as OptionSelectionSelectedOptionOneOf,
Label$2 as Label,
FormMessages$2 as FormMessages,
RsvpFormMessages$2 as RsvpFormMessages,
PositiveResponseConfirmation$2 as PositiveResponseConfirmation,
NegativeResponseConfirmation$2 as NegativeResponseConfirmation,
Positive$2 as Positive,
Negative$2 as Negative,
CheckoutFormMessages$2 as CheckoutFormMessages,
ResponseConfirmation$2 as ResponseConfirmation,
RegistrationClosedMessages$2 as RegistrationClosedMessages,
TicketsUnavailableMessages$2 as TicketsUnavailableMessages,
Dashboard$2 as Dashboard,
RsvpSummary$2 as RsvpSummary,
TicketingSummary$2 as TicketingSummary,
GuestListConfig$2 as GuestListConfig,
Feed$2 as Feed,
OnlineConferencing$2 as OnlineConferencing,
OnlineConferencingConfig$2 as OnlineConferencingConfig,
ConferenceType$2 as ConferenceType,
OnlineConferencingSession$2 as OnlineConferencingSession,
SeoSettings$2 as SeoSettings,
SeoSchema$2 as SeoSchema,
Keyword$2 as Keyword,
Tag$2 as Tag,
Settings$2 as Settings,
Agenda$2 as Agenda,
Category$2 as Category,
CategoryCounts$2 as CategoryCounts,
State$2 as State,
EventDisplaySettings$2 as EventDisplaySettings,
LabellingSettings$2 as LabellingSettings,
Empty$2 as Empty,
EventDeleted$2 as EventDeleted,
DomainEvent$2 as DomainEvent,
DomainEventBodyOneOf$2 as DomainEventBodyOneOf,
EntityCreatedEvent$2 as EntityCreatedEvent,
RestoreInfo$2 as RestoreInfo,
EntityUpdatedEvent$2 as EntityUpdatedEvent,
EntityDeletedEvent$2 as EntityDeletedEvent,
ActionEvent$2 as ActionEvent,
eventsV2Rsvp_universal_d_BulkUpdateRsvpContactIdRequest as BulkUpdateRsvpContactIdRequest,
eventsV2Rsvp_universal_d_BulkUpdateRsvpContactIdResponse as BulkUpdateRsvpContactIdResponse,
MessageEnvelope$2 as MessageEnvelope,
IdentificationData$2 as IdentificationData,
IdentificationDataIdOneOf$2 as IdentificationDataIdOneOf,
WebhookIdentityType$2 as WebhookIdentityType,
eventsV2Rsvp_universal_d_searchRsvps as searchRsvps,
eventsV2Rsvp_universal_d_SearchRsvpsOptions as SearchRsvpsOptions,
eventsV2Rsvp_universal_d_queryRsvps as queryRsvps,
eventsV2Rsvp_universal_d_QueryRsvpsOptions as QueryRsvpsOptions,
eventsV2Rsvp_universal_d_RsvpsQueryResult as RsvpsQueryResult,
eventsV2Rsvp_universal_d_RsvpsQueryBuilder as RsvpsQueryBuilder,
eventsV2Rsvp_universal_d_countRsvps as countRsvps,
eventsV2Rsvp_universal_d_CountRsvpsOptions as CountRsvpsOptions,
eventsV2Rsvp_universal_d_getRsvp as getRsvp,
eventsV2Rsvp_universal_d_GetRsvpOptions as GetRsvpOptions,
eventsV2Rsvp_universal_d_createRsvp as createRsvp,
eventsV2Rsvp_universal_d_CreateRsvpOptions as CreateRsvpOptions,
eventsV2Rsvp_universal_d_updateRsvp as updateRsvp,
eventsV2Rsvp_universal_d_UpdateRsvp as UpdateRsvp,
eventsV2Rsvp_universal_d_UpdateRsvpOptions as UpdateRsvpOptions,
eventsV2Rsvp_universal_d_deleteRsvp as deleteRsvp,
eventsV2Rsvp_universal_d_bulkUpdateRsvp as bulkUpdateRsvp,
eventsV2Rsvp_universal_d_BulkUpdateRsvpOptions as BulkUpdateRsvpOptions,
eventsV2Rsvp_universal_d_bulkDeleteRsvpsByFilter as bulkDeleteRsvpsByFilter,
eventsV2Rsvp_universal_d_BulkDeleteRsvpsByFilterOptions as BulkDeleteRsvpsByFilterOptions,
eventsV2Rsvp_universal_d_checkInRsvpGuests as checkInRsvpGuests,
eventsV2Rsvp_universal_d_CheckInRsvpGuestsOptions as CheckInRsvpGuestsOptions,
eventsV2Rsvp_universal_d_cancelRsvpGuestsCheckIn as cancelRsvpGuestsCheckIn,
eventsV2Rsvp_universal_d_CancelRsvpGuestsCheckInOptions as CancelRsvpGuestsCheckInOptions,
eventsV2Rsvp_universal_d_listRsvpSummary as listRsvpSummary,
eventsV2Rsvp_universal_d_ListRsvpSummaryOptions as ListRsvpSummaryOptions,
};
}
interface V3Event {
/**
* Event ID.
* @readonly
*/
_id?: string;
/** Event location. */
location?: Location$1;
/** Event date and time settings. */
dateAndTimeSettings?: DateAndTimeSettings$1;
/** Event title. */
title?: string | null;
/** Short description that appears under the event title. */
shortDescription?: string | null;
/**
* Detailed description of an event. You can enter the description using rich text format (add various types of markups, such as underlines, italics, bolding, color codes, bullet lists, and links by using HTML formatting tags).
* @deprecated Detailed description of an event.
*
* This field is deprecated. To create a description, see the flow in [introduction](https://dev.wix.com/docs/rest/business-solutions/events/events-v3/introduction).
* @replacedBy wix.events.v1.rich_content
* @targetRemovalDate 2025-06-01
*/
detailedDescription?: string | null;
/**
* Main event image.
* **Note:** This field is returned only when the `DETAILS` fieldset is included in the request.
*/
mainImage?: string;
/**
* Unique identifier of the event page. The naming is the same as the event title written in kebab case. For example, if your event title is "Leather Crafting 101", then the slug is "leather-crafting-101".
* @readonly
*/
slug?: string;
/**
* Date and time when the event was created.
* @readonly
*/
_createdDate?: Date | null;
/**
* Date and time when the event was updated.
* @readonly
*/
_updatedDate?: Date | null;
/**
* Event status:
*
* - `UPCOMING`: Event is published and scheduled to start.
* - `STARTED`: Event has started.
* - `ENDED`: Event has ended.
* - `CANCELED`: Event is canceled.
* - `DRAFT`: Event is not published.
* @readonly
*/
status?: Status$1;
/**
* RSVP or ticketing registration details.
* **Note:** This field is returned only when the `REGISTRATION` fieldset is included in the request.
*/
registration?: Registration$1;
/**
* URLs that allow you to add an event to the Google calendar, or to download an [ICS calendar](https://icscalendar.com/) file.
* **Note:** This field is returned only when the `DETAILS` fieldset is included in the request.
* @readonly
*/
calendarUrls?: CalendarUrls;
/**
* Event page URL components.
* **Note:** This field is returned only when the `URLS` fieldset is included in the request.
*/
eventPageUrl?: string;
/**
* Event registration form.
* **Note:** This field is returned only when the `FORM` fieldset is included in the request.
*/
form?: Form$1;
/**
* Summary of RSVP or ticket sales.
* **Note:** This field is returned only when the `DASHBOARD` fieldset is included in the request and you have the "WIX_EVENTS.READ_EVENT_DASHBOARD" permissions.
*/
summaries?: Summaries;
/**
* Instance ID of the site where the event is hosted.
* @readonly
*/
instanceId?: string;
/** Guest list configuration. */
guestListSettings?: GuestListSettings;
/**
* ID of the user who created the event.
* @readonly
*/
userId?: string;
/**
* Event discussion feed. For internal use.
* @internal
*/
feed?: Feed$1;
/**
* Online conferencing details.
* **Note:** This field is returned only when the `ONLINE_CONFERENCING_SESSION` fieldset is included in the request and you have the "WIX_EVENTS.READ_ONLINE_CONFERENCING" permissions.
*/
onlineConferencing?: OnlineConferencing$1;
/**
* SEO settings.
* **Note:** This field is returned only when the `SEO_SETTINGS` fieldset is included in the request.
*/
seoSettings?: SeoSettings$1;
/**
* Assigned contacts label key.
* @readonly
*/
contactLabel?: string | null;
/**
* Event schedule details.
* **Note:** This field is returned only when the `AGENDA` fieldset is included in the request.
*/
agendaSettings?: AgendaSettings;
/**
* Event categories.
* @internal
*/
categories?: EventCategories;
/** Visual settings for event. */
eventDisplaySettings?: V3EventDisplaySettings;
/**
* True if ticket can be customised
* @internal
*/
customizableTickets?: boolean | null;
/**
* Labelling related data.
* @internal
*/
labellingSettings?: V3LabellingSettings;
}
interface Location$1 {
/** 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:
*
* - `VENUE`: The event is on-site at a specific physical location.
* - `ONLINE`: The event is online, such as a virtual video conference.
*/
type?: LocationType$1;
/** Exact location address. */
address?: CommonAddress$1;
/** Whether the event location is TBD. */
locationTbd?: boolean | null;
}
enum LocationType$1 {
/** 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 */
interface CommonAddress$1 extends CommonAddressStreetOneOf$1 {
/** Street address. */
streetAddress?: CommonStreetAddress$1;
/** Primary address information (street and building number). */
addressLine1?: 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;
/**
* A string containing the full address of this location.
* @internal
*/
formatted?: string | null;
/**
* Coordinates of the physical address.
* @internal
*/
location?: CommonAddressLocation$1;
/**
* Country full name.
* @internal
*/
countryFullname?: string | null;
/**
* Subdivision full name.
* @internal
*/
subdivisionFullname?: string | null;
/**
* Multi-level subdivisions from top to bottom.
* @internal
*/
subdivisions?: CommonSubdivision$1[];
}
/** @oneof */
interface CommonAddressStreetOneOf$1 {
/** Street address. */
streetAddress?: CommonStreetAddress$1;
/** Primary address information (street and building number). */
addressLine?: string | null;
}
interface CommonStreetAddress$1 {
/** Street number. */
number?: string;
/** Street name. */
name?: string;
/**
* Apartment number.
* @internal
*/
apt?: string;
/**
* Optional address line 1
* @internal
*/
formattedAddressLine?: string | null;
}
interface CommonAddressLocation$1 {
/** Address latitude coordinates. */
latitude?: number | null;
/** Address longitude coordinates. */
longitude?: number | null;
}
interface CommonSubdivision$1 {
/** Short subdivision code. */
code?: string;
/** Subdivision full name. */
name?: string;
/**
* Subdivision level
* @internal
*/
type?: SubdivisionSubdivisionType$1;
/**
* Free text description of subdivision type.
* @internal
*/
typeInfo?: string | null;
}
enum SubdivisionSubdivisionType$1 {
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"
}
interface DateAndTimeSettings$1 {
/** 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. Possible values:
*
* - `ONE_TIME`: The event happens only once and can last multiple days.
* - `RECURRING`: A series of events that repeat.
* - `RECURRING_UPCOMING`: Next event in a schedule of recurring events.
* - `RECURRING_RECENTLY_ENDED`: Latest event that ended in a schedule of recurring events.
* - `RECURRING_RECENTLY_CANCELED`: Latest canceled event tin a schedule of recurring events.
* @readonly
*/
recurrenceStatus?: RecurrenceStatusStatus$1;
/** Event repetitions. */
recurringEvents?: Recurrences$1;
/** Formatted date and time settings. */
formatted?: Formatted$1;
}
enum RecurrenceStatusStatus$1 {
/** 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"
}
interface Recurrences$1 {
/** Individual event dates info. */
individualEventDates?: Occurrence$1[];
/**
* Recurring event category ID.
* @readonly
*/
categoryId?: string | null;
}
interface Occurrence$1 {
/** 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;
}
interface Formatted$1 {
/**
* 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;
}
/**
* A coarse-grained representation of time duration divided into whole constituting components of days, hours, and minutes.
* For example, 25.5 hours duration is represented as `{ days: 1, hours: 1, minutes: 30 }`.
*/
interface TimeDuration {
/** Number of days. */
days?: number;
/** Number of hours. */
hours?: number;
/** Number of minutes. */
minutes?: number;
}
enum Status$1 {
/** 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"
}
interface Registration$1 {
/**
* Current registration type:
*
* - `RSVP`: Guests register by RSVPing to the event.
* - `TICKETING`: Guests register by buying tickets.
* - `EXTERNAL`: Guests register externally using some other site or platform.
* - `NONE`: No registration is required, all guests can attend. This registration type is for only displaying the event details on a site.
*
* The property value might change to `EXTERNAL` or `NONE` after initial event creation, depending on any additional configuration applied to the event.
* @readonly
*/
type?: RegistrationTypeType;
/**
* Registration status. Possible values:
*
* - `CLOSED_AUTOMATICALLY`: Registration is closed after tickets are sold out.
* - `CLOSED_MANUALLY`: Registration is closed when the `registration.registrationDisabled` property is set to `true`.
* - `OPEN_RSVP`: Guests can start RSVPing to the event.
* - `OPEN_RSVP_WAITLIST_ONLY`: Guest list has reached the maximum, new guests are added to a waitlist.
* - `OPEN_TICKETS`: Guests can buy tickets to the event.
* - `OPEN_EXTERNAL`: Guests register on a different page or web address.
* - `SCHEDULED_RSVP`: Registration via RSVP is scheduled for the future.
* @readonly
*/
status?: RegistrationStatusStatus;
/** RSVP registration details. */
rsvp?: RsvpRegistration;
/** Ticket registration details. */
tickets?: TicketsRegistration;
/** External registration details. */
external?: ExternalRegistration;
/**
* Types of guests allowed to register. Possible values:
*
* - `VISITOR_OR_MEMBER`: All site visitors can RSVP to the event.
* - `MEMBER`: Only people who have signed up as members of your site are able to RSVP to the event.
*/
allowedGuestTypes?: GuestTypeType;
/**
* Initial event type which is set when creating an event. Possible values:
*
* - `RSVP`: Guests register by RSVPing to the event.
* - `TICKETING`: Guests register by buying tickets.
*
* This property value never changes.
*/
initialType?: InitialRegistrationTypeType;
/** Whether the registration is paused. */
registrationPaused?: boolean;
/** Whether the registration is disabled. */
registrationDisabled?: boolean;
}
enum RegistrationTypeType {
/** Unknown registration type. */
UNKNOWN_REGISTRATION_TYPE = "UNKNOWN_REGISTRATION_TYPE",
/** Guests register by RSVPing to the event. */
RSVP = "RSVP",
/** Guests register by buying tickets. */
TICKETING = "TICKETING",
/** Guests register externally using some other site or platform. */
EXTERNAL = "EXTERNAL",
/** No registration is required, all guests can attend. This registration type is for only displaying the event details on a site. The property value can be changed from RSVP/TICKETING to EXTERNAL or NONE after the event is created, depending on any additional configurations applied to the event. */
NONE = "NONE"
}
enum RegistrationStatusStatus {
/** Registration status is not applicable */
UNKNOWN_REGISTRATION_STATUS = "UNKNOWN_REGISTRATION_STATUS",
/** Registration is closed after tickets are sold out. */
CLOSED_AUTOMATICALLY = "CLOSED_AUTOMATICALLY",
/** Registration is closed when the `registration.registrationDisabled` property is set to `true`. */
CLOSED_MANUALLY = "CLOSED_MANUALLY",
/** Guests can start RSVPing to the event. */
OPEN_RSVP = "OPEN_RSVP",
/** Guest list has reached the maximum, new guests are added to a waitlist. */
OPEN_RSVP_WAITLIST_ONLY = "OPEN_RSVP_WAITLIST_ONLY",
/** Guests can buy tickets to the event. */
OPEN_TICKETS = "OPEN_TICKETS",
/** Guests register on a different page or web address. */
OPEN_EXTERNAL = "OPEN_EXTERNAL",
/** Registration via RSVP is scheduled for the future. */
SCHEDULED_RSVP = "SCHEDULED_RSVP"
}
interface RsvpRegistration {
/** Available answers for registration to an event. */
responseType?: ResponseType;
/** How many guests can RSVP to an event. */
limit?: number | null;
/** Whether a waitlist is opened when the total guest limit is reached. If `true`, guests can RSVP to an event and are automatically put in the waitlist with the `IN_WAITLIST` status. */
waitlistEnabled?: boolean;
/** Registration start date. */
startDate?: Date | null;
/** Registration end date. */
endDate?: Date | null;
}
enum ResponseType {
/** Unknown response type. */
UNKNOWN_RESPONSE_TYPE = "UNKNOWN_RESPONSE_TYPE",
/** Only a **Yes** answer is available to select when RSVP'ing to an event. */
YES_ONLY = "YES_ONLY",
/** *Yes** and **No** answers are available to select when RSVP'ing to an event. */
YES_AND_NO = "YES_AND_NO"
}
interface TicketsRegistration {
/** Whether the registration form must be filled out separately for each ticket. */
guestsAssignedSeparately?: boolean;
/**
* Ticket limit per order.
* Default: 20 tickets.
*/
ticketLimitPerOrder?: number;
/**
* App ID for external ticket stock management.
* The default ticket stock value is as defined in the `TicketDefinition` object. If the ticket stock is defined in the stock manager app, the default is ignored.
* @internal
*/
stockManagerAppId?: string | null;
/** Ticket price currency. */
currency?: string | null;
/**
* Lowest ticket price.
* @readonly
*/
lowestPrice?: Money$1;
/**
* Highest ticket price.
* @readonly
*/
highestPrice?: Money$1;
/**
* Whether all tickets are sold for the event.
* @readonly
*/
soldOut?: boolean | null;
/** How tax is applied. */
taxSettings?: TaxSettings;
}
/**
* Money.
* Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.
*/
interface Money$1 {
/** Amount of money in decimal form. A period is used as a decimal separator (for example, `3.99`). */
value?: string;
/** Currency code in 3-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */
currency?: string;
/**
* Amount of money in decimal form. A period or comma are used as a decimal separator (for example, `1 000,30`).
* @readonly
*/
formattedValue?: string | null;
}
interface TaxSettings {
/**
* Tax application settings:
*
* - `INCLUDED_IN_PRICE`: Deduct the fee from the ticket price for a seller. For example, if you're selling tickets for $10, a ticket service fee of $0.25 is deducted from the price and you'll get $9.75.
* - `ADDED_AT_CHECKOUT`: Show the fee iin addition to the ticket price at checkout and a guest pays the fee. For example, if you sell tickets for $10, a customer sees a ticket service fee of $0.25 and pays $10.25 in total.
*/
type?: TaxType$1;
/** Tax name. */
name?: string | null;
/** Tax rate (for example,`21.55`). */
rate?: string | null;
/** Apply tax to donations. */
appliedToDonations?: boolean | null;
}
/** Tax application settings. */
enum TaxType$1 {
/** Unknown tax type. */
UNKNOWN_TAX_TYPE = "UNKNOWN_TAX_TYPE",
/** Deduct the fee from the ticket price for a seller. For example, if you're selling tickets for $10, a ticket ticket service fee of $0.25 is deducted from the price and you'll get $9.75. */
INCLUDED_IN_PRICE = "INCLUDED_IN_PRICE",
/** Show the fee in addition to the ticket price at checkout and a guest pays the fee. For example, if you sell tickets for $10, a customer sees a ticket ticket service fee of $0.25 and pays $10.25 in total. */
ADDED_AT_CHECKOUT = "ADDED_AT_CHECKOUT"
}
interface ExternalRegistration {
/** External event registration URL. */
url?: string | null;
}
enum GuestTypeType {
/** Unknown guest type. */
UNKNOWN_GUEST_TYPE = "UNKNOWN_GUEST_TYPE",
/** All site visitors can RSVP to the event. */
VISITOR_OR_MEMBER = "VISITOR_OR_MEMBER",
/** Only people who have signed up as members of your site are able to RSVP to the event. */
MEMBER = "MEMBER"
}
enum InitialRegistrationTypeType {
/** Unknown initial registration type. */
UNKNOWN_INITIAL_REGISTRATION_TYPE = "UNKNOWN_INITIAL_REGISTRATION_TYPE",
/** Guests register by RSVPing to the event. */
RSVP = "RSVP",
/** Guests register by buying tickets. This property value never changes. */
TICKETING = "TICKETING"
}
interface CalendarUrls {
/**
* "Add to Google calendar" URL.
* @readonly
*/
google?: string;
/**
* "Download ICS calendar file" URL.
* @readonly
*/
ics?: string;
}
/**
* The form defines which elements are rendered in the Wix UI during the registration process (RSVP or checkout).
* It also contains customizable messages and labels.
*
*
* A form is an ordered list of controls (blocks), which accept guest information into a field input.
*
* Each control contains one or more nested inputs. For example, `Name` control has two inputs:
* - First Name
* - Last Name
*
* By default, name and email controls are always required and are pinned to the top of the form.
*/
interface Form$1 {
/** Nested fields as an ordered list. */
controls?: InputControl$1[];
/** Set of configured form messages. */
messages?: FormMessages$1;
}
/**
* A block of nested fields.
* Used to aggregate similar inputs like First Name and Last Name.
*/
interface InputControl$1 {
/** Field control type. */
type?: InputControlType$1;
/** Whether control is mandatory (such as name & email). When true, only label can be changed. */
system?: boolean;
/**
* Deprecated: Use `id`.
* @deprecated
*/
name?: string;
/** Child inputs. */
inputs?: Input$1[];
/**
* Deprecated: use `inputs.label`.
* @deprecated
*/
label?: string;
/** Field controls are sorted by this value in ascending order. */
orderIndex?: number;
/** Unique control ID. */
_id?: string;
/**
* Whether input control is deleted.
* @readonly
*/
deleted?: boolean | null;
}
enum InputControlType$1 {
/** Single text value field. */
INPUT = "INPUT",
/** Single text value field. */
TEXTAREA = "TEXTAREA",
/** Single-choice field of predefined values. */
DROPDOWN = "DROPDOWN",
/** Single-choice field of predefined values. */
RADIO = "RADIO",
/** Multiple-choice field of predefined values. */
CHECKBOX = "CHECKBOX",
/** First and last name fields. */
NAME = "NAME",
/** Additional guests and respective guest names fields. */
GUEST_CONTROL = "GUEST_CONTROL",
/** Single-line address field. */
ADDRESS_SHORT = "ADDRESS_SHORT",
/** Full address field. */
ADDRESS_FULL = "ADDRESS_FULL",
/** Year, month and day fields. */
DATE = "DATE"
}
/** An input of one or multiple text values */
interface Input$1 {
/** Field name. */
name?: string;
/**
* Deprecated: use `ValueType.TEXT_ARRAY`.
* @deprecated
*/
array?: boolean;
/** Main field label */
label?: string;
/** Additional labels for multi-valued fields such as address. */
additionalLabels?: Record;
/** Predefined choice options for fields, such as dropdown. */
options?: string[];
/** Whether field is mandatory. */
mandatory?: boolean;
/** Maximum number of accepted characters (relevant for text fields). */
maxLength?: number;
/**
* Type which determines field format.
* Used to validate submitted response.
*/
type?: ValueType$1;
/**
* A maximum accepted values for array input.
* Only applicable for inputs of valueType: TEXT_ARRAY.
*/
maxSize?: number | null;
/**
* Preselected option.
* Currently only applicable for dropdown.
*/
defaultOptionSelection?: OptionSelection$1;
/**
* Additional labels for multi-valued fields such as address.
* @readonly
*/
labels?: Label$1[];
}
enum ValueType$1 {
TEXT = "TEXT",
NUMBER = "NUMBER",
TEXT_ARRAY = "TEXT_ARRAY",
DATE_TIME = "DATE_TIME",
ADDRESS = "ADDRESS"
}
/**
* Describes initially selected option when an input has multiple choices.
* Defaults to first (0th) option if not configured.
*/
interface OptionSelection$1 extends OptionSelectionSelectedOptionOneOf$1 {
/** 0-based index from predefined `input.options` which is selected initially. */
optionIndex?: number;
/**
* Placeholder hint describing expected choices (such as "Please select").
* Considered an empty choice.
*/
placeholderText?: string;
}
/** @oneof */
interface OptionSelectionSelectedOptionOneOf$1 {
/** 0-based index from predefined `input.options` which is selected initially. */
optionIndex?: number;
/**
* Placeholder hint describing expected choices (such as "Please select").
* Considered an empty choice.
*/
placeholderText?: string;
}
interface Label$1 {
/** Field name. */
name?: string;
/** Field label. */
label?: string;
}
/**
* Defines form messages shown in UI before, during, and after registration flow.
* It enables configuration of form titles, response labels, "thank you" messages, and call-to-action texts.
*/
interface FormMessages$1 {
/** RSVP form messages. */
rsvp?: RsvpFormMessages$1;
/** Checkout form messages. */
checkout?: CheckoutFormMessages$1;
/** Messages shown when event registration is closed. */
registrationClosed?: RegistrationClosedMessages$1;
/** Messages shown when event tickets are unavailable. */
ticketsUnavailable?: TicketsUnavailableMessages$1;
}
interface RsvpFormMessages$1 {
/** Label text indicating RSVP `YES` response. */
rsvpYesOption?: string;
/** Label text indicating RSVP `NO` response. */
rsvpNoOption?: string;
/** Messages shown for RSVP = `YES`. */
positiveMessages?: Positive$1;
/** Messages shown for RSVP = `WAITING` (when event is full and waitlist is available). */
waitlistMessages?: Positive$1;
/** Messages shown for RSVP = `NO`. */
negativeMessages?: Negative$1;
/** "Submit form" call-to-action label text. */
submitActionLabel?: string;
}
/** Confirmation messages shown after registration. */
interface PositiveResponseConfirmation$1 {
/** Confirmation message title. */
title?: string;
/** Confirmation message text. */
message?: string;
/** "Add to calendar" call-to-action label text. */
addToCalendarActionLabel?: string;
/** "Share event" call-to-action label text. */
shareActionLabel?: string;
}
/** Confirmation messages shown after registration. */
interface NegativeResponseConfirmation$1 {
/** Confirmation message title. */
title?: string;
/** "Share event" call-to-action label text. */
shareActionLabel?: string;
}
/** Set of messages shown during registration when RSVP response is positive. */
interface Positive$1 {
/** Main form title for positive response. */
title?: string;
/** Confirmation messages shown after registration. */
confirmation?: PositiveResponseConfirmation$1;
}
/** A set of messages shown during registration with negative response */
interface Negative$1 {
/** Main form title for negative response. */
title?: string;
/** Confirmation messages shown after registration. */
confirmation?: NegativeResponseConfirmation$1;
}
interface CheckoutFormMessages$1 {
/** Main form title for response. */
title?: string;
/** Submit form call-to-action label text. */
submitActionLabel?: string;
/** Confirmation messages shown after checkout. */
confirmation?: ResponseConfirmation$1;
}
/** Confirmation messages shown after checkout. */
interface ResponseConfirmation$1 {
/** Confirmation message title. */
title?: string;
/** Confirmation message text. */
message?: string;
/** "Download tickets" call-to-action label text. */
downloadTicketsLabel?: string;
/** "Add to calendar" call-to-action label text. */
addToCalendarLabel?: string;
/** "Share event" call-to-action label text. */
shareEventLabel?: string;
}
interface RegistrationClosedMessages$1 {
/** Message shown when event registration is closed. */
message?: string;
/** "Explore other events" call-to-action label text. */
exploreEventsActionLabel?: string;
}
interface TicketsUnavailableMessages$1 {
/** Message shown when event tickets are unavailable. */
message?: string;
/** "Explore other events" call-to-action label text. */
exploreEventsActionLabel?: string;
}
interface Summaries {
/** RSVP summary of guests. */
rsvps?: Rsvps;
/** Summary of revenue and sold tickets. Archived orders are not included. */
tickets?: Tickets;
}
interface EventsMoney {
/**
* *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;
}
interface Rsvps {
/**
* Total number of RSVPs.
* @readonly
*/
totalCount?: number;
/**
* Number of RSVPs with status `YES`.
* @readonly
*/
yesCount?: number;
/**
* Number of RSVPs with status `NO`.
* @readonly
*/
noCount?: number;
/**
* Number of RSVPs in a waitlist.
* @readonly
*/
waitlistCount?: number;
}
interface Tickets {
/**
* Number of sold tickets.
* @readonly
*/
ticketsSold?: number;
/**
* Total revenue. Taxes and payment provider fees aren't deducted.
* @readonly
*/
revenue?: EventsMoney;
/**
* Whether the currency is locked and can’t be changed.
* @readonly
*/
currencyLocked?: boolean;
/**
* Number of orders placed.
* @readonly
*/
totalOrders?: number;
/**
* Total balance of confirmed transactions.
* @readonly
*/
totalSales?: EventsMoney;
}
interface GuestListSettings {
/** Whether the guest list is public for all guests. */
displayedPublicly?: boolean;
}
interface Feed$1 {
/** Event discussion feed token. */
token?: string;
}
interface OnlineConferencing$1 {
/** Whether online conferencing is enabled. Not applicable for events, where date and time are TBD. When enabled, links to join the conference are generated and provided to guests. */
enabled?: boolean;
/** Conference host ID. */
providerId?: string | null;
/**
* Configured conferencing provider name.
* @internal
* @readonly
*/
providerName?: string;
/**
* Conference type. Possible values:
*
* - `MEETING`: Guests can do some actions during the conference, for example talk, turn on camera and show their screen.
* - `WEBINAR`: Guests can only watch the conference.
*/
type?: ConferenceTypeType;
/** Online conferencing session information. */
session?: OnlineConferencingSession$1;
}
enum ConferenceTypeType {
/** Default value. This value is unused */
UNKNOWN_CONFERENCE_TYPE = "UNKNOWN_CONFERENCE_TYPE",
/** Guests can do some actions during the conference, for example talk, turn on their camera and show their screen. */
MEETING = "MEETING",
/** Guests can only watch the conference. */
WEBINAR = "WEBINAR"
}
interface OnlineConferencingSession$1 {
/**
* Link for the event host to start the online conference session.
* @readonly
*/
hostLink?: string;
/**
* Link for guests to join the online conference session.
* @readonly
*/
guestLink?: string;
/**
* Password required to join the online conferencing session (when relevant).
* @readonly
*/
password?: string | null;
/**
* Whether the session was created successfully on the event host side.
* @readonly
*/
sessionCreated?: boolean | null;
/**
* Unique session ID.
* @readonly
*/
sessionId?: string | null;
}
interface SeoSettings$1 {
/** URL slug. */
slug?: string;
/** Advanced SEO data. */
advancedSeoData?: SeoSchema$1;
/**
* Whether the slug is hidden from the SEO Site Map.
* @readonly
*/
hidden?: boolean | null;
}
/**
* The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.
* The search engines use this information for ranking purposes, or to display snippets in the search results.
* This data will override other sources of tags (for example patterns) and will be included in the section of the HTML document, while not being displayed on the page itself.
*/
interface SeoSchema$1 {
/** SEO tag information. */
tags?: Tag$1[];
/** SEO general settings. */
settings?: Settings$1;
}
interface Keyword$1 {
/** Keyword value. */
term?: string;
/** Whether the keyword is the main focus keyword. */
isMain?: boolean;
/** The source that added the keyword terms to the SEO settings. */
origin?: string | null;
}
interface Tag$1 {
/**
* SEO tag type.
*
*
* Supported values: `title`, `meta`, `script`, `link`.
*/
type?: string;
/**
* A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.
* For example: `{"name": "description", "content": "the description itself"}`.
*/
props?: Record | null;
/** SEO tag meta data. For example, `{"height": 300, "width": 240}`. */
meta?: Record | null;
/** SEO tag inner content. For example, ` inner content `. */
children?: string;
/** Whether the tag is a custom tag. */
custom?: boolean;
/** Whether the tag is disabled. */
disabled?: boolean;
}
interface Settings$1 {
/**
* Whether the Auto Redirect feature, which creates `301 redirects` on a slug change, is enabled.
*
*
* Default: `false` (Auto Redirect is enabled.)
*/
preventAutoRedirect?: boolean;
/** User-selected keyword terms for a specific page. */
keywords?: Keyword$1[];
}
interface AgendaSettings {
/** Whether the schedule is enabled for the event. */
enabled?: boolean;
/**
* Schedule page URL.
* @readonly
*/
pageUrl?: string;
}
interface EventCategories {
/** Event categories. */
categories?: EventCategory[];
}
interface EventCategory {
/**
* Category ID.
* @readonly
*/
_id?: string;
/** Category name. */
name?: string;
/**
* Category creation timestamp.
* @readonly
*/
_createdDate?: Date | null;
/**
* Category is hidden.
* @readonly
*/
hidden?: boolean;
/**
* Category type.
* @readonly
*/
type?: Type$1;
}
enum Type$1 {
/** Created manually by the user. */
MANUAL = "MANUAL",
/** Created automatically when publishing recurring events. */
RECURRING_EVENT = "RECURRING_EVENT",
/** Created automatically and used to store component events. */
COMPONENT = "COMPONENT"
}
interface V3EventDisplaySettings {
/** Whether event details button is hidden. Only available for events with no registration. */
hideEventDetailsButton?: boolean | null;
/** Disables event details page visibility. If event has an external registration configured visitors will be redirected from this page. */
hideEventDetailsPage?: boolean | null;
}
interface V3LabellingSettings {
/**
* @internal
* @readonly
*/
assignedContactsLegacyLabelId?: string | null;
/**
* @internal
* @readonly
*/
assignedContactsLabelDeleted?: boolean | null;
}
interface EventEventStarted {
/** Event schedule configuration. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
}
interface EventEventEnded {
/** Event end timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
}
interface EventEventReminder {
/** Reminder timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event location. */
location?: Location$1;
/** Event schedule configuration. */
dateAndTimeSettings?: DateAndTimeSettings$1;
/** Event title. */
title?: string;
/** ID of the user who created the event. */
userId?: string | null;
/** Time until the start of event (currently, reminder letter is triggered 1 day before the start of event). */
startsIn?: TimeDuration;
}
interface EventEventPublished {
/** Event publishing timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event status. */
status?: Status$1;
/**
* Event ID. Indicates the original event from which the current event was derived from.
* Can be used to track the original event and add missing information.
*/
derivedFromEventId?: string | null;
/** Event title. */
title?: string | null;
/** Short description that appears under the event title. */
shortDescription?: string | null;
/** Event location. */
location?: Location$1;
/** Event date and time settings. */
dateAndTimeSettings?: DateAndTimeSettings$1;
/** Event page URL components. */
eventPageUrl?: string;
/** RSVP or ticketing registration details. */
registration?: Registration$1;
}
interface EventCloned {
/** Event creation timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event location. */
location?: Location$1;
/** Event date and time settings. */
dateAndTimeSettings?: DateAndTimeSettings$1;
/** Event title. */
title?: string;
/** ID of the user who created the event. */
userId?: string | null;
/** Event status. */
status?: Status$1;
/** Instance ID. Indicates the original app instance from which current event was derived from. */
derivedFromInstanceId?: string | null;
/** Event ID. Indicates the original event from which current event was derived from. */
derivedFromEventId?: string | null;
/**
* Map of copied ticket definitions from the original event.
* Key represents ticket definition ID in the original event.
* Value represents ticket definition ID in the newly event.
*/
ticketDefinitions?: Record;
}
interface EventEventCanceled {
/** Event cancelation timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event title. */
title?: string;
/** ID of the user who created the event. */
userId?: string | null;
}
interface CreateEventRequest {
/** Event data. */
event: V3Event;
/** Whether to create the event as a draft. */
draft?: boolean;
/** Predefined sets of fields to return. */
fields?: RequestedFields[];
}
enum RequestedFields {
/** Unknown requested field. */
UNKNOWN_REQUESTED_FIELD = "UNKNOWN_REQUESTED_FIELD",
/** Returns `shortDescription`, `mainImage` and `calendarUrls`. */
DETAILS = "DETAILS",
/** Returns `detailedDescription`. */
TEXTS = "TEXTS",
/** Returns `registration`. */
REGISTRATION = "REGISTRATION",
/** Returns `eventPageUrl`. */
URLS = "URLS",
/** Returns `form`. */
FORM = "FORM",
/** Returns `summaries`. */
DASHBOARD = "DASHBOARD",
/** Returns `feed`. */
FEED = "FEED",
/** Returns `onlineConferencing.session`. */
ONLINE_CONFERENCING_SESSION = "ONLINE_CONFERENCING_SESSION",
/** Returns `seoSettings`. */
SEO_SETTINGS = "SEO_SETTINGS",
/** Returns `agendaSettings`. */
AGENDA = "AGENDA",
/** Returns `categories`. */
CATEGORIES = "CATEGORIES",
CUSTOMIZABLE_TICKETS = "CUSTOMIZABLE_TICKETS"
}
interface CreateEventResponse {
/** Created event. */
event?: V3Event;
}
interface CloneEventRequest {
/** Event ID. */
eventId: string;
/** Field values to be changed when cloning the event. */
event?: V3Event;
/**
* Fields that are included in this parameter are updated, while all other fields stay the same. If paths are not defined, all field values from the `event` object are updated.
* @internal
*/
fieldmask?: string[];
/** Whether to clone the event as a draft. */
draft?: boolean;
/** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */
fields?: RequestedFields[];
}
interface CloneEventResponse {
/** Cloned event. */
event?: V3Event;
}
interface UpdateEventRequest {
/** Field values to be changed. */
event?: V3Event;
/**
* Fields that are included in this parameter are updated, while all other fields stay the same. If paths are not defined, all field values from the `event` object are updated.
* @internal
*/
fieldmask?: string[];
/** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */
fields?: RequestedFields[];
}
interface UpdateEventResponse {
/** Updated event. */
event?: V3Event;
}
interface PublishDraftEventRequest {
/** Event ID. */
eventId: string;
/** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */
fields?: RequestedFields[];
}
interface PublishDraftEventResponse {
/** Published event. */
event?: V3Event;
}
interface CancelEventRequest {
/** Event ID. */
eventId: string;
/** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */
fields?: RequestedFields[];
}
interface CancelEventResponse {
/** Canceled event. */
event?: V3Event;
}
interface BulkCancelEventsByFilterRequest {
/** Filter. */
filter?: QueryV2$1;
}
interface QueryV2$1 extends QueryV2PagingMethodOneOf$1 {
/** Paging options. Can't be used together with `cursorPaging`. */
paging?: Paging$1;
/**
* Filter object in the following format:
* `"filter" : {
* "fieldName1": "value1",
* "fieldName2":{"$operator":"value2"}
* }`
*/
filter?: Record | null;
/**
* Sort object in the following format:
* `[{"fieldName":"sortField1","order":"ASC"},{"fieldName":"sortField2","order":"DESC"}]`
*/
sort?: Sorting$1[];
}
/** @oneof */
interface QueryV2PagingMethodOneOf$1 {
/** Paging options. Can't be used together with `cursorPaging`. */
paging?: Paging$1;
}
interface Sorting$1 {
/** Name of the field to sort by. */
fieldName?: string;
/**
* Sort order.
* Use `ASC` for ascending order or `DESC` for descending order.
*
* Default: `ASC`.
*/
order?: SortOrder$1;
}
enum SortOrder$1 {
ASC = "ASC",
DESC = "DESC"
}
interface Paging$1 {
/** Number of items to return. See [Paging](https://dev.wix.com/api/rest/getting-started/sorting-and-paging#getting-started_sorting-and-paging_paging) for more information. */
limit?: number | null;
/** Number of items to skip in the current sort order. */
offset?: number | null;
}
interface BulkCancelEventsByFilterResponse {
}
interface DeleteEventRequest {
/** Event ID. */
eventId: string;
}
interface DeleteEventResponse {
/** Deleted event ID. */
eventId?: string;
}
interface BulkDeleteEventsByFilterRequest {
/** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */
filter?: QueryV2$1;
}
interface BulkDeleteEventsByFilterResponse {
}
interface QueryEventsRequest {
/** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */
query?: QueryV2$1;
/** Predefined sets of fields to return. */
fields?: RequestedFields[];
/**
* Whether draft events should be returned in the response.
* **Note:** This parameter requires the `WIX_EVENTS.READ_DRAFT_EVENTS` permission.
*/
includeDrafts?: boolean;
}
interface QueryEventsResponse {
/** Metadata for the paginated results. */
pagingMetadata?: PagingMetadataV2$1;
/** List of events. */
events?: V3Event[];
}
interface PagingMetadataV2$1 {
/** Number of items to return. See [Paging](https://dev.wix.com/api/rest/getting-started/sorting-and-paging#getting-started_sorting-and-paging_paging) for more information. */
count?: number | null;
/** Requested offset. */
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$1;
/**
* Whether there are more results after the current page.
* If `true`, another page of results can be retrieved.
* If `false`, the current page is the final page.
* @internal
*/
hasNext?: boolean | null;
}
interface Cursors$1 {
/** Cursor 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;
}
interface ExportEventsRequest {
/** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */
query?: CommonQueryV2;
}
interface CommonQueryV2 extends CommonQueryV2PagingMethodOneOf {
/** Paging options to limit and skip the number of items. */
paging?: CommonPaging;
/** 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$1;
/**
* Filter object.
*
* Learn more about the [filter section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-filter-section).
*/
filter?: Record | null;
/**
* Sort object.
*
* Learn more about the [sort section](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#the-sort-section).
*/
sort?: CommonSorting[];
/** Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned. */
fields?: string[];
/** Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned. */
fieldsets?: string[];
}
/** @oneof */
interface CommonQueryV2PagingMethodOneOf {
/** Paging options to limit and skip the number of items. */
paging?: CommonPaging;
/** 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$1;
}
interface CommonSorting {
/** Name of the field to sort by. */
fieldName?: string;
/** Sort order. */
order?: CommonSortOrder;
/**
* When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by
* a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.
*
* If multiple filters are provided, they are combined with AND operator.
*
* Example:
* Given we have document like {"id": "1", "nestedField": [{"price": 10, "region": "EU"}, {"price": 20, "region": "US"}]}
* and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be
* { fieldName: "nestedField.price", "select_items_by": [{"nestedField.region": "US"}] }
* @internal
*/
selectItemsBy?: Record[] | null;
}
enum CommonSortOrder {
ASC = "ASC",
DESC = "DESC"
}
interface CommonPaging {
/** Number of items to load. */
limit?: number | null;
/** Number of items to skip in the current sort order. */
offset?: number | null;
}
interface CursorPaging$1 {
/** 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;
}
interface ExportEventsResponse {
/** Metadata for the paginated results. */
pagingMetadata?: CommonPagingMetadataV2;
/** List of events. */
events?: V3Event[];
}
interface CommonPagingMetadataV2 {
/** 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?: CommonCursors;
/**
* Indicates if there are more results after the current page.
* If `true`, another page of results can be retrieved.
* If `false`, this is the last page.
* @internal
*/
hasNext?: boolean | null;
}
interface CommonCursors {
/** 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;
}
interface CountEventsByStatusRequest {
/** Filter object in the following format:
`"filter" : { "fieldName1": "value1" }`. */
filter?: Record | null;
/** Parameters to count events by. */
facet?: string[];
/**
* Whether draft events should be returned in the response.
* **Note:** This parameter requires the `WIX_EVENTS.READ_DRAFT_EVENTS` permission.
*/
includeDrafts?: boolean;
}
interface CountEventsByStatusResponse {
/** Metadata for the paginated results. */
pagingMetadata?: PagingMetadataV2$1;
/** Filter facets. */
facets?: Record;
}
interface FacetCounts$1 {
/** Facet counts aggregated per value */
counts?: Record;
}
interface ListUserEventsRequest {
/** Paging options to limit and skip the number of items. */
paging?: Paging$1;
/**
* Sort order, defaults to `"created:asc"`.
* See [supported fields](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).
*/
sort?: Sorting$1[];
/** Event status. */
status?: Status$1[];
/** Allows to filter events by user relation to the event among all wix sites. */
userFilter?: UserFilter;
/**
* Filter facets to include in the response.
* See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events).
*/
facet?: string[];
/**
* Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned.
* @internal
*/
fields?: RequestedFields[];
}
interface UserFilter {
/** User who is related to event */
userId?: string;
/** Relation of user to event. */
relation?: Relation[];
}
enum Relation {
/** User is attending the event. The user RSVP'd with status of `YES` or has ordered tickets. */
ATTENDING = "ATTENDING"
}
interface ListUserEventsResponse {
/** Metadata for the paginated results. */
pagingMetadata?: PagingMetadataV2$1;
/** List of events. */
events?: V3Event[];
/** Filter facets. */
facets?: Record;
}
interface ListEventsByCategoryRequest {
/** Category ID. */
categoryId: string;
/** Paging options to limit and skip the number of items. */
paging?: Paging$1;
/** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */
fields?: RequestedFields[];
}
interface ListEventsByCategoryResponse {
/** Metadata for the paginated results. */
pagingMetadata?: PagingMetadataV2$1;
/** List of events. */
events?: V3Event[];
}
interface GetEventRequest {
/** Event ID. */
eventId: string | null;
fields?: RequestedFields[];
/**
* indicates whether full_address should be resolved
* @internal
*/
resolveFullAddress?: boolean;
}
interface GetEventResponse {
/** Event. */
event?: V3Event;
}
interface GetEventBySlugRequest {
/** URL slug. */
slug: string | null;
fields?: RequestedFields[];
/**
* indicates whether full_address should be resolved
* @internal
*/
resolveFullAddress?: boolean;
}
interface GetEventBySlugResponse {
/** Event. */
event?: V3Event;
}
interface FindEventRequest extends FindEventRequestFindByOneOf {
/** Event ID. */
eventId?: string | null;
/** URL slug. */
slug?: string | null;
/** Predefined sets of fields to return. */
fields?: RequestedFields[];
}
/** @oneof */
interface FindEventRequestFindByOneOf {
/** Event ID. */
eventId?: string | null;
/** URL slug. */
slug?: string | null;
}
interface FindEventResponse {
/** Event. */
event?: V3Event;
}
interface EventCreated$1 {
/** Event created timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event location. */
location?: EventsLocation;
/** Event schedule configuration. */
scheduleConfig?: ScheduleConfig$1;
/** Event title. */
title?: string;
/** Event creator user ID. */
userId?: string | null;
/** Event status. */
status?: EventStatus$1;
/** Instance ID. Indicates the original app instance which current event was derived from. */
derivedFromInstanceId?: string | null;
/** Event ID. Indicates the original event which current event was derived from. */
derivedFromEventId?: string | null;
/** Event that was created. */
event?: Event$1;
}
interface EventsLocation {
/** Location name. */
name?: string | null;
/** Location map coordinates. */
coordinates?: MapCoordinates$1;
/** Single line address representation. */
address?: string | null;
/** Location type. */
type?: LocationLocationType$1;
/**
* Full address derived from formatted single line `address`.
* When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored.
* If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service.
*
* Migration notes:
* - `full_address.formatted_address` is equivalent to `address`.
* - `full_address.geocode` is equivalent to `coordinates`.
*/
fullAddress?: Address$1;
/**
* Defines event location as TBD (To Be Determined).
* When event location is not yet defined, `name` is displayed instead of location address.
* `coordinates`, `address`, `type` and `full_address` are not required when location is TBD.
*/
tbd?: boolean | null;
}
interface MapCoordinates$1 {
/** Latitude. */
lat?: number;
/** Longitude. */
lng?: number;
}
enum LocationLocationType$1 {
VENUE = "VENUE",
ONLINE = "ONLINE"
}
/** Physical address */
interface Address$1 extends AddressStreetOneOf$1 {
/** a break down of the street to number and street name */
streetAddress?: StreetAddress$1;
/** Main address line (usually street and number) as free text */
addressLine1?: string | null;
/** country code */
country?: string | null;
/** subdivision (usually state or region) code according to ISO 3166-2 */
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, Floor */
addressLine2?: string | null;
/** A string containing the human-readable address of this location */
formatted?: string | null;
/** coordinates of the physical address */
location?: AddressLocation$1;
/** country full-name */
countryFullname?: string | null;
/** multi-level subdivisions from top to bottom */
subdivisions?: Subdivision$1[];
}
/** @oneof */
interface AddressStreetOneOf$1 {
/** a break down of the street to number and street name */
streetAddress?: StreetAddress$1;
/** Main address line (usually street and number) as free text */
addressLine?: string | null;
}
interface StreetAddress$1 {
/** street number */
number?: string;
/** street name */
name?: string;
/**
* apartment number
* @internal
*/
apt?: string;
}
interface AddressLocation$1 {
/** address latitude coordinates */
latitude?: number | null;
/** address longitude coordinates */
longitude?: number | null;
}
interface Subdivision$1 {
/** subdivision short code */
code?: string;
/** subdivision full-name */
name?: string;
/**
* subdivision level
* @internal
*/
type?: SubdivisionType$1;
/**
* free text description of subdivision type
* @internal
*/
typeInfo?: string | null;
}
enum SubdivisionType$1 {
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"
}
interface ScheduleConfig$1 {
/**
* Defines event as TBD (To Be Determined) schedule.
* When event time is not yet defined, TBD message is displayed instead of event start and end times.
* `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD.
*/
scheduleTbd?: boolean;
/** TBD message. */
scheduleTbdMessage?: string | null;
/** Event start timestamp. */
startDate?: Date | null;
/** Event end timestamp. */
endDate?: Date | null;
/** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */
timeZoneId?: string | null;
/** Whether end date is hidden in the formatted schedule. */
endDateHidden?: boolean;
/** Whether time zone is displayed in formatted schedule. */
showTimeZone?: boolean;
/** Event recurrences. */
recurrences?: EventsRecurrences;
}
interface EventsRecurrences {
/** Event occurrences. */
occurrences?: EventsOccurrence[];
/**
* Recurring event category ID.
* @readonly
*/
categoryId?: string | null;
/**
* Recurrence status.
* @readonly
*/
status?: EventsRecurrenceStatusStatus;
}
interface EventsOccurrence {
/** Event start timestamp. */
startDate?: Date | null;
/** Event end timestamp. */
endDate?: Date | null;
/** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */
timeZoneId?: string | null;
/** Whether time zone is displayed in formatted schedule. */
showTimeZone?: boolean;
}
enum EventsRecurrenceStatusStatus {
/** Event occurs only once. */
ONE_TIME = "ONE_TIME",
/** Event is recurring. */
RECURRING = "RECURRING",
/** Marks the next upcoming occurrence of the recurring event. */
RECURRING_NEXT = "RECURRING_NEXT",
/** Marks the most recent ended occurrence of the recurring event. */
RECURRING_LAST_ENDED = "RECURRING_LAST_ENDED",
/** Marks the most recent canceled occurrence of the recurring event. */
RECURRING_LAST_CANCELED = "RECURRING_LAST_CANCELED"
}
enum EventStatus$1 {
/** Event is public and scheduled to start */
SCHEDULED = "SCHEDULED",
/** Event has started */
STARTED = "STARTED",
/** Event has ended */
ENDED = "ENDED",
/** Event was canceled */
CANCELED = "CANCELED",
/** Event is not public and needs to be published */
DRAFT = "DRAFT"
}
interface Event$1 {
/**
* Event ID.
* @readonly
*/
_id?: string;
/** Event location. */
location?: EventsLocation;
/** Event scheduling. */
scheduling?: Scheduling$1;
/** Event title. */
title?: string;
/** Event description. */
description?: string;
/** Rich-text content displayed in Wix UI - "About Event" section (HTML). */
about?: string;
/** Main event image. */
mainImage?: string;
/** Event slug URL (generated from event title). */
slug?: string;
/** ISO 639-1 language code of the event (used in content translations). */
language?: string;
/** Event creation timestamp. */
created?: Date | null;
/** Event modified timestamp. */
modified?: Date | null;
/** Event status. */
status?: EventStatus$1;
/** RSVP or ticketing registration details. */
registration?: EventsRegistration;
/** "Add to calendar" URLs. */
calendarLinks?: CalendarLinks$1;
/** Event page URL components. */
eventPageUrl?: SiteUrl$1;
/** Event registration form. */
form?: Form$1;
/** Event dashboard summary of RSVP / ticket sales. */
dashboard?: Dashboard$1;
/** Instance ID of the site where event is hosted. */
instanceId?: string;
/** Guest list configuration. */
guestListConfig?: GuestListConfig$1;
/** Event creator user ID. */
userId?: string;
/** Event discussion feed. For internal use. */
feed?: EventsFeed;
/** Online conferencing details. */
onlineConferencing?: EventsOnlineConferencing;
/** SEO settings. */
seoSettings?: EventsSeoSettings;
/** Assigned contacts label key. */
assignedContactsLabel?: string | null;
/** Agenda details. */
agenda?: Agenda$1;
/** Categories this event is assigned to. */
categories?: Category$1[];
/** Visual settings for event. */
eventDisplaySettings?: EventDisplaySettings$1;
/**
* @internal
* @readonly
*/
customizableTickets?: boolean | null;
/**
* Labelling related data.
* @internal
*/
labellingSettings?: LabellingSettings$1;
}
interface Scheduling$1 {
/** Schedule configuration. */
config?: ScheduleConfig$1;
/** Formatted schedule representation. */
formatted?: string;
/** Formatted start date of the event (empty for TBD schedules). */
startDateFormatted?: string;
/** Formatted start time of the event (empty for TBD schedules). */
startTimeFormatted?: string;
/** Formatted end date of the event (empty for TBD schedules or when end date is hidden). */
endDateFormatted?: string;
/** Formatted end time of the event (empty for TBD schedules or when end date is hidden). */
endTimeFormatted?: string;
}
interface EventsRegistration {
/** Event type. */
type?: EventType$1;
/** Event registration status. */
status?: RegistrationStatus$1;
/** RSVP collection details. */
rsvpCollection?: RsvpCollection$1;
/** Ticketing details. */
ticketing?: Ticketing$1;
/** External registration details. */
external?: ExternalEvent$1;
/** Types of users allowed to register. */
restrictedTo?: VisitorType$1;
/** Initial event type which was set when creating an event. */
initialType?: EventType$1;
}
enum EventType$1 {
/** Type not available for this request fieldset */
NA_EVENT_TYPE = "NA_EVENT_TYPE",
/** Registration via RSVP */
RSVP = "RSVP",
/** Registration via ticket purchase */
TICKETS = "TICKETS",
/** External registration */
EXTERNAL = "EXTERNAL",
/** Registration not available */
NO_REGISTRATION = "NO_REGISTRATION"
}
enum RegistrationStatus$1 {
/** Registration status is not applicable */
NA_REGISTRATION_STATUS = "NA_REGISTRATION_STATUS",
/** Registration to event is closed */
CLOSED = "CLOSED",
/** Registration to event is closed manually */
CLOSED_MANUALLY = "CLOSED_MANUALLY",
/** Registration is open via RSVP */
OPEN_RSVP = "OPEN_RSVP",
/** Registration to event waitlist is open via RSVP */
OPEN_RSVP_WAITLIST = "OPEN_RSVP_WAITLIST",
/** Registration is open via ticket purchase */
OPEN_TICKETS = "OPEN_TICKETS",
/** Registration is open via external URL */
OPEN_EXTERNAL = "OPEN_EXTERNAL",
/** Registration will be open via RSVP */
SCHEDULED_RSVP = "SCHEDULED_RSVP"
}
interface RsvpCollection$1 {
/** RSVP collection configuration. */
config?: RsvpCollectionConfig$1;
}
interface RsvpCollectionConfig$1 {
/** Defines the supported RSVP statuses. */
rsvpStatusOptions?: RsvpStatusOptions$1;
/**
* Total guest limit available to register to the event.
* Additional guests per RSVP are counted towards total guests.
*/
limit?: number | null;
/** Whether a waitlist is opened when total guest limit is reached, allowing guests to create RSVP with WAITING RSVP status. */
waitlist?: boolean;
/** Registration start timestamp. */
startDate?: Date | null;
/** Registration end timestamp. */
endDate?: Date | null;
}
enum RsvpStatusOptions$1 {
/** Only YES RSVP status is available for RSVP registration */
YES_ONLY = "YES_ONLY",
/** YES and NO RSVP status options are available for the registration */
YES_AND_NO = "YES_AND_NO"
}
interface Ticketing$1 {
/**
* Deprecated.
* @deprecated
*/
lowestPrice?: string | null;
/**
* Deprecated.
* @deprecated
*/
highestPrice?: string | null;
/** Currency used in event transactions. */
currency?: string | null;
/** Ticketing configuration. */
config?: TicketingConfig$1;
/**
* Price of lowest priced ticket.
* @readonly
*/
lowestTicketPrice?: EventsMoney;
/**
* Price of highest priced ticket.
* @readonly
*/
highestTicketPrice?: EventsMoney;
/**
* Formatted price of lowest priced ticket.
* @readonly
*/
lowestTicketPriceFormatted?: string | null;
/**
* Formatted price of highest priced ticket.
* @readonly
*/
highestTicketPriceFormatted?: string | null;
/**
* Whether all tickets are sold for this event.
* @readonly
*/
soldOut?: boolean | null;
}
interface TicketingConfig$1 {
/** Whether the form must be filled out separately for each ticket. */
guestAssignedTickets?: boolean;
/** Tax configuration. */
taxConfig?: TaxConfig$1;
/** Limit of tickets that can be purchased per order, default 20. */
ticketLimitPerOrder?: number;
/**
* App Id for external ticket stock management.
* By default tickets stock is defined in TicketDefinition object.
* If defined then limitation from TicketDefinition is ignored.
* @internal
*/
stockManagerAppId?: string | null;
/** Duration for which the tickets being bought are reserved. */
reservationDurationInMinutes?: number | null;
}
interface TaxConfig$1 {
/** Tax application settings. */
type?: EventsTaxType;
/** Tax name. */
name?: string | null;
/** Tax rate (e.g.,`21.55`). */
rate?: string | null;
/** Applies taxes for donations, default true. */
appliesToDonations?: boolean | null;
}
enum EventsTaxType {
/** 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"
}
interface ExternalEvent$1 {
/** External event registration URL. */
registration?: string;
}
enum VisitorType$1 {
/** Site visitor (including member) */
VISITOR = "VISITOR",
/** Site member */
MEMBER = "MEMBER",
/** Site visitor or member */
VISITOR_OR_MEMBER = "VISITOR_OR_MEMBER"
}
interface CalendarLinks$1 {
/** "Add to Google calendar" URL. */
google?: string;
/** "Download ICS calendar file" URL. */
ics?: string;
}
/** Site URL components */
interface SiteUrl$1 {
/**
* Base URL. For premium sites, this will be the domain.
* For free sites, this would be site URL (e.g `mysite.wixsite.com/mysite`)
*/
base?: string;
/** The path to that page - e.g `/my-events/weekly-meetup-2` */
path?: string;
}
interface Dashboard$1 {
/** Guest RSVP summary. */
rsvpSummary?: RsvpSummary$1;
/**
* Summary of revenue and tickets sold.
* (Archived orders are not included).
*/
ticketingSummary?: TicketingSummary$1;
}
interface RsvpSummary$1 {
/** Total number of RSVPs. */
total?: number;
/** Number of RSVPs with status `YES`. */
yes?: number;
/** Number of RSVPs with status `NO`. */
no?: number;
/** Number of RSVPs in waitlist. */
waitlist?: number;
}
interface TicketingSummary$1 {
/** Number of tickets sold. */
tickets?: number;
/**
* Total revenue, excluding fees.
* (taxes and payment provider fees are not deducted.)
*/
revenue?: EventsMoney;
/** Whether currency is locked and cannot be changed (generally occurs after the first order in the specified currency has been created). */
currencyLocked?: boolean;
/** Number of orders placed. */
orders?: number;
/** Total balance of confirmed transactions. */
totalSales?: EventsMoney;
}
interface GuestListConfig$1 {
/** Whether members can see other members attending the event (defaults to true). */
publicGuestList?: boolean;
}
interface EventsFeed {
/** Event discussion feed token. */
token?: string;
}
interface EventsOnlineConferencing {
config?: OnlineConferencingConfig$1;
session?: EventsOnlineConferencingSession;
/**
* Configured conferencing provider name.
* @internal
* @readonly
*/
providerName?: string;
}
interface OnlineConferencingConfig$1 {
/**
* Whether online conferencing is enabled (not supported for TBD schedules).
* When enabled, links to join conferencing are generated and provided to guests.
*/
enabled?: boolean;
/** Conferencing provider ID. */
providerId?: string | null;
/** Conference type */
conferenceType?: ConferenceType$1;
}
enum ConferenceType$1 {
/** Everyone in the meeting can publish and subscribe video and audio. */
MEETING = "MEETING",
/** Guests can only subscribe to video and audio. */
WEBINAR = "WEBINAR"
}
interface EventsOnlineConferencingSession {
/**
* Link for event host to start the online conference session.
* @readonly
*/
hostLink?: string;
/**
* Link for guests to join the online conference session.
* @readonly
*/
guestLink?: string;
/**
* The password required to join online conferencing session (when relevant).
* @readonly
*/
password?: string | null;
/**
* Indicates that session was created successfully on providers side.
* @readonly
*/
sessionCreated?: boolean | null;
/**
* Unique session id
* @readonly
*/
sessionId?: string | null;
}
interface EventsSeoSettings {
/** URL slug */
slug?: string;
/** Advanced SEO data */
advancedSeoData?: SeoSchema$1;
/**
* Hidden from SEO Site Map
* @readonly
*/
hidden?: boolean | null;
}
interface Agenda$1 {
/** Whether the schedule is enabled for the event. */
enabled?: boolean;
/**
* Agenda page URL.
* @readonly
*/
pageUrl?: SiteUrl$1;
}
interface Category$1 {
/**
* Category ID.
* @readonly
*/
_id?: string;
/** Category name. */
name?: string;
/**
* Date and time when category was created.
* @readonly
*/
_createdDate?: Date | null;
/**
* Assigned events count. Deleted events are excluded.
* @internal
* @readonly
* @deprecated
*/
assignedEventsCount?: number | null;
/**
* The total number of draft and published events assigned to the category.
* @readonly
*/
counts?: CategoryCounts$1;
/**
* Category state. Possible values:
*
* `MANUAL`: Category is created manually by the user.
* `AUTO`: Category is created automatically.
* `RECURRING_EVENT`: Category is created automatically when publishing recurring events.
* `HIDDEN`: Category can't be seen.
*
* Default: `MANUAL`.
*
* **Note:** The WIX_EVENTS.MANAGE_AUTO_CATEGORIES permission scope is required to use states other than `MANUAL`.
*/
states?: State$1[];
/**
* Optionally client defined external ID.
* @internal
*/
externalId?: string | null;
}
interface CategoryCounts$1 {
/** Total number of draft events assigned to the category. */
assignedEventsCount?: number | null;
/** Total number of published events assigned to the category. Deleted events are excluded. */
assignedDraftEventsCount?: number | null;
}
enum State$1 {
/** Created manually by the user. */
MANUAL = "MANUAL",
/** Created automatically. */
AUTO = "AUTO",
/** Created when publishing recurring events. */
RECURRING_EVENT = "RECURRING_EVENT",
/** Category is hidden. */
HIDDEN = "HIDDEN",
/** Category is used to store component events. */
COMPONENT = "COMPONENT"
}
interface EventDisplaySettings$1 {
/** Whether event details button is hidden. Only available for events with no registration. */
hideEventDetailsButton?: boolean | null;
/** Disables event details page visibility. If event has an external registration configured visitors will be redirected from this page. */
hideEventDetailsPage?: boolean | null;
}
interface LabellingSettings$1 {
/**
* @internal
* @readonly
*/
assignedContactsLegacyLabelId?: string | null;
/**
* @internal
* @readonly
*/
assignedContactsLabelDeleted?: boolean | null;
}
interface Empty$1 {
}
interface EventUpdated$1 {
/** Event update timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event location. */
location?: EventsLocation;
/** Event schedule configuration. */
scheduleConfig?: ScheduleConfig$1;
/** Event title. */
title?: string;
/**
* Whether schedule configuration was updated.
* @deprecated
*/
scheduleConfigUpdated?: boolean;
/**
* The set of properties which were updated. For example 'title' or 'location'
* @internal
*/
fields?: string[];
/**
* Whether event has opened new spots with this update.
* @internal
*/
newSpotsOpened?: boolean | null;
/** Updated event */
event?: Event$1;
}
interface EventDeleted$1 {
/** 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;
/**
* Event categories.
* @internal
*/
categories?: string[];
}
interface EventCopied {
/** Event created timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event location. */
location?: EventsLocation;
/** Event schedule configuration. */
scheduleConfig?: ScheduleConfig$1;
/** Event title. */
title?: string;
/** Event creator user ID. */
userId?: string | null;
/** Event status. */
status?: EventStatus$1;
/** Instance ID. Indicates the original app instance which current event was derived from. */
derivedFromInstanceId?: string | null;
/** Event ID. Indicates the original event which current event was derived from. */
derivedFromEventId?: string | null;
/**
* Map of copied ticket definitions from original event.
* Key represents ticket def id in the original event.
* Value represents ticket def id in the newly created event.
*/
ticketDefinitions?: Record;
}
interface EventPublished {
/** Event publish timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event status. */
status?: EventStatus$1;
/**
* Event ID. Indicates the original event which current event was derived from.
* Can be used to track the original event and add missing information.
*/
derivedFromEventId?: string | null;
/** Event title. */
title?: string | null;
/** Event description. */
description?: string | null;
/** Event location. */
location?: EventsLocation;
/** Event scheduling. */
scheduling?: Scheduling$1;
/** Event page URL components. */
eventPageUrl?: SiteUrl$1;
/** RSVP or ticketing registration details. */
registration?: EventsRegistration;
}
interface EventCanceled$1 {
/** Event canceled timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event title */
title?: string;
/** Event creator user ID. */
userId?: string | null;
}
interface EventStarted {
/** Event start timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
}
interface EventEnded$1 {
/** Event end timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
}
interface EventReminder {
/** Reminder timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event location. */
location?: EventsLocation;
/** Event schedule configuration. */
scheduleConfig?: ScheduleConfig$1;
/** Event title. */
title?: string;
/** Event creator user ID. */
userId?: string | null;
/** Time until the event starts (currently, reminder is triggered 1 day before event starts). */
startsIn?: TimeDuration;
}
interface DomainEvent$1 extends DomainEventBodyOneOf$1 {
createdEvent?: EntityCreatedEvent$1;
updatedEvent?: EntityUpdatedEvent$1;
deletedEvent?: EntityDeletedEvent$1;
actionEvent?: ActionEvent$1;
/**
* 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 */
interface DomainEventBodyOneOf$1 {
createdEvent?: EntityCreatedEvent$1;
updatedEvent?: EntityUpdatedEvent$1;
deletedEvent?: EntityDeletedEvent$1;
actionEvent?: ActionEvent$1;
}
interface EntityCreatedEvent$1 {
entityAsJson?: string;
/**
* Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity
* @internal
*/
triggeredByUndelete?: boolean | null;
/** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */
restoreInfo?: RestoreInfo$1;
/**
* WIP
* @internal
*/
additionalMetadataAsJson?: string | null;
}
interface RestoreInfo$1 {
deletedDate?: Date | null;
}
interface EntityUpdatedEvent$1 {
/**
* 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;
/**
* This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard
* wont populate it / have any reference to it in the API.
* The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,
* the developer should send only the new (current) entity.
* An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big
* Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.
* @internal
* @deprecated
*/
previousEntityAsJson?: string | null;
/**
* WIP - This property will hold both names and previous values of the updated fields of the entity.
* For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)
* @internal
*/
modifiedFields?: Record;
/**
* WIP
* @internal
*/
additionalMetadataAsJson?: string | null;
}
interface EntityDeletedEvent$1 {
/**
* Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled
* @internal
*/
movedToTrash?: boolean | null;
/** Entity that was deleted */
deletedEntityAsJson?: string | null;
/**
* WIP
* @internal
*/
additionalMetadataAsJson?: string | null;
}
interface ActionEvent$1 {
bodyAsJson?: string;
}
interface MessageEnvelope$1 {
/** App instance ID. */
instanceId?: string | null;
/** Event type. */
eventType?: string;
/** The identification type and identity data. */
identity?: IdentificationData$1;
/** Stringify payload. */
data?: string;
}
interface IdentificationData$1 extends IdentificationDataIdOneOf$1 {
/** 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$1;
}
/** @oneof */
interface IdentificationDataIdOneOf$1 {
/** 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;
}
enum WebhookIdentityType$1 {
UNKNOWN = "UNKNOWN",
ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
MEMBER = "MEMBER",
WIX_USER = "WIX_USER",
APP = "APP"
}
/**
* Creates an event.
*
*
* The event includes a default registration form in the selected language, which consists of input fields for first name, last name, and email. See [Registration Form](https://www.wix.com/velo/reference/wix-events-v2/forms/introduction) for more information.
*
* You can create the event as a draft by setting the draft value to true. Otherwise, the event is published right away.
*
* The event is automatically set up to send daily summary reports of new guests to your business email.
* @param event - Event data.
* @public
* @requiredField event
* @requiredField event.dateAndTimeSettings
* @requiredField event.location
* @requiredField event.registration.initialType
* @requiredField event.title
* @param options - Optional fields.
* @permissionId WIX_EVENTS.MANAGE_EVENTS
* @adminMethod
* @returns Created event.
*/
function createEvent(event: V3Event, options?: CreateEventOptions): Promise;
interface CreateEventOptions {
/** Whether to create the event as a draft. */
draft?: boolean;
/** Predefined sets of fields to return. */
fields?: RequestedFields[];
}
/**
* Clones an event, including the registration form, notifications, multilingual translations and ticket configuration from the original event.
*
*
* The new event's date is automatically set to 14 days from the original event date.
* If an event with the same title already exists, the new event's title gets a sequence number. For example, if you clone an event named "Leather Crafting 101", the new event's title is "Leather Crafting 101 (1)". You can change the required entity field values while cloning an event.
* @param eventId - Event ID.
* @public
* @requiredField eventId
* @param options - Optional fields.
* @permissionId WIX_EVENTS.MANAGE_EVENTS
* @adminMethod
*/
function cloneEvent(eventId: string, options?: CloneEventOptions): Promise;
interface CloneEventOptions {
/** Field values to be changed when cloning the event. */
event?: V3Event;
/**
* Fields that are included in this parameter are updated, while all other fields stay the same. If paths are not defined, all field values from the `event` object are updated.
* @internal
*/
fieldmask?: string[];
/** Whether to clone the event as a draft. */
draft?: boolean;
/** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */
fields?: RequestedFields[];
}
/**
* Updates an event.
* @param _id - Event ID.
* @public
* @requiredField _id
* @param options - Optional fields.
* @permissionId WIX_EVENTS.MANAGE_EVENTS
* @adminMethod
* @returns Updated event.
*/
function updateEvent(_id: string, options?: UpdateEventOptions): Promise;
interface UpdateEventOptions {
/** Event to update. */
event: {
/**
* Event ID.
* @readonly
*/
_id?: string;
/** Event location. */
location?: Location$1;
/** Event date and time settings. */
dateAndTimeSettings?: DateAndTimeSettings$1;
/** Event title. */
title?: string | null;
/** Short description that appears under the event title. */
shortDescription?: string | null;
/**
* Detailed description of an event. You can enter the description using rich text format (add various types of markups, such as underlines, italics, bolding, color codes, bullet lists, and links by using HTML formatting tags).
* @deprecated Detailed description of an event.
*
* This field is deprecated. To create a description, see the flow in [introduction](https://dev.wix.com/docs/rest/business-solutions/events/events-v3/introduction).
* @replacedBy wix.events.v1.rich_content
* @targetRemovalDate 2025-06-01
*/
detailedDescription?: string | null;
/**
* Main event image.
* **Note:** This field is returned only when the `DETAILS` fieldset is included in the request.
*/
mainImage?: string;
/**
* Unique identifier of the event page. The naming is the same as the event title written in kebab case. For example, if your event title is "Leather Crafting 101", then the slug is "leather-crafting-101".
* @readonly
*/
slug?: string;
/**
* Date and time when the event was created.
* @readonly
*/
_createdDate?: Date | null;
/**
* Date and time when the event was updated.
* @readonly
*/
_updatedDate?: Date | null;
/**
* Event status. Possible values:
*
* - `UPCOMING`: The event is published and scheduled to start.
* - `STARTED`: The event has started.
* - `ENDED`: The event has ended.
* - `CANCELED`: The event is canceled.
* - `DRAFT`: The event is not published.
* @readonly
*/
status?: Status$1;
/**
* RSVP or ticketing registration details.
* **Note:** This field is returned only when the `REGISTRATION` fieldset is included in the request.
*/
registration?: Registration$1;
/**
* URLs that allow you to add an event to the Google calendar, or to download an [ICS calendar](https://icscalendar.com/) file.
* **Note:** This field is returned only when the `DETAILS` fieldset is included in the request.
* @readonly
*/
calendarUrls?: CalendarUrls;
/**
* Event page URL components.
* **Note:** This field is returned only when the `URLS` fieldset is included in the request.
*/
eventPageUrl?: string;
/**
* Event registration form.
* **Note:** This field is returned only when the `FORM` fieldset is included in the request.
*/
form?: Form$1;
/**
* Summary of RSVP or ticket sales.
* **Note:** This field is returned only when the `DASHBOARD` fieldset is included in the request and you have the "WIX_EVENTS.READ_EVENT_DASHBOARD" permissions.
*/
summaries?: Summaries;
/**
* Instance ID of the site where the event is hosted.
* @readonly
*/
instanceId?: string;
/** Guest list configuration. */
guestListSettings?: GuestListSettings;
/**
* ID of the user who created the event.
* @readonly
*/
userId?: string;
/**
* Event discussion feed. For internal use.
* @internal
*/
feed?: Feed$1;
/**
* Online conferencing details.
* **Note:** This field is returned only when the `ONLINE_CONFERENCING_SESSION` fieldset is included in the request and you have the "WIX_EVENTS.READ_ONLINE_CONFERENCING" permissions.
*/
onlineConferencing?: OnlineConferencing$1;
/**
* SEO settings.
* **Note:** This field is returned only when the `SEO_SETTINGS` fieldset is included in the request.
*/
seoSettings?: SeoSettings$1;
/**
* Assigned contacts label key.
* @readonly
*/
contactLabel?: string | null;
/**
* Event schedule details.
* **Note:** This field is returned only when the `AGENDA` fieldset is included in the request.
*/
agendaSettings?: AgendaSettings;
/**
* Event categories.
* @internal
*/
categories?: EventCategories;
/** Visual settings for event. */
eventDisplaySettings?: V3EventDisplaySettings;
/**
* True if ticket can be customised
* @internal
*/
customizableTickets?: boolean | null;
/**
* Labelling related data.
* @internal
*/
labellingSettings?: V3LabellingSettings;
};
/**
* Fields that are included in this parameter are updated, while all other fields stay the same. If paths are not defined, all field values from the `event` object are updated.
* @internal
*/
fieldmask?: string[];
/** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */
fields?: RequestedFields[];
}
/**
* Publishes a draft event to your live site. Once published, the event's status changes from `DRAFT` to `UPCOMING.`
*
*
* It's impossible to revert the `DRAFT` status after publishing. The only option is to clone the event, and then delete the original one.
* @param eventId - Event ID.
* @public
* @requiredField eventId
* @param options - Optional fields.
* @permissionId WIX_EVENTS.MANAGE_EVENTS
* @adminMethod
*/
function publishDraftEvent(eventId: string, options?: PublishDraftEventOptions): Promise;
interface PublishDraftEventOptions {
/** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */
fields?: RequestedFields[];
}
/**
* Cancels an event.
*
*
* After cancellation, registration for an event is closed. To reuse the event, [clone](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/cloneevent) and [publish](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/publishdraftevent) it again.
* If event cancellation notifications are enabled, canceling an event automatically triggers the sending of cancellation emails and/or push notifications to registered guests.
* @param eventId - Event ID.
* @public
* @requiredField eventId
* @param options - Optional fields.
* @permissionId WIX_EVENTS.MANAGE_EVENTS
* @adminMethod
*/
function cancelEvent(eventId: string, options?: CancelEventOptions): Promise;
interface CancelEventOptions {
/** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */
fields?: RequestedFields[];
}
/**
* Cancels multiple events that meet the given criteria.
*
*
* After cancellation, registration for an event is closed. To reuse the event, [clone](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/cloneevent) and [publish](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/publishdraftevent) it again.
* If event cancellation notifications are enabled, canceling an event automatically triggers the sending of cancellation emails and/or push notifications to registered guests.
* @public
* @requiredField options.filter.filter
* @param options - Optional fields.
* @permissionId WIX_EVENTS.MANAGE_EVENTS
* @adminMethod
*/
function bulkCancelEventsByFilter(options?: BulkCancelEventsByFilterOptions): Promise;
interface BulkCancelEventsByFilterOptions {
/** Filter. */
filter?: QueryV2$1;
}
/**
* Permanently deletes an event.
* You can retrieve the deleted event through a GDPR access request.
* @param eventId - Event ID.
* @public
* @requiredField eventId
* @permissionId WIX_EVENTS.MANAGE_EVENTS
* @adminMethod
*/
function deleteEvent(eventId: string): Promise;
/**
* Permanently deletes multiple events that meet the given criteria.
*
*
* You can retrieve the deleted events through a GDPR access request.
* @public
* @requiredField options.filter.filter
* @param options - Optional fields.
* @permissionId WIX_EVENTS.MANAGE_EVENTS
* @adminMethod
*/
function bulkDeleteEventsByFilter(options?: BulkDeleteEventsByFilterOptions): Promise;
interface BulkDeleteEventsByFilterOptions {
/** Query options. See [API Query Language](https://dev.wix.com/api/rest/getting-started/api-query-language) for more details. */
filter?: QueryV2$1;
}
/**
* Creates a query to retrieve a list of events.
*
*
* The `queryEvents()` function builds a query to retrieve a list of events and returns a [`EventsQueryBuilder`](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/eventsquerybuilder) object.
*
* The returned object contains the query definition, which is typically used to run the query using the [`find()`](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/eventsquerybuilder/find) function.
*
* You can refine the query by chaining `EventsQueryBuilder` functions onto the query. `EventsQueryBuilder` functions enable you to sort, filter, and control the results `queryEvents()` returns.
*
* `queryEvents()` runs with these `EventsQueryBuilder` defaults, which you can override:
*
* - [`skip(0)`](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/eventsquerybuilder/skip)
* - [`limit(50)`](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/eventsquerybuilder/limit)
* - [`descending("_createdDate")`](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/eventsquerybuilder/descending)
*
* The functions that are chained to `queryEvents()` are applied in the order they're called. For example, if you apply `ascending('title')` and then `descending('status')`, the results are sorted first by the `title`, and then, if there are multiple results with the same `title`, the items are sorted by `status`.
* @public
* @param options - Optional fields.
* @permissionId WIX_EVENTS.READ_EVENTS
*/
function queryEvents(options?: QueryEventsOptions): EventsQueryBuilder;
interface QueryEventsOptions {
/** Predefined sets of fields to return. */
fields?: RequestedFields[] | undefined;
/**
* Whether draft events should be returned in the response.
* **Note:** This parameter requires the `WIX_EVENTS.READ_DRAFT_EVENTS` permission.
*/
includeDrafts?: boolean | undefined;
}
interface QueryOffsetResult {
currentPage: number | undefined;
totalPages: number | undefined;
totalCount: number | undefined;
hasNext: () => boolean;
hasPrev: () => boolean;
length: number;
pageSize: number;
}
interface EventsQueryResult extends QueryOffsetResult {
items: V3Event[];
query: EventsQueryBuilder;
next: () => Promise;
prev: () => Promise;
}
interface EventsQueryBuilder {
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
eq: (propertyName: '_id' | 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | 'title' | 'slug' | '_createdDate' | '_updatedDate' | 'status' | 'registration.initialType' | 'userId', value: any) => EventsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
ne: (propertyName: '_id' | 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | 'title' | 'slug' | '_createdDate' | '_updatedDate' | 'status' | 'userId', value: any) => EventsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
ge: (propertyName: 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | '_createdDate' | '_updatedDate', value: any) => EventsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
gt: (propertyName: 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | '_createdDate' | '_updatedDate', value: any) => EventsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
le: (propertyName: 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | '_createdDate' | '_updatedDate', value: any) => EventsQueryBuilder;
/** @param propertyName - Property whose value is compared with `value`.
* @param value - Value to compare against.
*/
lt: (propertyName: 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | '_createdDate' | '_updatedDate', value: any) => EventsQueryBuilder;
in: (propertyName: '_id' | 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | 'title' | 'slug' | '_createdDate' | '_updatedDate' | 'status' | 'userId', value: any) => EventsQueryBuilder;
/** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */
ascending: (...propertyNames: Array<'_id' | 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | 'title' | 'slug' | '_createdDate' | '_updatedDate'>) => EventsQueryBuilder;
/** @param propertyNames - Properties used in the sort. To sort by multiple properties, pass properties as additional arguments. */
descending: (...propertyNames: Array<'_id' | 'dateAndTimeSettings.startDate' | 'dateAndTimeSettings.endDate' | 'title' | 'slug' | '_createdDate' | '_updatedDate'>) => EventsQueryBuilder;
/** @param limit - Number of items to return, which is also the `pageSize` of the results object. */
limit: (limit: number) => EventsQueryBuilder;
/** @param skip - Number of items to skip in the query results before returning the results. */
skip: (skip: number) => EventsQueryBuilder;
find: () => Promise;
}
/**
* Counts events by status.
* @public
* @param options - Optional fields.
* @permissionId WIX_EVENTS.READ_EVENTS
*/
function countEventsByStatus(options?: CountEventsByStatusOptions): Promise;
interface CountEventsByStatusOptions {
/** Filter object in the following format:
`"filter" : { "fieldName1": "value1" }`. */
filter?: Record | null;
/** Parameters to count events by. */
facet?: string[];
/**
* Whether draft events should be returned in the response.
* **Note:** This parameter requires the `WIX_EVENTS.READ_DRAFT_EVENTS` permission.
*/
includeDrafts?: boolean;
}
/**
* Retrieves a list of up to 100 events that belong to the same event category.
* @param categoryId - Category ID.
* @internal
* @requiredField categoryId
* @param options - Optional fields.
* @permissionId WIX_EVENTS.READ_EVENTS
*/
function listEventsByCategory(categoryId: string, options?: ListEventsByCategoryOptions): Promise;
interface ListEventsByCategoryOptions {
/** Paging options to limit and skip the number of items. */
paging?: Paging$1;
/** Predefined sets of fields to return. If both `fields` and `fieldsets` are sent in the request, the union of both lists is returned. */
fields?: RequestedFields[];
}
/**
* Retrieves an event by ID.
*
* To retrieve an event description, call [Get Rich Content](https://dev.wix.com/docs/rest/business-solutions/events/rich-content/get-rich-content).
* @param eventId - Event ID.
* @public
* @requiredField eventId
* @param options - Optional fields.
* @permissionId WIX_EVENTS.READ_EVENTS
* @returns Event.
*/
function getEvent(eventId: string | null, options?: GetEventOptions): Promise;
interface GetEventOptions {
fields?: RequestedFields[];
/**
* indicates whether full_address should be resolved
* @internal
*/
resolveFullAddress?: boolean;
}
/**
* Retrieves an event by the `slug` URL.
*
*
* The slug is the end of an event URL that refers to a specific event. For example, if an events' URL is `https://example.com/events/event/{my-event-slug}`, the slug is `my-event-slug`.
* @param slug - URL slug.
* @public
* @requiredField slug
* @param options - Optional fields.
* @permissionId WIX_EVENTS.READ_EVENTS
*/
function getEventBySlug(slug: string | null, options?: GetEventBySlugOptions): Promise;
interface GetEventBySlugOptions {
fields?: RequestedFields[];
/**
* indicates whether full_address should be resolved
* @internal
*/
resolveFullAddress?: boolean;
}
/**
* Finds an event by ID or URL slug.
*
*
* Unlike the [`getEvent`](https://www.wix.com/velo/reference/wix-events-v2/wixeventsv2/getevent) function, which returns a "not found" error, `findEvent()` returns an empty response when an event is not found.
* @internal
* @param options - Optional fields.
* @permissionId WIX_EVENTS.READ_EVENTS
*/
function findEvent(options?: FindEventOptions): Promise;
interface FindEventOptions extends FindEventRequestFindByOneOf {
/** Event ID. */
eventId?: string | null;
/** URL slug. */
slug?: string | null;
/** Predefined sets of fields to return. */
fields?: RequestedFields[];
}
type eventsV3Event_universal_d_V3Event = V3Event;
type eventsV3Event_universal_d_TimeDuration = TimeDuration;
type eventsV3Event_universal_d_RegistrationTypeType = RegistrationTypeType;
const eventsV3Event_universal_d_RegistrationTypeType: typeof RegistrationTypeType;
type eventsV3Event_universal_d_RegistrationStatusStatus = RegistrationStatusStatus;
const eventsV3Event_universal_d_RegistrationStatusStatus: typeof RegistrationStatusStatus;
type eventsV3Event_universal_d_RsvpRegistration = RsvpRegistration;
type eventsV3Event_universal_d_ResponseType = ResponseType;
const eventsV3Event_universal_d_ResponseType: typeof ResponseType;
type eventsV3Event_universal_d_TicketsRegistration = TicketsRegistration;
type eventsV3Event_universal_d_TaxSettings = TaxSettings;
type eventsV3Event_universal_d_ExternalRegistration = ExternalRegistration;
type eventsV3Event_universal_d_GuestTypeType = GuestTypeType;
const eventsV3Event_universal_d_GuestTypeType: typeof GuestTypeType;
type eventsV3Event_universal_d_InitialRegistrationTypeType = InitialRegistrationTypeType;
const eventsV3Event_universal_d_InitialRegistrationTypeType: typeof InitialRegistrationTypeType;
type eventsV3Event_universal_d_CalendarUrls = CalendarUrls;
type eventsV3Event_universal_d_Summaries = Summaries;
type eventsV3Event_universal_d_EventsMoney = EventsMoney;
type eventsV3Event_universal_d_Rsvps = Rsvps;
type eventsV3Event_universal_d_Tickets = Tickets;
type eventsV3Event_universal_d_GuestListSettings = GuestListSettings;
type eventsV3Event_universal_d_ConferenceTypeType = ConferenceTypeType;
const eventsV3Event_universal_d_ConferenceTypeType: typeof ConferenceTypeType;
type eventsV3Event_universal_d_AgendaSettings = AgendaSettings;
type eventsV3Event_universal_d_EventCategories = EventCategories;
type eventsV3Event_universal_d_EventCategory = EventCategory;
type eventsV3Event_universal_d_V3EventDisplaySettings = V3EventDisplaySettings;
type eventsV3Event_universal_d_V3LabellingSettings = V3LabellingSettings;
type eventsV3Event_universal_d_EventEventStarted = EventEventStarted;
type eventsV3Event_universal_d_EventEventEnded = EventEventEnded;
type eventsV3Event_universal_d_EventEventReminder = EventEventReminder;
type eventsV3Event_universal_d_EventEventPublished = EventEventPublished;
type eventsV3Event_universal_d_EventCloned = EventCloned;
type eventsV3Event_universal_d_EventEventCanceled = EventEventCanceled;
type eventsV3Event_universal_d_CreateEventRequest = CreateEventRequest;
type eventsV3Event_universal_d_RequestedFields = RequestedFields;
const eventsV3Event_universal_d_RequestedFields: typeof RequestedFields;
type eventsV3Event_universal_d_CreateEventResponse = CreateEventResponse;
type eventsV3Event_universal_d_CloneEventRequest = CloneEventRequest;
type eventsV3Event_universal_d_CloneEventResponse = CloneEventResponse;
type eventsV3Event_universal_d_UpdateEventRequest = UpdateEventRequest;
type eventsV3Event_universal_d_UpdateEventResponse = UpdateEventResponse;
type eventsV3Event_universal_d_PublishDraftEventRequest = PublishDraftEventRequest;
type eventsV3Event_universal_d_PublishDraftEventResponse = PublishDraftEventResponse;
type eventsV3Event_universal_d_CancelEventRequest = CancelEventRequest;
type eventsV3Event_universal_d_CancelEventResponse = CancelEventResponse;
type eventsV3Event_universal_d_BulkCancelEventsByFilterRequest = BulkCancelEventsByFilterRequest;
type eventsV3Event_universal_d_BulkCancelEventsByFilterResponse = BulkCancelEventsByFilterResponse;
type eventsV3Event_universal_d_DeleteEventRequest = DeleteEventRequest;
type eventsV3Event_universal_d_DeleteEventResponse = DeleteEventResponse;
type eventsV3Event_universal_d_BulkDeleteEventsByFilterRequest = BulkDeleteEventsByFilterRequest;
type eventsV3Event_universal_d_BulkDeleteEventsByFilterResponse = BulkDeleteEventsByFilterResponse;
type eventsV3Event_universal_d_QueryEventsRequest = QueryEventsRequest;
type eventsV3Event_universal_d_QueryEventsResponse = QueryEventsResponse;
type eventsV3Event_universal_d_ExportEventsRequest = ExportEventsRequest;
type eventsV3Event_universal_d_CommonQueryV2 = CommonQueryV2;
type eventsV3Event_universal_d_CommonQueryV2PagingMethodOneOf = CommonQueryV2PagingMethodOneOf;
type eventsV3Event_universal_d_CommonSorting = CommonSorting;
type eventsV3Event_universal_d_CommonSortOrder = CommonSortOrder;
const eventsV3Event_universal_d_CommonSortOrder: typeof CommonSortOrder;
type eventsV3Event_universal_d_CommonPaging = CommonPaging;
type eventsV3Event_universal_d_ExportEventsResponse = ExportEventsResponse;
type eventsV3Event_universal_d_CommonPagingMetadataV2 = CommonPagingMetadataV2;
type eventsV3Event_universal_d_CommonCursors = CommonCursors;
type eventsV3Event_universal_d_CountEventsByStatusRequest = CountEventsByStatusRequest;
type eventsV3Event_universal_d_CountEventsByStatusResponse = CountEventsByStatusResponse;
type eventsV3Event_universal_d_ListUserEventsRequest = ListUserEventsRequest;
type eventsV3Event_universal_d_UserFilter = UserFilter;
type eventsV3Event_universal_d_Relation = Relation;
const eventsV3Event_universal_d_Relation: typeof Relation;
type eventsV3Event_universal_d_ListUserEventsResponse = ListUserEventsResponse;
type eventsV3Event_universal_d_ListEventsByCategoryRequest = ListEventsByCategoryRequest;
type eventsV3Event_universal_d_ListEventsByCategoryResponse = ListEventsByCategoryResponse;
type eventsV3Event_universal_d_GetEventRequest = GetEventRequest;
type eventsV3Event_universal_d_GetEventResponse = GetEventResponse;
type eventsV3Event_universal_d_GetEventBySlugRequest = GetEventBySlugRequest;
type eventsV3Event_universal_d_GetEventBySlugResponse = GetEventBySlugResponse;
type eventsV3Event_universal_d_FindEventRequest = FindEventRequest;
type eventsV3Event_universal_d_FindEventRequestFindByOneOf = FindEventRequestFindByOneOf;
type eventsV3Event_universal_d_FindEventResponse = FindEventResponse;
type eventsV3Event_universal_d_EventsLocation = EventsLocation;
type eventsV3Event_universal_d_EventsRecurrences = EventsRecurrences;
type eventsV3Event_universal_d_EventsOccurrence = EventsOccurrence;
type eventsV3Event_universal_d_EventsRecurrenceStatusStatus = EventsRecurrenceStatusStatus;
const eventsV3Event_universal_d_EventsRecurrenceStatusStatus: typeof EventsRecurrenceStatusStatus;
type eventsV3Event_universal_d_EventsRegistration = EventsRegistration;
type eventsV3Event_universal_d_EventsTaxType = EventsTaxType;
const eventsV3Event_universal_d_EventsTaxType: typeof EventsTaxType;
type eventsV3Event_universal_d_EventsFeed = EventsFeed;
type eventsV3Event_universal_d_EventsOnlineConferencing = EventsOnlineConferencing;
type eventsV3Event_universal_d_EventsOnlineConferencingSession = EventsOnlineConferencingSession;
type eventsV3Event_universal_d_EventsSeoSettings = EventsSeoSettings;
type eventsV3Event_universal_d_EventCopied = EventCopied;
type eventsV3Event_universal_d_EventPublished = EventPublished;
type eventsV3Event_universal_d_EventStarted = EventStarted;
type eventsV3Event_universal_d_EventReminder = EventReminder;
const eventsV3Event_universal_d_createEvent: typeof createEvent;
type eventsV3Event_universal_d_CreateEventOptions = CreateEventOptions;
const eventsV3Event_universal_d_cloneEvent: typeof cloneEvent;
type eventsV3Event_universal_d_CloneEventOptions = CloneEventOptions;
const eventsV3Event_universal_d_updateEvent: typeof updateEvent;
type eventsV3Event_universal_d_UpdateEventOptions = UpdateEventOptions;
const eventsV3Event_universal_d_publishDraftEvent: typeof publishDraftEvent;
type eventsV3Event_universal_d_PublishDraftEventOptions = PublishDraftEventOptions;
const eventsV3Event_universal_d_cancelEvent: typeof cancelEvent;
type eventsV3Event_universal_d_CancelEventOptions = CancelEventOptions;
const eventsV3Event_universal_d_bulkCancelEventsByFilter: typeof bulkCancelEventsByFilter;
type eventsV3Event_universal_d_BulkCancelEventsByFilterOptions = BulkCancelEventsByFilterOptions;
const eventsV3Event_universal_d_deleteEvent: typeof deleteEvent;
const eventsV3Event_universal_d_bulkDeleteEventsByFilter: typeof bulkDeleteEventsByFilter;
type eventsV3Event_universal_d_BulkDeleteEventsByFilterOptions = BulkDeleteEventsByFilterOptions;
const eventsV3Event_universal_d_queryEvents: typeof queryEvents;
type eventsV3Event_universal_d_QueryEventsOptions = QueryEventsOptions;
type eventsV3Event_universal_d_EventsQueryResult = EventsQueryResult;
type eventsV3Event_universal_d_EventsQueryBuilder = EventsQueryBuilder;
const eventsV3Event_universal_d_countEventsByStatus: typeof countEventsByStatus;
type eventsV3Event_universal_d_CountEventsByStatusOptions = CountEventsByStatusOptions;
const eventsV3Event_universal_d_listEventsByCategory: typeof listEventsByCategory;
type eventsV3Event_universal_d_ListEventsByCategoryOptions = ListEventsByCategoryOptions;
const eventsV3Event_universal_d_getEvent: typeof getEvent;
type eventsV3Event_universal_d_GetEventOptions = GetEventOptions;
const eventsV3Event_universal_d_getEventBySlug: typeof getEventBySlug;
type eventsV3Event_universal_d_GetEventBySlugOptions = GetEventBySlugOptions;
const eventsV3Event_universal_d_findEvent: typeof findEvent;
type eventsV3Event_universal_d_FindEventOptions = FindEventOptions;
namespace eventsV3Event_universal_d {
export {
eventsV3Event_universal_d_V3Event as V3Event,
Location$1 as Location,
LocationType$1 as LocationType,
CommonAddress$1 as CommonAddress,
CommonAddressStreetOneOf$1 as CommonAddressStreetOneOf,
CommonStreetAddress$1 as CommonStreetAddress,
CommonAddressLocation$1 as CommonAddressLocation,
CommonSubdivision$1 as CommonSubdivision,
SubdivisionSubdivisionType$1 as SubdivisionSubdivisionType,
DateAndTimeSettings$1 as DateAndTimeSettings,
RecurrenceStatusStatus$1 as RecurrenceStatusStatus,
Recurrences$1 as Recurrences,
Occurrence$1 as Occurrence,
Formatted$1 as Formatted,
eventsV3Event_universal_d_TimeDuration as TimeDuration,
Status$1 as Status,
Registration$1 as Registration,
eventsV3Event_universal_d_RegistrationTypeType as RegistrationTypeType,
eventsV3Event_universal_d_RegistrationStatusStatus as RegistrationStatusStatus,
eventsV3Event_universal_d_RsvpRegistration as RsvpRegistration,
eventsV3Event_universal_d_ResponseType as ResponseType,
eventsV3Event_universal_d_TicketsRegistration as TicketsRegistration,
Money$1 as Money,
eventsV3Event_universal_d_TaxSettings as TaxSettings,
TaxType$1 as TaxType,
eventsV3Event_universal_d_ExternalRegistration as ExternalRegistration,
eventsV3Event_universal_d_GuestTypeType as GuestTypeType,
eventsV3Event_universal_d_InitialRegistrationTypeType as InitialRegistrationTypeType,
eventsV3Event_universal_d_CalendarUrls as CalendarUrls,
Form$1 as Form,
InputControl$1 as InputControl,
InputControlType$1 as InputControlType,
Input$1 as Input,
ValueType$1 as ValueType,
OptionSelection$1 as OptionSelection,
OptionSelectionSelectedOptionOneOf$1 as OptionSelectionSelectedOptionOneOf,
Label$1 as Label,
FormMessages$1 as FormMessages,
RsvpFormMessages$1 as RsvpFormMessages,
PositiveResponseConfirmation$1 as PositiveResponseConfirmation,
NegativeResponseConfirmation$1 as NegativeResponseConfirmation,
Positive$1 as Positive,
Negative$1 as Negative,
CheckoutFormMessages$1 as CheckoutFormMessages,
ResponseConfirmation$1 as ResponseConfirmation,
RegistrationClosedMessages$1 as RegistrationClosedMessages,
TicketsUnavailableMessages$1 as TicketsUnavailableMessages,
eventsV3Event_universal_d_Summaries as Summaries,
eventsV3Event_universal_d_EventsMoney as EventsMoney,
eventsV3Event_universal_d_Rsvps as Rsvps,
eventsV3Event_universal_d_Tickets as Tickets,
eventsV3Event_universal_d_GuestListSettings as GuestListSettings,
Feed$1 as Feed,
OnlineConferencing$1 as OnlineConferencing,
eventsV3Event_universal_d_ConferenceTypeType as ConferenceTypeType,
OnlineConferencingSession$1 as OnlineConferencingSession,
SeoSettings$1 as SeoSettings,
SeoSchema$1 as SeoSchema,
Keyword$1 as Keyword,
Tag$1 as Tag,
Settings$1 as Settings,
eventsV3Event_universal_d_AgendaSettings as AgendaSettings,
eventsV3Event_universal_d_EventCategories as EventCategories,
eventsV3Event_universal_d_EventCategory as EventCategory,
Type$1 as Type,
eventsV3Event_universal_d_V3EventDisplaySettings as V3EventDisplaySettings,
eventsV3Event_universal_d_V3LabellingSettings as V3LabellingSettings,
eventsV3Event_universal_d_EventEventStarted as EventEventStarted,
eventsV3Event_universal_d_EventEventEnded as EventEventEnded,
eventsV3Event_universal_d_EventEventReminder as EventEventReminder,
eventsV3Event_universal_d_EventEventPublished as EventEventPublished,
eventsV3Event_universal_d_EventCloned as EventCloned,
eventsV3Event_universal_d_EventEventCanceled as EventEventCanceled,
eventsV3Event_universal_d_CreateEventRequest as CreateEventRequest,
eventsV3Event_universal_d_RequestedFields as RequestedFields,
eventsV3Event_universal_d_CreateEventResponse as CreateEventResponse,
eventsV3Event_universal_d_CloneEventRequest as CloneEventRequest,
eventsV3Event_universal_d_CloneEventResponse as CloneEventResponse,
eventsV3Event_universal_d_UpdateEventRequest as UpdateEventRequest,
eventsV3Event_universal_d_UpdateEventResponse as UpdateEventResponse,
eventsV3Event_universal_d_PublishDraftEventRequest as PublishDraftEventRequest,
eventsV3Event_universal_d_PublishDraftEventResponse as PublishDraftEventResponse,
eventsV3Event_universal_d_CancelEventRequest as CancelEventRequest,
eventsV3Event_universal_d_CancelEventResponse as CancelEventResponse,
eventsV3Event_universal_d_BulkCancelEventsByFilterRequest as BulkCancelEventsByFilterRequest,
QueryV2$1 as QueryV2,
QueryV2PagingMethodOneOf$1 as QueryV2PagingMethodOneOf,
Sorting$1 as Sorting,
SortOrder$1 as SortOrder,
Paging$1 as Paging,
eventsV3Event_universal_d_BulkCancelEventsByFilterResponse as BulkCancelEventsByFilterResponse,
eventsV3Event_universal_d_DeleteEventRequest as DeleteEventRequest,
eventsV3Event_universal_d_DeleteEventResponse as DeleteEventResponse,
eventsV3Event_universal_d_BulkDeleteEventsByFilterRequest as BulkDeleteEventsByFilterRequest,
eventsV3Event_universal_d_BulkDeleteEventsByFilterResponse as BulkDeleteEventsByFilterResponse,
eventsV3Event_universal_d_QueryEventsRequest as QueryEventsRequest,
eventsV3Event_universal_d_QueryEventsResponse as QueryEventsResponse,
PagingMetadataV2$1 as PagingMetadataV2,
Cursors$1 as Cursors,
eventsV3Event_universal_d_ExportEventsRequest as ExportEventsRequest,
eventsV3Event_universal_d_CommonQueryV2 as CommonQueryV2,
eventsV3Event_universal_d_CommonQueryV2PagingMethodOneOf as CommonQueryV2PagingMethodOneOf,
eventsV3Event_universal_d_CommonSorting as CommonSorting,
eventsV3Event_universal_d_CommonSortOrder as CommonSortOrder,
eventsV3Event_universal_d_CommonPaging as CommonPaging,
CursorPaging$1 as CursorPaging,
eventsV3Event_universal_d_ExportEventsResponse as ExportEventsResponse,
eventsV3Event_universal_d_CommonPagingMetadataV2 as CommonPagingMetadataV2,
eventsV3Event_universal_d_CommonCursors as CommonCursors,
eventsV3Event_universal_d_CountEventsByStatusRequest as CountEventsByStatusRequest,
eventsV3Event_universal_d_CountEventsByStatusResponse as CountEventsByStatusResponse,
FacetCounts$1 as FacetCounts,
eventsV3Event_universal_d_ListUserEventsRequest as ListUserEventsRequest,
eventsV3Event_universal_d_UserFilter as UserFilter,
eventsV3Event_universal_d_Relation as Relation,
eventsV3Event_universal_d_ListUserEventsResponse as ListUserEventsResponse,
eventsV3Event_universal_d_ListEventsByCategoryRequest as ListEventsByCategoryRequest,
eventsV3Event_universal_d_ListEventsByCategoryResponse as ListEventsByCategoryResponse,
eventsV3Event_universal_d_GetEventRequest as GetEventRequest,
eventsV3Event_universal_d_GetEventResponse as GetEventResponse,
eventsV3Event_universal_d_GetEventBySlugRequest as GetEventBySlugRequest,
eventsV3Event_universal_d_GetEventBySlugResponse as GetEventBySlugResponse,
eventsV3Event_universal_d_FindEventRequest as FindEventRequest,
eventsV3Event_universal_d_FindEventRequestFindByOneOf as FindEventRequestFindByOneOf,
eventsV3Event_universal_d_FindEventResponse as FindEventResponse,
EventCreated$1 as EventCreated,
eventsV3Event_universal_d_EventsLocation as EventsLocation,
MapCoordinates$1 as MapCoordinates,
LocationLocationType$1 as LocationLocationType,
Address$1 as Address,
AddressStreetOneOf$1 as AddressStreetOneOf,
StreetAddress$1 as StreetAddress,
AddressLocation$1 as AddressLocation,
Subdivision$1 as Subdivision,
SubdivisionType$1 as SubdivisionType,
ScheduleConfig$1 as ScheduleConfig,
eventsV3Event_universal_d_EventsRecurrences as EventsRecurrences,
eventsV3Event_universal_d_EventsOccurrence as EventsOccurrence,
eventsV3Event_universal_d_EventsRecurrenceStatusStatus as EventsRecurrenceStatusStatus,
EventStatus$1 as EventStatus,
Event$1 as Event,
Scheduling$1 as Scheduling,
eventsV3Event_universal_d_EventsRegistration as EventsRegistration,
EventType$1 as EventType,
RegistrationStatus$1 as RegistrationStatus,
RsvpCollection$1 as RsvpCollection,
RsvpCollectionConfig$1 as RsvpCollectionConfig,
RsvpStatusOptions$1 as RsvpStatusOptions,
Ticketing$1 as Ticketing,
TicketingConfig$1 as TicketingConfig,
TaxConfig$1 as TaxConfig,
eventsV3Event_universal_d_EventsTaxType as EventsTaxType,
ExternalEvent$1 as ExternalEvent,
VisitorType$1 as VisitorType,
CalendarLinks$1 as CalendarLinks,
SiteUrl$1 as SiteUrl,
Dashboard$1 as Dashboard,
RsvpSummary$1 as RsvpSummary,
TicketingSummary$1 as TicketingSummary,
GuestListConfig$1 as GuestListConfig,
eventsV3Event_universal_d_EventsFeed as EventsFeed,
eventsV3Event_universal_d_EventsOnlineConferencing as EventsOnlineConferencing,
OnlineConferencingConfig$1 as OnlineConferencingConfig,
ConferenceType$1 as ConferenceType,
eventsV3Event_universal_d_EventsOnlineConferencingSession as EventsOnlineConferencingSession,
eventsV3Event_universal_d_EventsSeoSettings as EventsSeoSettings,
Agenda$1 as Agenda,
Category$1 as Category,
CategoryCounts$1 as CategoryCounts,
State$1 as State,
EventDisplaySettings$1 as EventDisplaySettings,
LabellingSettings$1 as LabellingSettings,
Empty$1 as Empty,
EventUpdated$1 as EventUpdated,
EventDeleted$1 as EventDeleted,
eventsV3Event_universal_d_EventCopied as EventCopied,
eventsV3Event_universal_d_EventPublished as EventPublished,
EventCanceled$1 as EventCanceled,
eventsV3Event_universal_d_EventStarted as EventStarted,
EventEnded$1 as EventEnded,
eventsV3Event_universal_d_EventReminder as EventReminder,
DomainEvent$1 as DomainEvent,
DomainEventBodyOneOf$1 as DomainEventBodyOneOf,
EntityCreatedEvent$1 as EntityCreatedEvent,
RestoreInfo$1 as RestoreInfo,
EntityUpdatedEvent$1 as EntityUpdatedEvent,
EntityDeletedEvent$1 as EntityDeletedEvent,
ActionEvent$1 as ActionEvent,
MessageEnvelope$1 as MessageEnvelope,
IdentificationData$1 as IdentificationData,
IdentificationDataIdOneOf$1 as IdentificationDataIdOneOf,
WebhookIdentityType$1 as WebhookIdentityType,
eventsV3Event_universal_d_createEvent as createEvent,
eventsV3Event_universal_d_CreateEventOptions as CreateEventOptions,
eventsV3Event_universal_d_cloneEvent as cloneEvent,
eventsV3Event_universal_d_CloneEventOptions as CloneEventOptions,
eventsV3Event_universal_d_updateEvent as updateEvent,
eventsV3Event_universal_d_UpdateEventOptions as UpdateEventOptions,
eventsV3Event_universal_d_publishDraftEvent as publishDraftEvent,
eventsV3Event_universal_d_PublishDraftEventOptions as PublishDraftEventOptions,
eventsV3Event_universal_d_cancelEvent as cancelEvent,
eventsV3Event_universal_d_CancelEventOptions as CancelEventOptions,
eventsV3Event_universal_d_bulkCancelEventsByFilter as bulkCancelEventsByFilter,
eventsV3Event_universal_d_BulkCancelEventsByFilterOptions as BulkCancelEventsByFilterOptions,
eventsV3Event_universal_d_deleteEvent as deleteEvent,
eventsV3Event_universal_d_bulkDeleteEventsByFilter as bulkDeleteEventsByFilter,
eventsV3Event_universal_d_BulkDeleteEventsByFilterOptions as BulkDeleteEventsByFilterOptions,
eventsV3Event_universal_d_queryEvents as queryEvents,
eventsV3Event_universal_d_QueryEventsOptions as QueryEventsOptions,
eventsV3Event_universal_d_EventsQueryResult as EventsQueryResult,
eventsV3Event_universal_d_EventsQueryBuilder as EventsQueryBuilder,
eventsV3Event_universal_d_countEventsByStatus as countEventsByStatus,
eventsV3Event_universal_d_CountEventsByStatusOptions as CountEventsByStatusOptions,
eventsV3Event_universal_d_listEventsByCategory as listEventsByCategory,
eventsV3Event_universal_d_ListEventsByCategoryOptions as ListEventsByCategoryOptions,
eventsV3Event_universal_d_getEvent as getEvent,
eventsV3Event_universal_d_GetEventOptions as GetEventOptions,
eventsV3Event_universal_d_getEventBySlug as getEventBySlug,
eventsV3Event_universal_d_GetEventBySlugOptions as GetEventBySlugOptions,
eventsV3Event_universal_d_findEvent as findEvent,
eventsV3Event_universal_d_FindEventOptions as FindEventOptions,
};
}
interface TicketDefinition {
/**
* Ticket definition ID.
* @readonly
*/
_id?: string | null;
/** Event ID to which the ticket definition belongs. */
eventId?: string | null;
/**
* Revision number, which increments by 1 each time the ticket definition is updated. To prevent conflicting changes, the existing revision must be used when updating a ticket definition.
* @readonly
*/
revision?: string | null;
/**
* Date and time when the ticket definition was created.
* @readonly
*/
_createdDate?: Date | null;
/**
* Date and time when the ticket definition was updated.
* @readonly
*/
_updatedDate?: Date | null;
/** Ticket definition name. */
name?: string | null;
/** Ticket definition description. */
description?: string | null;
/** Ticket definition policy. */
policyText?: string | null;
/** Whether this ticket definition is hidden to site visitors and can't be purchased. */
hidden?: boolean;
/**
* Whether the ticket has a limited maximum quantity.
* @readonly
*/
limited?: boolean;
/** The maximum number of tickets that can be sold for the event when first defining the event. If a seating map is defined after you created a ticket definition, this property is ignored and `actualLimit` is used instead. */
initialLimit?: number | null;
/**
* The maximum number of tickets that can be sold for the event after adding a seating map to the event. If no seating map is defined, this property is the same as `initialLimit`.
* @readonly
*/
actualLimit?: number | null;
/** Ticket pricing method. */
pricingMethod?: PricingMethod;
/** Whether fee is included in the ticket price or customer pays it additionally at checkout. */
feeType?: Type;
/** Ticket sale period. */
salePeriod?: SalePeriod;
/**
* Ticket sale status.
* @readonly
*/
saleStatus?: SaleStatusEnumStatus;
/**
* Ticket sales information.
* **Note:** This field is only returned when `SALES_DETAILS` fieldset is included in the request.
*/
salesDetails?: SalesDetails;
/**
* For proxy.
* @internal
* @readonly
*/
sortIndex?: number;
/**
* Number of tickets that can be purchased per checkout.
* **Note:** If the `actuaLimit` or `salesDetails.unsoldCount` field value is smaller than `limitPerCheckout`, then it overrides this field.
* @readonly
*/
limitPerCheckout?: number | null;
/**
* Event created timestamp in `yyyy-mm-ddThh:mm:sssZ` format.
* @internal
* @readonly
*/
eventCreatedDate?: Date | null;
/** Data extensions. */
extendedFields?: ExtendedFields;
/**
* Associated event information.
* **Note:** This field is only returned when `EVENT_DETAILS` fieldset is included in the request.
*/
eventDetails?: EventDetails;
}
interface SalePeriod {
/** Ticket sale start timestamp. */
startDate?: Date | null;
/** Ticket sale end timestamp. */
endDate?: Date | null;
/** Whether to display the ticket if it's not available to buy. */
displayNotOnSale?: boolean;
}
interface PricingMethod extends PricingMethodPriceOneOf {
/** Same ticket price for everyone. */
fixedPrice?: CommonMoney;
/** Guests choose how much they'd like to pay for the ticket. You can set the minimum price, or make the ticket free(enter `0` in the request). The price can be updated to a higher amount by a guest during the checkout. */
guestPrice?: CommonMoney;
/** Sets of various ticket prices. For example, you can charge different prices for children and adults. */
pricingOptions?: PricingOptions;
/**
* Ticket price type.
* @readonly
*/
pricingType?: PricingTypeEnumType;
/**
* Whether the ticket is free. To create a free ticket, enter `0` in the `pricingMethod.fixedPrice.value` field.
* @readonly
*/
free?: boolean;
}
/** @oneof */
interface PricingMethodPriceOneOf {
/** Same ticket price for everyone. */
fixedPrice?: CommonMoney;
/** Guests choose how much they'd like to pay for the ticket. You can set the minimum price, or make the ticket free(enter `0` in the request). The price can be updated to a higher amount by a guest during the checkout. */
guestPrice?: CommonMoney;
/** Sets of various ticket prices. For example, you can charge different prices for children and adults. */
pricingOptions?: PricingOptions;
}
/**
* Money.
* Default format to use. Sufficiently compliant with majority of standards: w3c, ISO 4217, ISO 20022, ISO 8583:2003.
*/
interface CommonMoney {
/** Monetary amount. Decimal string with a period as a decimal separator (e.g., 3.99). Optionally, a single (-), to indicate that the amount is negative. */
value?: string;
/** Currency code. Must be a valid [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) currency code (e.g., USD). */
currency?: string;
}
interface PricingOptions {
/** Ticket price option details. */
optionDetails?: OptionDetails[];
}
interface OptionDetails {
/** Ticket price option ID. */
optionId?: string | null;
/** Ticket price option name, such as "Child Ticket". */
name?: string | null;
/** Ticket price. */
price?: CommonMoney;
}
enum PricingTypeEnumType {
/** Undefined pricing type. */
UNKNOWN_PRICING_TYPE = "UNKNOWN_PRICING_TYPE",
/** All money goes to a seller. Applies to all ticket pricing methods except for `guestPrice`. */
STANDARD = "STANDARD",
/** All collected money is a donation. This pricing type is automatically assigned when you select the `guestPrice` pricing method. */
DONATION = "DONATION"
}
enum Type {
/** Unknown fee type. */
UNKNOWN_FEE_TYPE = "UNKNOWN_FEE_TYPE",
/** The fee is deducted from the ticket price for a seller. For example, if you're selling tickets for $10, then a ticket service fee of $0.25 will be deducted from the price and you'll get $9.75. */
FEE_INCLUDED = "FEE_INCLUDED",
/** The fee is shown in addition to the ticket price at checkout and a guest pays the fee. For example, if you sell tickets for $10, a customer will see a ticket service fee of $0.25 and will pay $10.25 in total. */
FEE_ADDED_AT_CHECKOUT = "FEE_ADDED_AT_CHECKOUT",
/** Ticket service fee is not collected. Available only for free tickets and legacy users. */
NO_FEE = "NO_FEE"
}
enum SaleStatusEnumStatus {
/** Undefined sale status. */
UNKNOWN_SALE_STATUS = "UNKNOWN_SALE_STATUS",
/** Tickets are not on sale yet. */
SALE_SCHEDULED = "SALE_SCHEDULED",
/** Tickets are on sale. */
SALE_STARTED = "SALE_STARTED",
/** Tickets are not on sale. */
SALE_ENDED = "SALE_ENDED"
}
interface SalesDetails {
/**
* Number of tickets that have not been purchased yet. The field is `null` if the ticket quantity is unlimited.
* @readonly
*/
unsoldCount?: number | null;
/**
* Number of purchased tickets.
* @readonly
*/
soldCount?: number | null;
/**
* Number of reserved tickets.
* @readonly
*/
reservedCount?: number | null;
/**
* Whether the tickets are sold out.
* @readonly
*/
soldOut?: boolean | null;
}
interface ExtendedFields {
/**
* Extended field data. Each key corresponds to the namespace of the app that created the extended fields.
* The value of each key is structured according to the schema defined when the extended fields were configured.
*
* You can only access fields for which you have the appropriate permissions.
*
* Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields).
*/
namespaces?: Record>;
}
interface EventDetails {
/**
* Event title.
* @readonly
*/
title?: string | null;
/**
* Event short description.
* @readonly
*/
shortDescription?: string | null;
/**
* Event location.
* @readonly
*/
location?: V3Location;
/**
* Event date and time settings.
* @readonly
*/
dateAndTimeSettings?: DateAndTimeSettings;
/**
* Event page URL components.
* @readonly
*/
eventPageUrl?: string;
/**
* Event status.
* @readonly
*/
status?: EventStatusStatus;
}
interface V3Location {
/** 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?: LocationLocationType;
/** Exact location address. */
address?: CommonAddress;
/** Whether the event location is TBD. */
locationTbd?: boolean | null;
}
enum LocationLocationType {
/** 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 */
interface CommonAddress extends CommonAddressStreetOneOf {
/** Street address. */
streetAddress?: CommonStreetAddress;
/** Primary address information (street and building number). */
addressLine1?: 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;
/**
* A string containing the full address of this location.
* @internal
*/
formatted?: string | null;
/**
* Coordinates of the physical address.
* @internal
*/
location?: CommonAddressLocation;
/**
* Country full name.
* @internal
*/
countryFullname?: string | null;
/**
* Subdivision full name.
* @internal
*/
subdivisionFullname?: string | null;
/**
* Multi-level subdivisions from top to bottom.
* @internal
*/
subdivisions?: CommonSubdivision[];
}
/** @oneof */
interface CommonAddressStreetOneOf {
/** Street address. */
streetAddress?: CommonStreetAddress;
/** Primary address information (street and building number). */
addressLine?: string | null;
}
interface CommonStreetAddress {
/** Street number. */
number?: string;
/** Street name. */
name?: string;
/**
* Apartment number.
* @internal
*/
apt?: string;
/**
* Optional address line 1
* @internal
*/
formattedAddressLine?: string | null;
}
interface CommonAddressLocation {
/** Address latitude coordinates. */
latitude?: number | null;
/** Address longitude coordinates. */
longitude?: number | null;
}
interface CommonSubdivision {
/** Short subdivision code. */
code?: string;
/** Subdivision full name. */
name?: string;
/**
* Subdivision level
* @internal
*/
type?: SubdivisionSubdivisionType;
/**
* Free text description of subdivision type.
* @internal
*/
typeInfo?: string | null;
}
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"
}
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?: V3Recurrences;
/** Formatted date and time settings. */
formatted?: Formatted;
}
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"
}
interface V3Recurrences {
/** Individual event dates. */
individualEventDates?: V3Occurrence[];
/**
* Recurring event category ID.
* @readonly
*/
categoryId?: string | null;
}
interface V3Occurrence {
/** 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;
}
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;
}
enum EventStatusStatus {
/** 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"
}
interface SalePeriodUpdated {
/** Ticket definition sale period after update. */
afterUpdate?: SalePeriod;
}
interface TicketDefinitionSaleStarted {
/** Ticket definition. */
ticketDefinition?: TicketDefinition;
}
interface TicketDefinitionSaleEnded {
/** Ticket definition. */
ticketDefinition?: TicketDefinition;
}
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 */
interface DomainEventBodyOneOf {
createdEvent?: EntityCreatedEvent;
updatedEvent?: EntityUpdatedEvent;
deletedEvent?: EntityDeletedEvent;
actionEvent?: ActionEvent;
}
interface EntityCreatedEvent {
entityAsJson?: string;
/**
* Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity
* @internal
*/
triggeredByUndelete?: boolean | null;
/** Indicates the event was triggered by a restore-from-trashbin operation for a previously deleted entity */
restoreInfo?: RestoreInfo;
/**
* WIP
* @internal
*/
additionalMetadataAsJson?: string | null;
}
interface RestoreInfo {
deletedDate?: Date | null;
}
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;
/**
* This field is currently part of the of the EntityUpdatedEvent msg, but scala/node libraries which implements the domain events standard
* wont populate it / have any reference to it in the API.
* The main reason for it is that fetching the old entity from the DB will have a performance hit on an update operation so unless truly needed,
* the developer should send only the new (current) entity.
* An additional reason is not wanting to send this additional entity over the wire (kafka) since in some cases it can be really big
* Developers that must reflect the old entity will have to implement their own domain event sender mechanism which will follow the DomainEvent proto message.
* @internal
* @deprecated
*/
previousEntityAsJson?: string | null;
/**
* WIP - This property will hold both names and previous values of the updated fields of the entity.
* For more details please see [adr](https://docs.google.com/document/d/1PdqsOM20Ph2HAkmx8zvUnzzk3Sekp3BR9h34wSvsRnI/edit#heading=h.phlw87mh2imx) or [issue](https://github.com/wix-private/nile-tracker/issues/363)
* @internal
*/
modifiedFields?: Record;
/**
* WIP
* @internal
*/
additionalMetadataAsJson?: string | null;
}
interface EntityDeletedEvent {
/**
* Indicates if the entity is sent to trash-bin. only available when trash-bin is enabled
* @internal
*/
movedToTrash?: boolean | null;
/** Entity that was deleted */
deletedEntityAsJson?: string | null;
/**
* WIP
* @internal
*/
additionalMetadataAsJson?: string | null;
}
interface ActionEvent {
bodyAsJson?: string;
}
interface MessageEnvelope {
/** App instance ID. */
instanceId?: string | null;
/** Event type. */
eventType?: string;
/** The identification type and identity data. */
identity?: IdentificationData;
/** Stringify payload. */
data?: string;
}
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 */
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;
}
enum WebhookIdentityType {
UNKNOWN = "UNKNOWN",
ANONYMOUS_VISITOR = "ANONYMOUS_VISITOR",
MEMBER = "MEMBER",
WIX_USER = "WIX_USER",
APP = "APP"
}
interface InvalidateCache extends InvalidateCacheGetByOneOf {
/** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */
metaSiteId?: string;
/** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */
siteId?: string;
/** Invalidate by App */
app?: App;
/** Invalidate by page id */
page?: Page;
/** Invalidate by URI path */
uri?: URI;
/** Invalidate by file (for media files such as PDFs) */
file?: File;
/** tell us why you're invalidating the cache. You don't need to add your app name */
reason?: string | null;
/** Is local DS */
localDc?: boolean;
hardPurge?: boolean;
}
/** @oneof */
interface InvalidateCacheGetByOneOf {
/** Invalidate by msId. NOT recommended, as this will invalidate the entire site cache! */
metaSiteId?: string;
/** Invalidate by Site ID. NOT recommended, as this will invalidate the entire site cache! */
siteId?: string;
/** Invalidate by App */
app?: App;
/** Invalidate by page id */
page?: Page;
/** Invalidate by URI path */
uri?: URI;
/** Invalidate by file (for media files such as PDFs) */
file?: File;
}
interface App {
/** The AppDefId */
appDefId?: string;
/** The instance Id */
instanceId?: string;
}
interface Page {
/** the msid the page is on */
metaSiteId?: string;
/** Invalidate by Page ID */
pageId?: string;
}
interface URI {
/** the msid the URI is on */
metaSiteId?: string;
/** URI path to invalidate (e.g. page/my/path) - without leading/trailing slashes */
uriPath?: string;
}
interface File {
/** the msid the file is related to */
metaSiteId?: string;
/** Invalidate by filename (for media files such as PDFs) */
fileName?: string;
}
interface GetTicketDefinitionSummaryRequest {
/** Ticket definition id. */
ticketDefinitionId?: string | null;
}
interface GetTicketDefinitionSummaryResponse {
/** Summary. */
summary?: TicketDefinitionSummary;
}
interface TicketDefinitionSummary {
/**
* Ticket definition ID.
* @readonly
*/
definitionId?: string | null;
/**
* Event ID to which the ticket definition summary belongs.
* @readonly
*/
eventId?: string | null;
/**
* Date and time of the ticket definition summary latest update in `yyyy-mm-ddThh:mm:sssZ` format.
* @readonly
*/
_updatedDate?: Date | null;
/**
* Reserved count.
* @readonly
*/
reservedCount?: number;
/**
* Sold count.
* @readonly
*/
soldCount?: number;
/**
* Paid exists.
* @readonly
*/
paidExists?: boolean;
}
interface ListEventTicketingSummaryRequest {
/** Event ID. */
eventId?: string[];
/**
* Consistent read.
* @internal
*/
consistentRead?: boolean | null;
}
interface ListEventTicketingSummaryResponse {
/** Ticketing summaries. */
summaries?: EventTicketingSummary[];
}
interface EventTicketingSummary {
/**
* Event ID to which the ticketing summary belongs.
* @readonly
*/
eventId?: string | null;
/**
* Date and time of the ticketing summary latest update in `yyyy-mm-ddThh:mm:sssZ` format.
* @readonly
*/
_updatedDate?: Date | null;
/**
* Whether all tickets are sold for this event.
* @readonly
*/
soldOut?: boolean | null;
/**
* Price of lowest priced ticket.
* @readonly
*/
lowestTicketPrice?: CommonMoney;
/**
* Price of highest priced ticket.
* @readonly
*/
highestTicketPrice?: CommonMoney;
/**
* Currency used in event transactions.
* @readonly
*/
currency?: string | null;
/**
* Formatted price of lowest priced ticket.
* @readonly
*/
lowestTicketPriceFormatted?: string | null;
/**
* Formatted price of highest priced ticket.
* @readonly
*/
highestTicketPriceFormatted?: string | null;
}
interface Empty {
}
interface ReservationCreated {
/** Reservation created timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/**
* Reservation ID.
* Can be used to retrieve a reservation invoice.
*/
reservationId?: string;
/** Reservation expiration timestamp. */
expires?: Date | null;
/** Reservation status. */
status?: ReservationStatus;
/** Reservation ticket quantities. */
quantities?: TicketQuantity[];
/** Reservation update timestamp. */
_updatedDate?: Date | null;
/** Reservation counts. */
counts?: ReservationCount[];
}
enum ReservationStatus {
/** The Reservation is pending confirmation and will expire after the expiration due time. */
RESERVATION_PENDING = "RESERVATION_PENDING",
/** The reservation is confirmed and will not expire. */
RESERVATION_CONFIRMED = "RESERVATION_CONFIRMED",
/** The reservation is canceled because of non payment. */
RESERVATION_CANCELED = "RESERVATION_CANCELED",
/** The reservation is canceled manually by the buyer. */
RESERVATION_CANCELED_MANUALLY = "RESERVATION_CANCELED_MANUALLY",
/** The reservation is expired. */
RESERVATION_EXPIRED = "RESERVATION_EXPIRED"
}
interface TicketQuantity {
/** Ticket definition ID. */
ticketDefinitionId?: string | null;
/** Quantity. */
quantity?: number | null;
/** Quantity update timestamp. */
_updatedDate?: Date | null;
}
interface ReservationCount {
/** Reservation Count snapshot timestamp. */
timestamp?: Date | null;
/** Ticket Definition ID. */
ticketDefinitionId?: string;
/** Confirmed reservation count. */
confirmedCount?: number;
/** Pending reservation count. */
pendingCount?: number;
/** True if paid ticket reservation exist. */
paidExists?: boolean;
}
interface ReservationUpdated {
/** Reservation updated timestamp. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/**
* Reservation ID.
* Can be used to retrieve a reservation invoice.
*/
reservationId?: string;
/** Reservation status. */
status?: ReservationStatus;
/** Reservation expiration timestamp. */
expires?: Date | null;
/** Reservation ticket quantities. */
quantities?: TicketQuantity[];
/** Reservation update timestamp. */
_updatedDate?: Date | null;
/** Reservation counts. */
counts?: ReservationCount[];
}
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;
/**
* Event categories.
* @internal
*/
categories?: string[];
}
interface CreateTicketDefinitionRequest {
/** Ticket definition info. */
ticketDefinition: TicketDefinition;
/** Predefined sets of fields to return. */
fields?: Field[];
}
enum Field {
/** Unknown requested field. */
UNKNOWN_REQUESTED_FIELD = "UNKNOWN_REQUESTED_FIELD",
/** Returns `salesDetails` in the response. */
SALES_DETAILS = "SALES_DETAILS",
/** Returns `eventDetails` in the response. */
EVENT_DETAILS = "EVENT_DETAILS"
}
interface CreateTicketDefinitionResponse {
/** Created ticket definition. */
ticketDefinition?: TicketDefinition;
}
interface UpdateTicketDefinitionRequest {
/** Ticket definition to update. */
ticketDefinition: TicketDefinition;
/**
* List of exact fields to update. For example, if you define only `name`, all other fields are ignored.
* @internal
*/
mask?: string[];
/** Predefined sets of fields to return. */
fields?: Field[];
}
interface UpdateTicketDefinitionResponse {
/** The updated ticket definition. */
ticketDefinition?: TicketDefinition;
}
interface GetTicketDefinitionRequest {
/** Ticket definition ID. */
ticketDefinitionId: string;
/** Predefined sets of fields to return. */
fields?: Field[];
}
interface GetTicketDefinitionResponse {
/** The requested ticket definition. */
ticketDefinition?: TicketDefinition;
}
interface DeleteTicketDefinitionRequest {
/** ID of the ticket definition to delete. */
ticketDefinitionId: string;
}
interface DeleteTicketDefinitionResponse {
}
interface ReorderTicketDefinitionsRequest extends ReorderTicketDefinitionsRequestReferenceDefinitionOneOf {
/** Move the given `definitionId` before the referenced ticket definition. */
beforeDefinitionId?: string;
/** Move the given `definitionId` after the referenced ticket definition. */
afterDefinitionId?: string;
/** Event ID. */
eventId: string;
/** Ticket definition ID. */
ticketDefinitionId: string;
}
/** @oneof */
interface ReorderTicketDefinitionsRequestReferenceDefinitionOneOf {
/** Move the given `definitionId` before the referenced ticket definition. */
beforeDefinitionId?: string;
/** Move the given `definitionId` after the referenced ticket definition. */
afterDefinitionId?: string;
}
interface ReorderTicketDefinitionsResponse {
}
interface UpdateTicketDefinitionSortIndexRequest {
/** Ticket definition ID */
ticketDefinitionId?: string;
/** The revision of the ticket definition */
revision?: string;
/** the sort index of a ticket definition to set */
sortIndex?: number;
/** Requested fields. */
fields?: Field[];
}
interface UpdateTicketDefinitionSortIndexResponse {
/** the updated ticket definition */
ticketDefinition?: TicketDefinition;
}
interface QueryTicketDefinitionsRequest {
/** 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?: Field[];
/**
* Consistent read.
* @internal
*/
consistentRead?: boolean | null;
}
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` parameters. */
cursorPaging?: CursorPaging;
/** Filter object in the following format:
`"filter" : { "fieldName1": "value1", "fieldName2":{"$operator":"value2"} }`.
**Example:**
`"filter" : { "id": "2224a9d1-79e6-4549-a5c5-bf7ce5aac1a5", "revision": {"$ne":"1"} }` */
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/policy-v2/filter-and-sort) for more information. */
sort?: Sorting[];
}
/** @oneof */
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` parameters. */
cursorPaging?: CursorPaging;
}
interface Sorting {
/** Name of the field to sort by. */
fieldName?: string;
/** Defaults to `ASC` */
order?: SortOrder;
}
enum SortOrder {
ASC = "ASC",
DESC = "DESC"
}
interface Paging {
/** Number of items to load per page. */
limit?: number | null;
/** Number of items to skip in the current sort order. */
offset?: number | null;
}
interface CursorPaging {
/** Number of items to load per page. */
limit?: number | null;
/**
* Pointer to the next or previous page in the list of results.
* You can get the relevant cursor token
* from the `pagingMetadata` object in the previous call's response.
* Not relevant for the first request.
*/
cursor?: string | null;
}
interface QueryTicketDefinitionsResponse {
/** List of ticket definitions. */
ticketDefinitions?: TicketDefinition[];
/** Metadata for the paginated results. */
metadata?: PagingMetadataV2;
}
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;
}
interface Cursors {
/** Cursor pointing to next page in the list of results. */
next?: string | null;
/** Cursor pointing to previous page in the list of results. */
prev?: string | null;
}
interface QueryAvailableTicketDefinitionsRequest {
/** 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?: Field[];
}
interface QueryAvailableTicketDefinitionsResponse {
/** List of ticket definitions. */
ticketDefinitions?: TicketDefinition[];
/** Metadata for the paginated results. */
metadata?: PagingMetadataV2;
}
interface CountTicketDefinitionsRequest {
/** Filter object in the following format:
`"filter" : { "fieldName1": "value1" }`. */
filter?: Record | null;
/**
* Parameters to count ticket definitions by.
*
* - Max: 20 facets.
*/
facet?: string[];
}
interface CountTicketDefinitionsResponse {
/** Metadata for the paginated results. */
metadata?: PagingMetadataV2;
/** Filter facets. */
facets?: Record;
}
interface FacetCounts {
/** Facet counts aggregated per value */
counts?: Record;
}
interface CountAvailableTicketDefinitionsRequest {
/** Filter object in the following format:
`"filter" : { "fieldName1": "value1" }`. */
filter?: Record | null;
}
interface CountAvailableTicketDefinitionsResponse {
/** Metadata for the paginated results. */
metadata?: PagingMetadataV2;
/**
* Filter facets.
* @internal
*/
facets?: Record;
}
interface BulkDeleteTicketDefinitionsByFilterRequest {
/** Filter object in the following format:
`"filter" : { "fieldName1": "value1" }`.
**Example:**
`"filter" : { "eventId": "3d3d5c04-ece0-45a8-85f0-11a58edaa192" }` */
filter: Record | null;
}
interface BulkDeleteTicketDefinitionsByFilterResponse {
}
interface ChangeCurrencyRequest {
/** Event ID. */
eventId: string;
/** Ticket price currency in 3-letter [ISO-4217 alphabetic](https://en.wikipedia.org/wiki/ISO_4217#Active_codes) format. */
currency: string;
}
interface ChangeCurrencyResponse {
}
interface BulkCopyTicketDefinitionsByEventIdRequest {
/** Origin instance ID. */
originInstanceId?: string | null;
/** Origin Event ID. */
originEventId?: string;
/** Target Event ID. */
targetEventId?: string;
}
interface BulkCopyTicketDefinitionsByEventIdResponse {
/** Copied ticket definitions. */
definitions?: CopiedTicketDefinition[];
}
interface CopiedTicketDefinition {
/** Origin Ticket definition ID. */
originTicketDefinitionId?: string;
/** Ticket definition ID. */
ticketDefinitionId?: string;
}
interface EventCanceled {
/** Event canceled timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event title */
title?: string;
/** Event creator user ID. */
userId?: string | null;
}
interface EventEnded {
/** Event end timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
}
interface EventCreated {
/** Event created timestamp in ISO UTC format. */
timestamp?: Date | null;
/** Event ID. */
eventId?: string;
/** Event location. */
location?: Location;
/** Event schedule configuration. */
scheduleConfig?: ScheduleConfig;
/** Event title. */
title?: string;
/** Event creator user ID. */
userId?: string | null;
/** Event status. */
status?: EventStatus;
/** Instance ID. Indicates the original app instance which current event was derived from. */
derivedFromInstanceId?: string | null;
/** Event ID. Indicates the original event which current event was derived from. */
derivedFromEventId?: string | null;
/** Event that was created. */
event?: Event;
}
interface Location {
/** Location name. */
name?: string | null;
/** Location map coordinates. */
coordinates?: MapCoordinates;
/** Single line address representation. */
address?: string | null;
/** Location type. */
type?: LocationType;
/**
* Full address derived from formatted single line `address`.
* When `full_address` is used to create or update the event, deprecated `address` and `coordinates` are ignored.
* If provided `full_address` has empty `formatted_address` or `coordinates`, it will be auto-completed using Atlas service.
*
* Migration notes:
* - `full_address.formatted_address` is equivalent to `address`.
* - `full_address.geocode` is equivalent to `coordinates`.
*/
fullAddress?: Address;
/**
* Defines event location as TBD (To Be Determined).
* When event location is not yet defined, `name` is displayed instead of location address.
* `coordinates`, `address`, `type` and `full_address` are not required when location is TBD.
*/
tbd?: boolean | null;
}
interface MapCoordinates {
/** Latitude. */
lat?: number;
/** Longitude. */
lng?: number;
}
enum LocationType {
VENUE = "VENUE",
ONLINE = "ONLINE"
}
/** Physical address */
interface Address extends AddressStreetOneOf {
/** a break down of the street to number and street name */
streetAddress?: StreetAddress;
/** Main address line (usually street and number) as free text */
addressLine1?: string | null;
/** country code */
country?: string | null;
/** subdivision (usually state or region) code according to ISO 3166-2 */
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, Floor */
addressLine2?: string | null;
/** A string containing the human-readable address of this location */
formatted?: string | null;
/** coordinates of the physical address */
location?: AddressLocation;
/** country full-name */
countryFullname?: string | null;
/** multi-level subdivisions from top to bottom */
subdivisions?: Subdivision[];
}
/** @oneof */
interface AddressStreetOneOf {
/** a break down of the street to number and street name */
streetAddress?: StreetAddress;
/** Main address line (usually street and number) as free text */
addressLine?: string | null;
}
interface StreetAddress {
/** street number */
number?: string;
/** street name */
name?: string;
/**
* apartment number
* @internal
*/
apt?: string;
}
interface AddressLocation {
/** address latitude coordinates */
latitude?: number | null;
/** address longitude coordinates */
longitude?: number | null;
}
interface Subdivision {
/** subdivision short code */
code?: string;
/** subdivision full-name */
name?: string;
/**
* subdivision level
* @internal
*/
type?: SubdivisionType;
/**
* free text description of subdivision type
* @internal
*/
typeInfo?: string | null;
}
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"
}
interface ScheduleConfig {
/**
* Defines event as TBD (To Be Determined) schedule.
* When event time is not yet defined, TBD message is displayed instead of event start and end times.
* `startDate`, `endDate` and `timeZoneId` are not required when schedule is TBD.
*/
scheduleTbd?: boolean;
/** TBD message. */
scheduleTbdMessage?: string | null;
/** Event start timestamp. */
startDate?: Date | null;
/** Event end timestamp. */
endDate?: Date | null;
/** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */
timeZoneId?: string | null;
/** Whether end date is hidden in the formatted schedule. */
endDateHidden?: boolean;
/** Whether time zone is displayed in formatted schedule. */
showTimeZone?: boolean;
/** Event recurrences. */
recurrences?: Recurrences;
}
interface Recurrences {
/** Event occurrences. */
occurrences?: Occurrence[];
/**
* Recurring event category ID.
* @readonly
*/
categoryId?: string | null;
/**
* Recurrence status.
* @readonly
*/
status?: Status;
}
interface Occurrence {
/** Event start timestamp. */
startDate?: Date | null;
/** Event end timestamp. */
endDate?: Date | null;
/** Event time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */
timeZoneId?: string | null;
/** Whether time zone is displayed in formatted schedule. */
showTimeZone?: boolean;
}
enum Status {
/** Event occurs only once. */
ONE_TIME = "ONE_TIME",
/** Event is recurring. */
RECURRING = "RECURRING",
/** Marks the next upcoming occurrence of the recurring event. */
RECURRING_NEXT = "RECURRING_NEXT",
/** Marks the most recent ended occurrence of the recurring event. */
RECURRING_LAST_ENDED = "RECURRING_LAST_ENDED",
/** Marks the most recent canceled occurrence of the recurring event. */
RECURRING_LAST_CANCELED = "RECURRING_LAST_CANCELED"
}
enum EventStatus {
/** Event is public and scheduled to start */
SCHEDULED = "SCHEDULED",
/** Event has started */
STARTED = "STARTED",
/** Event has ended */
ENDED = "ENDED",
/** Event was canceled */
CANCELED = "CANCELED",
/** Event is not public and needs to be published */
DRAFT = "DRAFT"
}
interface Event {
/**
* Event ID.
* @readonly
*/
_id?: string;
/** Event location. */
location?: Location;
/** Event scheduling. */
scheduling?: Scheduling;
/** Event title. */
title?: string;
/** Event description. */
description?: string;
/** Rich-text content displayed in Wix UI - "About Event" section (HTML). */
about?: string;
/** Main event image. */
mainImage?: string;
/** Event slug URL (generated from event title). */
slug?: string;
/** ISO 639-1 language code of the event (used in content translations). */
language?: string;
/** Event creation timestamp. */
created?: Date | null;
/** Event modified timestamp. */
modified?: Date | null;
/** Event status. */
status?: EventStatus;
/** RSVP or ticketing registration details. */
registration?: Registration;
/** "Add to calendar" URLs. */
calendarLinks?: CalendarLinks;
/** Event page URL components. */
eventPageUrl?: SiteUrl;
/** Event registration form. */
form?: Form;
/** Event dashboard summary of RSVP / ticket sales. */
dashboard?: Dashboard;
/** Instance ID of the site where event is hosted. */
instanceId?: string;
/** Guest list configuration. */
guestListConfig?: GuestListConfig;
/** Event creator user ID. */
userId?: string;
/** Event discussion feed. For internal use. */
feed?: Feed;
/** Online conferencing details. */
onlineConferencing?: OnlineConferencing;
/** SEO settings. */
seoSettings?: SeoSettings;
/** Assigned contacts label key. */
assignedContactsLabel?: string | null;
/** Agenda details. */
agenda?: Agenda;
/** Categories this event is assigned to. */
categories?: Category[];
/** Visual settings for event. */
eventDisplaySettings?: EventDisplaySettings;
/**
* @internal
* @readonly
*/
customizableTickets?: boolean | null;
/**
* Labelling related data.
* @internal
*/
labellingSettings?: LabellingSettings;
}
interface Scheduling {
/** Schedule configuration. */
config?: ScheduleConfig;
/** Formatted schedule representation. */
formatted?: string;
/** Formatted start date of the event (empty for TBD schedules). */
startDateFormatted?: string;
/** Formatted start time of the event (empty for TBD schedules). */
startTimeFormatted?: string;
/** Formatted end date of the event (empty for TBD schedules or when end date is hidden). */
endDateFormatted?: string;
/** Formatted end time of the event (empty for TBD schedules or when end date is hidden). */
endTimeFormatted?: string;
}
interface Registration {
/** Event type. */
type?: EventType;
/** Event registration status. */
status?: RegistrationStatus;
/** RSVP collection details. */
rsvpCollection?: RsvpCollection;
/** Ticketing details. */
ticketing?: Ticketing;
/** External registration details. */
external?: ExternalEvent;
/** Types of users allowed to register. */
restrictedTo?: VisitorType;
/** Initial event type which was set when creating an event. */
initialType?: EventType;
}
enum EventType {
/** Type not available for this request fieldset */
NA_EVENT_TYPE = "NA_EVENT_TYPE",
/** Registration via RSVP */
RSVP = "RSVP",
/** Registration via ticket purchase */
TICKETS = "TICKETS",
/** External registration */
EXTERNAL = "EXTERNAL",
/** Registration not available */
NO_REGISTRATION = "NO_REGISTRATION"
}
enum RegistrationStatus {
/** Registration status is not applicable */
NA_REGISTRATION_STATUS = "NA_REGISTRATION_STATUS",
/** Registration to event is closed */
CLOSED = "CLOSED",
/** Registration to event is closed manually */
CLOSED_MANUALLY = "CLOSED_MANUALLY",
/** Registration is open via RSVP */
OPEN_RSVP = "OPEN_RSVP",
/** Registration to event waitlist is open via RSVP */
OPEN_RSVP_WAITLIST = "OPEN_RSVP_WAITLIST",
/** Registration is open via ticket purchase */
OPEN_TICKETS = "OPEN_TICKETS",
/** Registration is open via external URL */
OPEN_EXTERNAL = "OPEN_EXTERNAL",
/** Registration will be open via RSVP */
SCHEDULED_RSVP = "SCHEDULED_RSVP"
}
interface RsvpCollection {
/** RSVP collection configuration. */
config?: RsvpCollectionConfig;
}
interface RsvpCollectionConfig {
/** Defines the supported RSVP statuses. */
rsvpStatusOptions?: RsvpStatusOptions;
/**
* Total guest limit available to register to the event.
* Additional guests per RSVP are counted towards total guests.
*/
limit?: number | null;
/** Whether a waitlist is opened when total guest limit is reached, allowing guests to create RSVP with WAITING RSVP status. */
waitlist?: boolean;
/** Registration start timestamp. */
startDate?: Date | null;
/** Registration end timestamp. */
endDate?: Date | null;
}
enum RsvpStatusOptions {
/** Only YES RSVP status is available for RSVP registration */
YES_ONLY = "YES_ONLY",
/** YES and NO RSVP status options are available for the registration */
YES_AND_NO = "YES_AND_NO"
}
interface Ticketing {
/**
* Deprecated.
* @deprecated
*/
lowestPrice?: string | null;
/**
* Deprecated.
* @deprecated
*/
highestPrice?: string | null;
/** Currency used in event transactions. */
currency?: string | null;
/** Ticketing configuration. */
config?: TicketingConfig;
/**
* Price of lowest priced ticket.
* @readonly
*/
lowestTicketPrice?: Money;
/**
* Price of highest priced ticket.
* @readonly
*/
highestTicketPrice?: Money;
/**
* Formatted price of lowest priced ticket.
* @readonly
*/
lowestTicketPriceFormatted?: string | null;
/**
* Formatted price of highest priced ticket.
* @readonly
*/
highestTicketPriceFormatted?: string | null;
/**
* Whether all tickets are sold for this event.
* @readonly
*/
soldOut?: boolean | null;
}
interface TicketingConfig {
/** Whether the form must be filled out separately for each ticket. */
guestAssignedTickets?: boolean;
/** Tax configuration. */
taxConfig?: TaxConfig;
/** Limit of tickets that can be purchased per order, default 20. */
ticketLimitPerOrder?: number;
/**
* App Id for external ticket stock management.
* By default tickets stock is defined in TicketDefinition object.
* If defined then limitation from TicketDefinition is ignored.
* @internal
*/
stockManagerAppId?: string | null;
/** Duration for which the tickets being bought are reserved. */
reservationDurationInMinutes?: number | null;
}
interface TaxConfig {
/** Tax application settings. */
type?: TaxType;
/** Tax name. */
name?: string | null;
/** Tax rate (e.g.,`21.55`). */
rate?: string | null;
/** Applies taxes for donations, default true. */
appliesToDonations?: boolean | null;
}
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"
}
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;
}
interface ExternalEvent {
/** External event registration URL. */
registration?: string;
}
enum VisitorType {
/** Site visitor (including member) */
VISITOR = "VISITOR",
/** Site member */
MEMBER = "MEMBER",
/** Site visitor or member */
VISITOR_OR_MEMBER = "VISITOR_OR_MEMBER"
}
interface CalendarLinks {
/** "Add to Google calendar" URL. */
google?: string;
/** "Download ICS calendar file" URL. */
ics?: string;
}
/** Site URL components */
interface SiteUrl {
/**
* Base URL. For premium sites, this will be the domain.
* For free sites, this would be site URL (e.g `mysite.wixsite.com/mysite`)
*/
base?: string;
/** The path to that page - e.g `/my-events/weekly-meetup-2` */
path?: string;
}
/**
* The form defines which elements are rendered in the Wix UI during the registration process (RSVP or checkout).
* It also contains customizable messages and labels.
*
*
* A form is an ordered list of controls (blocks), which accept guest information into a field input.
*
* Each control contains one or more nested inputs. For example, `Name` control has two inputs:
* - First Name
* - Last Name
*
* By default, name and email controls are always required and are pinned to the top of the form.
*/
interface Form {
/** Nested fields as an ordered list. */
controls?: InputControl[];
/** Set of configured form messages. */
messages?: FormMessages;
}
/**
* A block of nested fields.
* Used to aggregate similar inputs like First Name and Last Name.
*/
interface InputControl {
/** Field control type. */
type?: InputControlType;
/** Whether control is mandatory (such as name & email). When true, only label can be changed. */
system?: boolean;
/**
* Deprecated: Use `id`.
* @deprecated
*/
name?: string;
/** Child inputs. */
inputs?: Input[];
/**
* Deprecated: use `inputs.label`.
* @deprecated
*/
label?: string;
/** Field controls are sorted by this value in ascending order. */
orderIndex?: number;
/** Unique control ID. */
_id?: string;
/**
* Whether input control is deleted.
* @readonly
*/
deleted?: boolean | null;
}
enum InputControlType {
/** Single text value field. */
INPUT = "INPUT",
/** Single text value field. */
TEXTAREA = "TEXTAREA",
/** Single-choice field of predefined values. */
DROPDOWN = "DROPDOWN",
/** Single-choice field of predefined values. */
RADIO = "RADIO",
/** Multiple-choice field of predefined values. */
CHECKBOX = "CHECKBOX",
/** First and last name fields. */
NAME = "NAME",
/** Additional guests and respective guest names fields. */
GUEST_CONTROL = "GUEST_CONTROL",
/** Single-line address field. */
ADDRESS_SHORT = "ADDRESS_SHORT",
/** Full address field. */
ADDRESS_FULL = "ADDRESS_FULL",
/** Year, month and day fields. */
DATE = "DATE"
}
/** An input of one or multiple text values */
interface Input {
/** Field name. */
name?: string;
/**
* Deprecated: use `ValueType.TEXT_ARRAY`.
* @deprecated
*/
array?: boolean;
/** Main field label */
label?: string;
/** Additional labels for multi-valued fields such as address. */
additionalLabels?: Record;
/** Predefined choice options for fields, such as dropdown. */
options?: string[];
/** Whether field is mandatory. */
mandatory?: boolean;
/** Maximum number of accepted characters (relevant for text fields). */
maxLength?: number;
/**
* Type which determines field format.
* Used to validate submitted response.
*/
type?: ValueType;
/**
* A maximum accepted values for array input.
* Only applicable for inputs of valueType: TEXT_ARRAY.
*/
maxSize?: number | null;
/**
* Preselected option.
* Currently only applicable for dropdown.
*/
defaultOptionSelection?: OptionSelection;
/**
* Additional labels for multi-valued fields such as address.
* @readonly
*/
labels?: Label[];
}
enum ValueType {
TEXT = "TEXT",
NUMBER = "NUMBER",
TEXT_ARRAY = "TEXT_ARRAY",
DATE_TIME = "DATE_TIME",
ADDRESS = "ADDRESS"
}
/**
* Describes initially selected option when an input has multiple choices.
* Defaults to first (0th) option if not configured.
*/
interface OptionSelection extends OptionSelectionSelectedOptionOneOf {
/** 0-based index from predefined `input.options` which is selected initially. */
optionIndex?: number;
/**
* Placeholder hint describing expected choices (such as "Please select").
* Considered an empty choice.
*/
placeholderText?: string;
}
/** @oneof */
interface OptionSelectionSelectedOptionOneOf {
/** 0-based index from predefined `input.options` which is selected initially. */
optionIndex?: number;
/**
* Placeholder hint describing expected choices (such as "Please select").
* Considered an empty choice.
*/
placeholderText?: string;
}
interface Label {
/** Field name. */
name?: string;
/** Field label. */
label?: string;
}
/**
* Defines form messages shown in UI before, during, and after registration flow.
* It enables configuration of form titles, response labels, "thank you" messages, and call-to-action texts.
*/
interface FormMessages {
/** RSVP form messages. */
rsvp?: RsvpFormMessages;
/** Checkout form messages. */
checkout?: CheckoutFormMessages;
/** Messages shown when event registration is closed. */
registrationClosed?: RegistrationClosedMessages;
/** Messages shown when event tickets are unavailable. */
ticketsUnavailable?: TicketsUnavailableMessages;
}
interface RsvpFormMessages {
/** Label text indicating RSVP `YES` response. */
rsvpYesOption?: string;
/** Label text indicating RSVP `NO` response. */
rsvpNoOption?: string;
/** Messages shown for RSVP = `YES`. */
positiveMessages?: Positive;
/** Messages shown for RSVP = `WAITING` (when event is full and waitlist is available). */
waitlistMessages?: Positive;
/** Messages shown for RSVP = `NO`. */
negativeMessages?: Negative;
/** "Submit form" call-to-action label text. */
submitActionLabel?: string;
}
/** Confirmation messages shown after registration. */
interface PositiveResponseConfirmation {
/** Confirmation message title. */
title?: string;
/** Confirmation message text. */
message?: string;
/** "Add to calendar" call-to-action label text. */
addToCalendarActionLabel?: string;
/** "Share event" call-to-action label text. */
shareActionLabel?: string;
}
/** Confirmation messages shown after registration. */
interface NegativeResponseConfirmation {
/** Confirmation message title. */
title?: string;
/** "Share event" call-to-action label text. */
shareActionLabel?: string;
}
/** Set of messages shown during registration when RSVP response is positive. */
interface Positive {
/** Main form title for positive response. */
title?: string;
/** Confirmation messages shown after registration. */
confirmation?: PositiveResponseConfirmation;
}
/** A set of messages shown during registration with negative response */
interface Negative {
/** Main form title for negative response. */
title?: string;
/** Confirmation messages shown after registration. */
confirmation?: NegativeResponseConfirmation;
}
interface CheckoutFormMessages {
/** Main form title for response. */
title?: string;
/** Submit form call-to-action label text. */
submitActionLabel?: string;
/** Confirmation messages shown after checkout. */
confirmation?: ResponseConfirmation;
}
/** Confirmation messages shown after checkout. */
interface ResponseConfirmation {
/** Confirmation message title. */
title?: string;
/** Confirmation message text. */
message?: string;
/** "Download tickets" call-to-action label text. */
downloadTicketsLabel?: string;
/** "Add to calendar" call-to-action label text. */
addToCalendarLabel?: string;
/** "Share event" call-to-action label text. */
shareEventLabel?: string;
}
interface RegistrationClosedMessages {
/** Message shown when event registration is closed. */
message?: string;
/** "Explore other events" call-to-action label text. */
exploreEventsActionLabel?: string;
}
interface TicketsUnavailableMessages {
/** Message shown when event tickets are unavailable. */
message?: string;
/** "Explore other events" call-to-action label text. */
exploreEventsActionLabel?: string;
}
interface Dashboard {
/** Guest RSVP summary. */
rsvpSummary?: RsvpSummary;
/**
* Summary of revenue and tickets sold.
* (Archived orders are not included).
*/
ticketingSummary?: TicketingSummary;
}
interface RsvpSummary {
/** Total number of RSVPs. */
total?: number;
/** Number of RSVPs with status `YES`. */
yes?: number;
/** Number of RSVPs with status `NO`. */
no?: number;
/** Number of RSVPs in waitlist. */
waitlist?: number;
}
interface TicketingSummary {
/** Number of tickets sold. */
tickets?: number;
/**
* Total revenue, excluding fees.
* (taxes and payment provider fees are not deducted.)
*/
revenue?: Money;
/** Whether currency is locked and cannot be changed (generally occurs after the first order in the specified currency has been created). */
currencyLocked?: boolean;
/** Number of orders placed. */
orders?: number;
/** Total balance of confirmed transactions. */
totalSales?: Money;
}
interface GuestListConfig {
/** Whether members can see other members attending the event (defaults to true). */
publicGuestList?: boolean;
}
interface Feed {
/** Event discussion feed token. */
token?: string;
}
interface OnlineConferencing {
config?: OnlineConferencingConfig;
session?: OnlineConferencingSession;
/**
* Configured conferencing provider name.
* @internal
* @readonly
*/
providerName?: string;
}
interface OnlineConferencingConfig {
/**
* Whether online conferencing is enabled (not supported for TBD schedules).
* When enabled, links to join conferencing are generated and provided to guests.
*/
enabled?: boolean;
/** Conferencing provider ID. */
providerId?: string | null;
/** Conference type */
conferenceType?: ConferenceType;
}
enum ConferenceType {
/** Everyone in the meeting can publish and subscribe video and audio. */
MEETING = "MEETING",
/** Guests can only subscribe to video and audio. */
WEBINAR = "WEBINAR"
}
interface OnlineConferencingSession {
/**
* Link for event host to start the online conference session.
* @readonly
*/
hostLink?: string;
/**
* Link for guests to join the online conference session.
* @readonly
*/
guestLink?: string;
/**
* The password required to join online conferencing session (when relevant).
* @readonly
*/
password?: string | null;
/**
* Indicates that session was created successfully on providers side.
* @readonly
*/
sessionCreated?: boolean | null;
/**
* Unique session id
* @readonly
*/
sessionId?: string | null;
}
interface SeoSettings {
/** URL slug */
slug?: string;
/** Advanced SEO data */
advancedSeoData?: SeoSchema;
/**
* Hidden from SEO Site Map
* @readonly
*/
hidden?: boolean | null;
}
/**
* The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.
* The search engines use this information for ranking purposes, or to display snippets in the search results.
* This data will override other sources of tags (for example patterns) and will be included in the section of the HTML document, while not being displayed on the page itself.
*/
interface SeoSchema {
/** SEO tag information. */
tags?: Tag[];
/** SEO general settings. */
settings?: Settings;
}
interface Keyword {
/** Keyword value. */
term?: string;
/** Whether the keyword is the main focus keyword. */
isMain?: boolean;
/** The source that added the keyword terms to the SEO settings. */
origin?: string | null;
}
interface Tag {
/**
* SEO tag type.
*
*
* Supported values: `title`, `meta`, `script`, `link`.
*/
type?: string;
/**
* A `{"key": "value"}` pair object where each SEO tag property (`"name"`, `"content"`, `"rel"`, `"href"`) contains a value.
* For example: `{"name": "description", "content": "the description itself"}`.
*/
props?: Record