{"version":3,"sources":["../../src/contacts-v4-contact-contacts.schemas.ts"],"sourcesContent":["import * as z from 'zod';\n\nexport const CreateContactRequest = z.object({\n  info: z\n    .object({\n      name: z\n        .object({\n          first: z\n            .string()\n            .describe(\"Contact's first name.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          last: z\n            .string()\n            .describe(\"Contact's last name.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Contact's first and last name.\")\n        .optional(),\n      emails: z\n        .object({\n          items: z\n            .array(\n              z.object({\n                _id: z\n                  .string()\n                  .describe('Email ID.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                tag: z.enum(['UNTAGGED', 'MAIN', 'HOME', 'WORK']).optional(),\n                email: z\n                  .string()\n                  .describe('Email address.')\n                  .min(1)\n                  .max(320)\n                  .optional(),\n                primary: z\n                  .boolean()\n                  .describe(\n                    \"Indicates whether this is the contact's primary email address.\\nWhen changing `primary` to `true` for an email,\\nthe contact's other emails become `false`.\\nChanging the primary email of a contact also affects the subscription status to marketing emails that are decided based on the primary email.\"\n                  )\n                  .optional()\n                  .nullable(),\n              })\n            )\n            .max(50)\n            .optional(),\n        })\n        .describe(\"Contact's email addresses.\")\n        .optional(),\n      phones: z\n        .object({\n          items: z\n            .array(\n              z.object({\n                _id: z\n                  .string()\n                  .describe('Phone ID.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                tag: z\n                  .enum(['UNTAGGED', 'MAIN', 'HOME', 'MOBILE', 'WORK', 'FAX'])\n                  .optional(),\n                countryCode: z\n                  .string()\n                  .describe(\n                    '[ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.'\n                  )\n                  .optional()\n                  .nullable(),\n                phone: z\n                  .string()\n                  .describe('Phone number.')\n                  .min(1)\n                  .max(50)\n                  .optional(),\n                e164Phone: z\n                  .string()\n                  .describe(\n                    '[ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\\nphone number.\\nAutomatically generated using `phone` and `countryCode`, pending both values are valid.'\n                  )\n                  .optional()\n                  .nullable(),\n                primary: z\n                  .boolean()\n                  .describe(\n                    \"Indicates whether this is the contact's primary phone number.\\nWhen changing `primary` to `true` for a phone,\\nthe contact's `primary` field for other phones becomes `false`.\\nChanging the primary phone number also affects the subscription status to SMS messages that are decided based on the primary phone.\"\n                  )\n                  .optional()\n                  .nullable(),\n              })\n            )\n            .max(50)\n            .optional(),\n        })\n        .describe(\"Contact's phone numbers.\")\n        .optional(),\n      addresses: z\n        .object({\n          items: z\n            .array(\n              z.object({\n                _id: z\n                  .string()\n                  .describe('Street address ID.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                tag: z\n                  .enum(['UNTAGGED', 'HOME', 'WORK', 'BILLING', 'SHIPPING'])\n                  .optional(),\n                address: z\n                  .object({\n                    city: z.string().optional().nullable(),\n                    subdivision: z.string().optional().nullable(),\n                    country: z.string().optional().nullable(),\n                    postalCode: z.string().optional().nullable(),\n                    addressLine1: z.string().optional().nullable(),\n                    addressLine2: z.string().optional().nullable(),\n                  })\n                  .describe('Street address.')\n                  .optional(),\n              })\n            )\n            .max(50)\n            .optional(),\n        })\n        .describe(\"Contact's street addresses.\")\n        .optional(),\n      company: z\n        .string()\n        .describe(\"Contact's company name.\")\n        .max(1000)\n        .optional()\n        .nullable(),\n      jobTitle: z\n        .string()\n        .describe(\"Contact's job title.\")\n        .max(1000)\n        .optional()\n        .nullable(),\n      birthdate: z\n        .string()\n        .describe(\n          'Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`.'\n        )\n        .optional()\n        .nullable(),\n      locale: z\n        .string()\n        .describe(\n          'Locale in\\n[IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\\nTypically, this is a lowercase 2-letter language code,\\nfollowed by a hyphen, followed by an uppercase 2-letter country code.\\nFor example, `en-US` for U.S. English, and `de-DE` for Germany German.'\n        )\n        .optional()\n        .nullable(),\n      labelKeys: z\n        .object({ items: z.array(z.string()).max(2000).optional() })\n        .describe(\n          \"List of contact's labels.\\n\\nLabels are used to organize contacts. Labels can be\\nadded and removed using Label Contact and Unlabel Contact, respectively.\\n\\nTo view or manage contact labels, use the Labels API.\"\n        )\n        .optional(),\n      extendedFields: z\n        .object({\n          items: z\n            .record(z.string(), z.any())\n            .describe(\n              \"Contact's extended fields,\\nwhere each key is the field key,\\nand each value is the field's value for the contact.\\n\\nTo view and manage extended fields, use the Extended Fields API.\"\n            )\n            .optional(),\n        })\n        .describe('Additional custom fields.\\n\\nEmpty fields are not returned.')\n        .optional(),\n      picture: z\n        .object({\n          image: z\n            .string()\n            .describe(\n              'Image.\\nThis can contain an image URL or a Wix Media image ID.'\n            )\n            .optional(),\n        })\n        .describe(\"Contact's profile picture.\")\n        .optional(),\n    })\n    .describe('Contact info.'),\n  options: z\n    .object({\n      allowDuplicates: z\n        .boolean()\n        .describe(\n          'Controls whether the call will succeed\\nif the new contact information contains an email or a phone number already used by another contact.\\n\\nIf set to `true`,\\nthe call will succeed even if an email address or phone number is used by another contact.\\nIf set to `false`,\\nthe call will fail if the given email address is used by another contact or,\\nif the email address is not given and the given phone number is used by another contact.\\n\\nDefault: `false`'\n        )\n        .optional(),\n    })\n    .describe('Create contact options.')\n    .optional(),\n});\nexport const CreateContactResponse = z.object({\n  contact: z\n    .object({\n      _id: z\n        .string()\n        .describe('Contact ID.')\n        .regex(\n          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n          'Must be a valid GUID'\n        )\n        .optional(),\n      revision: z\n        .number()\n        .int()\n        .describe(\n          'Revision number, which increments by 1 each time the contact is updated.\\nTo prevent conflicting changes,\\nthe existing `revision` must be specified when updating a contact.'\n        )\n        .optional(),\n      source: z\n        .object({\n          sourceType: z\n            .enum([\n              'OTHER',\n              'ADMIN',\n              'WIX_APP',\n              'IMPORT',\n              'THIRD_PARTY',\n              'WIX_BOOKINGS',\n              'WIX_CHAT',\n              'WIX_EMAIL_MARKETING',\n              'WIX_EVENTS',\n              'WIX_FORMS',\n              'WIX_GROUPS',\n              'WIX_HOTELS',\n              'WIX_MARKET_PLACE',\n              'WIX_MUSIC',\n              'WIX_RESTAURANTS',\n              'WIX_SITE_MEMBERS',\n              'WIX_STORES',\n              'WIX_CODE',\n              'HOPP',\n            ])\n            .describe('Source type.')\n            .optional(),\n          appId: z\n            .string()\n            .describe('App ID, if the contact was created by an app.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Details about the contact's source.\")\n        .optional(),\n      _createdDate: z\n        .date()\n        .describe('Date and time the contact was created.')\n        .optional()\n        .nullable(),\n      _updatedDate: z\n        .date()\n        .describe('Date and time the contact was last updated.')\n        .optional()\n        .nullable(),\n      lastActivity: z\n        .object({\n          activityDate: z\n            .date()\n            .describe('Date and time of the last action.')\n            .optional()\n            .nullable(),\n          activityType: z\n            .enum([\n              'GENERAL',\n              'CONTACT_CREATED',\n              'MEMBER_LOGIN',\n              'MEMBER_REGISTER',\n              'MEMBER_STATUS_CHANGED',\n              'FORM_SUBMITTED',\n              'INBOX_FORM_SUBMITTED',\n              'INBOX_PAYMENT_REQUEST_PAID',\n              'INBOX_MESSAGE_TO_CUSTOMER',\n              'INBOX_MESSAGE_FROM_CUSTOMER',\n              'NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED',\n              'NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE',\n              'ECOM_PURCHASE',\n              'ECOM_CART_ABANDON',\n              'ECOM_CHECKOUT_BUYER',\n              'BOOKINGS_APPOINTMENT',\n              'HOTELS_RESERVATION',\n              'HOTELS_PURCHASE',\n              'HOTELS_CONFIRMATION',\n              'HOTELS_CANCEL',\n              'VIDEO_PURCHASE',\n              'VIDEO_RENT',\n              'CASHIER_BUTTON_PURCHASE',\n              'ARENA_NEW_LEAD',\n              'EVENTS_RSVP',\n              'INVOICE_PAY',\n              'INVOICE_OVERDUE',\n              'PRICE_QUOTE_ACCEPT',\n              'PRICE_QUOTE_EXPIRE',\n              'RESTAURANTS_ORDER',\n              'RESTAURANTS_RESERVATION',\n              'SHOUTOUT_OPEN',\n              'SHOUTOUT_CLICK',\n              'CONTACT_MERGED',\n              'NEWSLETTER_SUBSCRIPTION_SUBSCRIBE',\n              'NEWSLETTER_SUBSCRIPTION_PENDING',\n              'NEWSLETTER_SUBSCRIPTION_NOT_SET',\n              'PHONE_SUBSCRIPTION_SUBSCRIBE',\n              'PHONE_SUBSCRIPTION_PENDING',\n              'PHONE_SUBSCRIPTION_NOT_SET',\n              'PHONE_SUBSCRIPTION_UNSUBSCRIBE',\n            ])\n            .describe(\"Contact's last action in the site.\")\n            .optional(),\n        })\n        .describe(\"Details about the contact's last action in the site.\")\n        .optional(),\n      primaryInfo: z\n        .object({\n          email: z\n            .string()\n            .describe(\n              'Primary email address.\\n\\nThis property reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n            )\n            .email()\n            .optional()\n            .nullable(),\n          phone: z\n            .string()\n            .describe(\n              'Primary phone number.\\n\\nThis property reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Contact's primary phone and email.\")\n        .optional(),\n      info: z\n        .object({\n          name: z\n            .object({\n              first: z\n                .string()\n                .describe(\"Contact's first name.\")\n                .max(1000)\n                .optional()\n                .nullable(),\n              last: z\n                .string()\n                .describe(\"Contact's last name.\")\n                .max(1000)\n                .optional()\n                .nullable(),\n            })\n            .describe(\"Contact's first and last name.\")\n            .optional(),\n          emails: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Email ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum(['UNTAGGED', 'MAIN', 'HOME', 'WORK'])\n                      .describe(\n                        'Email type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    email: z\n                      .string()\n                      .describe('Email address.')\n                      .min(1)\n                      .max(320)\n                      .optional(),\n                    primary: z\n                      .boolean()\n                      .describe(\n                        \"Indicates whether this is the contact's primary email address.\\nWhen changing `primary` to `true` for an email,\\nthe contact's other emails become `false`.\\nChanging the primary email of a contact also affects the subscription status to marketing emails that are decided based on the primary email.\"\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's email addresses.\")\n            .optional(),\n          phones: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Phone ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum([\n                        'UNTAGGED',\n                        'MAIN',\n                        'HOME',\n                        'MOBILE',\n                        'WORK',\n                        'FAX',\n                      ])\n                      .describe(\n                        'Phone type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    countryCode: z\n                      .string()\n                      .describe(\n                        '[ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.'\n                      )\n                      .optional()\n                      .nullable(),\n                    phone: z\n                      .string()\n                      .describe('Phone number.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    e164Phone: z\n                      .string()\n                      .describe(\n                        '[ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\\nphone number.\\nAutomatically generated using `phone` and `countryCode`, pending both values are valid.'\n                      )\n                      .optional()\n                      .nullable(),\n                    primary: z\n                      .boolean()\n                      .describe(\n                        \"Indicates whether this is the contact's primary phone number.\\nWhen changing `primary` to `true` for a phone,\\nthe contact's `primary` field for other phones becomes `false`.\\nChanging the primary phone number also affects the subscription status to SMS messages that are decided based on the primary phone.\"\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's phone numbers.\")\n            .optional(),\n          addresses: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Street address ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum(['UNTAGGED', 'HOME', 'WORK', 'BILLING', 'SHIPPING'])\n                      .describe(\n                        'Address type.\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    address: z\n                      .object({\n                        city: z.string().optional().nullable(),\n                        subdivision: z.string().optional().nullable(),\n                        country: z.string().optional().nullable(),\n                        postalCode: z.string().optional().nullable(),\n                        addressLine1: z.string().optional().nullable(),\n                        addressLine2: z.string().optional().nullable(),\n                      })\n                      .describe('Street address.')\n                      .optional(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's street addresses.\")\n            .optional(),\n          company: z\n            .string()\n            .describe(\"Contact's company name.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          jobTitle: z\n            .string()\n            .describe(\"Contact's job title.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          birthdate: z\n            .string()\n            .describe(\n              'Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`.'\n            )\n            .optional()\n            .nullable(),\n          locale: z\n            .string()\n            .describe(\n              'Locale in\\n[IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\\nTypically, this is a lowercase 2-letter language code,\\nfollowed by a hyphen, followed by an uppercase 2-letter country code.\\nFor example, `en-US` for U.S. English, and `de-DE` for Germany German.'\n            )\n            .optional()\n            .nullable(),\n          labelKeys: z\n            .object({ items: z.array(z.string()).max(2000).optional() })\n            .describe(\n              \"List of contact's labels.\\n\\nLabels are used to organize contacts. Labels can be\\nadded and removed using Label Contact and Unlabel Contact, respectively.\\n\\nTo view or manage contact labels, use the Labels API.\"\n            )\n            .optional(),\n          extendedFields: z\n            .object({\n              items: z\n                .record(z.string(), z.any())\n                .describe(\n                  \"Contact's extended fields,\\nwhere each key is the field key,\\nand each value is the field's value for the contact.\\n\\nTo view and manage extended fields, use the Extended Fields API.\"\n                )\n                .optional(),\n            })\n            .describe(\n              'Additional custom fields.\\n\\nEmpty fields are not returned.'\n            )\n            .optional(),\n          picture: z\n            .object({\n              image: z\n                .string()\n                .describe(\n                  'Image.\\nThis can contain an image URL or a Wix Media image ID.'\n                )\n                .optional(),\n            })\n            .describe(\"Contact's profile picture.\")\n            .optional(),\n        })\n        .describe(\"Contact's details.\")\n        .optional(),\n      primaryEmail: z\n        .object({\n          email: z\n            .string()\n            .describe(\n              'Primary email address.\\n\\nThis field reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n            )\n            .email()\n            .optional()\n            .nullable(),\n          subscriptionStatus: z\n            .enum([\n              'NO_SUBSCRIPTION_STATUS',\n              'NOT_SET',\n              'PENDING',\n              'SUBSCRIBED',\n              'UNSUBSCRIBED',\n            ])\n            .describe(\n              \"Indicates the recipient's opt-in or opt-out status for marketing emails.\\n\\nDefault: `NOT_SET`\"\n            )\n            .optional(),\n          deliverabilityStatus: z\n            .enum(['NOT_SET', 'VALID', 'BOUNCED', 'SPAM_COMPLAINT', 'INACTIVE'])\n            .describe(\n              'Indicates last reported status of sent emails.\\n\\nDefault: `NOT_SET`'\n            )\n            .optional(),\n        })\n        .describe(\"Contact's primary email details.\")\n        .optional(),\n      primaryPhone: z\n        .object({\n          countryCode: z\n            .string()\n            .describe(\n              'Country code of the primary phone number in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n            )\n            .optional()\n            .nullable(),\n          e164Phone: z\n            .string()\n            .describe(\n              'Phone number in [ITU E.164](https://www.itu.int/rec/T-REC-E.164/) format.\\nAutomatically generated using `phone` and `countryCode` when both values are valid.'\n            )\n            .optional()\n            .nullable(),\n          formattedPhone: z\n            .string()\n            .describe(\n              'Formatted phone. Automatically generated using `phone` and `countryCode`.'\n            )\n            .optional()\n            .nullable(),\n          subscriptionStatus: z\n            .enum([\n              'NO_SUBSCRIPTION_STATUS',\n              'NOT_SET',\n              'PENDING',\n              'SUBSCRIBED',\n              'UNSUBSCRIBED',\n            ])\n            .describe(\n              \"Indicates the recipient's opt-in or opt-out status for SMS messages.\\n\\nDefault:\\n- `NOT_SET` when the phone is a valid E164 phone.\\n- `NO_SUBSCRIPTION_STATUS` when the phone is not a valid E164 phone.\"\n            )\n            .optional(),\n          phone: z\n            .string()\n            .describe(\n              'Primary phone number.\\n\\nThis field reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Contact's primary phone details.\")\n        .optional(),\n    })\n    .describe('Contact.')\n    .optional(),\n});\nexport const UpdateContactRequest = z.object({\n  contactId: z\n    .string()\n    .describe('ID of the contact to update.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n  info: z\n    .object({\n      name: z\n        .object({\n          first: z\n            .string()\n            .describe(\"Contact's first name.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          last: z\n            .string()\n            .describe(\"Contact's last name.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Contact's first and last name.\")\n        .optional(),\n      emails: z\n        .object({\n          items: z\n            .array(\n              z.object({\n                _id: z\n                  .string()\n                  .describe('Email ID.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                tag: z.enum(['UNTAGGED', 'MAIN', 'HOME', 'WORK']).optional(),\n                email: z\n                  .string()\n                  .describe('Email address.')\n                  .min(1)\n                  .max(320)\n                  .optional(),\n                primary: z\n                  .boolean()\n                  .describe(\n                    \"Indicates whether this is the contact's primary email address.\\nWhen changing `primary` to `true` for an email,\\nthe contact's other emails become `false`.\\nChanging the primary email of a contact also affects the subscription status to marketing emails that are decided based on the primary email.\"\n                  )\n                  .optional()\n                  .nullable(),\n              })\n            )\n            .max(50)\n            .optional(),\n        })\n        .describe(\"Contact's email addresses.\")\n        .optional(),\n      phones: z\n        .object({\n          items: z\n            .array(\n              z.object({\n                _id: z\n                  .string()\n                  .describe('Phone ID.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                tag: z\n                  .enum(['UNTAGGED', 'MAIN', 'HOME', 'MOBILE', 'WORK', 'FAX'])\n                  .optional(),\n                countryCode: z\n                  .string()\n                  .describe(\n                    '[ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.'\n                  )\n                  .optional()\n                  .nullable(),\n                phone: z\n                  .string()\n                  .describe('Phone number.')\n                  .min(1)\n                  .max(50)\n                  .optional(),\n                e164Phone: z\n                  .string()\n                  .describe(\n                    '[ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\\nphone number.\\nAutomatically generated using `phone` and `countryCode`, pending both values are valid.'\n                  )\n                  .optional()\n                  .nullable(),\n                primary: z\n                  .boolean()\n                  .describe(\n                    \"Indicates whether this is the contact's primary phone number.\\nWhen changing `primary` to `true` for a phone,\\nthe contact's `primary` field for other phones becomes `false`.\\nChanging the primary phone number also affects the subscription status to SMS messages that are decided based on the primary phone.\"\n                  )\n                  .optional()\n                  .nullable(),\n              })\n            )\n            .max(50)\n            .optional(),\n        })\n        .describe(\"Contact's phone numbers.\")\n        .optional(),\n      addresses: z\n        .object({\n          items: z\n            .array(\n              z.object({\n                _id: z\n                  .string()\n                  .describe('Street address ID.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                tag: z\n                  .enum(['UNTAGGED', 'HOME', 'WORK', 'BILLING', 'SHIPPING'])\n                  .optional(),\n                address: z\n                  .object({\n                    city: z.string().optional().nullable(),\n                    subdivision: z.string().optional().nullable(),\n                    country: z.string().optional().nullable(),\n                    postalCode: z.string().optional().nullable(),\n                    addressLine1: z.string().optional().nullable(),\n                    addressLine2: z.string().optional().nullable(),\n                  })\n                  .describe('Street address.')\n                  .optional(),\n              })\n            )\n            .max(50)\n            .optional(),\n        })\n        .describe(\"Contact's street addresses.\")\n        .optional(),\n      company: z\n        .string()\n        .describe(\"Contact's company name.\")\n        .max(1000)\n        .optional()\n        .nullable(),\n      jobTitle: z\n        .string()\n        .describe(\"Contact's job title.\")\n        .max(1000)\n        .optional()\n        .nullable(),\n      birthdate: z\n        .string()\n        .describe(\n          'Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`.'\n        )\n        .optional()\n        .nullable(),\n      locale: z\n        .string()\n        .describe(\n          'Locale in\\n[IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\\nTypically, this is a lowercase 2-letter language code,\\nfollowed by a hyphen, followed by an uppercase 2-letter country code.\\nFor example, `en-US` for U.S. English, and `de-DE` for Germany German.'\n        )\n        .optional()\n        .nullable(),\n      labelKeys: z\n        .object({ items: z.array(z.string()).max(2000).optional() })\n        .describe(\n          \"List of contact's labels.\\n\\nLabels are used to organize contacts. Labels can be\\nadded and removed using Label Contact and Unlabel Contact, respectively.\\n\\nTo view or manage contact labels, use the Labels API.\"\n        )\n        .optional(),\n      extendedFields: z\n        .object({\n          items: z\n            .record(z.string(), z.any())\n            .describe(\n              \"Contact's extended fields,\\nwhere each key is the field key,\\nand each value is the field's value for the contact.\\n\\nTo view and manage extended fields, use the Extended Fields API.\"\n            )\n            .optional(),\n        })\n        .describe('Additional custom fields.\\n\\nEmpty fields are not returned.')\n        .optional(),\n      picture: z\n        .object({\n          image: z\n            .string()\n            .describe(\n              'Image.\\nThis can contain an image URL or a Wix Media image ID.'\n            )\n            .optional(),\n        })\n        .describe(\"Contact's profile picture.\")\n        .optional(),\n    })\n    .describe('Contact info.'),\n  revision: z\n    .number()\n    .int()\n    .describe(\n      'Revision number.\\nWhen updating, include the existing `revision`\\nto prevent conflicting updates.'\n    ),\n  options: z\n    .object({\n      allowDuplicates: z\n        .boolean()\n        .describe(\n          'Controls whether the call will succeed\\nif the new contact information contains an email or a phone number already used by another contact.\\n\\nIf set to `true`,\\nthe call will succeed even if an email address or phone number is used by another contact.\\nIf set to `false`,\\nthe call will fail if the given email address is used by another contact or,\\nif the email address is not given and the given phone number is used by another contact.\\n\\nDefault: `false`'\n        )\n        .optional(),\n    })\n    .describe('Contact update options.')\n    .optional(),\n});\nexport const UpdateContactResponse = z.object({\n  contact: z\n    .object({\n      _id: z\n        .string()\n        .describe('Contact ID.')\n        .regex(\n          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n          'Must be a valid GUID'\n        )\n        .optional(),\n      revision: z\n        .number()\n        .int()\n        .describe(\n          'Revision number, which increments by 1 each time the contact is updated.\\nTo prevent conflicting changes,\\nthe existing `revision` must be specified when updating a contact.'\n        )\n        .optional(),\n      source: z\n        .object({\n          sourceType: z\n            .enum([\n              'OTHER',\n              'ADMIN',\n              'WIX_APP',\n              'IMPORT',\n              'THIRD_PARTY',\n              'WIX_BOOKINGS',\n              'WIX_CHAT',\n              'WIX_EMAIL_MARKETING',\n              'WIX_EVENTS',\n              'WIX_FORMS',\n              'WIX_GROUPS',\n              'WIX_HOTELS',\n              'WIX_MARKET_PLACE',\n              'WIX_MUSIC',\n              'WIX_RESTAURANTS',\n              'WIX_SITE_MEMBERS',\n              'WIX_STORES',\n              'WIX_CODE',\n              'HOPP',\n            ])\n            .describe('Source type.')\n            .optional(),\n          appId: z\n            .string()\n            .describe('App ID, if the contact was created by an app.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Details about the contact's source.\")\n        .optional(),\n      _createdDate: z\n        .date()\n        .describe('Date and time the contact was created.')\n        .optional()\n        .nullable(),\n      _updatedDate: z\n        .date()\n        .describe('Date and time the contact was last updated.')\n        .optional()\n        .nullable(),\n      lastActivity: z\n        .object({\n          activityDate: z\n            .date()\n            .describe('Date and time of the last action.')\n            .optional()\n            .nullable(),\n          activityType: z\n            .enum([\n              'GENERAL',\n              'CONTACT_CREATED',\n              'MEMBER_LOGIN',\n              'MEMBER_REGISTER',\n              'MEMBER_STATUS_CHANGED',\n              'FORM_SUBMITTED',\n              'INBOX_FORM_SUBMITTED',\n              'INBOX_PAYMENT_REQUEST_PAID',\n              'INBOX_MESSAGE_TO_CUSTOMER',\n              'INBOX_MESSAGE_FROM_CUSTOMER',\n              'NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED',\n              'NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE',\n              'ECOM_PURCHASE',\n              'ECOM_CART_ABANDON',\n              'ECOM_CHECKOUT_BUYER',\n              'BOOKINGS_APPOINTMENT',\n              'HOTELS_RESERVATION',\n              'HOTELS_PURCHASE',\n              'HOTELS_CONFIRMATION',\n              'HOTELS_CANCEL',\n              'VIDEO_PURCHASE',\n              'VIDEO_RENT',\n              'CASHIER_BUTTON_PURCHASE',\n              'ARENA_NEW_LEAD',\n              'EVENTS_RSVP',\n              'INVOICE_PAY',\n              'INVOICE_OVERDUE',\n              'PRICE_QUOTE_ACCEPT',\n              'PRICE_QUOTE_EXPIRE',\n              'RESTAURANTS_ORDER',\n              'RESTAURANTS_RESERVATION',\n              'SHOUTOUT_OPEN',\n              'SHOUTOUT_CLICK',\n              'CONTACT_MERGED',\n              'NEWSLETTER_SUBSCRIPTION_SUBSCRIBE',\n              'NEWSLETTER_SUBSCRIPTION_PENDING',\n              'NEWSLETTER_SUBSCRIPTION_NOT_SET',\n              'PHONE_SUBSCRIPTION_SUBSCRIBE',\n              'PHONE_SUBSCRIPTION_PENDING',\n              'PHONE_SUBSCRIPTION_NOT_SET',\n              'PHONE_SUBSCRIPTION_UNSUBSCRIBE',\n            ])\n            .describe(\"Contact's last action in the site.\")\n            .optional(),\n        })\n        .describe(\"Details about the contact's last action in the site.\")\n        .optional(),\n      primaryInfo: z\n        .object({\n          email: z\n            .string()\n            .describe(\n              'Primary email address.\\n\\nThis property reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n            )\n            .email()\n            .optional()\n            .nullable(),\n          phone: z\n            .string()\n            .describe(\n              'Primary phone number.\\n\\nThis property reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Contact's primary phone and email.\")\n        .optional(),\n      info: z\n        .object({\n          name: z\n            .object({\n              first: z\n                .string()\n                .describe(\"Contact's first name.\")\n                .max(1000)\n                .optional()\n                .nullable(),\n              last: z\n                .string()\n                .describe(\"Contact's last name.\")\n                .max(1000)\n                .optional()\n                .nullable(),\n            })\n            .describe(\"Contact's first and last name.\")\n            .optional(),\n          emails: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Email ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum(['UNTAGGED', 'MAIN', 'HOME', 'WORK'])\n                      .describe(\n                        'Email type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    email: z\n                      .string()\n                      .describe('Email address.')\n                      .min(1)\n                      .max(320)\n                      .optional(),\n                    primary: z\n                      .boolean()\n                      .describe(\n                        \"Indicates whether this is the contact's primary email address.\\nWhen changing `primary` to `true` for an email,\\nthe contact's other emails become `false`.\\nChanging the primary email of a contact also affects the subscription status to marketing emails that are decided based on the primary email.\"\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's email addresses.\")\n            .optional(),\n          phones: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Phone ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum([\n                        'UNTAGGED',\n                        'MAIN',\n                        'HOME',\n                        'MOBILE',\n                        'WORK',\n                        'FAX',\n                      ])\n                      .describe(\n                        'Phone type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    countryCode: z\n                      .string()\n                      .describe(\n                        '[ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.'\n                      )\n                      .optional()\n                      .nullable(),\n                    phone: z\n                      .string()\n                      .describe('Phone number.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    e164Phone: z\n                      .string()\n                      .describe(\n                        '[ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\\nphone number.\\nAutomatically generated using `phone` and `countryCode`, pending both values are valid.'\n                      )\n                      .optional()\n                      .nullable(),\n                    primary: z\n                      .boolean()\n                      .describe(\n                        \"Indicates whether this is the contact's primary phone number.\\nWhen changing `primary` to `true` for a phone,\\nthe contact's `primary` field for other phones becomes `false`.\\nChanging the primary phone number also affects the subscription status to SMS messages that are decided based on the primary phone.\"\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's phone numbers.\")\n            .optional(),\n          addresses: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Street address ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum(['UNTAGGED', 'HOME', 'WORK', 'BILLING', 'SHIPPING'])\n                      .describe(\n                        'Address type.\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    address: z\n                      .object({\n                        city: z.string().optional().nullable(),\n                        subdivision: z.string().optional().nullable(),\n                        country: z.string().optional().nullable(),\n                        postalCode: z.string().optional().nullable(),\n                        addressLine1: z.string().optional().nullable(),\n                        addressLine2: z.string().optional().nullable(),\n                      })\n                      .describe('Street address.')\n                      .optional(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's street addresses.\")\n            .optional(),\n          company: z\n            .string()\n            .describe(\"Contact's company name.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          jobTitle: z\n            .string()\n            .describe(\"Contact's job title.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          birthdate: z\n            .string()\n            .describe(\n              'Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`.'\n            )\n            .optional()\n            .nullable(),\n          locale: z\n            .string()\n            .describe(\n              'Locale in\\n[IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\\nTypically, this is a lowercase 2-letter language code,\\nfollowed by a hyphen, followed by an uppercase 2-letter country code.\\nFor example, `en-US` for U.S. English, and `de-DE` for Germany German.'\n            )\n            .optional()\n            .nullable(),\n          labelKeys: z\n            .object({ items: z.array(z.string()).max(2000).optional() })\n            .describe(\n              \"List of contact's labels.\\n\\nLabels are used to organize contacts. Labels can be\\nadded and removed using Label Contact and Unlabel Contact, respectively.\\n\\nTo view or manage contact labels, use the Labels API.\"\n            )\n            .optional(),\n          extendedFields: z\n            .object({\n              items: z\n                .record(z.string(), z.any())\n                .describe(\n                  \"Contact's extended fields,\\nwhere each key is the field key,\\nand each value is the field's value for the contact.\\n\\nTo view and manage extended fields, use the Extended Fields API.\"\n                )\n                .optional(),\n            })\n            .describe(\n              'Additional custom fields.\\n\\nEmpty fields are not returned.'\n            )\n            .optional(),\n          picture: z\n            .object({\n              image: z\n                .string()\n                .describe(\n                  'Image.\\nThis can contain an image URL or a Wix Media image ID.'\n                )\n                .optional(),\n            })\n            .describe(\"Contact's profile picture.\")\n            .optional(),\n        })\n        .describe(\"Contact's details.\")\n        .optional(),\n      primaryEmail: z\n        .object({\n          email: z\n            .string()\n            .describe(\n              'Primary email address.\\n\\nThis field reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n            )\n            .email()\n            .optional()\n            .nullable(),\n          subscriptionStatus: z\n            .enum([\n              'NO_SUBSCRIPTION_STATUS',\n              'NOT_SET',\n              'PENDING',\n              'SUBSCRIBED',\n              'UNSUBSCRIBED',\n            ])\n            .describe(\n              \"Indicates the recipient's opt-in or opt-out status for marketing emails.\\n\\nDefault: `NOT_SET`\"\n            )\n            .optional(),\n          deliverabilityStatus: z\n            .enum(['NOT_SET', 'VALID', 'BOUNCED', 'SPAM_COMPLAINT', 'INACTIVE'])\n            .describe(\n              'Indicates last reported status of sent emails.\\n\\nDefault: `NOT_SET`'\n            )\n            .optional(),\n        })\n        .describe(\"Contact's primary email details.\")\n        .optional(),\n      primaryPhone: z\n        .object({\n          countryCode: z\n            .string()\n            .describe(\n              'Country code of the primary phone number in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n            )\n            .optional()\n            .nullable(),\n          e164Phone: z\n            .string()\n            .describe(\n              'Phone number in [ITU E.164](https://www.itu.int/rec/T-REC-E.164/) format.\\nAutomatically generated using `phone` and `countryCode` when both values are valid.'\n            )\n            .optional()\n            .nullable(),\n          formattedPhone: z\n            .string()\n            .describe(\n              'Formatted phone. Automatically generated using `phone` and `countryCode`.'\n            )\n            .optional()\n            .nullable(),\n          subscriptionStatus: z\n            .enum([\n              'NO_SUBSCRIPTION_STATUS',\n              'NOT_SET',\n              'PENDING',\n              'SUBSCRIBED',\n              'UNSUBSCRIBED',\n            ])\n            .describe(\n              \"Indicates the recipient's opt-in or opt-out status for SMS messages.\\n\\nDefault:\\n- `NOT_SET` when the phone is a valid E164 phone.\\n- `NO_SUBSCRIPTION_STATUS` when the phone is not a valid E164 phone.\"\n            )\n            .optional(),\n          phone: z\n            .string()\n            .describe(\n              'Primary phone number.\\n\\nThis field reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Contact's primary phone details.\")\n        .optional(),\n    })\n    .describe('Updated contact.')\n    .optional(),\n});\nexport const MergeContactsRequest = z.object({\n  targetContactId: z\n    .string()\n    .describe('Target contact ID.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n  targetContactRevision: z\n    .object({ value: z.number().int().optional() })\n    .describe(\n      \"Target contact revision number, which increments by 1 each time the contact is updated.\\nTo prevent conflicting changes,\\nthe target contact's current `revision` must be specified.\"\n    ),\n  options: z\n    .object({ sourceContactIds: z.array(z.string()).min(1).max(5).optional() })\n    .describe('Merge contacts options.')\n    .optional(),\n});\nexport const MergeContactsResponse = z.object({\n  contact: z\n    .object({\n      _id: z\n        .string()\n        .describe('Contact ID.')\n        .regex(\n          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n          'Must be a valid GUID'\n        )\n        .optional(),\n      revision: z\n        .number()\n        .int()\n        .describe(\n          'Revision number, which increments by 1 each time the contact is updated.\\nTo prevent conflicting changes,\\nthe existing `revision` must be specified when updating a contact.'\n        )\n        .optional(),\n      source: z\n        .object({\n          sourceType: z\n            .enum([\n              'OTHER',\n              'ADMIN',\n              'WIX_APP',\n              'IMPORT',\n              'THIRD_PARTY',\n              'WIX_BOOKINGS',\n              'WIX_CHAT',\n              'WIX_EMAIL_MARKETING',\n              'WIX_EVENTS',\n              'WIX_FORMS',\n              'WIX_GROUPS',\n              'WIX_HOTELS',\n              'WIX_MARKET_PLACE',\n              'WIX_MUSIC',\n              'WIX_RESTAURANTS',\n              'WIX_SITE_MEMBERS',\n              'WIX_STORES',\n              'WIX_CODE',\n              'HOPP',\n            ])\n            .describe('Source type.')\n            .optional(),\n          appId: z\n            .string()\n            .describe('App ID, if the contact was created by an app.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Details about the contact's source.\")\n        .optional(),\n      _createdDate: z\n        .date()\n        .describe('Date and time the contact was created.')\n        .optional()\n        .nullable(),\n      _updatedDate: z\n        .date()\n        .describe('Date and time the contact was last updated.')\n        .optional()\n        .nullable(),\n      lastActivity: z\n        .object({\n          activityDate: z\n            .date()\n            .describe('Date and time of the last action.')\n            .optional()\n            .nullable(),\n          activityType: z\n            .enum([\n              'GENERAL',\n              'CONTACT_CREATED',\n              'MEMBER_LOGIN',\n              'MEMBER_REGISTER',\n              'MEMBER_STATUS_CHANGED',\n              'FORM_SUBMITTED',\n              'INBOX_FORM_SUBMITTED',\n              'INBOX_PAYMENT_REQUEST_PAID',\n              'INBOX_MESSAGE_TO_CUSTOMER',\n              'INBOX_MESSAGE_FROM_CUSTOMER',\n              'NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED',\n              'NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE',\n              'ECOM_PURCHASE',\n              'ECOM_CART_ABANDON',\n              'ECOM_CHECKOUT_BUYER',\n              'BOOKINGS_APPOINTMENT',\n              'HOTELS_RESERVATION',\n              'HOTELS_PURCHASE',\n              'HOTELS_CONFIRMATION',\n              'HOTELS_CANCEL',\n              'VIDEO_PURCHASE',\n              'VIDEO_RENT',\n              'CASHIER_BUTTON_PURCHASE',\n              'ARENA_NEW_LEAD',\n              'EVENTS_RSVP',\n              'INVOICE_PAY',\n              'INVOICE_OVERDUE',\n              'PRICE_QUOTE_ACCEPT',\n              'PRICE_QUOTE_EXPIRE',\n              'RESTAURANTS_ORDER',\n              'RESTAURANTS_RESERVATION',\n              'SHOUTOUT_OPEN',\n              'SHOUTOUT_CLICK',\n              'CONTACT_MERGED',\n              'NEWSLETTER_SUBSCRIPTION_SUBSCRIBE',\n              'NEWSLETTER_SUBSCRIPTION_PENDING',\n              'NEWSLETTER_SUBSCRIPTION_NOT_SET',\n              'PHONE_SUBSCRIPTION_SUBSCRIBE',\n              'PHONE_SUBSCRIPTION_PENDING',\n              'PHONE_SUBSCRIPTION_NOT_SET',\n              'PHONE_SUBSCRIPTION_UNSUBSCRIBE',\n            ])\n            .describe(\"Contact's last action in the site.\")\n            .optional(),\n        })\n        .describe(\"Details about the contact's last action in the site.\")\n        .optional(),\n      primaryInfo: z\n        .object({\n          email: z\n            .string()\n            .describe(\n              'Primary email address.\\n\\nThis property reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n            )\n            .email()\n            .optional()\n            .nullable(),\n          phone: z\n            .string()\n            .describe(\n              'Primary phone number.\\n\\nThis property reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Contact's primary phone and email.\")\n        .optional(),\n      info: z\n        .object({\n          name: z\n            .object({\n              first: z\n                .string()\n                .describe(\"Contact's first name.\")\n                .max(1000)\n                .optional()\n                .nullable(),\n              last: z\n                .string()\n                .describe(\"Contact's last name.\")\n                .max(1000)\n                .optional()\n                .nullable(),\n            })\n            .describe(\"Contact's first and last name.\")\n            .optional(),\n          emails: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Email ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum(['UNTAGGED', 'MAIN', 'HOME', 'WORK'])\n                      .describe(\n                        'Email type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    email: z\n                      .string()\n                      .describe('Email address.')\n                      .min(1)\n                      .max(320)\n                      .optional(),\n                    primary: z\n                      .boolean()\n                      .describe(\n                        \"Indicates whether this is the contact's primary email address.\\nWhen changing `primary` to `true` for an email,\\nthe contact's other emails become `false`.\\nChanging the primary email of a contact also affects the subscription status to marketing emails that are decided based on the primary email.\"\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's email addresses.\")\n            .optional(),\n          phones: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Phone ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum([\n                        'UNTAGGED',\n                        'MAIN',\n                        'HOME',\n                        'MOBILE',\n                        'WORK',\n                        'FAX',\n                      ])\n                      .describe(\n                        'Phone type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    countryCode: z\n                      .string()\n                      .describe(\n                        '[ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.'\n                      )\n                      .optional()\n                      .nullable(),\n                    phone: z\n                      .string()\n                      .describe('Phone number.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    e164Phone: z\n                      .string()\n                      .describe(\n                        '[ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\\nphone number.\\nAutomatically generated using `phone` and `countryCode`, pending both values are valid.'\n                      )\n                      .optional()\n                      .nullable(),\n                    primary: z\n                      .boolean()\n                      .describe(\n                        \"Indicates whether this is the contact's primary phone number.\\nWhen changing `primary` to `true` for a phone,\\nthe contact's `primary` field for other phones becomes `false`.\\nChanging the primary phone number also affects the subscription status to SMS messages that are decided based on the primary phone.\"\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's phone numbers.\")\n            .optional(),\n          addresses: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Street address ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum(['UNTAGGED', 'HOME', 'WORK', 'BILLING', 'SHIPPING'])\n                      .describe(\n                        'Address type.\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    address: z\n                      .object({\n                        city: z.string().optional().nullable(),\n                        subdivision: z.string().optional().nullable(),\n                        country: z.string().optional().nullable(),\n                        postalCode: z.string().optional().nullable(),\n                        addressLine1: z.string().optional().nullable(),\n                        addressLine2: z.string().optional().nullable(),\n                      })\n                      .describe('Street address.')\n                      .optional(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's street addresses.\")\n            .optional(),\n          company: z\n            .string()\n            .describe(\"Contact's company name.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          jobTitle: z\n            .string()\n            .describe(\"Contact's job title.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          birthdate: z\n            .string()\n            .describe(\n              'Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`.'\n            )\n            .optional()\n            .nullable(),\n          locale: z\n            .string()\n            .describe(\n              'Locale in\\n[IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\\nTypically, this is a lowercase 2-letter language code,\\nfollowed by a hyphen, followed by an uppercase 2-letter country code.\\nFor example, `en-US` for U.S. English, and `de-DE` for Germany German.'\n            )\n            .optional()\n            .nullable(),\n          labelKeys: z\n            .object({ items: z.array(z.string()).max(2000).optional() })\n            .describe(\n              \"List of contact's labels.\\n\\nLabels are used to organize contacts. Labels can be\\nadded and removed using Label Contact and Unlabel Contact, respectively.\\n\\nTo view or manage contact labels, use the Labels API.\"\n            )\n            .optional(),\n          extendedFields: z\n            .object({\n              items: z\n                .record(z.string(), z.any())\n                .describe(\n                  \"Contact's extended fields,\\nwhere each key is the field key,\\nand each value is the field's value for the contact.\\n\\nTo view and manage extended fields, use the Extended Fields API.\"\n                )\n                .optional(),\n            })\n            .describe(\n              'Additional custom fields.\\n\\nEmpty fields are not returned.'\n            )\n            .optional(),\n          picture: z\n            .object({\n              image: z\n                .string()\n                .describe(\n                  'Image.\\nThis can contain an image URL or a Wix Media image ID.'\n                )\n                .optional(),\n            })\n            .describe(\"Contact's profile picture.\")\n            .optional(),\n        })\n        .describe(\"Contact's details.\")\n        .optional(),\n      primaryEmail: z\n        .object({\n          email: z\n            .string()\n            .describe(\n              'Primary email address.\\n\\nThis field reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n            )\n            .email()\n            .optional()\n            .nullable(),\n          subscriptionStatus: z\n            .enum([\n              'NO_SUBSCRIPTION_STATUS',\n              'NOT_SET',\n              'PENDING',\n              'SUBSCRIBED',\n              'UNSUBSCRIBED',\n            ])\n            .describe(\n              \"Indicates the recipient's opt-in or opt-out status for marketing emails.\\n\\nDefault: `NOT_SET`\"\n            )\n            .optional(),\n          deliverabilityStatus: z\n            .enum(['NOT_SET', 'VALID', 'BOUNCED', 'SPAM_COMPLAINT', 'INACTIVE'])\n            .describe(\n              'Indicates last reported status of sent emails.\\n\\nDefault: `NOT_SET`'\n            )\n            .optional(),\n        })\n        .describe(\"Contact's primary email details.\")\n        .optional(),\n      primaryPhone: z\n        .object({\n          countryCode: z\n            .string()\n            .describe(\n              'Country code of the primary phone number in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n            )\n            .optional()\n            .nullable(),\n          e164Phone: z\n            .string()\n            .describe(\n              'Phone number in [ITU E.164](https://www.itu.int/rec/T-REC-E.164/) format.\\nAutomatically generated using `phone` and `countryCode` when both values are valid.'\n            )\n            .optional()\n            .nullable(),\n          formattedPhone: z\n            .string()\n            .describe(\n              'Formatted phone. Automatically generated using `phone` and `countryCode`.'\n            )\n            .optional()\n            .nullable(),\n          subscriptionStatus: z\n            .enum([\n              'NO_SUBSCRIPTION_STATUS',\n              'NOT_SET',\n              'PENDING',\n              'SUBSCRIBED',\n              'UNSUBSCRIBED',\n            ])\n            .describe(\n              \"Indicates the recipient's opt-in or opt-out status for SMS messages.\\n\\nDefault:\\n- `NOT_SET` when the phone is a valid E164 phone.\\n- `NO_SUBSCRIPTION_STATUS` when the phone is not a valid E164 phone.\"\n            )\n            .optional(),\n          phone: z\n            .string()\n            .describe(\n              'Primary phone number.\\n\\nThis field reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Contact's primary phone details.\")\n        .optional(),\n    })\n    .describe('Updated target contact.')\n    .optional(),\n});\nexport const PreviewMergeContactsRequest = z.object({\n  targetContactId: z\n    .string()\n    .describe('Target contact ID.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n  options: z\n    .object({ sourceContactIds: z.array(z.string()).min(1).max(5).optional() })\n    .describe('Preview merge contacts options.')\n    .optional(),\n});\nexport const PreviewMergeContactsResponse = z.object({\n  contact: z\n    .object({\n      _id: z\n        .string()\n        .describe('Contact ID.')\n        .regex(\n          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n          'Must be a valid GUID'\n        )\n        .optional(),\n      revision: z\n        .number()\n        .int()\n        .describe(\n          'Revision number, which increments by 1 each time the contact is updated.\\nTo prevent conflicting changes,\\nthe existing `revision` must be specified when updating a contact.'\n        )\n        .optional(),\n      source: z\n        .object({\n          sourceType: z\n            .enum([\n              'OTHER',\n              'ADMIN',\n              'WIX_APP',\n              'IMPORT',\n              'THIRD_PARTY',\n              'WIX_BOOKINGS',\n              'WIX_CHAT',\n              'WIX_EMAIL_MARKETING',\n              'WIX_EVENTS',\n              'WIX_FORMS',\n              'WIX_GROUPS',\n              'WIX_HOTELS',\n              'WIX_MARKET_PLACE',\n              'WIX_MUSIC',\n              'WIX_RESTAURANTS',\n              'WIX_SITE_MEMBERS',\n              'WIX_STORES',\n              'WIX_CODE',\n              'HOPP',\n            ])\n            .describe('Source type.')\n            .optional(),\n          appId: z\n            .string()\n            .describe('App ID, if the contact was created by an app.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Details about the contact's source.\")\n        .optional(),\n      _createdDate: z\n        .date()\n        .describe('Date and time the contact was created.')\n        .optional()\n        .nullable(),\n      _updatedDate: z\n        .date()\n        .describe('Date and time the contact was last updated.')\n        .optional()\n        .nullable(),\n      lastActivity: z\n        .object({\n          activityDate: z\n            .date()\n            .describe('Date and time of the last action.')\n            .optional()\n            .nullable(),\n          activityType: z\n            .enum([\n              'GENERAL',\n              'CONTACT_CREATED',\n              'MEMBER_LOGIN',\n              'MEMBER_REGISTER',\n              'MEMBER_STATUS_CHANGED',\n              'FORM_SUBMITTED',\n              'INBOX_FORM_SUBMITTED',\n              'INBOX_PAYMENT_REQUEST_PAID',\n              'INBOX_MESSAGE_TO_CUSTOMER',\n              'INBOX_MESSAGE_FROM_CUSTOMER',\n              'NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED',\n              'NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE',\n              'ECOM_PURCHASE',\n              'ECOM_CART_ABANDON',\n              'ECOM_CHECKOUT_BUYER',\n              'BOOKINGS_APPOINTMENT',\n              'HOTELS_RESERVATION',\n              'HOTELS_PURCHASE',\n              'HOTELS_CONFIRMATION',\n              'HOTELS_CANCEL',\n              'VIDEO_PURCHASE',\n              'VIDEO_RENT',\n              'CASHIER_BUTTON_PURCHASE',\n              'ARENA_NEW_LEAD',\n              'EVENTS_RSVP',\n              'INVOICE_PAY',\n              'INVOICE_OVERDUE',\n              'PRICE_QUOTE_ACCEPT',\n              'PRICE_QUOTE_EXPIRE',\n              'RESTAURANTS_ORDER',\n              'RESTAURANTS_RESERVATION',\n              'SHOUTOUT_OPEN',\n              'SHOUTOUT_CLICK',\n              'CONTACT_MERGED',\n              'NEWSLETTER_SUBSCRIPTION_SUBSCRIBE',\n              'NEWSLETTER_SUBSCRIPTION_PENDING',\n              'NEWSLETTER_SUBSCRIPTION_NOT_SET',\n              'PHONE_SUBSCRIPTION_SUBSCRIBE',\n              'PHONE_SUBSCRIPTION_PENDING',\n              'PHONE_SUBSCRIPTION_NOT_SET',\n              'PHONE_SUBSCRIPTION_UNSUBSCRIBE',\n            ])\n            .describe(\"Contact's last action in the site.\")\n            .optional(),\n        })\n        .describe(\"Details about the contact's last action in the site.\")\n        .optional(),\n      primaryInfo: z\n        .object({\n          email: z\n            .string()\n            .describe(\n              'Primary email address.\\n\\nThis property reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n            )\n            .email()\n            .optional()\n            .nullable(),\n          phone: z\n            .string()\n            .describe(\n              'Primary phone number.\\n\\nThis property reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Contact's primary phone and email.\")\n        .optional(),\n      info: z\n        .object({\n          name: z\n            .object({\n              first: z\n                .string()\n                .describe(\"Contact's first name.\")\n                .max(1000)\n                .optional()\n                .nullable(),\n              last: z\n                .string()\n                .describe(\"Contact's last name.\")\n                .max(1000)\n                .optional()\n                .nullable(),\n            })\n            .describe(\"Contact's first and last name.\")\n            .optional(),\n          emails: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Email ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum(['UNTAGGED', 'MAIN', 'HOME', 'WORK'])\n                      .describe(\n                        'Email type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    email: z\n                      .string()\n                      .describe('Email address.')\n                      .min(1)\n                      .max(320)\n                      .optional(),\n                    primary: z\n                      .boolean()\n                      .describe(\n                        \"Indicates whether this is the contact's primary email address.\\nWhen changing `primary` to `true` for an email,\\nthe contact's other emails become `false`.\\nChanging the primary email of a contact also affects the subscription status to marketing emails that are decided based on the primary email.\"\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's email addresses.\")\n            .optional(),\n          phones: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Phone ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum([\n                        'UNTAGGED',\n                        'MAIN',\n                        'HOME',\n                        'MOBILE',\n                        'WORK',\n                        'FAX',\n                      ])\n                      .describe(\n                        'Phone type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    countryCode: z\n                      .string()\n                      .describe(\n                        '[ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.'\n                      )\n                      .optional()\n                      .nullable(),\n                    phone: z\n                      .string()\n                      .describe('Phone number.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    e164Phone: z\n                      .string()\n                      .describe(\n                        '[ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\\nphone number.\\nAutomatically generated using `phone` and `countryCode`, pending both values are valid.'\n                      )\n                      .optional()\n                      .nullable(),\n                    primary: z\n                      .boolean()\n                      .describe(\n                        \"Indicates whether this is the contact's primary phone number.\\nWhen changing `primary` to `true` for a phone,\\nthe contact's `primary` field for other phones becomes `false`.\\nChanging the primary phone number also affects the subscription status to SMS messages that are decided based on the primary phone.\"\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's phone numbers.\")\n            .optional(),\n          addresses: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Street address ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum(['UNTAGGED', 'HOME', 'WORK', 'BILLING', 'SHIPPING'])\n                      .describe(\n                        'Address type.\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    address: z\n                      .object({\n                        city: z.string().optional().nullable(),\n                        subdivision: z.string().optional().nullable(),\n                        country: z.string().optional().nullable(),\n                        postalCode: z.string().optional().nullable(),\n                        addressLine1: z.string().optional().nullable(),\n                        addressLine2: z.string().optional().nullable(),\n                      })\n                      .describe('Street address.')\n                      .optional(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's street addresses.\")\n            .optional(),\n          company: z\n            .string()\n            .describe(\"Contact's company name.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          jobTitle: z\n            .string()\n            .describe(\"Contact's job title.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          birthdate: z\n            .string()\n            .describe(\n              'Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`.'\n            )\n            .optional()\n            .nullable(),\n          locale: z\n            .string()\n            .describe(\n              'Locale in\\n[IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\\nTypically, this is a lowercase 2-letter language code,\\nfollowed by a hyphen, followed by an uppercase 2-letter country code.\\nFor example, `en-US` for U.S. English, and `de-DE` for Germany German.'\n            )\n            .optional()\n            .nullable(),\n          labelKeys: z\n            .object({ items: z.array(z.string()).max(2000).optional() })\n            .describe(\n              \"List of contact's labels.\\n\\nLabels are used to organize contacts. Labels can be\\nadded and removed using Label Contact and Unlabel Contact, respectively.\\n\\nTo view or manage contact labels, use the Labels API.\"\n            )\n            .optional(),\n          extendedFields: z\n            .object({\n              items: z\n                .record(z.string(), z.any())\n                .describe(\n                  \"Contact's extended fields,\\nwhere each key is the field key,\\nand each value is the field's value for the contact.\\n\\nTo view and manage extended fields, use the Extended Fields API.\"\n                )\n                .optional(),\n            })\n            .describe(\n              'Additional custom fields.\\n\\nEmpty fields are not returned.'\n            )\n            .optional(),\n          picture: z\n            .object({\n              image: z\n                .string()\n                .describe(\n                  'Image.\\nThis can contain an image URL or a Wix Media image ID.'\n                )\n                .optional(),\n            })\n            .describe(\"Contact's profile picture.\")\n            .optional(),\n        })\n        .describe(\"Contact's details.\")\n        .optional(),\n      primaryEmail: z\n        .object({\n          email: z\n            .string()\n            .describe(\n              'Primary email address.\\n\\nThis field reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n            )\n            .email()\n            .optional()\n            .nullable(),\n          subscriptionStatus: z\n            .enum([\n              'NO_SUBSCRIPTION_STATUS',\n              'NOT_SET',\n              'PENDING',\n              'SUBSCRIBED',\n              'UNSUBSCRIBED',\n            ])\n            .describe(\n              \"Indicates the recipient's opt-in or opt-out status for marketing emails.\\n\\nDefault: `NOT_SET`\"\n            )\n            .optional(),\n          deliverabilityStatus: z\n            .enum(['NOT_SET', 'VALID', 'BOUNCED', 'SPAM_COMPLAINT', 'INACTIVE'])\n            .describe(\n              'Indicates last reported status of sent emails.\\n\\nDefault: `NOT_SET`'\n            )\n            .optional(),\n        })\n        .describe(\"Contact's primary email details.\")\n        .optional(),\n      primaryPhone: z\n        .object({\n          countryCode: z\n            .string()\n            .describe(\n              'Country code of the primary phone number in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n            )\n            .optional()\n            .nullable(),\n          e164Phone: z\n            .string()\n            .describe(\n              'Phone number in [ITU E.164](https://www.itu.int/rec/T-REC-E.164/) format.\\nAutomatically generated using `phone` and `countryCode` when both values are valid.'\n            )\n            .optional()\n            .nullable(),\n          formattedPhone: z\n            .string()\n            .describe(\n              'Formatted phone. Automatically generated using `phone` and `countryCode`.'\n            )\n            .optional()\n            .nullable(),\n          subscriptionStatus: z\n            .enum([\n              'NO_SUBSCRIPTION_STATUS',\n              'NOT_SET',\n              'PENDING',\n              'SUBSCRIBED',\n              'UNSUBSCRIBED',\n            ])\n            .describe(\n              \"Indicates the recipient's opt-in or opt-out status for SMS messages.\\n\\nDefault:\\n- `NOT_SET` when the phone is a valid E164 phone.\\n- `NO_SUBSCRIPTION_STATUS` when the phone is not a valid E164 phone.\"\n            )\n            .optional(),\n          phone: z\n            .string()\n            .describe(\n              'Primary phone number.\\n\\nThis field reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Contact's primary phone details.\")\n        .optional(),\n    })\n    .describe('Preview of the updated target contact.')\n    .optional(),\n});\nexport const DeleteContactRequest = z.object({\n  contactId: z\n    .string()\n    .describe('ID of the contact to delete.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n});\nexport const DeleteContactResponse = z.object({});\nexport const LabelContactRequest = z.object({\n  contactId: z\n    .string()\n    .describe('ID of the contact to add labels to.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n  labelKeys: z.array(z.string()).min(1).max(100),\n});\nexport const LabelContactResponse = z.object({\n  contact: z\n    .object({\n      _id: z\n        .string()\n        .describe('Contact ID.')\n        .regex(\n          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n          'Must be a valid GUID'\n        )\n        .optional(),\n      revision: z\n        .number()\n        .int()\n        .describe(\n          'Revision number, which increments by 1 each time the contact is updated.\\nTo prevent conflicting changes,\\nthe existing `revision` must be specified when updating a contact.'\n        )\n        .optional(),\n      source: z\n        .object({\n          sourceType: z\n            .enum([\n              'OTHER',\n              'ADMIN',\n              'WIX_APP',\n              'IMPORT',\n              'THIRD_PARTY',\n              'WIX_BOOKINGS',\n              'WIX_CHAT',\n              'WIX_EMAIL_MARKETING',\n              'WIX_EVENTS',\n              'WIX_FORMS',\n              'WIX_GROUPS',\n              'WIX_HOTELS',\n              'WIX_MARKET_PLACE',\n              'WIX_MUSIC',\n              'WIX_RESTAURANTS',\n              'WIX_SITE_MEMBERS',\n              'WIX_STORES',\n              'WIX_CODE',\n              'HOPP',\n            ])\n            .describe('Source type.')\n            .optional(),\n          appId: z\n            .string()\n            .describe('App ID, if the contact was created by an app.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Details about the contact's source.\")\n        .optional(),\n      _createdDate: z\n        .date()\n        .describe('Date and time the contact was created.')\n        .optional()\n        .nullable(),\n      _updatedDate: z\n        .date()\n        .describe('Date and time the contact was last updated.')\n        .optional()\n        .nullable(),\n      lastActivity: z\n        .object({\n          activityDate: z\n            .date()\n            .describe('Date and time of the last action.')\n            .optional()\n            .nullable(),\n          activityType: z\n            .enum([\n              'GENERAL',\n              'CONTACT_CREATED',\n              'MEMBER_LOGIN',\n              'MEMBER_REGISTER',\n              'MEMBER_STATUS_CHANGED',\n              'FORM_SUBMITTED',\n              'INBOX_FORM_SUBMITTED',\n              'INBOX_PAYMENT_REQUEST_PAID',\n              'INBOX_MESSAGE_TO_CUSTOMER',\n              'INBOX_MESSAGE_FROM_CUSTOMER',\n              'NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED',\n              'NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE',\n              'ECOM_PURCHASE',\n              'ECOM_CART_ABANDON',\n              'ECOM_CHECKOUT_BUYER',\n              'BOOKINGS_APPOINTMENT',\n              'HOTELS_RESERVATION',\n              'HOTELS_PURCHASE',\n              'HOTELS_CONFIRMATION',\n              'HOTELS_CANCEL',\n              'VIDEO_PURCHASE',\n              'VIDEO_RENT',\n              'CASHIER_BUTTON_PURCHASE',\n              'ARENA_NEW_LEAD',\n              'EVENTS_RSVP',\n              'INVOICE_PAY',\n              'INVOICE_OVERDUE',\n              'PRICE_QUOTE_ACCEPT',\n              'PRICE_QUOTE_EXPIRE',\n              'RESTAURANTS_ORDER',\n              'RESTAURANTS_RESERVATION',\n              'SHOUTOUT_OPEN',\n              'SHOUTOUT_CLICK',\n              'CONTACT_MERGED',\n              'NEWSLETTER_SUBSCRIPTION_SUBSCRIBE',\n              'NEWSLETTER_SUBSCRIPTION_PENDING',\n              'NEWSLETTER_SUBSCRIPTION_NOT_SET',\n              'PHONE_SUBSCRIPTION_SUBSCRIBE',\n              'PHONE_SUBSCRIPTION_PENDING',\n              'PHONE_SUBSCRIPTION_NOT_SET',\n              'PHONE_SUBSCRIPTION_UNSUBSCRIBE',\n            ])\n            .describe(\"Contact's last action in the site.\")\n            .optional(),\n        })\n        .describe(\"Details about the contact's last action in the site.\")\n        .optional(),\n      primaryInfo: z\n        .object({\n          email: z\n            .string()\n            .describe(\n              'Primary email address.\\n\\nThis property reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n            )\n            .email()\n            .optional()\n            .nullable(),\n          phone: z\n            .string()\n            .describe(\n              'Primary phone number.\\n\\nThis property reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Contact's primary phone and email.\")\n        .optional(),\n      info: z\n        .object({\n          name: z\n            .object({\n              first: z\n                .string()\n                .describe(\"Contact's first name.\")\n                .max(1000)\n                .optional()\n                .nullable(),\n              last: z\n                .string()\n                .describe(\"Contact's last name.\")\n                .max(1000)\n                .optional()\n                .nullable(),\n            })\n            .describe(\"Contact's first and last name.\")\n            .optional(),\n          emails: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Email ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum(['UNTAGGED', 'MAIN', 'HOME', 'WORK'])\n                      .describe(\n                        'Email type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    email: z\n                      .string()\n                      .describe('Email address.')\n                      .min(1)\n                      .max(320)\n                      .optional(),\n                    primary: z\n                      .boolean()\n                      .describe(\n                        \"Indicates whether this is the contact's primary email address.\\nWhen changing `primary` to `true` for an email,\\nthe contact's other emails become `false`.\\nChanging the primary email of a contact also affects the subscription status to marketing emails that are decided based on the primary email.\"\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's email addresses.\")\n            .optional(),\n          phones: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Phone ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum([\n                        'UNTAGGED',\n                        'MAIN',\n                        'HOME',\n                        'MOBILE',\n                        'WORK',\n                        'FAX',\n                      ])\n                      .describe(\n                        'Phone type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    countryCode: z\n                      .string()\n                      .describe(\n                        '[ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.'\n                      )\n                      .optional()\n                      .nullable(),\n                    phone: z\n                      .string()\n                      .describe('Phone number.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    e164Phone: z\n                      .string()\n                      .describe(\n                        '[ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\\nphone number.\\nAutomatically generated using `phone` and `countryCode`, pending both values are valid.'\n                      )\n                      .optional()\n                      .nullable(),\n                    primary: z\n                      .boolean()\n                      .describe(\n                        \"Indicates whether this is the contact's primary phone number.\\nWhen changing `primary` to `true` for a phone,\\nthe contact's `primary` field for other phones becomes `false`.\\nChanging the primary phone number also affects the subscription status to SMS messages that are decided based on the primary phone.\"\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's phone numbers.\")\n            .optional(),\n          addresses: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Street address ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum(['UNTAGGED', 'HOME', 'WORK', 'BILLING', 'SHIPPING'])\n                      .describe(\n                        'Address type.\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    address: z\n                      .object({\n                        city: z.string().optional().nullable(),\n                        subdivision: z.string().optional().nullable(),\n                        country: z.string().optional().nullable(),\n                        postalCode: z.string().optional().nullable(),\n                        addressLine1: z.string().optional().nullable(),\n                        addressLine2: z.string().optional().nullable(),\n                      })\n                      .describe('Street address.')\n                      .optional(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's street addresses.\")\n            .optional(),\n          company: z\n            .string()\n            .describe(\"Contact's company name.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          jobTitle: z\n            .string()\n            .describe(\"Contact's job title.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          birthdate: z\n            .string()\n            .describe(\n              'Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`.'\n            )\n            .optional()\n            .nullable(),\n          locale: z\n            .string()\n            .describe(\n              'Locale in\\n[IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\\nTypically, this is a lowercase 2-letter language code,\\nfollowed by a hyphen, followed by an uppercase 2-letter country code.\\nFor example, `en-US` for U.S. English, and `de-DE` for Germany German.'\n            )\n            .optional()\n            .nullable(),\n          labelKeys: z\n            .object({ items: z.array(z.string()).max(2000).optional() })\n            .describe(\n              \"List of contact's labels.\\n\\nLabels are used to organize contacts. Labels can be\\nadded and removed using Label Contact and Unlabel Contact, respectively.\\n\\nTo view or manage contact labels, use the Labels API.\"\n            )\n            .optional(),\n          extendedFields: z\n            .object({\n              items: z\n                .record(z.string(), z.any())\n                .describe(\n                  \"Contact's extended fields,\\nwhere each key is the field key,\\nand each value is the field's value for the contact.\\n\\nTo view and manage extended fields, use the Extended Fields API.\"\n                )\n                .optional(),\n            })\n            .describe(\n              'Additional custom fields.\\n\\nEmpty fields are not returned.'\n            )\n            .optional(),\n          picture: z\n            .object({\n              image: z\n                .string()\n                .describe(\n                  'Image.\\nThis can contain an image URL or a Wix Media image ID.'\n                )\n                .optional(),\n            })\n            .describe(\"Contact's profile picture.\")\n            .optional(),\n        })\n        .describe(\"Contact's details.\")\n        .optional(),\n      primaryEmail: z\n        .object({\n          email: z\n            .string()\n            .describe(\n              'Primary email address.\\n\\nThis field reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n            )\n            .email()\n            .optional()\n            .nullable(),\n          subscriptionStatus: z\n            .enum([\n              'NO_SUBSCRIPTION_STATUS',\n              'NOT_SET',\n              'PENDING',\n              'SUBSCRIBED',\n              'UNSUBSCRIBED',\n            ])\n            .describe(\n              \"Indicates the recipient's opt-in or opt-out status for marketing emails.\\n\\nDefault: `NOT_SET`\"\n            )\n            .optional(),\n          deliverabilityStatus: z\n            .enum(['NOT_SET', 'VALID', 'BOUNCED', 'SPAM_COMPLAINT', 'INACTIVE'])\n            .describe(\n              'Indicates last reported status of sent emails.\\n\\nDefault: `NOT_SET`'\n            )\n            .optional(),\n        })\n        .describe(\"Contact's primary email details.\")\n        .optional(),\n      primaryPhone: z\n        .object({\n          countryCode: z\n            .string()\n            .describe(\n              'Country code of the primary phone number in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n            )\n            .optional()\n            .nullable(),\n          e164Phone: z\n            .string()\n            .describe(\n              'Phone number in [ITU E.164](https://www.itu.int/rec/T-REC-E.164/) format.\\nAutomatically generated using `phone` and `countryCode` when both values are valid.'\n            )\n            .optional()\n            .nullable(),\n          formattedPhone: z\n            .string()\n            .describe(\n              'Formatted phone. Automatically generated using `phone` and `countryCode`.'\n            )\n            .optional()\n            .nullable(),\n          subscriptionStatus: z\n            .enum([\n              'NO_SUBSCRIPTION_STATUS',\n              'NOT_SET',\n              'PENDING',\n              'SUBSCRIBED',\n              'UNSUBSCRIBED',\n            ])\n            .describe(\n              \"Indicates the recipient's opt-in or opt-out status for SMS messages.\\n\\nDefault:\\n- `NOT_SET` when the phone is a valid E164 phone.\\n- `NO_SUBSCRIPTION_STATUS` when the phone is not a valid E164 phone.\"\n            )\n            .optional(),\n          phone: z\n            .string()\n            .describe(\n              'Primary phone number.\\n\\nThis field reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Contact's primary phone details.\")\n        .optional(),\n    })\n    .describe('Updated contact.')\n    .optional(),\n});\nexport const UnlabelContactRequest = z.object({\n  contactId: z\n    .string()\n    .describe('ID of the contact to remove labels from.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n  labelKeys: z.array(z.string()).min(1).max(100),\n});\nexport const UnlabelContactResponse = z.object({\n  contact: z\n    .object({\n      _id: z\n        .string()\n        .describe('Contact ID.')\n        .regex(\n          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n          'Must be a valid GUID'\n        )\n        .optional(),\n      revision: z\n        .number()\n        .int()\n        .describe(\n          'Revision number, which increments by 1 each time the contact is updated.\\nTo prevent conflicting changes,\\nthe existing `revision` must be specified when updating a contact.'\n        )\n        .optional(),\n      source: z\n        .object({\n          sourceType: z\n            .enum([\n              'OTHER',\n              'ADMIN',\n              'WIX_APP',\n              'IMPORT',\n              'THIRD_PARTY',\n              'WIX_BOOKINGS',\n              'WIX_CHAT',\n              'WIX_EMAIL_MARKETING',\n              'WIX_EVENTS',\n              'WIX_FORMS',\n              'WIX_GROUPS',\n              'WIX_HOTELS',\n              'WIX_MARKET_PLACE',\n              'WIX_MUSIC',\n              'WIX_RESTAURANTS',\n              'WIX_SITE_MEMBERS',\n              'WIX_STORES',\n              'WIX_CODE',\n              'HOPP',\n            ])\n            .describe('Source type.')\n            .optional(),\n          appId: z\n            .string()\n            .describe('App ID, if the contact was created by an app.')\n            .regex(\n              /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n              'Must be a valid GUID'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Details about the contact's source.\")\n        .optional(),\n      _createdDate: z\n        .date()\n        .describe('Date and time the contact was created.')\n        .optional()\n        .nullable(),\n      _updatedDate: z\n        .date()\n        .describe('Date and time the contact was last updated.')\n        .optional()\n        .nullable(),\n      lastActivity: z\n        .object({\n          activityDate: z\n            .date()\n            .describe('Date and time of the last action.')\n            .optional()\n            .nullable(),\n          activityType: z\n            .enum([\n              'GENERAL',\n              'CONTACT_CREATED',\n              'MEMBER_LOGIN',\n              'MEMBER_REGISTER',\n              'MEMBER_STATUS_CHANGED',\n              'FORM_SUBMITTED',\n              'INBOX_FORM_SUBMITTED',\n              'INBOX_PAYMENT_REQUEST_PAID',\n              'INBOX_MESSAGE_TO_CUSTOMER',\n              'INBOX_MESSAGE_FROM_CUSTOMER',\n              'NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED',\n              'NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE',\n              'ECOM_PURCHASE',\n              'ECOM_CART_ABANDON',\n              'ECOM_CHECKOUT_BUYER',\n              'BOOKINGS_APPOINTMENT',\n              'HOTELS_RESERVATION',\n              'HOTELS_PURCHASE',\n              'HOTELS_CONFIRMATION',\n              'HOTELS_CANCEL',\n              'VIDEO_PURCHASE',\n              'VIDEO_RENT',\n              'CASHIER_BUTTON_PURCHASE',\n              'ARENA_NEW_LEAD',\n              'EVENTS_RSVP',\n              'INVOICE_PAY',\n              'INVOICE_OVERDUE',\n              'PRICE_QUOTE_ACCEPT',\n              'PRICE_QUOTE_EXPIRE',\n              'RESTAURANTS_ORDER',\n              'RESTAURANTS_RESERVATION',\n              'SHOUTOUT_OPEN',\n              'SHOUTOUT_CLICK',\n              'CONTACT_MERGED',\n              'NEWSLETTER_SUBSCRIPTION_SUBSCRIBE',\n              'NEWSLETTER_SUBSCRIPTION_PENDING',\n              'NEWSLETTER_SUBSCRIPTION_NOT_SET',\n              'PHONE_SUBSCRIPTION_SUBSCRIBE',\n              'PHONE_SUBSCRIPTION_PENDING',\n              'PHONE_SUBSCRIPTION_NOT_SET',\n              'PHONE_SUBSCRIPTION_UNSUBSCRIBE',\n            ])\n            .describe(\"Contact's last action in the site.\")\n            .optional(),\n        })\n        .describe(\"Details about the contact's last action in the site.\")\n        .optional(),\n      primaryInfo: z\n        .object({\n          email: z\n            .string()\n            .describe(\n              'Primary email address.\\n\\nThis property reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n            )\n            .email()\n            .optional()\n            .nullable(),\n          phone: z\n            .string()\n            .describe(\n              'Primary phone number.\\n\\nThis property reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Contact's primary phone and email.\")\n        .optional(),\n      info: z\n        .object({\n          name: z\n            .object({\n              first: z\n                .string()\n                .describe(\"Contact's first name.\")\n                .max(1000)\n                .optional()\n                .nullable(),\n              last: z\n                .string()\n                .describe(\"Contact's last name.\")\n                .max(1000)\n                .optional()\n                .nullable(),\n            })\n            .describe(\"Contact's first and last name.\")\n            .optional(),\n          emails: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Email ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum(['UNTAGGED', 'MAIN', 'HOME', 'WORK'])\n                      .describe(\n                        'Email type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    email: z\n                      .string()\n                      .describe('Email address.')\n                      .min(1)\n                      .max(320)\n                      .optional(),\n                    primary: z\n                      .boolean()\n                      .describe(\n                        \"Indicates whether this is the contact's primary email address.\\nWhen changing `primary` to `true` for an email,\\nthe contact's other emails become `false`.\\nChanging the primary email of a contact also affects the subscription status to marketing emails that are decided based on the primary email.\"\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's email addresses.\")\n            .optional(),\n          phones: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Phone ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum([\n                        'UNTAGGED',\n                        'MAIN',\n                        'HOME',\n                        'MOBILE',\n                        'WORK',\n                        'FAX',\n                      ])\n                      .describe(\n                        'Phone type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    countryCode: z\n                      .string()\n                      .describe(\n                        '[ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.'\n                      )\n                      .optional()\n                      .nullable(),\n                    phone: z\n                      .string()\n                      .describe('Phone number.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    e164Phone: z\n                      .string()\n                      .describe(\n                        '[ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\\nphone number.\\nAutomatically generated using `phone` and `countryCode`, pending both values are valid.'\n                      )\n                      .optional()\n                      .nullable(),\n                    primary: z\n                      .boolean()\n                      .describe(\n                        \"Indicates whether this is the contact's primary phone number.\\nWhen changing `primary` to `true` for a phone,\\nthe contact's `primary` field for other phones becomes `false`.\\nChanging the primary phone number also affects the subscription status to SMS messages that are decided based on the primary phone.\"\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's phone numbers.\")\n            .optional(),\n          addresses: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Street address ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum(['UNTAGGED', 'HOME', 'WORK', 'BILLING', 'SHIPPING'])\n                      .describe(\n                        'Address type.\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                      )\n                      .optional(),\n                    address: z\n                      .object({\n                        city: z.string().optional().nullable(),\n                        subdivision: z.string().optional().nullable(),\n                        country: z.string().optional().nullable(),\n                        postalCode: z.string().optional().nullable(),\n                        addressLine1: z.string().optional().nullable(),\n                        addressLine2: z.string().optional().nullable(),\n                      })\n                      .describe('Street address.')\n                      .optional(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's street addresses.\")\n            .optional(),\n          company: z\n            .string()\n            .describe(\"Contact's company name.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          jobTitle: z\n            .string()\n            .describe(\"Contact's job title.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          birthdate: z\n            .string()\n            .describe(\n              'Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`.'\n            )\n            .optional()\n            .nullable(),\n          locale: z\n            .string()\n            .describe(\n              'Locale in\\n[IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\\nTypically, this is a lowercase 2-letter language code,\\nfollowed by a hyphen, followed by an uppercase 2-letter country code.\\nFor example, `en-US` for U.S. English, and `de-DE` for Germany German.'\n            )\n            .optional()\n            .nullable(),\n          labelKeys: z\n            .object({ items: z.array(z.string()).max(2000).optional() })\n            .describe(\n              \"List of contact's labels.\\n\\nLabels are used to organize contacts. Labels can be\\nadded and removed using Label Contact and Unlabel Contact, respectively.\\n\\nTo view or manage contact labels, use the Labels API.\"\n            )\n            .optional(),\n          extendedFields: z\n            .object({\n              items: z\n                .record(z.string(), z.any())\n                .describe(\n                  \"Contact's extended fields,\\nwhere each key is the field key,\\nand each value is the field's value for the contact.\\n\\nTo view and manage extended fields, use the Extended Fields API.\"\n                )\n                .optional(),\n            })\n            .describe(\n              'Additional custom fields.\\n\\nEmpty fields are not returned.'\n            )\n            .optional(),\n          picture: z\n            .object({\n              image: z\n                .string()\n                .describe(\n                  'Image.\\nThis can contain an image URL or a Wix Media image ID.'\n                )\n                .optional(),\n            })\n            .describe(\"Contact's profile picture.\")\n            .optional(),\n        })\n        .describe(\"Contact's details.\")\n        .optional(),\n      primaryEmail: z\n        .object({\n          email: z\n            .string()\n            .describe(\n              'Primary email address.\\n\\nThis field reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n            )\n            .email()\n            .optional()\n            .nullable(),\n          subscriptionStatus: z\n            .enum([\n              'NO_SUBSCRIPTION_STATUS',\n              'NOT_SET',\n              'PENDING',\n              'SUBSCRIBED',\n              'UNSUBSCRIBED',\n            ])\n            .describe(\n              \"Indicates the recipient's opt-in or opt-out status for marketing emails.\\n\\nDefault: `NOT_SET`\"\n            )\n            .optional(),\n          deliverabilityStatus: z\n            .enum(['NOT_SET', 'VALID', 'BOUNCED', 'SPAM_COMPLAINT', 'INACTIVE'])\n            .describe(\n              'Indicates last reported status of sent emails.\\n\\nDefault: `NOT_SET`'\n            )\n            .optional(),\n        })\n        .describe(\"Contact's primary email details.\")\n        .optional(),\n      primaryPhone: z\n        .object({\n          countryCode: z\n            .string()\n            .describe(\n              'Country code of the primary phone number in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n            )\n            .optional()\n            .nullable(),\n          e164Phone: z\n            .string()\n            .describe(\n              'Phone number in [ITU E.164](https://www.itu.int/rec/T-REC-E.164/) format.\\nAutomatically generated using `phone` and `countryCode` when both values are valid.'\n            )\n            .optional()\n            .nullable(),\n          formattedPhone: z\n            .string()\n            .describe(\n              'Formatted phone. Automatically generated using `phone` and `countryCode`.'\n            )\n            .optional()\n            .nullable(),\n          subscriptionStatus: z\n            .enum([\n              'NO_SUBSCRIPTION_STATUS',\n              'NOT_SET',\n              'PENDING',\n              'SUBSCRIBED',\n              'UNSUBSCRIBED',\n            ])\n            .describe(\n              \"Indicates the recipient's opt-in or opt-out status for SMS messages.\\n\\nDefault:\\n- `NOT_SET` when the phone is a valid E164 phone.\\n- `NO_SUBSCRIPTION_STATUS` when the phone is not a valid E164 phone.\"\n            )\n            .optional(),\n          phone: z\n            .string()\n            .describe(\n              'Primary phone number.\\n\\nThis field reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n            )\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Contact's primary phone details.\")\n        .optional(),\n    })\n    .describe('Updated contact.')\n    .optional(),\n});\nexport const ListContactsRequest = z.object({\n  options: z\n    .object({\n      sort: z\n        .object({\n          fieldName: z\n            .string()\n            .describe(\n              'Field to sort by.\\n\\nSupported properties:\\n`createdDate`, `lastActivity.activityDate`, `primaryInfo.email`, `info.name.first`, `info.name.last`, `info.company`,\\n`info.jobTitle`, `info.birthdate`'\n            )\n            .max(100)\n            .optional(),\n          order: z.enum(['ASC', 'DESC']).optional(),\n        })\n        .describe(\n          '[Sort order](https://dev.wix.com/api/rest/contacts/contacts/sort-and-filter).'\n        )\n        .optional(),\n      paging: z\n        .object({\n          limit: z\n            .number()\n            .int()\n            .describe(\n              'Number of items to return. Learn more about pagination in [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#paging).\\n\\nDefault: `50`. <br>\\nMaximum: `1000`.'\n            )\n            .min(0)\n            .max(1000)\n            .optional()\n            .nullable(),\n          offset: z\n            .number()\n            .int()\n            .describe('Number of items to skip in the current sort order.')\n            .min(0)\n            .optional()\n            .nullable(),\n        })\n        .describe(\n          '[Pagination](https://dev.wix.com/api/rest/getting-started/pagination), defaults to offset = 0 and limit = 50 (max limit 1,000).'\n        )\n        .optional(),\n      fields: z.array(z.string()).max(100).optional(),\n      fieldsets: z\n        .array(z.enum(['BASIC', 'COMMUNICATION_DETAILS', 'EXTENDED', 'FULL']))\n        .max(10)\n        .optional(),\n    })\n    .describe('Object containing list of options for retrieving contacts.')\n    .optional(),\n});\nexport const ListContactsResponse = z.object({\n  contacts: z\n    .array(\n      z.object({\n        _id: z\n          .string()\n          .describe('Contact ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional(),\n        revision: z\n          .number()\n          .int()\n          .describe(\n            'Revision number, which increments by 1 each time the contact is updated.\\nTo prevent conflicting changes,\\nthe existing `revision` must be specified when updating a contact.'\n          )\n          .optional(),\n        source: z\n          .object({\n            sourceType: z\n              .enum([\n                'OTHER',\n                'ADMIN',\n                'WIX_APP',\n                'IMPORT',\n                'THIRD_PARTY',\n                'WIX_BOOKINGS',\n                'WIX_CHAT',\n                'WIX_EMAIL_MARKETING',\n                'WIX_EVENTS',\n                'WIX_FORMS',\n                'WIX_GROUPS',\n                'WIX_HOTELS',\n                'WIX_MARKET_PLACE',\n                'WIX_MUSIC',\n                'WIX_RESTAURANTS',\n                'WIX_SITE_MEMBERS',\n                'WIX_STORES',\n                'WIX_CODE',\n                'HOPP',\n              ])\n              .describe('Source type.')\n              .optional(),\n            appId: z\n              .string()\n              .describe('App ID, if the contact was created by an app.')\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe(\"Details about the contact's source.\")\n          .optional(),\n        _createdDate: z\n          .date()\n          .describe('Date and time the contact was created.')\n          .optional()\n          .nullable(),\n        _updatedDate: z\n          .date()\n          .describe('Date and time the contact was last updated.')\n          .optional()\n          .nullable(),\n        lastActivity: z\n          .object({\n            activityDate: z\n              .date()\n              .describe('Date and time of the last action.')\n              .optional()\n              .nullable(),\n            activityType: z\n              .enum([\n                'GENERAL',\n                'CONTACT_CREATED',\n                'MEMBER_LOGIN',\n                'MEMBER_REGISTER',\n                'MEMBER_STATUS_CHANGED',\n                'FORM_SUBMITTED',\n                'INBOX_FORM_SUBMITTED',\n                'INBOX_PAYMENT_REQUEST_PAID',\n                'INBOX_MESSAGE_TO_CUSTOMER',\n                'INBOX_MESSAGE_FROM_CUSTOMER',\n                'NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED',\n                'NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE',\n                'ECOM_PURCHASE',\n                'ECOM_CART_ABANDON',\n                'ECOM_CHECKOUT_BUYER',\n                'BOOKINGS_APPOINTMENT',\n                'HOTELS_RESERVATION',\n                'HOTELS_PURCHASE',\n                'HOTELS_CONFIRMATION',\n                'HOTELS_CANCEL',\n                'VIDEO_PURCHASE',\n                'VIDEO_RENT',\n                'CASHIER_BUTTON_PURCHASE',\n                'ARENA_NEW_LEAD',\n                'EVENTS_RSVP',\n                'INVOICE_PAY',\n                'INVOICE_OVERDUE',\n                'PRICE_QUOTE_ACCEPT',\n                'PRICE_QUOTE_EXPIRE',\n                'RESTAURANTS_ORDER',\n                'RESTAURANTS_RESERVATION',\n                'SHOUTOUT_OPEN',\n                'SHOUTOUT_CLICK',\n                'CONTACT_MERGED',\n                'NEWSLETTER_SUBSCRIPTION_SUBSCRIBE',\n                'NEWSLETTER_SUBSCRIPTION_PENDING',\n                'NEWSLETTER_SUBSCRIPTION_NOT_SET',\n                'PHONE_SUBSCRIPTION_SUBSCRIBE',\n                'PHONE_SUBSCRIPTION_PENDING',\n                'PHONE_SUBSCRIPTION_NOT_SET',\n                'PHONE_SUBSCRIPTION_UNSUBSCRIBE',\n              ])\n              .describe(\"Contact's last action in the site.\")\n              .optional(),\n          })\n          .describe(\"Details about the contact's last action in the site.\")\n          .optional(),\n        primaryInfo: z\n          .object({\n            email: z\n              .string()\n              .describe(\n                'Primary email address.\\n\\nThis property reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n              )\n              .email()\n              .optional()\n              .nullable(),\n            phone: z\n              .string()\n              .describe(\n                'Primary phone number.\\n\\nThis property reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe(\"Contact's primary phone and email.\")\n          .optional(),\n        info: z\n          .object({\n            name: z\n              .object({\n                first: z\n                  .string()\n                  .describe(\"Contact's first name.\")\n                  .max(1000)\n                  .optional()\n                  .nullable(),\n                last: z\n                  .string()\n                  .describe(\"Contact's last name.\")\n                  .max(1000)\n                  .optional()\n                  .nullable(),\n              })\n              .describe(\"Contact's first and last name.\")\n              .optional(),\n            emails: z\n              .object({\n                items: z\n                  .array(\n                    z.object({\n                      _id: z\n                        .string()\n                        .describe('Email ID.')\n                        .regex(\n                          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                          'Must be a valid GUID'\n                        )\n                        .optional()\n                        .nullable(),\n                      tag: z\n                        .enum(['UNTAGGED', 'MAIN', 'HOME', 'WORK'])\n                        .describe(\n                          'Email type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                        )\n                        .optional(),\n                      email: z\n                        .string()\n                        .describe('Email address.')\n                        .min(1)\n                        .max(320)\n                        .optional(),\n                      primary: z\n                        .boolean()\n                        .describe(\n                          \"Indicates whether this is the contact's primary email address.\\nWhen changing `primary` to `true` for an email,\\nthe contact's other emails become `false`.\\nChanging the primary email of a contact also affects the subscription status to marketing emails that are decided based on the primary email.\"\n                        )\n                        .optional()\n                        .nullable(),\n                    })\n                  )\n                  .max(50)\n                  .optional(),\n              })\n              .describe(\"Contact's email addresses.\")\n              .optional(),\n            phones: z\n              .object({\n                items: z\n                  .array(\n                    z.object({\n                      _id: z\n                        .string()\n                        .describe('Phone ID.')\n                        .regex(\n                          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                          'Must be a valid GUID'\n                        )\n                        .optional()\n                        .nullable(),\n                      tag: z\n                        .enum([\n                          'UNTAGGED',\n                          'MAIN',\n                          'HOME',\n                          'MOBILE',\n                          'WORK',\n                          'FAX',\n                        ])\n                        .describe(\n                          'Phone type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                        )\n                        .optional(),\n                      countryCode: z\n                        .string()\n                        .describe(\n                          '[ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.'\n                        )\n                        .optional()\n                        .nullable(),\n                      phone: z\n                        .string()\n                        .describe('Phone number.')\n                        .min(1)\n                        .max(50)\n                        .optional(),\n                      e164Phone: z\n                        .string()\n                        .describe(\n                          '[ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\\nphone number.\\nAutomatically generated using `phone` and `countryCode`, pending both values are valid.'\n                        )\n                        .optional()\n                        .nullable(),\n                      primary: z\n                        .boolean()\n                        .describe(\n                          \"Indicates whether this is the contact's primary phone number.\\nWhen changing `primary` to `true` for a phone,\\nthe contact's `primary` field for other phones becomes `false`.\\nChanging the primary phone number also affects the subscription status to SMS messages that are decided based on the primary phone.\"\n                        )\n                        .optional()\n                        .nullable(),\n                    })\n                  )\n                  .max(50)\n                  .optional(),\n              })\n              .describe(\"Contact's phone numbers.\")\n              .optional(),\n            addresses: z\n              .object({\n                items: z\n                  .array(\n                    z.object({\n                      _id: z\n                        .string()\n                        .describe('Street address ID.')\n                        .regex(\n                          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                          'Must be a valid GUID'\n                        )\n                        .optional()\n                        .nullable(),\n                      tag: z\n                        .enum([\n                          'UNTAGGED',\n                          'HOME',\n                          'WORK',\n                          'BILLING',\n                          'SHIPPING',\n                        ])\n                        .describe(\n                          'Address type.\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                        )\n                        .optional(),\n                      address: z\n                        .object({\n                          city: z.string().optional().nullable(),\n                          subdivision: z.string().optional().nullable(),\n                          country: z.string().optional().nullable(),\n                          postalCode: z.string().optional().nullable(),\n                          addressLine1: z.string().optional().nullable(),\n                          addressLine2: z.string().optional().nullable(),\n                        })\n                        .describe('Street address.')\n                        .optional(),\n                    })\n                  )\n                  .max(50)\n                  .optional(),\n              })\n              .describe(\"Contact's street addresses.\")\n              .optional(),\n            company: z\n              .string()\n              .describe(\"Contact's company name.\")\n              .max(1000)\n              .optional()\n              .nullable(),\n            jobTitle: z\n              .string()\n              .describe(\"Contact's job title.\")\n              .max(1000)\n              .optional()\n              .nullable(),\n            birthdate: z\n              .string()\n              .describe(\n                'Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`.'\n              )\n              .optional()\n              .nullable(),\n            locale: z\n              .string()\n              .describe(\n                'Locale in\\n[IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\\nTypically, this is a lowercase 2-letter language code,\\nfollowed by a hyphen, followed by an uppercase 2-letter country code.\\nFor example, `en-US` for U.S. English, and `de-DE` for Germany German.'\n              )\n              .optional()\n              .nullable(),\n            labelKeys: z\n              .object({ items: z.array(z.string()).max(2000).optional() })\n              .describe(\n                \"List of contact's labels.\\n\\nLabels are used to organize contacts. Labels can be\\nadded and removed using Label Contact and Unlabel Contact, respectively.\\n\\nTo view or manage contact labels, use the Labels API.\"\n              )\n              .optional(),\n            extendedFields: z\n              .object({\n                items: z\n                  .record(z.string(), z.any())\n                  .describe(\n                    \"Contact's extended fields,\\nwhere each key is the field key,\\nand each value is the field's value for the contact.\\n\\nTo view and manage extended fields, use the Extended Fields API.\"\n                  )\n                  .optional(),\n              })\n              .describe(\n                'Additional custom fields.\\n\\nEmpty fields are not returned.'\n              )\n              .optional(),\n            picture: z\n              .object({\n                image: z\n                  .string()\n                  .describe(\n                    'Image.\\nThis can contain an image URL or a Wix Media image ID.'\n                  )\n                  .optional(),\n              })\n              .describe(\"Contact's profile picture.\")\n              .optional(),\n          })\n          .describe(\"Contact's details.\")\n          .optional(),\n        primaryEmail: z\n          .object({\n            email: z\n              .string()\n              .describe(\n                'Primary email address.\\n\\nThis field reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n              )\n              .email()\n              .optional()\n              .nullable(),\n            subscriptionStatus: z\n              .enum([\n                'NO_SUBSCRIPTION_STATUS',\n                'NOT_SET',\n                'PENDING',\n                'SUBSCRIBED',\n                'UNSUBSCRIBED',\n              ])\n              .describe(\n                \"Indicates the recipient's opt-in or opt-out status for marketing emails.\\n\\nDefault: `NOT_SET`\"\n              )\n              .optional(),\n            deliverabilityStatus: z\n              .enum([\n                'NOT_SET',\n                'VALID',\n                'BOUNCED',\n                'SPAM_COMPLAINT',\n                'INACTIVE',\n              ])\n              .describe(\n                'Indicates last reported status of sent emails.\\n\\nDefault: `NOT_SET`'\n              )\n              .optional(),\n          })\n          .describe(\"Contact's primary email details.\")\n          .optional(),\n        primaryPhone: z\n          .object({\n            countryCode: z\n              .string()\n              .describe(\n                'Country code of the primary phone number in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n              )\n              .optional()\n              .nullable(),\n            e164Phone: z\n              .string()\n              .describe(\n                'Phone number in [ITU E.164](https://www.itu.int/rec/T-REC-E.164/) format.\\nAutomatically generated using `phone` and `countryCode` when both values are valid.'\n              )\n              .optional()\n              .nullable(),\n            formattedPhone: z\n              .string()\n              .describe(\n                'Formatted phone. Automatically generated using `phone` and `countryCode`.'\n              )\n              .optional()\n              .nullable(),\n            subscriptionStatus: z\n              .enum([\n                'NO_SUBSCRIPTION_STATUS',\n                'NOT_SET',\n                'PENDING',\n                'SUBSCRIBED',\n                'UNSUBSCRIBED',\n              ])\n              .describe(\n                \"Indicates the recipient's opt-in or opt-out status for SMS messages.\\n\\nDefault:\\n- `NOT_SET` when the phone is a valid E164 phone.\\n- `NO_SUBSCRIPTION_STATUS` when the phone is not a valid E164 phone.\"\n              )\n              .optional(),\n            phone: z\n              .string()\n              .describe(\n                'Primary phone number.\\n\\nThis field reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe(\"Contact's primary phone details.\")\n          .optional(),\n      })\n    )\n    .optional(),\n  pagingMetadata: z\n    .object({\n      count: z\n        .number()\n        .int()\n        .describe('The number of items returned in this response.')\n        .optional()\n        .nullable(),\n      offset: z\n        .number()\n        .int()\n        .describe('The offset which was requested.')\n        .optional()\n        .nullable(),\n      total: z\n        .number()\n        .int()\n        .describe('The total number of items that match the query.')\n        .optional()\n        .nullable(),\n      tooManyToCount: z\n        .boolean()\n        .describe(\n          \"A flag that indicates the server failed to calculate 'total' field.\"\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Details on the paged set of results returned.')\n    .optional(),\n});\nexport const QueryContactsRequest = z.object({\n  query: z\n    .object({\n      filter: z\n        .object({\n          _id: z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $in: z.array(z.string()),\n              $ne: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          'info.locale': z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $in: z.array(z.string()),\n              $ne: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          _createdDate: z\n            .object({\n              $eq: z.string(),\n              $gt: z.string(),\n              $gte: z.string(),\n              $lt: z.string(),\n              $lte: z.string(),\n              $ne: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          'lastActivity.activityDate': z\n            .object({\n              $eq: z.string(),\n              $gt: z.string(),\n              $gte: z.string(),\n              $lt: z.string(),\n              $lte: z.string(),\n              $ne: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          'info.birthdate': z\n            .object({\n              $eq: z.string(),\n              $gt: z.string(),\n              $gte: z.string(),\n              $lt: z.string(),\n              $lte: z.string(),\n              $ne: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          _updatedDate: z\n            .object({\n              $eq: z.string(),\n              $gt: z.string(),\n              $gte: z.string(),\n              $lt: z.string(),\n              $lte: z.string(),\n              $ne: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          'primaryInfo.email': z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $in: z.array(z.string()),\n              $ne: z.string(),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          'info.name.first': z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $in: z.array(z.string()),\n              $ne: z.string(),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          'info.name.last': z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $in: z.array(z.string()),\n              $ne: z.string(),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          'info.company': z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $in: z.array(z.string()),\n              $ne: z.string(),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          'info.jobTitle': z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $in: z.array(z.string()),\n              $ne: z.string(),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          'primaryInfo.phone': z\n            .object({\n              $eq: z.string(),\n              $exists: z.boolean(),\n              $in: z.array(z.string()),\n              $ne: z.string(),\n              $startsWith: z.string(),\n            })\n            .partial()\n            .strict()\n            .optional(),\n          'info.labelKeys': z\n            .object({ $hasAll: z.array(z.any()), $hasSome: z.array(z.any()) })\n            .partial()\n            .strict()\n            .optional(),\n          $and: z.array(z.any()).optional(),\n          $or: z.array(z.any()).optional(),\n          $not: z.any().optional(),\n        })\n        .strict()\n        .optional(),\n      sort: z\n        .array(\n          z.object({\n            fieldName: z\n              .enum([\n                '_createdDate',\n                'lastActivity.activityDate',\n                'info.birthdate',\n                'primaryInfo.email',\n                'info.name.first',\n                'info.name.last',\n                'info.company',\n                'info.jobTitle',\n              ])\n              .optional(),\n            order: z.enum(['ASC', 'DESC']).optional(),\n          })\n        )\n        .optional(),\n    })\n    .catchall(z.any())\n    .describe('Query options.'),\n  options: z\n    .object({\n      search: z\n        .string()\n        .describe(\n          'Plain text search for an exact match.\\n\\nSupported properties:\\n`info.name.first`, `info.name.last`, `info.emails.email`, `info.phones.phone`\\n\\nMax: 100 characters'\n        )\n        .max(100)\n        .optional()\n        .nullable(),\n    })\n    .describe('Query contact options.')\n    .optional(),\n});\nexport const QueryContactsResponse = z.object({\n  contacts: z\n    .array(\n      z.object({\n        _id: z\n          .string()\n          .describe('Contact ID.')\n          .regex(\n            /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n            'Must be a valid GUID'\n          )\n          .optional(),\n        revision: z\n          .number()\n          .int()\n          .describe(\n            'Revision number, which increments by 1 each time the contact is updated.\\nTo prevent conflicting changes,\\nthe existing `revision` must be specified when updating a contact.'\n          )\n          .optional(),\n        source: z\n          .object({\n            sourceType: z\n              .enum([\n                'OTHER',\n                'ADMIN',\n                'WIX_APP',\n                'IMPORT',\n                'THIRD_PARTY',\n                'WIX_BOOKINGS',\n                'WIX_CHAT',\n                'WIX_EMAIL_MARKETING',\n                'WIX_EVENTS',\n                'WIX_FORMS',\n                'WIX_GROUPS',\n                'WIX_HOTELS',\n                'WIX_MARKET_PLACE',\n                'WIX_MUSIC',\n                'WIX_RESTAURANTS',\n                'WIX_SITE_MEMBERS',\n                'WIX_STORES',\n                'WIX_CODE',\n                'HOPP',\n              ])\n              .describe('Source type.')\n              .optional(),\n            appId: z\n              .string()\n              .describe('App ID, if the contact was created by an app.')\n              .regex(\n                /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                'Must be a valid GUID'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe(\"Details about the contact's source.\")\n          .optional(),\n        _createdDate: z\n          .date()\n          .describe('Date and time the contact was created.')\n          .optional()\n          .nullable(),\n        _updatedDate: z\n          .date()\n          .describe('Date and time the contact was last updated.')\n          .optional()\n          .nullable(),\n        lastActivity: z\n          .object({\n            activityDate: z\n              .date()\n              .describe('Date and time of the last action.')\n              .optional()\n              .nullable(),\n            activityType: z\n              .enum([\n                'GENERAL',\n                'CONTACT_CREATED',\n                'MEMBER_LOGIN',\n                'MEMBER_REGISTER',\n                'MEMBER_STATUS_CHANGED',\n                'FORM_SUBMITTED',\n                'INBOX_FORM_SUBMITTED',\n                'INBOX_PAYMENT_REQUEST_PAID',\n                'INBOX_MESSAGE_TO_CUSTOMER',\n                'INBOX_MESSAGE_FROM_CUSTOMER',\n                'NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED',\n                'NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE',\n                'ECOM_PURCHASE',\n                'ECOM_CART_ABANDON',\n                'ECOM_CHECKOUT_BUYER',\n                'BOOKINGS_APPOINTMENT',\n                'HOTELS_RESERVATION',\n                'HOTELS_PURCHASE',\n                'HOTELS_CONFIRMATION',\n                'HOTELS_CANCEL',\n                'VIDEO_PURCHASE',\n                'VIDEO_RENT',\n                'CASHIER_BUTTON_PURCHASE',\n                'ARENA_NEW_LEAD',\n                'EVENTS_RSVP',\n                'INVOICE_PAY',\n                'INVOICE_OVERDUE',\n                'PRICE_QUOTE_ACCEPT',\n                'PRICE_QUOTE_EXPIRE',\n                'RESTAURANTS_ORDER',\n                'RESTAURANTS_RESERVATION',\n                'SHOUTOUT_OPEN',\n                'SHOUTOUT_CLICK',\n                'CONTACT_MERGED',\n                'NEWSLETTER_SUBSCRIPTION_SUBSCRIBE',\n                'NEWSLETTER_SUBSCRIPTION_PENDING',\n                'NEWSLETTER_SUBSCRIPTION_NOT_SET',\n                'PHONE_SUBSCRIPTION_SUBSCRIBE',\n                'PHONE_SUBSCRIPTION_PENDING',\n                'PHONE_SUBSCRIPTION_NOT_SET',\n                'PHONE_SUBSCRIPTION_UNSUBSCRIBE',\n              ])\n              .describe(\"Contact's last action in the site.\")\n              .optional(),\n          })\n          .describe(\"Details about the contact's last action in the site.\")\n          .optional(),\n        primaryInfo: z\n          .object({\n            email: z\n              .string()\n              .describe(\n                'Primary email address.\\n\\nThis property reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n              )\n              .email()\n              .optional()\n              .nullable(),\n            phone: z\n              .string()\n              .describe(\n                'Primary phone number.\\n\\nThis property reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe(\"Contact's primary phone and email.\")\n          .optional(),\n        info: z\n          .object({\n            name: z\n              .object({\n                first: z\n                  .string()\n                  .describe(\"Contact's first name.\")\n                  .max(1000)\n                  .optional()\n                  .nullable(),\n                last: z\n                  .string()\n                  .describe(\"Contact's last name.\")\n                  .max(1000)\n                  .optional()\n                  .nullable(),\n              })\n              .describe(\"Contact's first and last name.\")\n              .optional(),\n            emails: z\n              .object({\n                items: z\n                  .array(\n                    z.object({\n                      _id: z\n                        .string()\n                        .describe('Email ID.')\n                        .regex(\n                          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                          'Must be a valid GUID'\n                        )\n                        .optional()\n                        .nullable(),\n                      tag: z\n                        .enum(['UNTAGGED', 'MAIN', 'HOME', 'WORK'])\n                        .describe(\n                          'Email type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                        )\n                        .optional(),\n                      email: z\n                        .string()\n                        .describe('Email address.')\n                        .min(1)\n                        .max(320)\n                        .optional(),\n                      primary: z\n                        .boolean()\n                        .describe(\n                          \"Indicates whether this is the contact's primary email address.\\nWhen changing `primary` to `true` for an email,\\nthe contact's other emails become `false`.\\nChanging the primary email of a contact also affects the subscription status to marketing emails that are decided based on the primary email.\"\n                        )\n                        .optional()\n                        .nullable(),\n                    })\n                  )\n                  .max(50)\n                  .optional(),\n              })\n              .describe(\"Contact's email addresses.\")\n              .optional(),\n            phones: z\n              .object({\n                items: z\n                  .array(\n                    z.object({\n                      _id: z\n                        .string()\n                        .describe('Phone ID.')\n                        .regex(\n                          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                          'Must be a valid GUID'\n                        )\n                        .optional()\n                        .nullable(),\n                      tag: z\n                        .enum([\n                          'UNTAGGED',\n                          'MAIN',\n                          'HOME',\n                          'MOBILE',\n                          'WORK',\n                          'FAX',\n                        ])\n                        .describe(\n                          'Phone type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                        )\n                        .optional(),\n                      countryCode: z\n                        .string()\n                        .describe(\n                          '[ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.'\n                        )\n                        .optional()\n                        .nullable(),\n                      phone: z\n                        .string()\n                        .describe('Phone number.')\n                        .min(1)\n                        .max(50)\n                        .optional(),\n                      e164Phone: z\n                        .string()\n                        .describe(\n                          '[ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\\nphone number.\\nAutomatically generated using `phone` and `countryCode`, pending both values are valid.'\n                        )\n                        .optional()\n                        .nullable(),\n                      primary: z\n                        .boolean()\n                        .describe(\n                          \"Indicates whether this is the contact's primary phone number.\\nWhen changing `primary` to `true` for a phone,\\nthe contact's `primary` field for other phones becomes `false`.\\nChanging the primary phone number also affects the subscription status to SMS messages that are decided based on the primary phone.\"\n                        )\n                        .optional()\n                        .nullable(),\n                    })\n                  )\n                  .max(50)\n                  .optional(),\n              })\n              .describe(\"Contact's phone numbers.\")\n              .optional(),\n            addresses: z\n              .object({\n                items: z\n                  .array(\n                    z.object({\n                      _id: z\n                        .string()\n                        .describe('Street address ID.')\n                        .regex(\n                          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                          'Must be a valid GUID'\n                        )\n                        .optional()\n                        .nullable(),\n                      tag: z\n                        .enum([\n                          'UNTAGGED',\n                          'HOME',\n                          'WORK',\n                          'BILLING',\n                          'SHIPPING',\n                        ])\n                        .describe(\n                          'Address type.\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                        )\n                        .optional(),\n                      address: z\n                        .object({\n                          city: z.string().optional().nullable(),\n                          subdivision: z.string().optional().nullable(),\n                          country: z.string().optional().nullable(),\n                          postalCode: z.string().optional().nullable(),\n                          addressLine1: z.string().optional().nullable(),\n                          addressLine2: z.string().optional().nullable(),\n                        })\n                        .describe('Street address.')\n                        .optional(),\n                    })\n                  )\n                  .max(50)\n                  .optional(),\n              })\n              .describe(\"Contact's street addresses.\")\n              .optional(),\n            company: z\n              .string()\n              .describe(\"Contact's company name.\")\n              .max(1000)\n              .optional()\n              .nullable(),\n            jobTitle: z\n              .string()\n              .describe(\"Contact's job title.\")\n              .max(1000)\n              .optional()\n              .nullable(),\n            birthdate: z\n              .string()\n              .describe(\n                'Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`.'\n              )\n              .optional()\n              .nullable(),\n            locale: z\n              .string()\n              .describe(\n                'Locale in\\n[IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\\nTypically, this is a lowercase 2-letter language code,\\nfollowed by a hyphen, followed by an uppercase 2-letter country code.\\nFor example, `en-US` for U.S. English, and `de-DE` for Germany German.'\n              )\n              .optional()\n              .nullable(),\n            labelKeys: z\n              .object({ items: z.array(z.string()).max(2000).optional() })\n              .describe(\n                \"List of contact's labels.\\n\\nLabels are used to organize contacts. Labels can be\\nadded and removed using Label Contact and Unlabel Contact, respectively.\\n\\nTo view or manage contact labels, use the Labels API.\"\n              )\n              .optional(),\n            extendedFields: z\n              .object({\n                items: z\n                  .record(z.string(), z.any())\n                  .describe(\n                    \"Contact's extended fields,\\nwhere each key is the field key,\\nand each value is the field's value for the contact.\\n\\nTo view and manage extended fields, use the Extended Fields API.\"\n                  )\n                  .optional(),\n              })\n              .describe(\n                'Additional custom fields.\\n\\nEmpty fields are not returned.'\n              )\n              .optional(),\n            picture: z\n              .object({\n                image: z\n                  .string()\n                  .describe(\n                    'Image.\\nThis can contain an image URL or a Wix Media image ID.'\n                  )\n                  .optional(),\n              })\n              .describe(\"Contact's profile picture.\")\n              .optional(),\n          })\n          .describe(\"Contact's details.\")\n          .optional(),\n        primaryEmail: z\n          .object({\n            email: z\n              .string()\n              .describe(\n                'Primary email address.\\n\\nThis field reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n              )\n              .email()\n              .optional()\n              .nullable(),\n            subscriptionStatus: z\n              .enum([\n                'NO_SUBSCRIPTION_STATUS',\n                'NOT_SET',\n                'PENDING',\n                'SUBSCRIBED',\n                'UNSUBSCRIBED',\n              ])\n              .describe(\n                \"Indicates the recipient's opt-in or opt-out status for marketing emails.\\n\\nDefault: `NOT_SET`\"\n              )\n              .optional(),\n            deliverabilityStatus: z\n              .enum([\n                'NOT_SET',\n                'VALID',\n                'BOUNCED',\n                'SPAM_COMPLAINT',\n                'INACTIVE',\n              ])\n              .describe(\n                'Indicates last reported status of sent emails.\\n\\nDefault: `NOT_SET`'\n              )\n              .optional(),\n          })\n          .describe(\"Contact's primary email details.\")\n          .optional(),\n        primaryPhone: z\n          .object({\n            countryCode: z\n              .string()\n              .describe(\n                'Country code of the primary phone number in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n              )\n              .optional()\n              .nullable(),\n            e164Phone: z\n              .string()\n              .describe(\n                'Phone number in [ITU E.164](https://www.itu.int/rec/T-REC-E.164/) format.\\nAutomatically generated using `phone` and `countryCode` when both values are valid.'\n              )\n              .optional()\n              .nullable(),\n            formattedPhone: z\n              .string()\n              .describe(\n                'Formatted phone. Automatically generated using `phone` and `countryCode`.'\n              )\n              .optional()\n              .nullable(),\n            subscriptionStatus: z\n              .enum([\n                'NO_SUBSCRIPTION_STATUS',\n                'NOT_SET',\n                'PENDING',\n                'SUBSCRIBED',\n                'UNSUBSCRIBED',\n              ])\n              .describe(\n                \"Indicates the recipient's opt-in or opt-out status for SMS messages.\\n\\nDefault:\\n- `NOT_SET` when the phone is a valid E164 phone.\\n- `NO_SUBSCRIPTION_STATUS` when the phone is not a valid E164 phone.\"\n              )\n              .optional(),\n            phone: z\n              .string()\n              .describe(\n                'Primary phone number.\\n\\nThis field reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n              )\n              .optional()\n              .nullable(),\n          })\n          .describe(\"Contact's primary phone details.\")\n          .optional(),\n      })\n    )\n    .optional(),\n  pagingMetadata: z\n    .object({\n      count: z\n        .number()\n        .int()\n        .describe('The number of items returned in this response.')\n        .optional()\n        .nullable(),\n      offset: z\n        .number()\n        .int()\n        .describe('The offset which was requested.')\n        .optional()\n        .nullable(),\n      total: z\n        .number()\n        .int()\n        .describe('The total number of items that match the query.')\n        .optional()\n        .nullable(),\n      tooManyToCount: z\n        .boolean()\n        .describe(\n          \"A flag that indicates the server failed to calculate 'total' field.\"\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Details on the paged set of results returned.')\n    .optional(),\n});\nexport const ListFacetsRequest = z.object({\n  options: z\n    .object({\n      paging: z\n        .object({\n          limit: z\n            .number()\n            .int()\n            .describe(\n              'Number of items to return. Learn more about pagination in [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#paging).\\n\\nDefault: `50`. <br>\\nMaximum: `1000`.'\n            )\n            .min(0)\n            .max(1000)\n            .optional()\n            .nullable(),\n          offset: z\n            .number()\n            .int()\n            .describe('Number of items to skip in the current sort order.')\n            .min(0)\n            .optional()\n            .nullable(),\n        })\n        .describe('Pagination options.')\n        .optional(),\n      language: z\n        .string()\n        .describe('Language for localization.')\n        .optional()\n        .nullable(),\n    })\n    .describe('List facets options.')\n    .optional(),\n});\nexport const ListFacetsResponse = z.object({\n  facets: z\n    .array(\n      z.object({\n        facetType: z\n          .enum([\n            'UNKNOWN',\n            'ALL_CONTACTS',\n            'NOT_LABELED',\n            'LABEL',\n            'SUBSCRIPTION_STATUS',\n            'MEMBERSHIP_STATUS',\n          ])\n          .describe('Type of facet.')\n          .optional(),\n        namespace: z\n          .string()\n          .describe(\n            'Scope for facet keys.\\nWhen a facet key exists in a namespace,\\neach key is unique within that namespace.\\n\\nCurrently, facets not created by Wix are in the `custom` namespace.'\n          )\n          .optional()\n          .nullable(),\n        namespaceDisplayName: z\n          .string()\n          .describe('Human-readable display name.')\n          .optional()\n          .nullable(),\n        facetKey: z\n          .string()\n          .describe('Facet key, automatically generated.')\n          .optional()\n          .nullable(),\n        facetDisplayName: z\n          .string()\n          .describe('Human-readable name. Shown in the Wix UI.')\n          .optional()\n          .nullable(),\n        count: z\n          .number()\n          .int()\n          .describe('Number of contacts the facet applies to.')\n          .optional()\n          .nullable(),\n        queryFilter: z\n          .record(z.string(), z.any())\n          .describe('Filter used to query contacts of this facet.')\n          .optional()\n          .nullable(),\n      })\n    )\n    .optional(),\n  pagingMetadata: z\n    .object({\n      count: z\n        .number()\n        .int()\n        .describe('The number of items returned in this response.')\n        .optional()\n        .nullable(),\n      offset: z\n        .number()\n        .int()\n        .describe('The offset which was requested.')\n        .optional()\n        .nullable(),\n      total: z\n        .number()\n        .int()\n        .describe('The total number of items that match the query.')\n        .optional()\n        .nullable(),\n      tooManyToCount: z\n        .boolean()\n        .describe(\n          \"A flag that indicates the server failed to calculate 'total' field.\"\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Details on the paged set of results returned.')\n    .optional(),\n});\nexport const QueryFacetsRequest = z.object({\n  options: z\n    .object({\n      paging: z\n        .object({\n          limit: z\n            .number()\n            .int()\n            .describe(\n              'Number of items to return. Learn more about pagination in [API Query Language](https://dev.wix.com/docs/rest/articles/getting-started/api-query-language#paging).\\n\\nDefault: `50`. <br>\\nMaximum: `1000`.'\n            )\n            .min(0)\n            .max(1000)\n            .optional()\n            .nullable(),\n          offset: z\n            .number()\n            .int()\n            .describe('Number of items to skip in the current sort order.')\n            .min(0)\n            .optional()\n            .nullable(),\n        })\n        .describe('Pagination options.')\n        .optional(),\n      language: z\n        .string()\n        .describe('Language for localization.')\n        .optional()\n        .nullable(),\n      filter: z\n        .record(z.string(), z.any())\n        .describe(\n          \"Filterable fields:\\n- `'info.extendedFields.emailSubscriptions.effectiveEmail'` (`$exists`).\\n- `'info.extendedFields.emailSubscriptions.subscriptionStatus'` (`$eq`, `$ne`, `$in`, `$nin`).\\n- `'info.extendedFields.emailSubscriptions.deliverabilityStatus'` (`$eq`, `$ne`, `$in`, `$nin`).\"\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Query facets options.')\n    .optional(),\n});\nexport const QueryFacetsResponse = z.object({\n  facets: z\n    .array(\n      z.object({\n        facetType: z\n          .enum([\n            'UNKNOWN',\n            'ALL_CONTACTS',\n            'NOT_LABELED',\n            'LABEL',\n            'SUBSCRIPTION_STATUS',\n            'MEMBERSHIP_STATUS',\n          ])\n          .describe('Type of facet.')\n          .optional(),\n        namespace: z\n          .string()\n          .describe(\n            'Scope for facet keys.\\nWhen a facet key exists in a namespace,\\neach key is unique within that namespace.\\n\\nCurrently, facets not created by Wix are in the `custom` namespace.'\n          )\n          .optional()\n          .nullable(),\n        namespaceDisplayName: z\n          .string()\n          .describe('Human-readable display name.')\n          .optional()\n          .nullable(),\n        facetKey: z\n          .string()\n          .describe('Facet key, automatically generated.')\n          .optional()\n          .nullable(),\n        facetDisplayName: z\n          .string()\n          .describe('Human-readable name. Shown in the Wix UI.')\n          .optional()\n          .nullable(),\n        count: z\n          .number()\n          .int()\n          .describe('Number of contacts the facet applies to.')\n          .optional()\n          .nullable(),\n        queryFilter: z\n          .record(z.string(), z.any())\n          .describe('Filter used to query contacts of this facet.')\n          .optional()\n          .nullable(),\n      })\n    )\n    .optional(),\n  pagingMetadata: z\n    .object({\n      count: z\n        .number()\n        .int()\n        .describe('The number of items returned in this response.')\n        .optional()\n        .nullable(),\n      offset: z\n        .number()\n        .int()\n        .describe('The offset which was requested.')\n        .optional()\n        .nullable(),\n      total: z\n        .number()\n        .int()\n        .describe('The total number of items that match the query.')\n        .optional()\n        .nullable(),\n      tooManyToCount: z\n        .boolean()\n        .describe(\n          \"A flag that indicates the server failed to calculate 'total' field.\"\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe('Details on the paged set of results returned.')\n    .optional(),\n});\nexport const BulkDeleteContactsRequest = z.object({\n  options: z\n    .object({\n      filter: z\n        .record(z.string(), z.any())\n        .describe(\n          'Filter object.\\n\\nPossible filters:\\n`$eq`, `$exists`, `$gt`, `$gte`, `$hasAll`, `$hasSome`, `$in`, `$lt`, `$lte`, `$ne`, `$startsWith`.\\n\\nSee [Sort, Filter, and Search](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/sort-filter-and-search)\\nfor a detailed list of supported filters for contact properties, extended fields, and custom fields.\\n\\n\\nExample:\\n`{ \"filter\": { \"info.name.last\": \"Smith\" } }`'\n        )\n        .optional()\n        .nullable(),\n      search: z\n        .string()\n        .describe(\n          'Plain text search for an exact match, up to 100 characters.\\n\\nSearchable fields:\\n\\n- `info.name.first`\\n- `info.name.last`\\n- `info.emails.email`\\n- `info.phones.phone`'\n        )\n        .max(100)\n        .optional()\n        .nullable(),\n    })\n    .describe('Bulk delete contacts options.')\n    .optional(),\n});\nexport const BulkDeleteContactsResponse = z.object({\n  jobId: z\n    .string()\n    .describe(\n      \"Bulk job ID.\\nThe job's status can be retrieved with Get Bulk Job.\"\n    )\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    )\n    .optional(),\n});\nexport const BulkUpdateContactsRequest = z.object({\n  options: z\n    .object({\n      filter: z\n        .record(z.string(), z.any())\n        .describe(\n          'Filter object.\\n\\nPossible filters:\\n`$eq`, `$exists`, `$gt`, `$gte`, `$hasAll`, `$hasSome`, `$in`, `$lt`, `$lte`, `$ne`, `$startsWith`.\\n\\nSee [Sort, Filter, and Search](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/sort-filter-and-search)\\nfor a detailed list of supported filters for contact properties, extended fields, and custom fields.\\n\\n\\nExample:\\n`{ \"filter\": { \"info.name.last\": \"Smith\" } }`'\n        )\n        .optional()\n        .nullable(),\n      search: z\n        .string()\n        .describe(\n          'Plain text search for an exact match, up to 100 characters.\\n\\nSearchable fields:\\n\\n- `info.name.first`\\n- `info.name.last`\\n- `info.emails.email`\\n- `info.phones.phone`'\n        )\n        .max(100)\n        .optional()\n        .nullable(),\n      info: z\n        .object({\n          name: z\n            .object({\n              first: z\n                .string()\n                .describe(\"Contact's first name.\")\n                .max(1000)\n                .optional()\n                .nullable(),\n              last: z\n                .string()\n                .describe(\"Contact's last name.\")\n                .max(1000)\n                .optional()\n                .nullable(),\n            })\n            .describe(\"Contact's first and last name.\")\n            .optional(),\n          emails: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Email ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum(['UNTAGGED', 'MAIN', 'HOME', 'WORK'])\n                      .optional(),\n                    email: z\n                      .string()\n                      .describe('Email address.')\n                      .min(1)\n                      .max(320)\n                      .optional(),\n                    primary: z\n                      .boolean()\n                      .describe(\n                        \"Indicates whether this is the contact's primary email address.\\nWhen changing `primary` to `true` for an email,\\nthe contact's other emails become `false`.\\nChanging the primary email of a contact also affects the subscription status to marketing emails that are decided based on the primary email.\"\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's email addresses.\")\n            .optional(),\n          phones: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Phone ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum([\n                        'UNTAGGED',\n                        'MAIN',\n                        'HOME',\n                        'MOBILE',\n                        'WORK',\n                        'FAX',\n                      ])\n                      .optional(),\n                    countryCode: z\n                      .string()\n                      .describe(\n                        '[ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.'\n                      )\n                      .optional()\n                      .nullable(),\n                    phone: z\n                      .string()\n                      .describe('Phone number.')\n                      .min(1)\n                      .max(50)\n                      .optional(),\n                    e164Phone: z\n                      .string()\n                      .describe(\n                        '[ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\\nphone number.\\nAutomatically generated using `phone` and `countryCode`, pending both values are valid.'\n                      )\n                      .optional()\n                      .nullable(),\n                    primary: z\n                      .boolean()\n                      .describe(\n                        \"Indicates whether this is the contact's primary phone number.\\nWhen changing `primary` to `true` for a phone,\\nthe contact's `primary` field for other phones becomes `false`.\\nChanging the primary phone number also affects the subscription status to SMS messages that are decided based on the primary phone.\"\n                      )\n                      .optional()\n                      .nullable(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's phone numbers.\")\n            .optional(),\n          addresses: z\n            .object({\n              items: z\n                .array(\n                  z.object({\n                    _id: z\n                      .string()\n                      .describe('Street address ID.')\n                      .regex(\n                        /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                        'Must be a valid GUID'\n                      )\n                      .optional()\n                      .nullable(),\n                    tag: z\n                      .enum(['UNTAGGED', 'HOME', 'WORK', 'BILLING', 'SHIPPING'])\n                      .optional(),\n                    address: z\n                      .object({\n                        city: z.string().optional().nullable(),\n                        subdivision: z.string().optional().nullable(),\n                        country: z.string().optional().nullable(),\n                        postalCode: z.string().optional().nullable(),\n                        addressLine1: z.string().optional().nullable(),\n                        addressLine2: z.string().optional().nullable(),\n                      })\n                      .describe('Street address.')\n                      .optional(),\n                  })\n                )\n                .max(50)\n                .optional(),\n            })\n            .describe(\"Contact's street addresses.\")\n            .optional(),\n          company: z\n            .string()\n            .describe(\"Contact's company name.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          jobTitle: z\n            .string()\n            .describe(\"Contact's job title.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          birthdate: z\n            .string()\n            .describe(\n              'Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`.'\n            )\n            .optional()\n            .nullable(),\n          locale: z\n            .string()\n            .describe(\n              'Locale in\\n[IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\\nTypically, this is a lowercase 2-letter language code,\\nfollowed by a hyphen, followed by an uppercase 2-letter country code.\\nFor example, `en-US` for U.S. English, and `de-DE` for Germany German.'\n            )\n            .optional()\n            .nullable(),\n          labelKeys: z\n            .object({ items: z.array(z.string()).max(2000).optional() })\n            .describe(\n              \"List of contact's labels.\\n\\nLabels are used to organize contacts. Labels can be\\nadded and removed using Label Contact and Unlabel Contact, respectively.\\n\\nTo view or manage contact labels, use the Labels API.\"\n            )\n            .optional(),\n          extendedFields: z\n            .object({\n              items: z\n                .record(z.string(), z.any())\n                .describe(\n                  \"Contact's extended fields,\\nwhere each key is the field key,\\nand each value is the field's value for the contact.\\n\\nTo view and manage extended fields, use the Extended Fields API.\"\n                )\n                .optional(),\n            })\n            .describe(\n              'Additional custom fields.\\n\\nEmpty fields are not returned.'\n            )\n            .optional(),\n          picture: z\n            .object({\n              image: z\n                .string()\n                .describe(\n                  'Image.\\nThis can contain an image URL or a Wix Media image ID.'\n                )\n                .optional(),\n            })\n            .describe(\"Contact's profile picture.\")\n            .optional(),\n        })\n        .describe('Contact info.')\n        .optional(),\n    })\n    .describe('Bulk update contacts options.')\n    .optional(),\n});\nexport const BulkUpdateContactsResponse = z.object({\n  jobId: z\n    .string()\n    .describe(\n      \"Bulk job ID.\\nThe job's status can be retrieved with Get Bulk Job.\"\n    )\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    )\n    .optional(),\n});\nexport const BulkLabelAndUnlabelContactsRequest = z.object({\n  options: z\n    .object({\n      filter: z\n        .record(z.string(), z.any())\n        .describe(\n          'Filter options.\\nLabels will be removed from contacts that meet the `filter` and `search` criteria.\\n\\nSee\\n[Field Support for Filtering, Sorting, and Searching](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/sort-filter-and-search)\\nfor a list of supported filters and fields.'\n        )\n        .optional()\n        .nullable(),\n      search: z\n        .string()\n        .describe(\n          'Plain text search for an exact match, up to 100 characters.\\nLabels will be removed from contacts that meet the `filter` and `search` criteria.\\n\\nSee\\n[Field Support for Filtering, Sorting, and Searching](https://dev.wix.com/docs/rest/crm/members-contacts/contacts/contacts/contact-v4/sort-filter-and-search)\\nfor a list of searchable fields.'\n        )\n        .max(100)\n        .optional()\n        .nullable(),\n      labelKeysToAdd: z.array(z.string()).max(100).optional(),\n      labelKeysToRemove: z.array(z.string()).max(100).optional(),\n    })\n    .describe('Bulk label and unlabel contacts options.')\n    .optional(),\n});\nexport const BulkLabelAndUnlabelContactsResponse = z.object({\n  jobId: z\n    .string()\n    .describe(\n      \"Bulk job ID.\\nThe job's status can be retrieved with Get Bulk Job.\"\n    )\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    )\n    .optional(),\n});\nexport const GetContactRequest = z.object({\n  _id: z\n    .string()\n    .describe('ID of the contact to retrieve.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    ),\n  options: z\n    .object({\n      fields: z.array(z.string()).max(100).optional(),\n      fieldsets: z\n        .array(z.enum(['BASIC', 'COMMUNICATION_DETAILS', 'EXTENDED', 'FULL']))\n        .max(10)\n        .optional(),\n    })\n    .describe('Get contact options.')\n    .optional(),\n});\nexport const GetContactResponse = z.object({\n  _id: z\n    .string()\n    .describe('Contact ID.')\n    .regex(\n      /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n      'Must be a valid GUID'\n    )\n    .optional(),\n  revision: z\n    .number()\n    .int()\n    .describe(\n      'Revision number, which increments by 1 each time the contact is updated.\\nTo prevent conflicting changes,\\nthe existing `revision` must be specified when updating a contact.'\n    )\n    .optional(),\n  source: z\n    .object({\n      sourceType: z\n        .enum([\n          'OTHER',\n          'ADMIN',\n          'WIX_APP',\n          'IMPORT',\n          'THIRD_PARTY',\n          'WIX_BOOKINGS',\n          'WIX_CHAT',\n          'WIX_EMAIL_MARKETING',\n          'WIX_EVENTS',\n          'WIX_FORMS',\n          'WIX_GROUPS',\n          'WIX_HOTELS',\n          'WIX_MARKET_PLACE',\n          'WIX_MUSIC',\n          'WIX_RESTAURANTS',\n          'WIX_SITE_MEMBERS',\n          'WIX_STORES',\n          'WIX_CODE',\n          'HOPP',\n        ])\n        .describe('Source type.')\n        .optional(),\n      appId: z\n        .string()\n        .describe('App ID, if the contact was created by an app.')\n        .regex(\n          /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n          'Must be a valid GUID'\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe(\"Details about the contact's source.\")\n    .optional(),\n  _createdDate: z\n    .date()\n    .describe('Date and time the contact was created.')\n    .optional()\n    .nullable(),\n  _updatedDate: z\n    .date()\n    .describe('Date and time the contact was last updated.')\n    .optional()\n    .nullable(),\n  lastActivity: z\n    .object({\n      activityDate: z\n        .date()\n        .describe('Date and time of the last action.')\n        .optional()\n        .nullable(),\n      activityType: z\n        .enum([\n          'GENERAL',\n          'CONTACT_CREATED',\n          'MEMBER_LOGIN',\n          'MEMBER_REGISTER',\n          'MEMBER_STATUS_CHANGED',\n          'FORM_SUBMITTED',\n          'INBOX_FORM_SUBMITTED',\n          'INBOX_PAYMENT_REQUEST_PAID',\n          'INBOX_MESSAGE_TO_CUSTOMER',\n          'INBOX_MESSAGE_FROM_CUSTOMER',\n          'NEWSLETTER_SUBSCRIPTION_FORM_SUBMITTED',\n          'NEWSLETTER_SUBSCRIPTION_UNSUBSCRIBE',\n          'ECOM_PURCHASE',\n          'ECOM_CART_ABANDON',\n          'ECOM_CHECKOUT_BUYER',\n          'BOOKINGS_APPOINTMENT',\n          'HOTELS_RESERVATION',\n          'HOTELS_PURCHASE',\n          'HOTELS_CONFIRMATION',\n          'HOTELS_CANCEL',\n          'VIDEO_PURCHASE',\n          'VIDEO_RENT',\n          'CASHIER_BUTTON_PURCHASE',\n          'ARENA_NEW_LEAD',\n          'EVENTS_RSVP',\n          'INVOICE_PAY',\n          'INVOICE_OVERDUE',\n          'PRICE_QUOTE_ACCEPT',\n          'PRICE_QUOTE_EXPIRE',\n          'RESTAURANTS_ORDER',\n          'RESTAURANTS_RESERVATION',\n          'SHOUTOUT_OPEN',\n          'SHOUTOUT_CLICK',\n          'CONTACT_MERGED',\n          'NEWSLETTER_SUBSCRIPTION_SUBSCRIBE',\n          'NEWSLETTER_SUBSCRIPTION_PENDING',\n          'NEWSLETTER_SUBSCRIPTION_NOT_SET',\n          'PHONE_SUBSCRIPTION_SUBSCRIBE',\n          'PHONE_SUBSCRIPTION_PENDING',\n          'PHONE_SUBSCRIPTION_NOT_SET',\n          'PHONE_SUBSCRIPTION_UNSUBSCRIBE',\n        ])\n        .describe(\"Contact's last action in the site.\")\n        .optional(),\n    })\n    .describe(\"Details about the contact's last action in the site.\")\n    .optional(),\n  primaryInfo: z\n    .object({\n      email: z\n        .string()\n        .describe(\n          'Primary email address.\\n\\nThis property reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n        )\n        .email()\n        .optional()\n        .nullable(),\n      phone: z\n        .string()\n        .describe(\n          'Primary phone number.\\n\\nThis property reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe(\"Contact's primary phone and email.\")\n    .optional(),\n  info: z\n    .object({\n      name: z\n        .object({\n          first: z\n            .string()\n            .describe(\"Contact's first name.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n          last: z\n            .string()\n            .describe(\"Contact's last name.\")\n            .max(1000)\n            .optional()\n            .nullable(),\n        })\n        .describe(\"Contact's first and last name.\")\n        .optional(),\n      emails: z\n        .object({\n          items: z\n            .array(\n              z.object({\n                _id: z\n                  .string()\n                  .describe('Email ID.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                tag: z\n                  .enum(['UNTAGGED', 'MAIN', 'HOME', 'WORK'])\n                  .describe(\n                    'Email type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                  )\n                  .optional(),\n                email: z\n                  .string()\n                  .describe('Email address.')\n                  .min(1)\n                  .max(320)\n                  .optional(),\n                primary: z\n                  .boolean()\n                  .describe(\n                    \"Indicates whether this is the contact's primary email address.\\nWhen changing `primary` to `true` for an email,\\nthe contact's other emails become `false`.\\nChanging the primary email of a contact also affects the subscription status to marketing emails that are decided based on the primary email.\"\n                  )\n                  .optional()\n                  .nullable(),\n              })\n            )\n            .max(50)\n            .optional(),\n        })\n        .describe(\"Contact's email addresses.\")\n        .optional(),\n      phones: z\n        .object({\n          items: z\n            .array(\n              z.object({\n                _id: z\n                  .string()\n                  .describe('Phone ID.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                tag: z\n                  .enum(['UNTAGGED', 'MAIN', 'HOME', 'MOBILE', 'WORK', 'FAX'])\n                  .describe(\n                    'Phone type.\\n\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                  )\n                  .optional(),\n                countryCode: z\n                  .string()\n                  .describe(\n                    '[ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code.'\n                  )\n                  .optional()\n                  .nullable(),\n                phone: z\n                  .string()\n                  .describe('Phone number.')\n                  .min(1)\n                  .max(50)\n                  .optional(),\n                e164Phone: z\n                  .string()\n                  .describe(\n                    '[ITU E.164-formatted](https://www.itu.int/rec/T-REC-E.164/)\\nphone number.\\nAutomatically generated using `phone` and `countryCode`, pending both values are valid.'\n                  )\n                  .optional()\n                  .nullable(),\n                primary: z\n                  .boolean()\n                  .describe(\n                    \"Indicates whether this is the contact's primary phone number.\\nWhen changing `primary` to `true` for a phone,\\nthe contact's `primary` field for other phones becomes `false`.\\nChanging the primary phone number also affects the subscription status to SMS messages that are decided based on the primary phone.\"\n                  )\n                  .optional()\n                  .nullable(),\n              })\n            )\n            .max(50)\n            .optional(),\n        })\n        .describe(\"Contact's phone numbers.\")\n        .optional(),\n      addresses: z\n        .object({\n          items: z\n            .array(\n              z.object({\n                _id: z\n                  .string()\n                  .describe('Street address ID.')\n                  .regex(\n                    /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/,\n                    'Must be a valid GUID'\n                  )\n                  .optional()\n                  .nullable(),\n                tag: z\n                  .enum(['UNTAGGED', 'HOME', 'WORK', 'BILLING', 'SHIPPING'])\n                  .describe(\n                    'Address type.\\n`UNTAGGED` is shown as \"Other\" in the Contact List.'\n                  )\n                  .optional(),\n                address: z\n                  .object({\n                    city: z.string().optional().nullable(),\n                    subdivision: z.string().optional().nullable(),\n                    country: z.string().optional().nullable(),\n                    postalCode: z.string().optional().nullable(),\n                    addressLine1: z.string().optional().nullable(),\n                    addressLine2: z.string().optional().nullable(),\n                  })\n                  .describe('Street address.')\n                  .optional(),\n              })\n            )\n            .max(50)\n            .optional(),\n        })\n        .describe(\"Contact's street addresses.\")\n        .optional(),\n      company: z\n        .string()\n        .describe(\"Contact's company name.\")\n        .max(1000)\n        .optional()\n        .nullable(),\n      jobTitle: z\n        .string()\n        .describe(\"Contact's job title.\")\n        .max(1000)\n        .optional()\n        .nullable(),\n      birthdate: z\n        .string()\n        .describe(\n          'Birth date in `YYYY-MM-DD` format. For example, `2020-03-15`.'\n        )\n        .optional()\n        .nullable(),\n      locale: z\n        .string()\n        .describe(\n          'Locale in\\n[IETF BCP 47 language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format.\\nTypically, this is a lowercase 2-letter language code,\\nfollowed by a hyphen, followed by an uppercase 2-letter country code.\\nFor example, `en-US` for U.S. English, and `de-DE` for Germany German.'\n        )\n        .optional()\n        .nullable(),\n      labelKeys: z\n        .object({ items: z.array(z.string()).max(2000).optional() })\n        .describe(\n          \"List of contact's labels.\\n\\nLabels are used to organize contacts. Labels can be\\nadded and removed using Label Contact and Unlabel Contact, respectively.\\n\\nTo view or manage contact labels, use the Labels API.\"\n        )\n        .optional(),\n      extendedFields: z\n        .object({\n          items: z\n            .record(z.string(), z.any())\n            .describe(\n              \"Contact's extended fields,\\nwhere each key is the field key,\\nand each value is the field's value for the contact.\\n\\nTo view and manage extended fields, use the Extended Fields API.\"\n            )\n            .optional(),\n        })\n        .describe('Additional custom fields.\\n\\nEmpty fields are not returned.')\n        .optional(),\n      picture: z\n        .object({\n          image: z\n            .string()\n            .describe(\n              'Image.\\nThis can contain an image URL or a Wix Media image ID.'\n            )\n            .optional(),\n        })\n        .describe(\"Contact's profile picture.\")\n        .optional(),\n    })\n    .describe(\"Contact's details.\")\n    .optional(),\n  primaryEmail: z\n    .object({\n      email: z\n        .string()\n        .describe(\n          'Primary email address.\\n\\nThis field reflects the email address in `info.emails`\\nwhere `primary` is `true`.'\n        )\n        .email()\n        .optional()\n        .nullable(),\n      subscriptionStatus: z\n        .enum([\n          'NO_SUBSCRIPTION_STATUS',\n          'NOT_SET',\n          'PENDING',\n          'SUBSCRIBED',\n          'UNSUBSCRIBED',\n        ])\n        .describe(\n          \"Indicates the recipient's opt-in or opt-out status for marketing emails.\\n\\nDefault: `NOT_SET`\"\n        )\n        .optional(),\n      deliverabilityStatus: z\n        .enum(['NOT_SET', 'VALID', 'BOUNCED', 'SPAM_COMPLAINT', 'INACTIVE'])\n        .describe(\n          'Indicates last reported status of sent emails.\\n\\nDefault: `NOT_SET`'\n        )\n        .optional(),\n    })\n    .describe(\"Contact's primary email details.\")\n    .optional(),\n  primaryPhone: z\n    .object({\n      countryCode: z\n        .string()\n        .describe(\n          'Country code of the primary phone number in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format.'\n        )\n        .optional()\n        .nullable(),\n      e164Phone: z\n        .string()\n        .describe(\n          'Phone number in [ITU E.164](https://www.itu.int/rec/T-REC-E.164/) format.\\nAutomatically generated using `phone` and `countryCode` when both values are valid.'\n        )\n        .optional()\n        .nullable(),\n      formattedPhone: z\n        .string()\n        .describe(\n          'Formatted phone. Automatically generated using `phone` and `countryCode`.'\n        )\n        .optional()\n        .nullable(),\n      subscriptionStatus: z\n        .enum([\n          'NO_SUBSCRIPTION_STATUS',\n          'NOT_SET',\n          'PENDING',\n          'SUBSCRIBED',\n          'UNSUBSCRIBED',\n        ])\n        .describe(\n          \"Indicates the recipient's opt-in or opt-out status for SMS messages.\\n\\nDefault:\\n- `NOT_SET` when the phone is a valid E164 phone.\\n- `NO_SUBSCRIPTION_STATUS` when the phone is not a valid E164 phone.\"\n        )\n        .optional(),\n      phone: z\n        .string()\n        .describe(\n          'Primary phone number.\\n\\nThis field reflects the phone number in `info.phones`\\nwhere `primary` is `true`.'\n        )\n        .optional()\n        .nullable(),\n    })\n    .describe(\"Contact's primary phone details.\")\n    .optional(),\n});\n"],"mappings":"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","names":[]}