Find wedding venues and vendors, estimate costs, and manage guests, events and wedding details.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Adds an unpriced room under a property in the selected wedding. The property is named by the id of a place already in the wedding or by a name, which uses the place with that name or starts a new one; a room name is required. An id that names no place in the wedding returns a not-found result. The new room has no payment requirement. Results return the saved room and its place's id and name, and say whether the call created that place. A new place is ordered by name among places that have not been reordered, so it is listed first once the properties have been reordered. Requires sign-in and an Aisle membership.
The room, e.g. "Garden Suite"
How many it sleeps
e.g. "Double", "Suite"
Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings.
Room description
Identifier of a place already in the selected wedding, as an alternative to property_name.
Check-in date (ISO format)
e.g. 3:00 PM
The property this room belongs to, e.g. "Castel Fragsburg". A name no place has starts a new place. Either this or property_id.
Check-in notes
Check-out date (ISO format)
e.g. 11:00 AM
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Adds an unpriced room under a property in the selected wedding. The property is named by the id of a place already in the wedding or by a name, which uses the place with that name or starts a new one; a room name is required. An id that names no place in the wedding returns a not-found result. The new room has no payment requirement. Results return the saved room and its place's id and name, and say whether the call created that place. A new place is ordered by name among places that have not been reordered, so it is listed first once the properties have been reordered. Requires sign-in and an Aisle membership.
| Argument | Type | Description |
|---|---|---|
| capacity | number | How many it sleeps |
| room_name* | string | The room, e.g. "Garden Suite" |
| room_type | string | e.g. "Double", "Suite" |
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
| description | string | Room description |
| property_id | string | Identifier of a place already in the selected wedding, as an alternative to property_name. |
| check_in_date | string | Check-in date (ISO format) |
| check_in_time | string | e.g. 3:00 PM |
| property_name | string | The property this room belongs to, e.g. "Castel Fragsburg". A name no place has starts a new place. Either this or property_id. |
| check_in_notes | string | Check-in notes |
| check_out_date | string | Check-out date (ISO format) |
| check_out_time | string | e.g. 11:00 AM |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"room_name"
],
"properties": {
"capacity": {
"type": "number",
"description": "How many it sleeps"
},
"room_name": {
"type": "string",
"description": "The room, e.g. \"Garden Suite\""
},
"room_type": {
"type": "string",
"description": "e.g. \"Double\", \"Suite\""
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
},
"description": {
"type": "string",
"description": "Room description"
},
"property_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Identifier of a place already in the selected wedding, as an alternative to property_name."
},
"check_in_date": {
"type": "string",
"description": "Check-in date (ISO format)"
},
"check_in_time": {
"type": "string",
"description": "e.g. 3:00 PM"
},
"property_name": {
"type": "string",
"description": "The property this room belongs to, e.g. \"Castel Fragsburg\". A name no place has starts a new place. Either this or property_id."
},
"check_in_notes": {
"type": "string",
"description": "Check-in notes"
},
"check_out_date": {
"type": "string",
"description": "Check-out date (ISO format)"
},
"check_out_time": {
"type": "string",
"description": "e.g. 11:00 AM"
}
}
}Creates an event in the selected wedding, with its name, type, date, time and optional venue, dress code and description. Requires sign-in and an Aisle membership.
| Argument | Type | Description |
|---|---|---|
| date* | string | Event start. A time with no offset, such as 2027-06-12T18:00, is the wedding's local time; one ending in Z or an offset is that exact instant. |
| name* | string | Event name |
| type | string | Event type |
| all_day | boolean | True for an all-day item with a day and no time, such as a travel day or a free day. Send date as the day (2027-06-12) and end_time as its last day for one that runs several days; a time sent with it is dropped. |
| end_time | string | Event end time, read the same way as date. |
| dress_code | string | Dress code (e.g. Black Tie, Smart Casual) |
| venue_name | string | Venue name for this event |
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
Adds a guest to the selected wedding after explicit confirmation that the person is 13 or older, before collection of their name or contact details. First and last names are required; phone and email are optional. Results return the saved guest details. Age cannot be inferred from names or relationships. Guest notes and dietary details are unsupported. Requires sign-in and an Aisle membership.
| Argument | Type | Description |
|---|---|---|
| string | Optional guest email address. | |
| phone | string | Guest phone number, including + and its country code |
| age_band* | string | Explicit confirmation that the guest is 13 or older, obtained before their name or contact details. Other age bands are ineligible. |
| last_name* | string | Guest last name |
| first_name* | string | Guest first name |
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"first_name",
"last_name",
"age_band"
],
"properties": {
"email": {
"type": "string",
"description": "Optional guest email address."
},
"phone": {
"type": "string",
"description": "Guest phone number, including + and its country code"
},
"age_band": {
"type": "string",
"const": "13_or_older",
"description": "Explicit confirmation that the guest is 13 or older, obtained before their name or contact details. Other age bands are ineligible."
},
"last_name": {
"type": "string",
"description": "Guest last name"
},
"first_name": {
"type": "string",
"description": "Guest first name"
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
}
}
}Creates the signed-in couple’s first wedding after explicit confirmation, using both partner names and an optional date, location and venue. Unknown date and location may be omitted. Existing weddings are returned without changes; accounts with multiple weddings are asked which to use. Creates a private preview with no membership purchase, site publication, partner invitations or marketing-email enrollment. Account sign-up happens in the secure browser connection, never through tool arguments.
| Argument | Type | Description |
|---|---|---|
| location | string | Chosen wedding location. Omit when undecided. |
| confirmed* | boolean | True only after the couple confirms creating their wedding with these details. |
| venue_name | string | Booked venue name. Omit if the couple has not booked a venue. |
| wedding_date | string | Wedding date as YYYY-MM-DD. Omit when undecided. |
| partner1_name* | string | First partner’s chosen name. |
| partner2_name* | string | Second partner’s chosen name. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"partner1_name",
"partner2_name",
"confirmed"
],
"properties": {
"location": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Chosen wedding location. Omit when undecided."
},
"confirmed": {
"type": "boolean",
"description": "True only after the couple confirms creating their wedding with these details."
},
"venue_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Booked venue name. Omit if the couple has not booked a venue."
},
"wedding_date": {
"type": "string",
"description": "Wedding date as YYYY-MM-DD. Omit when undecided."
},
"partner1_name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "First partner’s chosen name."
},
"partner2_name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Second partner’s chosen name."
}
},
"additionalProperties": false
}Generates deduplicated wedding hashtag suggestions from partner names, surnames, year and place, ordered by a deterministic score. Suggestions are not registrations or availability checks.
| Argument | Type | Description |
|---|---|---|
| year | integer | Wedding year for dated variants (e.g. 2027) |
| place | string | Wedding place for location variants (e.g. "Amalfi") |
| last_name_a | string | That partner’s last name, classics build on this surname |
| last_name_b | string | The other partner’s last name, adds puns, blends, and couple variants |
| first_name_a | string | One partner’s first name (e.g. "Maya") |
| first_name_b | string | The other partner’s first name |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Wedding year for dated variants (e.g. 2027)"
},
"place": {
"type": "string",
"description": "Wedding place for location variants (e.g. \"Amalfi\")"
},
"last_name_a": {
"type": "string",
"description": "That partner’s last name, classics build on this surname"
},
"last_name_b": {
"type": "string",
"description": "The other partner’s last name, adds puns, blends, and couple variants"
},
"first_name_a": {
"type": "string",
"description": "One partner’s first name (e.g. \"Maya\")"
},
"first_name_b": {
"type": "string",
"description": "The other partner’s first name"
}
}
}Estimates wedding bar quantities from guest count, event duration and drink mix, with bottles and cases rounded up. Quantities follow planning rules of thumb and are not a guarantee of consumption. This tool does not purchase alcohol.
| Argument | Type | Description |
|---|---|---|
| mix | string | Bar mix across wine, beer, and spirits (default: balanced) |
| crowd | string | How much the crowd drinks (default: average) |
| hours | integer | Hours of open bar (default: 5) |
| guest_count | integer | Total number of wedding guests |
| non_drinkers | integer | Guests in guest_count who will not drink alcohol (default: 0). The bar and the toast are sized for the rest. |
| champagne_toast | boolean | Whether the estimate includes one flute of champagne per guest for a toast. Default: true. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"mix": {
"enum": [
"wine-led",
"balanced",
"beer-led",
"spirit-forward"
],
"type": "string",
"description": "Bar mix across wine, beer, and spirits (default: balanced)"
},
"crowd": {
"enum": [
"light",
"average",
"spirited"
],
"type": "string",
"description": "How much the crowd drinks (default: average)"
},
"hours": {
"type": "integer",
"maximum": 12,
"minimum": 1,
"description": "Hours of open bar (default: 5)"
},
"guest_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Total number of wedding guests"
},
"non_drinkers": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Guests in guest_count who will not drink alcohol (default: 0). The bar and the toast are sized for the rest."
},
"champagne_toast": {
"type": "boolean",
"description": "Whether the estimate includes one flute of champagne per guest for a toast. Default: true."
}
}
}Estimates a whole destination wedding budget in USD by guest count, place and style tier, from Aisle’s modelled wedding cost index. Accepts a destination or a country; a destination without a row of its own is priced at its country and the result says so. Results include a line-by-line breakdown, a typical total and the range most weddings land in. Places the index does not cover return coverage information. Figures are modelled estimates, not supplier quotes or prices from booked weddings.
| Argument | Type | Description |
|---|---|---|
| style | string | Wedding style tier (default: mid-range) |
| country | string | Country name, used when no destination slug is given. Priced from that country as a whole. |
| destination | string | Place slug for a destination or a country in Aisle’s wedding cost index, such as amalfi-coast, tuscany, santorini, italy or mexico. A destination without a row of its own, such as tulum or bali, is priced at its country and the result says so. |
| guest_count | integer | Total number of wedding guests |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"style": {
"enum": [
"budget",
"mid-range",
"luxury"
],
"type": "string",
"description": "Wedding style tier (default: mid-range)"
},
"country": {
"type": "string",
"description": "Country name, used when no destination slug is given. Priced from that country as a whole."
},
"destination": {
"type": "string",
"description": "Place slug for a destination or a country in Aisle’s wedding cost index, such as amalfi-coast, tuscany, santorini, italy or mexico. A destination without a row of its own, such as tulum or bali, is priced at its country and the result says so."
},
"guest_count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Total number of wedding guests"
}
}
}Returns an illustrative low, typical and high cash wedding gift range in USD based on relationship, attending party, travel and wedding-party role. Results describe US etiquette conventions, not obligations. This tool does not transfer money.
| Argument | Type | Description |
|---|---|---|
| party | string | Who attends: solo (default), couple, or family |
| travel | string | local (default), domestic-travel, or destination |
| relationship | string | Relationship to the couple: coworker, acquaintance, friend, close-friend, family or immediate-family. An absent value returns the available options. |
| in_wedding_party | boolean | Is the giver in the wedding party? |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"party": {
"enum": [
"solo",
"couple",
"family"
],
"type": "string",
"description": "Who attends: solo (default), couple, or family"
},
"travel": {
"enum": [
"local",
"domestic-travel",
"destination"
],
"type": "string",
"description": "local (default), domestic-travel, or destination"
},
"relationship": {
"type": "string",
"description": "Relationship to the couple: coworker, acquaintance, friend, close-friend, family or immediate-family. An absent value returns the available options."
},
"in_wedding_party": {
"type": "boolean",
"description": "Is the giver in the wedding party?"
}
}
}Builds a draft wedding-day schedule around the ceremony time, first-look preference and reception duration. Times use standard planning offsets rather than confirmed vendor, venue or sunset schedules.
| Argument | Type | Description |
|---|---|---|
| first_look | boolean | Whether the couple does a first look before the ceremony (default: true) |
| ceremony_time | string | Ceremony start time, 24-hour ("16:00") or "4pm" / "4:30 PM" style; a bare hour with no am/pm is read as PM |
| reception_hours | any | Length of cocktail hour + reception in hours: 4, 5, or 6 (default: 5) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"first_look": {
"type": "boolean",
"description": "Whether the couple does a first look before the ceremony (default: true)"
},
"ceremony_time": {
"type": "string",
"description": "Ceremony start time, 24-hour (\"16:00\") or \"4pm\" / \"4:30 PM\" style; a bare hour with no am/pm is read as PM"
},
"reception_hours": {
"anyOf": [
{
"type": "number",
"const": 4
},
{
"type": "number",
"const": 5
},
{
"type": "number",
"const": 6
}
],
"description": "Length of cocktail hour + reception in hours: 4, 5, or 6 (default: 5)"
}
}
}Returns a wedding dress code definition, clothing examples and invitation wording, or lists the available dress codes when none is specified. Results include the corresponding Aisle guide link.
| Argument | Type | Description |
|---|---|---|
| dress_code | string | Optional dress code name, matched approximately. An absent value returns the available codes. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"dress_code": {
"type": "string",
"description": "Optional dress code name, matched approximately. An absent value returns the available codes."
}
}
}Estimates round-trip flights and lodging in USD for guest groups departing from supported US metros. Stay length and guests per room can be set, and default to the destination’s typical stay in a private room per guest. Each priced group gives a typical figure and a low-to-high range. Partial totals include only priced groups; unpriced guests and unsupported origins are reported separately. The urlRestoresEstimate field states whether the returned web link restores the supplied groups. Estimates are not live fares or bookings.
| Argument | Type | Description |
|---|---|---|
| groups | array | Guest groups by departure city |
| nights | integer | Nights in the room, 1 to 30. Defaults to the destination's typical stay, shown as typicalStayNights on each group. |
| destination | string | Destination slug. Supported: algarve, amalfi-coast, argentina, aruba, aspen, bahamas, bali, barbados, barcelona, bermuda, cabo, cancun, cape-town, capri, charleston, cinque-terre, colombia, costa-rica, cotswolds, dominican-republic, dubrovnik, fiji, hawaii, iceland, ireland, jamaica, japan, kenya, lake-como, maldives, mallorca, maui, montenegro, morocco, mykonos, napa-valley, new-zealand, paris, peru, provence, puerto-rico, punta-cana, ravello, santorini, savannah, scottish-highlands, sorrento, sri-lanka, st-lucia, swiss-alps, thailand, dolomites, tulum, turks-and-caicos, tuscany, us-virgin-islands, vietnam. |
| guests_per_room | integer | Guests sharing each room, 1 to 4. Defaults to 1, a private room per guest; 2 prices couples sharing. |
Composes wedding invitation text for a hosting situation and formality, using supplied names, event details and optional reception wording. With no scenario, it lists available options. Wording follows etiquette conventions rather than legal requirements.
| Argument | Type | Description |
|---|---|---|
| date | string | Date as it should read, e.g. "Saturday, the twelfth of June" |
| time | string | Time as it should read, e.g. "at four o’clock in the afternoon" |
| scenario | string | Hosting-situation key. An absent value returns the available scenarios and formality options. |
| formality | string | Register key: formal, modern, casual, or playful |
| host_names | string | Host names for scenarios that include hosts. Two hosting parties are separated by " / ". |
| venue_name | string | Venue name |
| hosts_child | string | Partner whose parents are hosting. Defaults to couple_b for grooms-parents and couple_a for brides-parents or divorced-parents. Partner names never determine parentage. |
| couple_a_name |
Returns one identified room in the selected wedding, with its property, description, capacity, status, stay details and stored price and deposit overrides, plus its place's id, name, stored room-choice override and effective mode. Missing, removed and other-wedding rooms return the same not-found result. Guest assignments and occupant identities are excluded. Requires sign-in.
| Argument | Type | Description |
|---|---|---|
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
| accommodation_id* | string | Identifier of a room in the selected wedding. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"accommodation_id"
],
"properties": {
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
},
"accommodation_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Identifier of a room in the selected wedding."
}
}
}Returns one identified event in the selected wedding, with its name, type, date, time, venue, dress code and description, the ids of other events whose times overlap it, and the dress-code guide entry its dress code matches. Missing and other-wedding events return the same not-found result. Requires sign-in.
| Argument | Type | Description |
|---|---|---|
| event_id* | string | Identifier of an event in the selected wedding. |
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"event_id"
],
"properties": {
"event_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Identifier of an event in the selected wedding."
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
}
}
}Returns one identified guest recorded as 13 or older in the selected wedding, with saved names, contact preferences (a "defaulted" list names any nobody chose), language, RSVP status and timestamps. Missing, other-wedding, under-13 and unconfirmed-age records return the same not-found result. Guest notes and dietary details are excluded. Requires sign-in.
| Argument | Type | Description |
|---|---|---|
| guest_id* | string | Identifier of a guest in the selected wedding. |
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"guest_id"
],
"properties": {
"guest_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Identifier of a guest in the selected wedding."
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
}
}
}Returns the signed-in account's selected wedding details, including partner names, date, location and venue, the city and country picked in settings, and the destination to pass to the budget and guest travel estimates for the wedding's own place. Access is limited to weddings the account can manage.
| Argument | Type | Description |
|---|---|---|
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
}
}
}Returns aggregate wedding statistics, including guest totals across all age bands, RSVP counts, event counts and registry progress. Responded counts attending and declined guests; outstanding counts pending and maybe guests; the response rate is responded as a percentage of all guests. Guest identities and individual event answers are excluded. Requires sign-in.
| Argument | Type | Description |
|---|---|---|
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
}
}
}Returns a destination wedding packing list by climate and role, covering clothing, weather essentials, travel documents and practical supplies.
| Argument | Type | Description |
|---|---|---|
| role | string | Your role at the wedding (default: guest) |
| climate | string | Destination climate type (default: tropical) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"role": {
"enum": [
"bride",
"groom",
"guest"
],
"type": "string",
"description": "Your role at the wedding (default: guest)"
},
"climate": {
"enum": [
"tropical",
"mediterranean",
"temperate",
"cold"
],
"type": "string",
"description": "Destination climate type (default: tropical)"
}
}
}Returns a destination wedding planning timeline organized by months before the wedding, from venue planning through day-of logistics.
| Argument | Type | Description |
|---|---|---|
| months_out | integer | Months until the wedding day (filters to show only relevant tasks) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"months_out": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Months until the wedding day (filters to show only relevant tasks)"
}
}
}Returns a published wedding vendor by its slug, including services, descriptions, FAQs, ratings, photos and website links. The result states whether the description, services and FAQs were generated by Aisle from public information or supplied by the vendor, gives a price band only when the vendor supplied one, whether the vendor chose its category, and where the rating comes from.
| Argument | Type | Description |
|---|---|---|
| slug | string | Unique slug identifying a published Aisle vendor. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"type": "string",
"description": "Unique slug identifying a published Aisle vendor."
}
}
}Returns a published wedding venue by its slug, including photos, highlights, travel information, planning estimates and available sourced facts with provenance, with each price also given as numbers, its currency and what it is per. Cost estimates are the ones the venue page shows, so a response gives one price for the venue and names any older estimate it left out. An estimators block names the destination the budget and guest travel estimators accept for the venue, the country when its area has no budget row, and covered destinations in the same country when travel has no figures for its area. When a slug is not a published venue, the result says whether it was never listed or was taken down, and suggests published venues: by name for a slug that does not exist, or the listing of the same name and the closest venues for one taken down. Estimates are not supplier quotes or live availability.
| Argument | Type | Description |
|---|---|---|
| slug | string | Unique slug identifying a published Aisle venue. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"type": "string",
"description": "Unique slug identifying a published Aisle venue."
}
}
}Returns destination wedding planning milestones across eight phases, from eighteen months before the wedding through the day itself. An optional month limit narrows the milestones shown.
| Argument | Type | Description |
|---|---|---|
| months_out | number | Months until the wedding, returns only phases due within this window |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"months_out": {
"type": "number",
"description": "Months until the wedding, returns only phases due within this window"
}
}
}Calculates percentages and amounts for dividing a wedding budget among the couple and their families under a selected model, with each amount also given as a whole-dollar USD number. Traditional assignments describe etiquette conventions, not obligations. This tool does not transfer money.
| Argument | Type | Description |
|---|---|---|
| model | string | Contribution model to split by (default: traditional) |
| total_budget | number | Total wedding budget in USD |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"model": {
"enum": [
"traditional",
"even-split",
"both-families",
"couple"
],
"type": "string",
"description": "Contribution model to split by (default: traditional)"
},
"total_budget": {
"type": "number",
"minimum": 1,
"description": "Total wedding budget in USD"
}
}
}Lists the selected wedding's places, including empty places with ids, position, arrangement, active and archived room counts, whether each place can be removed, stored room-choice overrides and effective modes, plus room descriptions, capacity, status, stay details, stored price and deposit overrides in property order. Guest assignments and occupant identities are excluded. Requires sign-in.
| Argument | Type | Description |
|---|---|---|
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
}
}
}Lists the selected wedding's events in date order with their dates, times, venues, dress codes and descriptions. Optional filters narrow results by event type or by a range of calendar days in the wedding's time zone; the total counts the events returned. Each event names the other events whose times overlap it. Requires sign-in.
| Argument | Type | Description |
|---|---|---|
| to | string | Last day to include, as YYYY-MM-DD in the wedding's time zone. |
| from | string | First day to include, as YYYY-MM-DD in the wedding's time zone. |
| type | any | Filter by event type, one type or a list such as ["ceremony", "reception"]. |
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Last day to include, as YYYY-MM-DD in the wedding's time zone."
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "First day to include, as YYYY-MM-DD in the wedding's time zone."
},
"type": {
"anyOf": [
{
"enum": [
"welcome_dinner",
"ceremony",
"reception",
"brunch",
"rehearsal",
"cocktail_hour",
"after_party",
"activity",
"other"
],
"type": "string"
},
{
"type": "array",
"items": {
"enum": [
"welcome_dinner",
"ceremony",
"reception",
"brunch",
"rehearsal",
"cocktail_hour",
"after_party",
"activity",
"other"
],
"type": "string"
},
"minItems": 1
}
],
"description": "Filter by event type, one type or a list such as [\"ceremony\", \"reception\"]."
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
}
}
}Lists guests in the selected wedding who are recorded as 13 or older, with saved names, contact preferences (a "defaulted" list names any nobody chose), language, RSVP status and timestamps. Optional filters narrow results by RSVP status, language or name, and results can be ordered by name or by most recent update, RSVP reply or addition; per-status counts cover every listed guest before filtering. Guests under 13 or with unconfirmed ages are excluded, as are guest notes and dietary details. Requires sign-in.
| Argument | Type | Description |
|---|---|---|
| sort | string | Order of the guests. "name" (the default) is last name then first. "recently_updated", "recently_responded" and "recently_added" put the newest first, by updatedAt, rsvpRespondedAt and createdAt; guests with no time sort last, by name. |
| search | string | Search guests by name. A first name, a last name, or the whole name all match, and accents are ignored, so Ines finds Inês. |
| language | string | Filter by a language name or code, such as Spanish or es. Empty string selects guests with no recorded language. Supported languages: English (en), Spanish (es), French (fr), Italian (it), German (de), Portuguese (pt), Polish (pl). |
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
| rsvp_status | any | Filter by RSVP status, one status or a list such as ["pending", "maybe"] for everyone yet to confirm. |
Lists the selected wedding's registry and honeymoon fund items, descriptions, goal amounts and received totals. Donor identities are excluded. This tool does not collect contributions or initiate payments. Requires sign-in.
| Argument | Type | Description |
|---|---|---|
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
}
}
}Lists every wedding vendor category and its published listing count, optionally filtered by location. A category with no listings is included with a count of 0.
| Argument | Type | Description |
|---|---|---|
| location | string | Location slug to filter vendor counts (e.g. "austin-tx") |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"location": {
"type": "string",
"description": "Location slug to filter vendor counts (e.g. \"austin-tx\")"
}
}
}Lists countries with published wedding venues on Aisle and the number of venues in each country, broken down by venue type and by searchable price band, with a count of venues that have no price band.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Places many guests in the selected wedding's rooms in one call, from a rule (reply, group, named guests, optionally limited to a place or rooms) or from a list of rooms and guests. Rooms are filled to their bed counts with each household kept together; held-back and full rooms are skipped, and a rule places only guests not yet in a room. Only guests recorded as 13 or older are placed. Results list who was placed in each room with its occupancy, and every skipped guest with a reason. By default it only plans and places no one; guests are placed when dry_run is false. At most 200 guests are placed per call. Requires sign-in and an Aisle membership.
| Argument | Type | Description |
|---|---|---|
| fill | object | A rule the server packs into open rooms. Only guests not yet in a room are considered. Exclusive with assignments. |
| dry_run | boolean | When true or omitted, reports the placements and skipped guests that would result and places no one. Set to false to place guests. |
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
| assignments | array | Your own list of rooms and guests; can move guests already placed. Exclusive with fill. |
| set_rsvp_status | string | Also record this reply for every guest who lands in a room. |
Removes an identified room and its guest assignments from the selected wedding, subject to payment and checkout safeguards. Uncharged checkouts without a payment method require confirmed cancellation. Completed, refunded or processing payments and active checkouts with a card prevent removal. Payment history is retained. The place is retained unless remove_empty_place is set and the place has no other rooms or retained history; otherwise empty places require a separate explicit removal. Requires sign-in and an Aisle membership.
| Argument | Type | Description |
|---|---|---|
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
| accommodation_id* | string | Identifier of the room to remove from the selected wedding. |
| remove_empty_place | boolean | When true, also removes the room’s place if it has no other rooms or retained room history. Defaults to false, which keeps the place. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"accommodation_id"
],
"properties": {
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
},
"accommodation_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Identifier of the room to remove from the selected wedding."
},
"remove_empty_place": {
"type": "boolean",
"description": "When true, also removes the room’s place if it has no other rooms or retained room history. Defaults to false, which keeps the place."
}
}
}Removes an identified event from the selected wedding and returns the removed event's id and name. Requires sign-in and an Aisle membership.
| Argument | Type | Description |
|---|---|---|
| event_id* | string | Identifier of the event to remove from the selected wedding. |
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"event_id"
],
"properties": {
"event_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Identifier of the event to remove from the selected wedding."
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
}
}
}Removes an identified guest already recorded as 13 or older from the selected wedding and returns the removed guest's id and name. Guests under 13 or with unconfirmed ages are ineligible. Requires sign-in and an Aisle membership.
| Argument | Type | Description |
|---|---|---|
| guest_id* | string | Identifier of the guest to remove from the selected wedding. |
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"guest_id"
],
"properties": {
"guest_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Identifier of the guest to remove from the selected wedding."
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
}
}
}Removes one or several identified empty places from the selected wedding and its property order, and returns the order that remains. The places list supplies their ids. With several, each place is removed or kept on its own, and the result lists which were removed and which kept, with the reason. A dry run reports the same without removing anything. This removes any recommendation or booking link on a removed place. Any rooms, including archived history, prevent removal. No rooms or payments are deleted. Requires sign-in and an Aisle membership.
| Argument | Type | Description |
|---|---|---|
| dry_run | boolean | When true, reports which of the named places would be removed and which kept, with reasons, and removes nothing. Defaults to false. |
| place_id | string | Identifier of the empty property to remove, from the selected wedding’s places list. Provide this or place_ids. |
| place_ids | array | Identifiers of several empty properties to remove, from the selected wedding’s places list. Only these are considered. Provide this or place_id. |
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"dry_run": {
"type": "boolean",
"description": "When true, reports which of the named places would be removed and which kept, with reasons, and removes nothing. Defaults to false."
},
"place_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Identifier of the empty property to remove, from the selected wedding’s places list. Provide this or place_ids."
},
"place_ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"maxItems": 50,
"minItems": 1,
"description": "Identifiers of several empty properties to remove, from the selected wedding’s places list. Only these are considered. Provide this or place_id."
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
}
}
}Sets the order of all properties on the selected wedding's guest site and accommodation screen. The complete list is required, as property ids from the places list or as names; name matching ignores case and surrounding spaces. Results and refusals give the order as ids with names. Partial or invalid lists are refused with the current order. Requires sign-in and an Aisle membership.
| Argument | Type | Description |
|---|---|---|
| place_ids | array | Complete list of property ids from the selected wedding’s places list, in the intended display order. Provide this or place_names. |
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
| place_names | array | Complete list of property names in the selected wedding, in the intended display order. Provide this or place_ids. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"place_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Complete list of property ids from the selected wedding’s places list, in the intended display order. Provide this or place_names."
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
},
"place_names": {
"type": "array",
"items": {
"type": "string"
},
"description": "Complete list of property names in the selected wedding, in the intended display order. Provide this or place_ids."
}
}
}Searches Aisle wedding planning guides by keywords and returns up to 10 relevant excerpts with links to the full articles and the date each guide was last revised, at most 3 from any one guide unless a different per-guide limit is supplied.
| Argument | Type | Description |
|---|---|---|
| query | string | Search query keywords (e.g. "legal requirements Italy", "budget tips", "what to wear") |
| max_per_guide | integer | How many sections one guide may hold among the 10 results (default 3). 1 gives one entry per guide; 10 ranks sections with no per-guide limit. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"query": {
"type": "string",
"description": "Search query keywords (e.g. \"legal requirements Italy\", \"budget tips\", \"what to wear\")"
},
"max_per_guide": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "How many sections one guide may hold among the 10 results (default 3). 1 gives one entry per guide; 10 ranks sections with no per-guide limit."
}
}
}Searches published wedding vendors by category, location and price range. Results include business details and listing links, with totals and pagination; summary omits descriptions and images. Each result states whether its content was generated by Aisle from public information or is managed by the vendor, where its rating comes from, whether its category was chosen by the vendor or assigned by Aisle’s search, and the domain of its website. A price band is reported, and matched by the price filter, only when the vendor supplied it. Results can be filtered by minimum Google rating and review count, and ordered by name, rating or review count. When a location holds fewer than five matching vendors, the result lists nearby locations within 150km that hold more, with counts and distances. A location search also gives each vendor’s distance from the middle of that location’s listings, since the listed city is the place searched rather than the vendor’s own town. Vendors in the same category and location that share a website or phone number are named on each other’s results as possible duplicates. This search does not check live availability or make bookings.
| Argument | Type | Description |
|---|---|---|
| sort | string | Result order: name (default), rating (highest first, ties broken by review count) or reviews (most reviewed first). |
| limit | integer | Results per page, from 1 to 50 (default 50). |
| offset | integer | Number of results to skip; nextOffset from the previous page continues the result set. |
| summary | boolean | Return compact comparison fields without descriptions and images (default false). |
Searches published destination wedding venues by country, venue type, guest capacity and price range, optionally leaving out unverified imported listings. Results include descriptions, photos and listing links, with totals and pagination; summary omits descriptions and images. Unknown capacity and unverified imported price bands are null. This search does not check live availability or make bookings.
| Argument | Type | Description |
|---|---|---|
| type | string | Venue type filter |
| limit | integer | Results per page, from 1 to 50 (default 50). |
| offset | integer | Number of results to skip; nextOffset from the previous page continues the result set. |
| country | string | Country name (e.g. "Italy", "Mexico"). A two-letter ISO code ("GR") or the country's own name ("Italia", "España") also works; appliedFilters.country gives the English name matched. |
| summary | boolean | Return compact comparison fields without descriptions and images (default false). |
| price_range | string | Price range filter: $ (budget) to $$$$ (luxury) |
| capacity_max | integer | Upper end of your guest range. Matches venues with a known capacityMin no larger than this; unknown capacity is excluded. |
Sets room choice for one Hosted property in the selected wedding. The property is identified by id or an exact, unambiguous name; matching ignores case and surrounding spaces. A non-null mode selects couple assignment or guest choice. Null restores the legacy wedding fallback. Other properties retain their settings. Results return the property id, stored override and effective mode. Requires sign-in and an Aisle membership.
| Argument | Type | Description |
|---|---|---|
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
| property_id | string | Identifier of a property in the selected wedding. |
| property_name | string | Exact property name, ignoring case and surrounding spaces. Duplicate names require a property identifier. |
| room_selection_mode* | any | Property room choice: couple_assigned means the couple assigns rooms; guest_choice means guests choose available rooms. Null clears the override and follows the legacy wedding setting. A non-null choice requires a Hosted property. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"room_selection_mode"
],
"properties": {
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
},
"property_id": {
"type": "string",
"description": "Identifier of a property in the selected wedding."
},
"property_name": {
"type": "string",
"description": "Exact property name, ignoring case and surrounding spaces. Duplicate names require a property identifier."
},
"room_selection_mode": {
"anyOf": [
{
"enum": [
"couple_assigned",
"guest_choice"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "Property room choice: couple_assigned means the couple assigns rooms; guest_choice means guests choose available rooms. Null clears the override and follows the legacy wedding setting. A non-null choice requires a Hosted property."
}
}
}Changes the selected wedding's guest-site address within aisle.wedding, retaining redirects from its previous address. Addresses use 2 to 63 lowercase letters, numbers or hyphens and must be available and unreserved. Requires sign-in and an Aisle membership.
| Argument | Type | Description |
|---|---|---|
| address* | string | The new address, without the aisle.wedding/ in front of it, for example maya-and-theo |
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"address"
],
"properties": {
"address": {
"type": "string",
"description": "The new address, without the aisle.wedding/ in front of it, for example maya-and-theo"
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
}
}
}Updates supplied room details, pricing, payment requirements or deposit and balance schedules in the selected wedding. Omitted fields remain unchanged. Null clears the room type, description, stay dates, check-in and check-out times or check-in notes. Setting a price enables payment unless explicitly disabled; zero makes the room free. Results return the saved room details, identify saved changes with their previous values and describe whether payment is available. This tool does not initiate a charge. Requires sign-in and an Aisle membership.
| Argument | Type | Description |
|---|---|---|
| status | string | unavailable takes the room out of the block |
| capacity | number | How many it sleeps |
| room_name | string | The room name |
| room_type | any | e.g. "Double", "Suite", or null to clear it |
| price_unit | string | What the amount buys |
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
| description | any | Room description, or null to clear it |
| deposit_unit |
Updates supplied name, type, schedule, venue, dress code or description fields for an identified event in the selected wedding. Omitted fields and existing invitations and responses remain unchanged. Null clears the end time, venue, address, dress code or description. Results identify saved changes with their previous values. Requires sign-in and an Aisle membership.
| Argument | Type | Description |
|---|---|---|
| date | string | Event start. A time with no offset, such as 2027-06-12T18:00, is the wedding's local time; one ending in Z or an offset is that exact instant. |
| name | string | Event name |
| type | string | Event type |
| all_day | boolean | True for an all-day item with a day and no time, such as a travel day or a free day. Send date as the day (2027-06-12) and end_time as its last day for one that runs several days; a time sent with it is dropped. |
| end_time | any | Event end time, read the same way as date., or null to clear it |
| event_id* | string | Identifier of the event to update in the selected wedding. |
| dress_code | any | Dress code (e.g. Black Tie, Smart Casual), or null to clear it |
Updates supplied name, contact, RSVP, communication preferences or language for a guest already recorded as 13 or older in the selected wedding. The guest identifier is required. Results return the saved guest details, including cleared values. This tool cannot change age bands, guest notes or dietary details. Requires sign-in and an Aisle membership.
| Argument | Type | Description |
|---|---|---|
| string | Updated email address. Empty string clears it. | |
| phone | string | Updated phone number, including + and its country code. Empty string clears it. |
| guest_id* | string | Identifier of a guest in the selected wedding. |
| language | string | Which language this guest reads. A language name ("Spanish") or a code ("es", "pt"); both store the same value. Decides the language their guest site opens in, and which version of a message they get. Empty string clears it, which is not the same as 'en': a cleared guest follows the site's own language and their browser. Records a fact; translates nothing. Supported languages: English (en), Spanish (es), French (fr), Italian (it), German (de), Portuguese (pt), Polish (pl). |
| last_name | string | Updated last name |
| first_name | string | Updated first name |
Updates supplied wedding settings and can publish or unpublish the guest site. Omitted fields remain unchanged; nullable dates, location, venue and display name can be cleared. Partner names cannot be empty. Results identify saved changes with their previous values, every saved setting, the resulting couple display name and site address. Requires sign-in and an Aisle membership.
| Argument | Type | Description |
|---|---|---|
| location | any | Wedding location, or null to clear it |
| venue_name | any | Venue name, or null to clear it |
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
| is_published | boolean | Guest-site visibility. True publishes the site at its address; false returns it to a private draft and hides it from guests, including those with an existing link. |
| wedding_date | any | Wedding date as a calendar day, YYYY-MM-DD, with no time and no zone, or null to clear it |
| partner1_name | string | First partner name. Cannot be emptied, only replaced |
| partner2_name | string | Second partner name. Cannot be emptied, only replaced |
| description | string | Event description |
| venue_address | string | Venue address |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"date"
],
"properties": {
"date": {
"type": "string",
"description": "Event start. A time with no offset, such as 2027-06-12T18:00, is the wedding's local time; one ending in Z or an offset is that exact instant."
},
"name": {
"type": "string",
"description": "Event name"
},
"type": {
"enum": [
"welcome_dinner",
"ceremony",
"reception",
"brunch",
"rehearsal",
"cocktail_hour",
"after_party",
"activity",
"other"
],
"type": "string",
"description": "Event type"
},
"all_day": {
"type": "boolean",
"description": "True for an all-day item with a day and no time, such as a travel day or a free day. Send date as the day (2027-06-12) and end_time as its last day for one that runs several days; a time sent with it is dropped."
},
"end_time": {
"type": "string",
"description": "Event end time, read the same way as date."
},
"dress_code": {
"type": "string",
"description": "Dress code (e.g. Black Tie, Smart Casual)"
},
"venue_name": {
"type": "string",
"description": "Venue name for this event"
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
},
"description": {
"type": "string",
"description": "Event description"
},
"venue_address": {
"type": "string",
"description": "Venue address"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"groups": {
"type": "array",
"items": {
"type": "object",
"required": [
"city"
],
"properties": {
"city": {
"type": "string",
"description": "Guest departure city (e.g. \"New York\", \"London\")"
},
"count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "Number of guests from this city (default 1)"
}
}
},
"description": "Guest groups by departure city"
},
"nights": {
"type": "integer",
"maximum": 30,
"minimum": 1,
"description": "Nights in the room, 1 to 30. Defaults to the destination's typical stay, shown as typicalStayNights on each group."
},
"destination": {
"type": "string",
"description": "Destination slug. Supported: algarve, amalfi-coast, argentina, aruba, aspen, bahamas, bali, barbados, barcelona, bermuda, cabo, cancun, cape-town, capri, charleston, cinque-terre, colombia, costa-rica, cotswolds, dominican-republic, dubrovnik, fiji, hawaii, iceland, ireland, jamaica, japan, kenya, lake-como, maldives, mallorca, maui, montenegro, morocco, mykonos, napa-valley, new-zealand, paris, peru, provence, puerto-rico, punta-cana, ravello, santorini, savannah, scottish-highlands, sorrento, sri-lanka, st-lucia, swiss-alps, thailand, dolomites, tulum, turks-and-caicos, tuscany, us-virgin-islands, vietnam."
},
"guests_per_room": {
"type": "integer",
"maximum": 4,
"minimum": 1,
"description": "Guests sharing each room, 1 to 4. Defaults to 1, a private room per guest; 2 prices couples sharing."
}
}
}| string |
| One partner’s full name |
| couple_b_name | string | The other partner’s full name |
| worship_space | boolean | Formal register: is the ceremony in a house of worship? |
| reception_note | string | Optional final line, e.g. "Reception to follow" |
| venue_location | string | Venue town and country |
| child_relationship | string | Relationship word for the hosts’ child. Defaults to child for divorced-parents, daughter for brides-parents and son for grooms-parents. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"date": {
"type": "string",
"description": "Date as it should read, e.g. \"Saturday, the twelfth of June\""
},
"time": {
"type": "string",
"description": "Time as it should read, e.g. \"at four o’clock in the afternoon\""
},
"scenario": {
"type": "string",
"description": "Hosting-situation key. An absent value returns the available scenarios and formality options."
},
"formality": {
"type": "string",
"description": "Register key: formal, modern, casual, or playful"
},
"host_names": {
"type": "string",
"description": "Host names for scenarios that include hosts. Two hosting parties are separated by \" / \"."
},
"venue_name": {
"type": "string",
"description": "Venue name"
},
"hosts_child": {
"enum": [
"couple_a",
"couple_b"
],
"type": "string",
"description": "Partner whose parents are hosting. Defaults to couple_b for grooms-parents and couple_a for brides-parents or divorced-parents. Partner names never determine parentage."
},
"couple_a_name": {
"type": "string",
"description": "One partner’s full name"
},
"couple_b_name": {
"type": "string",
"description": "The other partner’s full name"
},
"worship_space": {
"type": "boolean",
"description": "Formal register: is the ceremony in a house of worship?"
},
"reception_note": {
"type": "string",
"description": "Optional final line, e.g. \"Reception to follow\""
},
"venue_location": {
"type": "string",
"description": "Venue town and country"
},
"child_relationship": {
"enum": [
"child",
"daughter",
"son"
],
"type": "string",
"description": "Relationship word for the hosts’ child. Defaults to child for divorced-parents, daughter for brides-parents and son for grooms-parents."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"sort": {
"enum": [
"name",
"recently_updated",
"recently_responded",
"recently_added"
],
"type": "string",
"description": "Order of the guests. \"name\" (the default) is last name then first. \"recently_updated\", \"recently_responded\" and \"recently_added\" put the newest first, by updatedAt, rsvpRespondedAt and createdAt; guests with no time sort last, by name."
},
"search": {
"type": "string",
"description": "Search guests by name. A first name, a last name, or the whole name all match, and accents are ignored, so Ines finds Inês."
},
"language": {
"type": "string",
"description": "Filter by a language name or code, such as Spanish or es. Empty string selects guests with no recorded language. Supported languages: English (en), Spanish (es), French (fr), Italian (it), German (de), Portuguese (pt), Polish (pl)."
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
},
"rsvp_status": {
"anyOf": [
{
"enum": [
"pending",
"attending",
"declined",
"maybe"
],
"type": "string"
},
{
"type": "array",
"items": {
"enum": [
"pending",
"attending",
"declined",
"maybe"
],
"type": "string"
},
"minItems": 1
}
],
"description": "Filter by RSVP status, one status or a list such as [\"pending\", \"maybe\"] for everyone yet to confirm."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"fill": {
"type": "object",
"properties": {
"tag": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Only guests in this group, ignoring case."
},
"room_ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"maxItems": 100,
"minItems": 1,
"description": "Only these rooms."
},
"guest_ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"maxItems": 500,
"minItems": 1,
"description": "Only these guests. Named guests are taken even when declined."
},
"property_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Only rooms at this place."
},
"rsvp_status": {
"enum": [
"pending",
"attending",
"declined",
"maybe"
],
"type": "string",
"description": "Only guests with this reply."
},
"share_rooms": {
"type": "boolean",
"description": "Let different households share a room. Default false; set it only when the couple has said unrelated guests may share."
},
"include_household": {
"type": "boolean",
"description": "Also place the rest of each match’s household. Default true."
}
},
"description": "A rule the server packs into open rooms. Only guests not yet in a room are considered. Exclusive with assignments."
},
"dry_run": {
"type": "boolean",
"description": "When true or omitted, reports the placements and skipped guests that would result and places no one. Set to false to place guests."
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
},
"assignments": {
"type": "array",
"items": {
"type": "object",
"required": [
"room_id",
"guest_ids"
],
"properties": {
"room_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "A room in the selected wedding."
},
"guest_ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"maxItems": 200,
"minItems": 1,
"description": "Guests for that room."
}
}
},
"maxItems": 100,
"minItems": 1,
"description": "Your own list of rooms and guests; can move guests already placed. Exclusive with fill."
},
"set_rsvp_status": {
"enum": [
"pending",
"attending",
"declined",
"maybe"
],
"type": "string",
"description": "Also record this reply for every guest who lands in a room."
}
}
}| category | string | Vendor category filter, fuzzy-matched. One of: photographer, videographer, florist, caterer, dj, band, planner, coordinator, hair_makeup, cake_bakery, officiant, rentals_decor, stationery, transportation. |
| location | string | Location slug filter (e.g. "austin-tx", "london-uk") |
| min_rating | number | Only vendors with at least this Google rating, out of 5. Unrated vendors are left out. |
| min_reviews | integer | Only vendors with at least this many Google reviews. |
| price_range | string | Price range filter: $ (budget) to $$$$ (luxury). Matches only listings whose vendor gave a band; generated listings have none. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"sort": {
"enum": [
"name",
"rating",
"reviews"
],
"type": "string",
"description": "Result order: name (default), rating (highest first, ties broken by review count) or reviews (most reviewed first)."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Results per page, from 1 to 50 (default 50)."
},
"offset": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Number of results to skip; nextOffset from the previous page continues the result set."
},
"summary": {
"type": "boolean",
"description": "Return compact comparison fields without descriptions and images (default false)."
},
"category": {
"type": "string",
"description": "Vendor category filter, fuzzy-matched. One of: photographer, videographer, florist, caterer, dj, band, planner, coordinator, hair_makeup, cake_bakery, officiant, rentals_decor, stationery, transportation."
},
"location": {
"type": "string",
"description": "Location slug filter (e.g. \"austin-tx\", \"london-uk\")"
},
"min_rating": {
"type": "number",
"maximum": 5,
"minimum": 0,
"description": "Only vendors with at least this Google rating, out of 5. Unrated vendors are left out."
},
"min_reviews": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Only vendors with at least this many Google reviews."
},
"price_range": {
"enum": [
"$",
"$$",
"$$$",
"$$$$"
],
"type": "string",
"description": "Price range filter: $ (budget) to $$$$ (luxury). Matches only listings whose vendor gave a band; generated listings have none."
}
}
}| capacity_min | integer | Lower end of your guest range. Matches venues with a known capacityMax at least this large; unknown capacity is excluded. |
| include_unknown_capacity | boolean | With capacity_min or capacity_max, also keep venues whose capacity is unknown (null) instead of leaving them out. Most imported listings have no known capacity. Default false. |
| exclude_unverified_imports | boolean | Leave out unverified imported listings (descriptionStatus "unverified_import"), which carry no description and usually no capacity or price. Default false. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"type": {
"enum": [
"villa",
"hotel",
"estate",
"beach",
"restaurant",
"garden",
"castle",
"resort"
],
"type": "string",
"description": "Venue type filter"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Results per page, from 1 to 50 (default 50)."
},
"offset": {
"type": "integer",
"maximum": 100000,
"minimum": 0,
"description": "Number of results to skip; nextOffset from the previous page continues the result set."
},
"country": {
"type": "string",
"description": "Country name (e.g. \"Italy\", \"Mexico\"). A two-letter ISO code (\"GR\") or the country's own name (\"Italia\", \"España\") also works; appliedFilters.country gives the English name matched."
},
"summary": {
"type": "boolean",
"description": "Return compact comparison fields without descriptions and images (default false)."
},
"price_range": {
"enum": [
"$",
"$$",
"$$$",
"$$$$"
],
"type": "string",
"description": "Price range filter: $ (budget) to $$$$ (luxury)"
},
"capacity_max": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Upper end of your guest range. Matches venues with a known capacityMin no larger than this; unknown capacity is excluded."
},
"capacity_min": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Lower end of your guest range. Matches venues with a known capacityMax at least this large; unknown capacity is excluded."
},
"include_unknown_capacity": {
"type": "boolean",
"description": "With capacity_min or capacity_max, also keep venues whose capacity is unknown (null) instead of leaving them out. Most imported listings have no known capacity. Default false."
},
"exclude_unverified_imports": {
"type": "boolean",
"description": "Leave out unverified imported listings (descriptionStatus \"unverified_import\"), which carry no description and usually no capacity or price. Default false."
}
}
}| string |
| How the deposit is stated: "amount" for a flat sum, "percent" for a share of whatever the room comes to |
| price_amount | any | The rate, or null to clear it, or 0 to make it free |
| check_in_date | any | Check-in date (ISO format), or null to clear it |
| check_in_time | any | e.g. 3:00 PM, or null to clear it |
| check_in_notes | any | Check-in notes, or null to clear it |
| check_out_date | any | Check-out date (ISO format), or null to clear it |
| check_out_time | any | e.g. 11:00 AM, or null to clear it |
| deposit_amount | any | What guests pay up front, with the rest due by balance_due_date. Null clears the schedule so the room is paid whole; 0 takes this room off a schedule its property sets. |
| accommodation_id* | string | Identifier of the room to update in the selected wedding. |
| balance_due_date | any | YYYY-MM-DD, the day payment is due. Beside a deposit it dates the rest; on a room with no deposit it dates the whole price. Without it the room still charges, but nothing chases it. |
| deposit_due_date | any | YYYY-MM-DD, the day the deposit is due. Without it the guest site says the deposit is due now. A date after balance_due_date is dropped. |
| requires_payment | boolean | Whether guests pay for this room |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"accommodation_id"
],
"properties": {
"status": {
"enum": [
"available",
"unavailable"
],
"type": "string",
"description": "unavailable takes the room out of the block"
},
"capacity": {
"type": "number",
"description": "How many it sleeps"
},
"room_name": {
"type": "string",
"description": "The room name"
},
"room_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "e.g. \"Double\", \"Suite\", or null to clear it"
},
"price_unit": {
"enum": [
"room",
"night",
"party",
"head",
"open"
],
"type": "string",
"description": "What the amount buys"
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Room description, or null to clear it"
},
"deposit_unit": {
"enum": [
"percent",
"amount"
],
"type": "string",
"description": "How the deposit is stated: \"amount\" for a flat sum, \"percent\" for a share of whatever the room comes to"
},
"price_amount": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "The rate, or null to clear it, or 0 to make it free"
},
"check_in_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Check-in date (ISO format), or null to clear it"
},
"check_in_time": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "e.g. 3:00 PM, or null to clear it"
},
"check_in_notes": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Check-in notes, or null to clear it"
},
"check_out_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Check-out date (ISO format), or null to clear it"
},
"check_out_time": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "e.g. 11:00 AM, or null to clear it"
},
"deposit_amount": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"description": "What guests pay up front, with the rest due by balance_due_date. Null clears the schedule so the room is paid whole; 0 takes this room off a schedule its property sets."
},
"accommodation_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Identifier of the room to update in the selected wedding."
},
"balance_due_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "YYYY-MM-DD, the day payment is due. Beside a deposit it dates the rest; on a room with no deposit it dates the whole price. Without it the room still charges, but nothing chases it."
},
"deposit_due_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "YYYY-MM-DD, the day the deposit is due. Without it the guest site says the deposit is due now. A date after balance_due_date is dropped."
},
"requires_payment": {
"type": "boolean",
"description": "Whether guests pay for this room"
}
}
}| venue_name | any | Venue name for this event, or null to clear it |
| wedding_id | string | Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
| description | any | Event description, or null to clear it |
| venue_address | any | Venue address, or null to clear it |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"event_id"
],
"properties": {
"date": {
"type": "string",
"description": "Event start. A time with no offset, such as 2027-06-12T18:00, is the wedding's local time; one ending in Z or an offset is that exact instant."
},
"name": {
"type": "string",
"description": "Event name"
},
"type": {
"enum": [
"welcome_dinner",
"ceremony",
"reception",
"brunch",
"rehearsal",
"cocktail_hour",
"after_party",
"activity",
"other"
],
"type": "string",
"description": "Event type"
},
"all_day": {
"type": "boolean",
"description": "True for an all-day item with a day and no time, such as a travel day or a free day. Send date as the day (2027-06-12) and end_time as its last day for one that runs several days; a time sent with it is dropped."
},
"end_time": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Event end time, read the same way as date., or null to clear it"
},
"event_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Identifier of the event to update in the selected wedding."
},
"dress_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Dress code (e.g. Black Tie, Smart Casual), or null to clear it"
},
"venue_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Venue name for this event, or null to clear it"
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Event description, or null to clear it"
},
"venue_address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Venue address, or null to clear it"
}
}
}| wedding_id |
| string |
| Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings. |
| rsvp_status | string | RSVP status |
| broadcast_channel | string | How this guest asked to be reached by messages sent to everyone: 'email' for email only, 'sms' for text only, 'either' for no preference. |
| preferred_transport | string | Which wire a text to this guest takes. 'sms' reaches US and Canadian numbers only; 'whatsapp' reaches any number and is the answer for a guest abroad. The guest can also choose on the wedding site. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"guest_id"
],
"properties": {
"email": {
"type": "string",
"description": "Updated email address. Empty string clears it."
},
"phone": {
"type": "string",
"description": "Updated phone number, including + and its country code. Empty string clears it."
},
"guest_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Identifier of a guest in the selected wedding."
},
"language": {
"type": "string",
"description": "Which language this guest reads. A language name (\"Spanish\") or a code (\"es\", \"pt\"); both store the same value. Decides the language their guest site opens in, and which version of a message they get. Empty string clears it, which is not the same as 'en': a cleared guest follows the site's own language and their browser. Records a fact; translates nothing. Supported languages: English (en), Spanish (es), French (fr), Italian (it), German (de), Portuguese (pt), Polish (pl)."
},
"last_name": {
"type": "string",
"description": "Updated last name"
},
"first_name": {
"type": "string",
"description": "Updated first name"
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
},
"rsvp_status": {
"enum": [
"pending",
"attending",
"declined",
"maybe"
],
"type": "string",
"description": "RSVP status"
},
"broadcast_channel": {
"enum": [
"either",
"email",
"sms"
],
"type": "string",
"description": "How this guest asked to be reached by messages sent to everyone: 'email' for email only, 'sms' for text only, 'either' for no preference."
},
"preferred_transport": {
"enum": [
"sms",
"whatsapp"
],
"type": "string",
"description": "Which wire a text to this guest takes. 'sms' reaches US and Canadian numbers only; 'whatsapp' reaches any number and is the answer for a guest abroad. The guest can also choose on the wedding site."
}
}
}| wedding_end_date | any | Wedding end date as a calendar day, YYYY-MM-DD, with no time and no zone, or null to clear it |
| couple_display_name | any | Custom display name for the couple. Null restores the combined partner names. A custom value remains unchanged when individual partner names change. |
| room_selection_mode | string | Legacy bulk room choice: sets the wedding fallback and clears every property override, even when the supplied value matches the current wedding setting. Individual Hosted properties have their own room-choice setting. couple_assigned means the couple assigns rooms; guest_choice means guests choose available rooms and can pay once payouts are connected. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"location": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Wedding location, or null to clear it"
},
"venue_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Venue name, or null to clear it"
},
"wedding_id": {
"type": "string",
"description": "Identifier of a wedding the signed-in account can manage. Required when the account has multiple weddings."
},
"is_published": {
"type": "boolean",
"description": "Guest-site visibility. True publishes the site at its address; false returns it to a private draft and hides it from guests, including those with an existing link."
},
"wedding_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Wedding date as a calendar day, YYYY-MM-DD, with no time and no zone, or null to clear it"
},
"partner1_name": {
"type": "string",
"description": "First partner name. Cannot be emptied, only replaced"
},
"partner2_name": {
"type": "string",
"description": "Second partner name. Cannot be emptied, only replaced"
},
"wedding_end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Wedding end date as a calendar day, YYYY-MM-DD, with no time and no zone, or null to clear it"
},
"couple_display_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Custom display name for the couple. Null restores the combined partner names. A custom value remains unchanged when individual partner names change."
},
"room_selection_mode": {
"enum": [
"couple_assigned",
"guest_choice"
],
"type": "string",
"description": "Legacy bulk room choice: sets the wedding fallback and clears every property override, even when the supplied value matches the current wedding setting. Individual Hosted properties have their own room-choice setting. couple_assigned means the couple assigns rooms; guest_choice means guests choose available rooms and can pay once payouts are connected."
}
}
}