import type { GoogleProtoDuration } from '@wix/metro-runtime/ambassador'; /** Schedule item describes the schedule within an event. Each event may contain multiple schedule items. */ export interface ScheduleItem { /** * Schedule item ID. * @readonly */ id?: string; /** Whether schedule item is hidden from guests. */ hidden?: boolean; /** Schedule item name. */ name?: string; /** Time slot of an schedule item. */ timeSlot?: TimeInterval; /** Rich-text content displayed in Wix UI when viewing schedule item details (HTML). */ description?: string; /** Stage or room name in which session takes place. */ stageName?: string; /** Tags are used to organize schedule items by assigning them to a general theme or field of study. */ tags?: string[]; /** Schedule item status. */ status?: ScheduleStatus; /** * Schedule item created timestamp. * @readonly */ createdDate?: Date | null; /** * Schedule item modified timestamp. * @readonly */ updatedDate?: Date | null; /** * Event ID. * @readonly */ eventId?: string; /** * Whether schedule item is draft. * @readonly */ draft?: boolean; } /** Time interval on the timeline between two points in time. */ export interface TimeInterval { /** Start of the interval. Inclusive. */ start?: Date | null; /** End of the interval. Non-inclusive. */ end?: Date | null; /** * Time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. * Defaults to `Etc/UTC` when not set. */ timeZoneId?: string | null; } export declare enum ScheduleStatus { /** Item is scheduled for a future date. */ SCHEDULED = "SCHEDULED", /** Item is canceled. */ CANCELED = "CANCELED" } export interface ListScheduleItemsRequest { /** Event ID. */ eventId?: string[]; /** * Schedule item state filter. * Defaults to `[PUBLISHED, VISIBLE]` when no filters are specified. * If neither `PUBLISHED` nor `DRAFT` are specified, assumes `PUBLISHED`, for example: `[HIDDEN]` becomes `[HIDDEN, PUBLISHED]`. * If neither `VISIBLE` nor `HIDDEN` are specified, assumes `VISIBLE`, for example: `[DRAFT]` becomes `[DRAFT, VISIBLE]`. */ state?: StateFilter[]; /** Filters schedule items starting on or after specified point in time. Inclusive. */ startingFrom?: Date | null; /** Filters schedule items starting before specified point in time. Non-inclusive. */ startingBefore?: Date | null; /** * Deprecated, use `paging`. * Number of items to skip. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). * @deprecated */ offset?: number; /** * Deprecated, use `paging`. * Number of items to load per page. See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). * @deprecated */ limit?: number; /** * Filter facets. * See [supported facets](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-schedule-items). */ facet?: string[]; /** Item IDs filter. */ itemId?: string[]; /** Tags filter. */ tag?: string[]; /** Stage names filter. */ stageName?: string[]; /** * Pointer to page of results using offset. * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */ paging?: Paging; } export declare enum StateFilter { /** Schedule item is published. */ PUBLISHED = "PUBLISHED", /** Opposite of `PUBLISHED`. Requires `WIX_EVENTS.READ_HIDDEN_AGENDA` permission. */ DRAFT = "DRAFT", /** Schedule item is visible to the public. */ VISIBLE = "VISIBLE", /** Opposite of `VISIBLE`. Requires `WIX_EVENTS.READ_HIDDEN_AGENDA` permission. */ HIDDEN = "HIDDEN" } export 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; } export interface ListScheduleItemsResponse { /** * Deprecated, use `paging_metadata.total`. * Total schedule items matching the given filters. * @readonly * @deprecated */ total?: number; /** * Deprecated. * Limit. * @deprecated */ limit?: number; /** * Deprecated, use `paging_metadata.offset`. * Offset. * @deprecated */ offset?: number; /** Schedule items. */ items?: ScheduleItem[]; /** * Facets. * @readonly */ facets?: Record; /** * Whether there are draft changes which have not been published yet. * Returned only when filtering by single `event_id` with `WIX_EVENTS.MANAGE_AGENDA` permission. * @readonly */ draftNotPublished?: boolean | null; pagingMetadata?: PagingMetadataV2; } export interface FacetCounts { /** Facet counts aggregated per value. */ counts?: Record; } export interface PagingMetadataV2 { /** Number of items returned in the response. */ count?: number | null; /** Offset that was requested. */ offset?: number | null; /** Total number of items that match the query. Returned if offset paging is used and the `tooManyToCount` flag is not set. */ total?: number | null; /** Flag that indicates the server failed to calculate the `total` field. */ tooManyToCount?: boolean | null; /** Cursors to navigate through the result pages using `next` and `prev`. Returned if cursor paging is used. */ cursors?: Cursors; } export interface Cursors { /** Cursor string pointing to the next page in the list of results. */ next?: string | null; /** Cursor pointing to the previous page in the list of results. */ prev?: string | null; } export interface QueryScheduleItemsRequest { query?: QueryV2; } export interface QueryV2 extends QueryV2PagingMethodOneOf { /** * Pointer to page of results using offset. * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */ paging?: Paging; /** Filter. See [supported fields and operators](https://dev.wix.com/api/rest/wix-events/wix-events/filter-and-sort#wix-events_wix-events_filter-and-sort_list-query-events). */ filter?: Record | null; /** * Sort object in the form [{"fieldName":"sortField1"},{"fieldName":"sortField2","direction":"DESC"}] * 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[]; } /** @oneof */ export interface QueryV2PagingMethodOneOf { /** * Pointer to page of results using offset. * See [Pagination](https://dev.wix.com/api/rest/getting-started/pagination). */ paging?: Paging; } export interface Sorting { /** Name of the field to sort by */ fieldName?: string; /** Sort order (ASC/DESC). Defaults to ASC */ order?: SortOrder; } export declare enum SortOrder { ASC = "ASC", DESC = "DESC" } export interface QueryScheduleItemsResponse { pagingMetadata?: PagingMetadataV2; /** Schedule items. */ items?: ScheduleItem[]; } export interface GetScheduleItemRequest { /** Event ID. */ eventId?: string; /** Schedule item ID. */ itemId?: string; includeDraft?: boolean; } export interface GetScheduleItemResponse { /** Schedule item. */ item?: ScheduleItem; /** Draft of the Schedule item. */ draft?: ScheduleItem; } export interface AddScheduleItemRequest { /** Event ID. */ eventId?: string; /** Schedule item. */ item?: ScheduleItemData; } /** Schedule item describes the schedule within an event. Each event may contain multiple schedule items. */ export interface ScheduleItemData { /** Whether schedule item is hidden from guests. */ hidden?: boolean; /** Schedule item name. */ name?: string; /** Time slot */ timeSlot?: TimeInterval; /** Rich-text content displayed in Wix UI when viewing schedule item details (HTML). */ description?: string; /** Stage or room name in which session takes place. */ stageName?: string; /** Tags are used to organize schedule items by assigning them to a general theme or field of study. */ tags?: string[]; /** Schedule item status. */ status?: ScheduleStatus; } export interface AddScheduleItemResponse { /** Schedule item. */ item?: ScheduleItem; } export interface UpdateScheduleItemRequest { /** Event ID. */ eventId?: string; /** Schedule item ID. */ itemId?: string; /** Schedule item. */ item?: ScheduleItemData; /** * Set of field paths to update. * When fields are empty, request is interpreted as full update. * Behavior follows [google.protobuf.FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask) semantics. */ fields?: string[]; } export interface UpdateScheduleItemResponse { /** Schedule item. */ item?: ScheduleItem; } export interface DeleteScheduleItemRequest { /** Event ID. */ eventId?: string; /** Schedule items to delete. */ itemIds?: string[]; } export interface DeleteScheduleItemResponse { } export interface DiscardDraftRequest { /** Event ID. */ eventId?: string; } export interface DiscardDraftResponse { } export interface PublishDraftRequest { /** Event ID. */ eventId?: string; } export interface PublishDraftResponse { } export interface RescheduleDraftRequest { /** Event ID. */ eventId?: string; /** Time zone ID in TZ database format, e.g., `EST`, `America/Los_Angeles`. */ timeZoneId?: string; /** Offset added or subtracted from schedule item start & end times. */ timeSlotOffset?: GoogleProtoDuration; } export interface RescheduleDraftResponse { } export interface ListBookmarksRequest { /** Event ID. */ eventId: string; } export interface ListBookmarksResponse { /** Schedule items. */ items?: ScheduleItem[]; } export interface CreateBookmarkRequest { /** Event ID. */ eventId: string; /** Schedule item ID. */ itemId: string; } export interface CreateBookmarkResponse { } export interface DeleteBookmarkRequest { /** Event ID. */ eventId: string; /** Schedule item ID. */ itemId: string; } export interface DeleteBookmarkResponse { } interface ScheduleItemNonNullableFields { id: string; hidden: boolean; name: string; description: string; stageName: string; tags: string[]; status: ScheduleStatus; eventId: string; draft: boolean; } export interface ListBookmarksResponseNonNullableFields { items: ScheduleItemNonNullableFields[]; } export {};