{
  "openapi": "3.0.0",
  "info": {
    "title": "invity-api",
    "version": "0.0.1",
    "description": "Backend API for Invity platform",
    "contact": {
      "name": "wgomez0495",
      "email": "wgomez@kenmeina.com"
    }
  },
  "paths": {
    "/access/events/{eventId}/dashboard": {
      "get": {
        "x-controller-name": "AccessController",
        "x-operation-name": "getEventDashboard",
        "tags": [
          "AccessController"
        ],
        "responses": {
          "200": {
            "description": "Event access dashboard summary",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "breakdown": {
                      "type": "object",
                      "properties": {
                        "checkedInGuests": {
                          "type": "number"
                        },
                        "declinedCheckedInGuests": {
                          "type": "number"
                        },
                        "extraAccessPasses": {
                          "type": "number"
                        },
                        "manualAccessGuests": {
                          "type": "number"
                        },
                        "partialGuests": {
                          "type": "number"
                        },
                        "pendingGuests": {
                          "type": "number"
                        }
                      }
                    },
                    "recentLogs": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "action": {
                            "type": "string"
                          },
                          "actionLabel": {
                            "type": "string"
                          },
                          "category": {
                            "type": "string"
                          },
                          "createdAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "guestId": {
                            "type": "string"
                          },
                          "guestName": {
                            "type": "string"
                          },
                          "id": {
                            "type": "string"
                          },
                          "passes": {
                            "type": "number"
                          },
                          "reason": {
                            "type": "string"
                          },
                          "source": {
                            "type": "string"
                          },
                          "sourceLabel": {
                            "type": "string"
                          },
                          "tableName": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "summary": {
                      "type": "object",
                      "properties": {
                        "checkedInGuests": {
                          "type": "number"
                        },
                        "checkedInPasses": {
                          "type": "number"
                        },
                        "pendingGuests": {
                          "type": "number"
                        },
                        "pendingPasses": {
                          "type": "number"
                        },
                        "totalGuests": {
                          "type": "number"
                        },
                        "totalPasses": {
                          "type": "number"
                        }
                      }
                    },
                    "tables": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "checkedInPasses": {
                            "type": "number"
                          },
                          "isEstimated": {
                            "type": "boolean"
                          },
                          "pendingPasses": {
                            "type": "number"
                          },
                          "tableName": {
                            "type": "string"
                          },
                          "totalGuests": {
                            "type": "number"
                          },
                          "totalPasses": {
                            "type": "number"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AccessController.getEventDashboard"
      }
    },
    "/access/events/{eventId}/guests": {
      "get": {
        "x-controller-name": "AccessController",
        "x-operation-name": "searchGuests",
        "tags": [
          "AccessController"
        ],
        "responses": {
          "200": {
            "description": "Search event guests for access control",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GuestWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AccessController.searchGuests"
      }
    },
    "/access/events/{eventId}/logs": {
      "get": {
        "x-controller-name": "AccessController",
        "x-operation-name": "findAccessLogs",
        "tags": [
          "AccessController"
        ],
        "responses": {
          "200": {
            "description": "List latest event access logs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "action": {
                        "type": "string"
                      },
                      "actionLabel": {
                        "type": "string"
                      },
                      "category": {
                        "type": "string"
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "guestId": {
                        "type": "string"
                      },
                      "guestName": {
                        "type": "string"
                      },
                      "id": {
                        "type": "string"
                      },
                      "passes": {
                        "type": "number"
                      },
                      "reason": {
                        "type": "string"
                      },
                      "source": {
                        "type": "string"
                      },
                      "sourceLabel": {
                        "type": "string"
                      },
                      "tableName": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AccessController.findAccessLogs"
      }
    },
    "/access/events/{eventId}/offline-manifest": {
      "get": {
        "x-controller-name": "AccessController",
        "x-operation-name": "getOfflineManifest",
        "tags": [
          "AccessController"
        ],
        "responses": {
          "200": {
            "description": "Lightweight manifest for offline event download decisions",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "accessLogCount": {
                      "type": "number"
                    },
                    "eventId": {
                      "type": "string"
                    },
                    "eventUpdatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "estimatedSnapshotBytes": {
                      "type": "number"
                    },
                    "generatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "guestCount": {
                      "type": "number"
                    },
                    "guestsUpdatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "hasChangesSince": {
                      "type": "boolean"
                    },
                    "lastChangedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "logsUpdatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "passGroupCount": {
                      "type": "number"
                    },
                    "passGroupsUpdatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "recommendedAction": {
                      "type": "string"
                    },
                    "sizeLabel": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "AccessController.getOfflineManifest"
      }
    },
    "/access/events/{eventId}/offline-snapshot": {
      "get": {
        "x-controller-name": "AccessController",
        "x-operation-name": "getOfflineSnapshot",
        "tags": [
          "AccessController"
        ],
        "responses": {
          "200": {
            "description": "Event access offline snapshot",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "event": {
                      "type": "object"
                    },
                    "generatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "guests": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "logs": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "summary": {
                      "type": "object",
                      "properties": {
                        "checkedInGuests": {
                          "type": "number"
                        },
                        "checkedInPasses": {
                          "type": "number"
                        },
                        "pendingGuests": {
                          "type": "number"
                        },
                        "pendingPasses": {
                          "type": "number"
                        },
                        "totalGuests": {
                          "type": "number"
                        },
                        "totalPasses": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AccessController.getOfflineSnapshot"
      }
    },
    "/access/events/{eventId}/offline-sync": {
      "post": {
        "x-controller-name": "AccessController",
        "x-operation-name": "syncOfflineAccess",
        "tags": [
          "AccessController"
        ],
        "responses": {
          "200": {
            "description": "Synchronize offline access operations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "generatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "summary": {
                      "type": "object",
                      "properties": {
                        "checkedInGuests": {
                          "type": "number"
                        },
                        "checkedInPasses": {
                          "type": "number"
                        },
                        "pendingGuests": {
                          "type": "number"
                        },
                        "pendingPasses": {
                          "type": "number"
                        },
                        "totalGuests": {
                          "type": "number"
                        },
                        "totalPasses": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "operations"
                ],
                "additionalProperties": false,
                "properties": {
                  "operations": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 250,
                    "items": {
                      "type": "object",
                      "required": [
                        "clientMutationId",
                        "type"
                      ],
                      "additionalProperties": false,
                      "properties": {
                        "clientMutationId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "displayName": {
                          "type": "string"
                        },
                        "extraPasses": {
                          "type": "number",
                          "minimum": 1
                        },
                        "guestId": {
                          "type": "string"
                        },
                        "guestPassGroupId": {
                          "type": "string"
                        },
                        "metadata": {
                          "type": "object"
                        },
                        "passes": {
                          "type": "number",
                          "minimum": 1
                        },
                        "reason": {
                          "type": "string"
                        },
                        "source": {
                          "type": "string",
                          "enum": [
                            "manual",
                            "qr"
                          ]
                        },
                        "tableName": {
                          "type": "string"
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "check_in",
                            "extra_check_in",
                            "walk_in_check_in"
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "AccessController.syncOfflineAccess"
      }
    },
    "/access/events/{eventId}/scan": {
      "post": {
        "x-controller-name": "AccessController",
        "x-operation-name": "scanToken",
        "tags": [
          "AccessController"
        ],
        "responses": {
          "200": {
            "description": "Resolve an invitation token for access control",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GuestWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "token"
                ],
                "additionalProperties": false,
                "properties": {
                  "token": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "AccessController.scanToken"
      }
    },
    "/access/events/{eventId}/summary": {
      "get": {
        "x-controller-name": "AccessController",
        "x-operation-name": "getEventSummary",
        "tags": [
          "AccessController"
        ],
        "responses": {
          "200": {
            "description": "Event access summary",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "checkedInGuests": {
                      "type": "number"
                    },
                    "checkedInPasses": {
                      "type": "number"
                    },
                    "pendingGuests": {
                      "type": "number"
                    },
                    "pendingPasses": {
                      "type": "number"
                    },
                    "totalGuests": {
                      "type": "number"
                    },
                    "totalPasses": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "AccessController.getEventSummary"
      }
    },
    "/access/events/{eventId}/walk-in-check-in": {
      "post": {
        "x-controller-name": "AccessController",
        "x-operation-name": "walkInCheckInGuest",
        "tags": [
          "AccessController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Register authorized access for a guest not on the list"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "displayName",
                  "passes",
                  "reason"
                ],
                "additionalProperties": false,
                "properties": {
                  "displayName": {
                    "type": "string",
                    "minLength": 1
                  },
                  "clientMutationId": {
                    "type": "string"
                  },
                  "metadata": {
                    "type": "object"
                  },
                  "passes": {
                    "type": "number",
                    "minimum": 1
                  },
                  "reason": {
                    "type": "string",
                    "minLength": 1
                  },
                  "tableName": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "AccessController.walkInCheckInGuest"
      }
    },
    "/access/events": {
      "get": {
        "x-controller-name": "AccessController",
        "x-operation-name": "findEvents",
        "tags": [
          "AccessController"
        ],
        "responses": {
          "200": {
            "description": "List events available for access control",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EventWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event.Filter"
                }
              }
            }
          }
        ],
        "operationId": "AccessController.findEvents"
      }
    },
    "/access/guests/{guestId}/check-in": {
      "post": {
        "x-controller-name": "AccessController",
        "x-operation-name": "checkInGuest",
        "tags": [
          "AccessController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Register guest check-in"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "guestId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "clientMutationId": {
                    "type": "string"
                  },
                  "guestPassGroupId": {
                    "type": "string"
                  },
                  "metadata": {
                    "type": "object"
                  },
                  "passes": {
                    "type": "number",
                    "minimum": 1
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "manual",
                      "qr"
                    ]
                  }
                }
              }
            }
          },
          "required": false,
          "x-parameter-index": 1
        },
        "operationId": "AccessController.checkInGuest"
      }
    },
    "/access/guests/{guestId}/extra-check-in": {
      "post": {
        "x-controller-name": "AccessController",
        "x-operation-name": "extraCheckInGuest",
        "tags": [
          "AccessController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Register authorized extra guest access"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "guestId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "extraPasses",
                  "reason"
                ],
                "additionalProperties": false,
                "properties": {
                  "extraPasses": {
                    "type": "number",
                    "minimum": 1
                  },
                  "clientMutationId": {
                    "type": "string"
                  },
                  "metadata": {
                    "type": "object"
                  },
                  "reason": {
                    "type": "string",
                    "minLength": 1
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "manual",
                      "qr"
                    ]
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "AccessController.extraCheckInGuest"
      }
    },
    "/access/guests/{guestId}/manual-access": {
      "patch": {
        "x-controller-name": "AccessController",
        "x-operation-name": "updateManualAccessGuest",
        "tags": [
          "AccessController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update manual access record details"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "guestId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "displayName": {
                    "type": "string",
                    "minLength": 1
                  },
                  "clientMutationId": {
                    "type": "string"
                  },
                  "metadata": {
                    "type": "object"
                  },
                  "reason": {
                    "type": "string",
                    "minLength": 1
                  },
                  "tableName": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "AccessController.updateManualAccessGuest"
      }
    },
    "/access/guests/{guestId}/undo-check-in": {
      "post": {
        "x-controller-name": "AccessController",
        "x-operation-name": "undoCheckInGuest",
        "tags": [
          "AccessController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Undo guest check-in"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "guestId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "metadata": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "required": false,
          "x-parameter-index": 1
        },
        "operationId": "AccessController.undoCheckInGuest"
      }
    },
    "/auth/forgot-password": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "forgotPassword",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Request a password reset email. The response is always empty."
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ForgotPasswordRequest"
              }
            }
          },
          "required": true
        },
        "operationId": "AuthController.forgotPassword"
      }
    },
    "/auth/google": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "loginWithGoogle",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Authenticate with Google and return an access token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GoogleLoginRequest"
              }
            }
          },
          "required": true
        },
        "operationId": "AuthController.loginWithGoogle"
      }
    },
    "/auth/login": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "login",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Authenticate an existing user and return an access token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            }
          },
          "required": true
        },
        "operationId": "AuthController.login"
      }
    },
    "/auth/logout": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "logout",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Revoke a refresh token"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LogoutRequest"
              }
            }
          },
          "required": true
        },
        "operationId": "AuthController.logout"
      }
    },
    "/auth/me": {
      "get": {
        "x-controller-name": "AuthController",
        "x-operation-name": "me",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Return the authenticated user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          }
        },
        "operationId": "AuthController.me"
      }
    },
    "/auth/refresh": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "refresh",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "200": {
            "description": "Refresh an access token using a valid refresh token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RefreshTokenRequest"
              }
            }
          },
          "required": true
        },
        "operationId": "AuthController.refresh"
      }
    },
    "/auth/register": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "register",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "201": {
            "description": "Register a new user and return an access token",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthResponse"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterRequest"
              }
            }
          },
          "required": true
        },
        "operationId": "AuthController.register"
      }
    },
    "/auth/reset-password": {
      "post": {
        "x-controller-name": "AuthController",
        "x-operation-name": "resetPassword",
        "tags": [
          "AuthController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Reset password using a valid password reset token"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordRequest"
              }
            }
          },
          "required": true
        },
        "operationId": "AuthController.resetPassword"
      }
    },
    "/client-staff/capacity": {
      "get": {
        "x-controller-name": "ClientStaffController",
        "x-operation-name": "getCapacity",
        "tags": [
          "ClientStaffController"
        ],
        "responses": {
          "200": {
            "description": "Staff capacity for the resolved client",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "canManageStaff": {
                      "type": "boolean"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "currentActiveCount": {
                      "type": "number"
                    },
                    "maxStaffCount": {
                      "type": "number",
                      "nullable": true
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ClientStaffController.getCapacity"
      }
    },
    "/client-staff/{id}/access-email": {
      "post": {
        "x-controller-name": "ClientStaffController",
        "x-operation-name": "sendAccessEmail",
        "tags": [
          "ClientStaffController"
        ],
        "responses": {
          "200": {
            "description": "Resend staff account creation email",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "userId": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "active",
                        "pending",
                        "suspended"
                      ]
                    },
                    "notes": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "assignedEvents": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "eventDate": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "statusId": {
                            "type": "string"
                          },
                          "clientId": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "user": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "email": {
                          "type": "string"
                        },
                        "firstName": {
                          "type": "string"
                        },
                        "lastName": {
                          "type": "string"
                        },
                        "role": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string"
                        },
                        "lastLoginAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "passwordSetAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "welcomeEmailSentAt": {
                          "type": "string",
                          "format": "date-time"
                        }
                      }
                    },
                    "wasExistingAccount": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClientStaffController.sendAccessEmail"
      }
    },
    "/client-staff/{id}/access-link": {
      "post": {
        "x-controller-name": "ClientStaffController",
        "x-operation-name": "createAccessLink",
        "tags": [
          "ClientStaffController"
        ],
        "responses": {
          "200": {
            "description": "Create staff account creation link",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "resetUrl": {
                      "type": "string"
                    },
                    "expiresAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClientStaffController.createAccessLink"
      }
    },
    "/client-staff/{id}": {
      "patch": {
        "x-controller-name": "ClientStaffController",
        "x-operation-name": "update",
        "tags": [
          "ClientStaffController"
        ],
        "responses": {
          "200": {
            "description": "Update client staff member",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "userId": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "active",
                        "pending",
                        "suspended"
                      ]
                    },
                    "notes": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "assignedEvents": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "eventDate": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "statusId": {
                            "type": "string"
                          },
                          "clientId": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "user": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "email": {
                          "type": "string"
                        },
                        "firstName": {
                          "type": "string"
                        },
                        "lastName": {
                          "type": "string"
                        },
                        "role": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string"
                        },
                        "lastLoginAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "passwordSetAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "welcomeEmailSentAt": {
                          "type": "string",
                          "format": "date-time"
                        }
                      }
                    },
                    "wasExistingAccount": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "minProperties": 1,
                "properties": {
                  "firstName": {
                    "type": "string",
                    "minLength": 2
                  },
                  "lastName": {
                    "type": "string",
                    "minLength": 2
                  },
                  "notes": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "active",
                      "pending",
                      "suspended"
                    ]
                  },
                  "eventIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "ClientStaffController.update"
      },
      "get": {
        "x-controller-name": "ClientStaffController",
        "x-operation-name": "findById",
        "tags": [
          "ClientStaffController"
        ],
        "responses": {
          "200": {
            "description": "Get client staff member details",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "userId": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "active",
                        "pending",
                        "suspended"
                      ]
                    },
                    "notes": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "assignedEvents": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "eventDate": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "statusId": {
                            "type": "string"
                          },
                          "clientId": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "user": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "email": {
                          "type": "string"
                        },
                        "firstName": {
                          "type": "string"
                        },
                        "lastName": {
                          "type": "string"
                        },
                        "role": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string"
                        },
                        "lastLoginAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "passwordSetAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "welcomeEmailSentAt": {
                          "type": "string",
                          "format": "date-time"
                        }
                      }
                    },
                    "wasExistingAccount": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClientStaffController.findById"
      }
    },
    "/client-staff": {
      "post": {
        "x-controller-name": "ClientStaffController",
        "x-operation-name": "create",
        "tags": [
          "ClientStaffController"
        ],
        "responses": {
          "201": {
            "description": "Create a client staff member and send access email",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "clientId": {
                      "type": "string"
                    },
                    "userId": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "active",
                        "pending",
                        "suspended"
                      ]
                    },
                    "notes": {
                      "type": "string"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "assignedEvents": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "eventDate": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "statusId": {
                            "type": "string"
                          },
                          "clientId": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "user": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "email": {
                          "type": "string"
                        },
                        "firstName": {
                          "type": "string"
                        },
                        "lastName": {
                          "type": "string"
                        },
                        "role": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string"
                        },
                        "lastLoginAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "passwordSetAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "welcomeEmailSentAt": {
                          "type": "string",
                          "format": "date-time"
                        }
                      }
                    },
                    "wasExistingAccount": {
                      "type": "boolean"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "firstName",
                  "lastName"
                ],
                "additionalProperties": false,
                "properties": {
                  "clientId": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "firstName": {
                    "type": "string",
                    "minLength": 2
                  },
                  "lastName": {
                    "type": "string",
                    "minLength": 2
                  },
                  "notes": {
                    "type": "string"
                  },
                  "eventIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "required": true
        },
        "operationId": "ClientStaffController.create"
      },
      "get": {
        "x-controller-name": "ClientStaffController",
        "x-operation-name": "find",
        "tags": [
          "ClientStaffController"
        ],
        "responses": {
          "200": {
            "description": "List client staff members",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "clientId": {
                        "type": "string"
                      },
                      "userId": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "active",
                          "pending",
                          "suspended"
                        ]
                      },
                      "notes": {
                        "type": "string"
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "updatedAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "assignedEvents": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "eventDate": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "statusId": {
                              "type": "string"
                            },
                            "clientId": {
                              "type": "string"
                            }
                          }
                        }
                      },
                      "user": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "email": {
                            "type": "string"
                          },
                          "firstName": {
                            "type": "string"
                          },
                          "lastName": {
                            "type": "string"
                          },
                          "role": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string"
                          },
                          "lastLoginAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "passwordSetAt": {
                            "type": "string",
                            "format": "date-time"
                          },
                          "welcomeEmailSentAt": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      },
                      "wasExistingAccount": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "ClientStaffController.find"
      }
    },
    "/clients/count": {
      "get": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "count",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Client count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Client.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Client>"
                }
              }
            }
          }
        ],
        "operationId": "ClientsController.count"
      }
    },
    "/clients/{clientId}/contacts/count": {
      "get": {
        "x-controller-name": "ContactsController",
        "x-operation-name": "countByClient",
        "tags": [
          "ContactsController"
        ],
        "responses": {
          "200": {
            "description": "Client contact count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Contact.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Contact>"
                }
              }
            }
          }
        ],
        "operationId": "ContactsController.countByClient"
      }
    },
    "/clients/{clientId}/contacts": {
      "post": {
        "x-controller-name": "ContactsController",
        "x-operation-name": "create",
        "tags": [
          "ContactsController"
        ],
        "responses": {
          "201": {
            "description": "Create client contact",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contact"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactExcluding_id-clientId-createdAt-updatedAt-isActive-createdByUserId-updatedByUserId_"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "ContactsController.create"
      },
      "get": {
        "x-controller-name": "ContactsController",
        "x-operation-name": "findByClient",
        "tags": [
          "ContactsController"
        ],
        "responses": {
          "200": {
            "description": "List client contacts",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contact.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ContactsController.findByClient"
      }
    },
    "/clients/{id}": {
      "patch": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "updateById",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update client"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClientPartialExcluding_id-createdAt-updatedAt-createdByUserId-updatedByUserId_"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "ClientsController.updateById"
      },
      "get": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "findById",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "Get client by id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClientWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Client.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ClientsController.findById"
      },
      "delete": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "deleteById",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Archive client"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ClientsController.deleteById"
      }
    },
    "/clients": {
      "post": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "create",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "201": {
            "description": "Create client",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Client"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "displayName",
                  "clientTypeId",
                  "statusId"
                ],
                "properties": {
                  "accessUserEmail": {
                    "type": "string",
                    "format": "email"
                  },
                  "accessUserFirstName": {
                    "type": "string"
                  },
                  "accessUserLastName": {
                    "type": "string"
                  },
                  "billingEmail": {
                    "type": "string",
                    "format": "email"
                  },
                  "canManageStaff": {
                    "type": "boolean"
                  },
                  "clientTypeId": {
                    "type": "string"
                  },
                  "createAccessUser": {
                    "type": "boolean"
                  },
                  "displayName": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "guestDefaultSort": {
                    "type": "string",
                    "enum": [
                      "alphabetical",
                      "created_at"
                    ]
                  },
                  "isInvityPartner": {
                    "type": "boolean"
                  },
                  "legalName": {
                    "type": "string"
                  },
                  "maxStaffCount": {
                    "type": "number",
                    "nullable": true,
                    "minimum": 0
                  },
                  "notes": {
                    "type": "string"
                  },
                  "ownerUserId": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "statusId": {
                    "type": "string"
                  },
                  "taxId": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "required": true
        },
        "operationId": "ClientsController.create"
      },
      "get": {
        "x-controller-name": "ClientsController",
        "x-operation-name": "find",
        "tags": [
          "ClientsController"
        ],
        "responses": {
          "200": {
            "description": "List clients",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ClientWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Client.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ClientsController.find"
      }
    },
    "/contacts/{id}": {
      "patch": {
        "x-controller-name": "ContactsController",
        "x-operation-name": "updateById",
        "tags": [
          "ContactsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update contact"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactPartialExcluding_id-clientId-createdAt-updatedAt-createdByUserId-updatedByUserId_"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "ContactsController.updateById"
      },
      "get": {
        "x-controller-name": "ContactsController",
        "x-operation-name": "findById",
        "tags": [
          "ContactsController"
        ],
        "responses": {
          "200": {
            "description": "Get contact by id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contact.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "ContactsController.findById"
      },
      "delete": {
        "x-controller-name": "ContactsController",
        "x-operation-name": "deleteById",
        "tags": [
          "ContactsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Archive contact"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ContactsController.deleteById"
      }
    },
    "/dashboard/action-items": {
      "get": {
        "x-controller-name": "DashboardController",
        "x-operation-name": "actionItems",
        "tags": [
          "DashboardController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Dashboard action items"
                }
              }
            }
          }
        },
        "operationId": "DashboardController.actionItems"
      }
    },
    "/dashboard/activity": {
      "get": {
        "x-controller-name": "DashboardController",
        "x-operation-name": "activity",
        "tags": [
          "DashboardController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Dashboard recent activity"
                }
              }
            }
          }
        },
        "operationId": "DashboardController.activity"
      }
    },
    "/dashboard/events-progress": {
      "get": {
        "x-controller-name": "DashboardController",
        "x-operation-name": "eventsProgress",
        "tags": [
          "DashboardController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Dashboard event progress"
                }
              }
            }
          }
        },
        "operationId": "DashboardController.eventsProgress"
      }
    },
    "/dashboard/overview": {
      "get": {
        "x-controller-name": "DashboardController",
        "x-operation-name": "overview",
        "tags": [
          "DashboardController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Dashboard overview"
                }
              }
            }
          }
        },
        "operationId": "DashboardController.overview"
      }
    },
    "/email-delivery-logs/count": {
      "get": {
        "x-controller-name": "EmailDeliveryLogsController",
        "x-operation-name": "count",
        "tags": [
          "EmailDeliveryLogsController"
        ],
        "responses": {
          "200": {
            "description": "Email delivery log count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "context",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recipient",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "EmailDeliveryLog.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<EmailDeliveryLog>"
                }
              }
            }
          }
        ],
        "operationId": "EmailDeliveryLogsController.count"
      }
    },
    "/email-delivery-logs": {
      "get": {
        "x-controller-name": "EmailDeliveryLogsController",
        "x-operation-name": "find",
        "tags": [
          "EmailDeliveryLogsController"
        ],
        "responses": {
          "200": {
            "description": "List email delivery logs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EmailDeliveryLog"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "context",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "recipient",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmailDeliveryLog.Filter"
                }
              }
            }
          }
        ],
        "operationId": "EmailDeliveryLogsController.find"
      }
    },
    "/events/count": {
      "get": {
        "x-controller-name": "EventsController",
        "x-operation-name": "count",
        "tags": [
          "EventsController"
        ],
        "responses": {
          "200": {
            "description": "Event count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clientId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statusId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Event.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Event>"
                }
              }
            }
          }
        ],
        "operationId": "EventsController.count"
      }
    },
    "/events/{eventId}/guests/count": {
      "get": {
        "x-controller-name": "GuestsController",
        "x-operation-name": "countByEvent",
        "tags": [
          "GuestsController"
        ],
        "responses": {
          "200": {
            "description": "Event guest count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statusId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "rsvpStatusId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "viewFilter",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tableFilter",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "passesFilter",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Guest.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Guest>"
                }
              }
            }
          }
        ],
        "operationId": "GuestsController.countByEvent"
      }
    },
    "/events/{eventId}/guests/import": {
      "post": {
        "x-controller-name": "GuestsController",
        "x-operation-name": "importGuests",
        "tags": [
          "GuestsController"
        ],
        "responses": {
          "200": {
            "description": "Import guests for event",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "createdCount",
                    "updatedCount",
                    "errors"
                  ],
                  "properties": {
                    "createdCount": {
                      "type": "number"
                    },
                    "updatedCount": {
                      "type": "number"
                    },
                    "errors": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "required": [
                          "rowNumber",
                          "errors"
                        ],
                        "properties": {
                          "rowNumber": {
                            "type": "number"
                          },
                          "errors": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "guests"
                ],
                "properties": {
                  "guests": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 500,
                    "items": {
                      "type": "object",
                      "properties": {
                        "rowNumber": {
                          "type": "number"
                        },
                        "displayName": {
                          "type": "string"
                        },
                        "email": {
                          "type": "string"
                        },
                        "groupLabel": {
                          "type": "string"
                        },
                        "phone": {
                          "type": "string"
                        },
                        "passes": {
                          "oneOf": [
                            {
                              "type": "number"
                            },
                            {
                              "type": "string"
                            }
                          ]
                        },
                        "tableName": {
                          "type": "string"
                        },
                        "notes": {
                          "type": "string"
                        },
                        "statusId": {
                          "type": "string"
                        },
                        "rsvpStatusId": {
                          "type": "string"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "GuestsController.importGuests"
      }
    },
    "/events/{eventId}/guests/import-batches": {
      "get": {
        "x-controller-name": "GuestsController",
        "x-operation-name": "findImportBatchesByEvent",
        "tags": [
          "GuestsController"
        ],
        "responses": {
          "200": {
            "description": "List guest import batches for event",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GuestImportBatch"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GuestsController.findImportBatchesByEvent"
      }
    },
    "/events/{eventId}/guests/report": {
      "get": {
        "x-controller-name": "GuestsController",
        "x-operation-name": "downloadReport",
        "tags": [
          "GuestsController"
        ],
        "responses": {
          "200": {
            "description": "Download event guest report for Excel",
            "content": {
              "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GuestsController.downloadReport"
      }
    },
    "/events/{eventId}/guests/template": {
      "get": {
        "x-controller-name": "GuestsController",
        "x-operation-name": "downloadTemplate",
        "tags": [
          "GuestsController"
        ],
        "responses": {
          "200": {
            "description": "Download guest import template",
            "content": {
              "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GuestsController.downloadTemplate"
      }
    },
    "/events/{eventId}/guests/tracking-summary": {
      "get": {
        "x-controller-name": "GuestsController",
        "x-operation-name": "trackingSummary",
        "tags": [
          "GuestsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Event guest tracking summary"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GuestsController.trackingSummary"
      }
    },
    "/events/{eventId}/guests": {
      "post": {
        "x-controller-name": "GuestsController",
        "x-operation-name": "create",
        "tags": [
          "GuestsController"
        ],
        "responses": {
          "201": {
            "description": "Create event guest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Guest"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "displayName",
                  "statusId",
                  "rsvpStatusId"
                ],
                "properties": {
                  "displayName": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "notes": {
                    "type": "string"
                  },
                  "passGroups": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "label": {
                          "type": "string"
                        },
                        "notes": {
                          "type": "string"
                        },
                        "passes": {
                          "type": "number",
                          "minimum": 1
                        },
                        "sortOrder": {
                          "type": "number"
                        },
                        "tableName": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "passes": {
                    "type": "number",
                    "minimum": 1
                  },
                  "phone": {
                    "type": "string"
                  },
                  "rsvpStatusId": {
                    "type": "string"
                  },
                  "statusId": {
                    "type": "string"
                  },
                  "tableName": {
                    "type": "string"
                  },
                  "usesGroupedPasses": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "GuestsController.create"
      },
      "get": {
        "x-controller-name": "GuestsController",
        "x-operation-name": "findByEvent",
        "tags": [
          "GuestsController"
        ],
        "responses": {
          "200": {
            "description": "List event guests",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GuestWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "eventId",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statusId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "rsvpStatusId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "viewFilter",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tableFilter",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "passesFilter",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Guest.Filter"
                }
              }
            }
          }
        ],
        "operationId": "GuestsController.findByEvent"
      }
    },
    "/events/{id}/whatsapp-messages": {
      "patch": {
        "x-controller-name": "EventsController",
        "x-operation-name": "updateWhatsappMessagesById",
        "tags": [
          "EventsController"
        ],
        "responses": {
          "200": {
            "description": "Update event WhatsApp messages",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "whatsappInvitationMessage": {
                    "type": "string"
                  },
                  "whatsappReminderMessage": {
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "EventsController.updateWhatsappMessagesById"
      }
    },
    "/events/{id}": {
      "patch": {
        "x-controller-name": "EventsController",
        "x-operation-name": "updateById",
        "tags": [
          "EventsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update event"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventPartialExcluding_id-createdAt-updatedAt-createdByUserId-updatedByUserId_"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "EventsController.updateById"
      },
      "get": {
        "x-controller-name": "EventsController",
        "x-operation-name": "findById",
        "tags": [
          "EventsController"
        ],
        "responses": {
          "200": {
            "description": "Get event by id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "EventsController.findById"
      },
      "delete": {
        "x-controller-name": "EventsController",
        "x-operation-name": "deleteById",
        "tags": [
          "EventsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Archive event"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "EventsController.deleteById"
      }
    },
    "/events": {
      "post": {
        "x-controller-name": "EventsController",
        "x-operation-name": "create",
        "tags": [
          "EventsController"
        ],
        "responses": {
          "201": {
            "description": "Create event",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventExcluding_id-createdAt-updatedAt-isActive-createdByUserId-updatedByUserId_"
              }
            }
          },
          "required": true
        },
        "operationId": "EventsController.create"
      },
      "get": {
        "x-controller-name": "EventsController",
        "x-operation-name": "find",
        "tags": [
          "EventsController"
        ],
        "responses": {
          "200": {
            "description": "List events",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EventWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clientId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statusId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Event.Filter"
                }
              }
            }
          }
        ],
        "operationId": "EventsController.find"
      }
    },
    "/guests/{id}/audit-logs": {
      "get": {
        "x-controller-name": "GuestsController",
        "x-operation-name": "findAuditLogsByGuest",
        "tags": [
          "GuestsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "List audit logs for guest"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GuestsController.findAuditLogsByGuest"
      }
    },
    "/guests/{id}": {
      "patch": {
        "x-controller-name": "GuestsController",
        "x-operation-name": "updateById",
        "tags": [
          "GuestsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update guest"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "displayName": {
                    "type": "string"
                  },
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "notes": {
                    "type": "string"
                  },
                  "passGroups": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "label": {
                          "type": "string"
                        },
                        "notes": {
                          "type": "string"
                        },
                        "passes": {
                          "type": "number",
                          "minimum": 1
                        },
                        "sortOrder": {
                          "type": "number"
                        },
                        "tableName": {
                          "type": "string"
                        }
                      }
                    }
                  },
                  "passes": {
                    "type": "number",
                    "minimum": 1
                  },
                  "phone": {
                    "type": "string"
                  },
                  "rsvpStatusId": {
                    "type": "string"
                  },
                  "statusId": {
                    "type": "string"
                  },
                  "tableName": {
                    "type": "string"
                  },
                  "usesGroupedPasses": {
                    "type": "boolean"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "GuestsController.updateById"
      },
      "get": {
        "x-controller-name": "GuestsController",
        "x-operation-name": "findById",
        "tags": [
          "GuestsController"
        ],
        "responses": {
          "200": {
            "description": "Get guest by id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GuestWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Guest.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "GuestsController.findById"
      },
      "delete": {
        "x-controller-name": "GuestsController",
        "x-operation-name": "deleteById",
        "tags": [
          "GuestsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Archive guest"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "GuestsController.deleteById"
      }
    },
    "/invitation-assets/{id}": {
      "patch": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "updateAssetById",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update invitation asset metadata"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvitationAssetPartialExcluding_id-createdAt-updatedAt-invitationId-createdByUserId_"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "InvitationsController.updateAssetById"
      },
      "delete": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "deleteAssetById",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Delete invitation asset metadata"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "InvitationsController.deleteAssetById"
      }
    },
    "/invitation-sections/{id}": {
      "patch": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "updateSectionById",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update invitation section"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvitationSectionPartialExcluding_id-createdAt-updatedAt-invitationId_"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "InvitationsController.updateSectionById"
      },
      "delete": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "deleteSectionById",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Delete invitation section"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "InvitationsController.deleteSectionById"
      }
    },
    "/invitation-templates": {
      "get": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "findTemplates",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "List invitation template definitions"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "categoryCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "eventTypeCode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "InvitationsController.findTemplates"
      }
    },
    "/invitations/count": {
      "get": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "count",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "200": {
            "description": "Invitation count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "eventId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "categoryId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "eventTypeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statusId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Invitation.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Invitation>"
                }
              }
            }
          }
        ],
        "operationId": "InvitationsController.count"
      }
    },
    "/invitations/{id}/assets": {
      "post": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "createAsset",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "201": {
            "description": "Create invitation asset metadata",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitationAsset"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvitationAssetExcluding_id-createdAt-updatedAt-invitationId-createdByUserId_"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "InvitationsController.createAsset"
      },
      "get": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "findAssets",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "200": {
            "description": "List invitation assets",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvitationAssetWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "InvitationsController.findAssets"
      }
    },
    "/invitations/{id}/brief": {
      "patch": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "updateBriefById",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "200": {
            "description": "Update invitation creative brief",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitationWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvitationPartialExcluding_id-createdAt-updatedAt-name-slug-templateKey-theme-settings-publishedAt-eventId-categoryId-eventTypeId-statusId-createdByUserId-updatedByUserId_"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "InvitationsController.updateBriefById"
      },
      "get": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "findBriefById",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "200": {
            "description": "Get invitation creative brief",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Invitation"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "InvitationsController.findBriefById"
      }
    },
    "/invitations/{id}/publish": {
      "post": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "publishById",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "200": {
            "description": "Publish invitation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitationWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "InvitationsController.publishById"
      }
    },
    "/invitations/{id}/sections": {
      "post": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "createSection",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "201": {
            "description": "Create invitation section",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitationSection"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvitationSectionExcluding_id-createdAt-updatedAt-invitationId_"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "InvitationsController.createSection"
      },
      "get": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "findSections",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "200": {
            "description": "List invitation sections",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvitationSectionWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "InvitationsController.findSections"
      }
    },
    "/invitations/{id}/share-metadata": {
      "patch": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "updateShareMetadataById",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "200": {
            "description": "Update invitation social preview metadata",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitationWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "shareDescription": {
                    "type": "string"
                  },
                  "shareImageUrl": {
                    "type": "string"
                  },
                  "shareTitle": {
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "InvitationsController.updateShareMetadataById"
      }
    },
    "/invitations/{id}": {
      "patch": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "updateById",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update invitation"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvitationPartialExcluding_id-createdAt-updatedAt-categoryId-eventTypeId-createdByUserId-updatedByUserId_"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "InvitationsController.updateById"
      },
      "get": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "findById",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "200": {
            "description": "Get invitation by id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitationWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Invitation.Filter"
                }
              }
            }
          }
        ],
        "operationId": "InvitationsController.findById"
      },
      "delete": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "deleteById",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Archive invitation"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "InvitationsController.deleteById"
      }
    },
    "/invitations": {
      "post": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "create",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "201": {
            "description": "Create invitation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Invitation"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvitationExcluding_id-createdAt-updatedAt-statusId-categoryId-eventTypeId-publishedAt-createdByUserId-updatedByUserId_"
              }
            }
          },
          "required": true
        },
        "operationId": "InvitationsController.create"
      },
      "get": {
        "x-controller-name": "InvitationsController",
        "x-operation-name": "find",
        "tags": [
          "InvitationsController"
        ],
        "responses": {
          "200": {
            "description": "List invitations",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvitationWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "eventId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "categoryId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "eventTypeId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statusId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Invitation.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "InvitationsController.find"
      }
    },
    "/lookup-groups/{code}/statuses": {
      "get": {
        "x-controller-name": "LookupGroupsController",
        "x-operation-name": "findStatuses",
        "tags": [
          "LookupGroupsController"
        ],
        "responses": {
          "200": {
            "description": "List statuses by lookup group code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Status"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "LookupGroupsController.findStatuses"
      }
    },
    "/lookup-groups/{code}/types": {
      "get": {
        "x-controller-name": "LookupGroupsController",
        "x-operation-name": "findTypes",
        "tags": [
          "LookupGroupsController"
        ],
        "responses": {
          "200": {
            "description": "List types by lookup group code",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Type"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "code",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "LookupGroupsController.findTypes"
      }
    },
    "/lookup-groups/{id}": {
      "patch": {
        "x-controller-name": "LookupGroupsController",
        "x-operation-name": "updateById",
        "tags": [
          "LookupGroupsController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update lookup group"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LookupGroupPartialExcluding_id-createdAt-updatedAt-statuses-types_"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "LookupGroupsController.updateById"
      }
    },
    "/lookup-groups": {
      "post": {
        "x-controller-name": "LookupGroupsController",
        "x-operation-name": "create",
        "tags": [
          "LookupGroupsController"
        ],
        "responses": {
          "201": {
            "description": "Create lookup group",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LookupGroup"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LookupGroupExcluding_id-createdAt-updatedAt-statuses-types_"
              }
            }
          },
          "required": true
        },
        "operationId": "LookupGroupsController.create"
      },
      "get": {
        "x-controller-name": "LookupGroupsController",
        "x-operation-name": "find",
        "tags": [
          "LookupGroupsController"
        ],
        "responses": {
          "200": {
            "description": "List lookup groups",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LookupGroupWithRelations"
                  }
                }
              }
            }
          }
        },
        "operationId": "LookupGroupsController.find"
      }
    },
    "/ping": {
      "get": {
        "x-controller-name": "PingController",
        "x-operation-name": "ping",
        "tags": [
          "PingController"
        ],
        "responses": {
          "200": {
            "description": "Ping Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PingResponse"
                }
              }
            }
          }
        },
        "operationId": "PingController.ping"
      }
    },
    "/public-invitations/{guestToken}/rsvp": {
      "patch": {
        "x-controller-name": "PublicInvitationsController",
        "x-operation-name": "submitRsvp",
        "tags": [
          "PublicInvitationsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Submit public RSVP by guest token"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "guestToken",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "status"
                ],
                "properties": {
                  "attendingCount": {
                    "type": "number",
                    "minimum": 0
                  },
                  "message": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "confirmed",
                      "declined"
                    ]
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "PublicInvitationsController.submitRsvp"
      }
    },
    "/public-invitations/{guestToken}/share-meta": {
      "get": {
        "x-controller-name": "PublicInvitationsController",
        "x-operation-name": "findShareMetaByGuestToken",
        "tags": [
          "PublicInvitationsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Get public social preview metadata by guest token"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "guestToken",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "PublicInvitationsController.findShareMetaByGuestToken"
      }
    },
    "/public-invitations/{guestToken}": {
      "get": {
        "x-controller-name": "PublicInvitationsController",
        "x-operation-name": "findByGuestToken",
        "tags": [
          "PublicInvitationsController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Get public personalized invitation by guest token"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "guestToken",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "trackView",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "operationId": "PublicInvitationsController.findByGuestToken"
      }
    },
    "/sales-notes/count": {
      "get": {
        "x-controller-name": "SalesNotesController",
        "x-operation-name": "count",
        "tags": [
          "SalesNotesController"
        ],
        "responses": {
          "200": {
            "description": "SalesNote model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SalesNote.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<SalesNote>"
                }
              }
            }
          }
        ],
        "operationId": "SalesNotesController.count"
      }
    },
    "/sales-notes/initial-data": {
      "get": {
        "x-controller-name": "SalesNotesController",
        "x-operation-name": "initialData",
        "tags": [
          "SalesNotesController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Initial data for sales note creation"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "clientId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "eventId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "operationId": "SalesNotesController.initialData"
      }
    },
    "/sales-notes/summary": {
      "get": {
        "x-controller-name": "SalesNotesController",
        "x-operation-name": "summary",
        "tags": [
          "SalesNotesController"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Sales note totals over every matching note, excluding cancelled and draft"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "SalesNote.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<SalesNote>"
                }
              }
            }
          }
        ],
        "operationId": "SalesNotesController.summary"
      }
    },
    "/sales-notes/{id}/cancel": {
      "post": {
        "x-controller-name": "SalesNotesController",
        "x-operation-name": "cancel",
        "tags": [
          "SalesNotesController"
        ],
        "responses": {
          "200": {
            "description": "Cancelled SalesNote model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesNote"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SalesNotesController.cancel"
      }
    },
    "/sales-notes/{id}/payments": {
      "post": {
        "x-controller-name": "SalesNotesController",
        "x-operation-name": "addPayment",
        "tags": [
          "SalesNotesController"
        ],
        "responses": {
          "200": {
            "description": "SalesNote model instance with payment applied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesNote"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "amount": {
                    "type": "number"
                  },
                  "notes": {
                    "type": "string"
                  },
                  "paymentDate": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "paymentMethodId": {
                    "type": "string"
                  },
                  "reference": {
                    "type": "string"
                  }
                },
                "required": [
                  "amount",
                  "paymentMethodId"
                ],
                "type": "object"
              }
            }
          },
          "description": "Sales note payment payload",
          "x-parameter-index": 1
        },
        "operationId": "SalesNotesController.addPayment"
      }
    },
    "/sales-notes/{id}/pdf": {
      "get": {
        "x-controller-name": "SalesNotesController",
        "x-operation-name": "downloadPdf",
        "tags": [
          "SalesNotesController"
        ],
        "responses": {
          "200": {
            "description": "Sales note PDF",
            "content": {
              "application/pdf": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SalesNotesController.downloadPdf"
      }
    },
    "/sales-notes/{id}": {
      "patch": {
        "x-controller-name": "SalesNotesController",
        "x-operation-name": "update",
        "tags": [
          "SalesNotesController"
        ],
        "responses": {
          "200": {
            "description": "Updated SalesNote model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesNote"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "customerNotes": {
                    "type": "string"
                  },
                  "internalNotes": {
                    "type": "string"
                  },
                  "items": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "commercialPlanId": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        },
                        "discountAmount": {
                          "type": "number"
                        },
                        "quantity": {
                          "type": "number"
                        },
                        "sortOrder": {
                          "type": "number"
                        },
                        "unitPrice": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "description",
                        "unitPrice"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "paymentMode": {
                    "type": "string",
                    "enum": [
                      "single",
                      "partial"
                    ]
                  },
                  "saleDate": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "termsAndConditions": {
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "Sales note update payload",
          "x-parameter-index": 1
        },
        "operationId": "SalesNotesController.update"
      },
      "get": {
        "x-controller-name": "SalesNotesController",
        "x-operation-name": "findById",
        "tags": [
          "SalesNotesController"
        ],
        "responses": {
          "200": {
            "description": "SalesNote model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesNote"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "SalesNotesController.findById"
      }
    },
    "/sales-notes": {
      "post": {
        "x-controller-name": "SalesNotesController",
        "x-operation-name": "create",
        "tags": [
          "SalesNotesController"
        ],
        "responses": {
          "200": {
            "description": "SalesNote model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesNote"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": false,
                "properties": {
                  "clientId": {
                    "type": "string"
                  },
                  "customerNotes": {
                    "type": "string"
                  },
                  "eventId": {
                    "type": "string"
                  },
                  "internalNotes": {
                    "type": "string"
                  },
                  "items": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "commercialPlanId": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        },
                        "discountAmount": {
                          "type": "number"
                        },
                        "quantity": {
                          "type": "number"
                        },
                        "sortOrder": {
                          "type": "number"
                        },
                        "unitPrice": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "description",
                        "unitPrice"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "payments": {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "amount": {
                          "type": "number"
                        },
                        "notes": {
                          "type": "string"
                        },
                        "paymentDate": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "paymentMethodId": {
                          "type": "string"
                        },
                        "reference": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "amount",
                        "paymentMethodId"
                      ],
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "paymentMode": {
                    "type": "string",
                    "enum": [
                      "single",
                      "partial"
                    ]
                  },
                  "saleDate": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "termsAndConditions": {
                    "type": "string"
                  }
                },
                "required": [
                  "clientId",
                  "eventId",
                  "items"
                ],
                "type": "object"
              }
            }
          },
          "description": "Sales note payload"
        },
        "operationId": "SalesNotesController.create"
      },
      "get": {
        "x-controller-name": "SalesNotesController",
        "x-operation-name": "find",
        "tags": [
          "SalesNotesController"
        ],
        "responses": {
          "200": {
            "description": "Array of SalesNote model instances",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/SalesNote"
                  },
                  "type": "array"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SalesNote.Filter"
                }
              }
            }
          }
        ],
        "operationId": "SalesNotesController.find"
      }
    },
    "/statuses/{id}": {
      "patch": {
        "x-controller-name": "StatusesController",
        "x-operation-name": "updateById",
        "tags": [
          "StatusesController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update status"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StatusPartialExcluding_id-createdAt-updatedAt_"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "StatusesController.updateById"
      },
      "delete": {
        "x-controller-name": "StatusesController",
        "x-operation-name": "deleteById",
        "tags": [
          "StatusesController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Delete status"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "StatusesController.deleteById"
      }
    },
    "/statuses": {
      "post": {
        "x-controller-name": "StatusesController",
        "x-operation-name": "create",
        "tags": [
          "StatusesController"
        ],
        "responses": {
          "201": {
            "description": "Create status",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Status"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StatusExcluding_id-createdAt-updatedAt_"
              }
            }
          },
          "required": true
        },
        "operationId": "StatusesController.create"
      }
    },
    "/types/{id}": {
      "patch": {
        "x-controller-name": "TypesController",
        "x-operation-name": "updateById",
        "tags": [
          "TypesController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update type"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TypePartialExcluding_id-createdAt-updatedAt_"
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "TypesController.updateById"
      },
      "delete": {
        "x-controller-name": "TypesController",
        "x-operation-name": "deleteById",
        "tags": [
          "TypesController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Delete type"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "TypesController.deleteById"
      }
    },
    "/types": {
      "post": {
        "x-controller-name": "TypesController",
        "x-operation-name": "create",
        "tags": [
          "TypesController"
        ],
        "responses": {
          "201": {
            "description": "Create type",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Type"
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TypeExcluding_id-createdAt-updatedAt_"
              }
            }
          },
          "required": true
        },
        "operationId": "TypesController.create"
      }
    },
    "/users/count": {
      "get": {
        "x-controller-name": "UsersController",
        "x-operation-name": "count",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Count users for platform administration",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "User.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<User>"
                }
              }
            }
          }
        ],
        "operationId": "UsersController.count"
      }
    },
    "/users/{id}/access-email": {
      "post": {
        "x-controller-name": "UsersController",
        "x-operation-name": "resendAccessEmail",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Resend access setup email to a platform user",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "firstName": {
                      "type": "string"
                    },
                    "lastName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "active",
                        "pending",
                        "suspended"
                      ]
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "SUPER_ADMIN",
                        "ADMIN_INVITY",
                        "CLIENT",
                        "EVENT_PLANNER"
                      ]
                    },
                    "authProvider": {
                      "type": "string",
                      "enum": [
                        "local",
                        "google"
                      ]
                    },
                    "googleId": {
                      "type": "string"
                    },
                    "avatarUrl": {
                      "type": "string"
                    },
                    "emailVerifiedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "lastLoginAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "passwordSetAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "welcomeEmailSentAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "lastPasswordResetAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "passwordUpdatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UsersController.resendAccessEmail"
      }
    },
    "/users/{id}/password": {
      "patch": {
        "x-controller-name": "UsersController",
        "x-operation-name": "updatePassword",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update user password"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "password"
                ],
                "additionalProperties": false,
                "properties": {
                  "password": {
                    "type": "string",
                    "minLength": 8
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "UsersController.updatePassword"
      }
    },
    "/users/{id}/role": {
      "patch": {
        "x-controller-name": "UsersController",
        "x-operation-name": "updateRole",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update user role"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "role"
                ],
                "additionalProperties": false,
                "properties": {
                  "role": {
                    "type": "string",
                    "enum": [
                      "SUPER_ADMIN",
                      "ADMIN_INVITY",
                      "CLIENT",
                      "EVENT_PLANNER"
                    ]
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "UsersController.updateRole"
      }
    },
    "/users/{id}/status": {
      "patch": {
        "x-controller-name": "UsersController",
        "x-operation-name": "updateStatus",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update user status"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "status"
                ],
                "additionalProperties": false,
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "active",
                      "pending",
                      "suspended"
                    ]
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "UsersController.updateStatus"
      }
    },
    "/users/{id}": {
      "patch": {
        "x-controller-name": "UsersController",
        "x-operation-name": "updateProfile",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": {
                "schema": {
                  "description": "Update user profile fields"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "minProperties": 1,
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "firstName": {
                    "type": "string",
                    "minLength": 2
                  },
                  "lastName": {
                    "type": "string",
                    "minLength": 2
                  },
                  "avatarUrl": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "required": true,
          "x-parameter-index": 1
        },
        "operationId": "UsersController.updateProfile"
      },
      "get": {
        "x-controller-name": "UsersController",
        "x-operation-name": "findById",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Get user details for platform administration",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "firstName": {
                      "type": "string"
                    },
                    "lastName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "active",
                        "pending",
                        "suspended"
                      ]
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "SUPER_ADMIN",
                        "ADMIN_INVITY",
                        "CLIENT",
                        "EVENT_PLANNER"
                      ]
                    },
                    "authProvider": {
                      "type": "string",
                      "enum": [
                        "local",
                        "google"
                      ]
                    },
                    "googleId": {
                      "type": "string"
                    },
                    "avatarUrl": {
                      "type": "string"
                    },
                    "emailVerifiedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "lastLoginAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "passwordSetAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "welcomeEmailSentAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "lastPasswordResetAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "passwordUpdatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "UsersController.findById"
      }
    },
    "/users": {
      "post": {
        "x-controller-name": "UsersController",
        "x-operation-name": "create",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "201": {
            "description": "Create a platform user",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "email": {
                      "type": "string"
                    },
                    "firstName": {
                      "type": "string"
                    },
                    "lastName": {
                      "type": "string"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "active",
                        "pending",
                        "suspended"
                      ]
                    },
                    "role": {
                      "type": "string",
                      "enum": [
                        "SUPER_ADMIN",
                        "ADMIN_INVITY",
                        "CLIENT",
                        "EVENT_PLANNER"
                      ]
                    },
                    "authProvider": {
                      "type": "string",
                      "enum": [
                        "local",
                        "google"
                      ]
                    },
                    "googleId": {
                      "type": "string"
                    },
                    "avatarUrl": {
                      "type": "string"
                    },
                    "emailVerifiedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "lastLoginAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "passwordSetAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "welcomeEmailSentAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "lastPasswordResetAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "passwordUpdatedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "createdAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "updatedAt": {
                      "type": "string",
                      "format": "date-time"
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "email",
                  "firstName",
                  "lastName",
                  "password",
                  "role",
                  "status"
                ],
                "additionalProperties": false,
                "properties": {
                  "email": {
                    "type": "string",
                    "format": "email"
                  },
                  "firstName": {
                    "type": "string",
                    "minLength": 2
                  },
                  "lastName": {
                    "type": "string",
                    "minLength": 2
                  },
                  "password": {
                    "type": "string",
                    "minLength": 8
                  },
                  "role": {
                    "type": "string",
                    "enum": [
                      "SUPER_ADMIN",
                      "ADMIN_INVITY",
                      "CLIENT",
                      "EVENT_PLANNER"
                    ]
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "active",
                      "pending",
                      "suspended"
                    ]
                  }
                }
              }
            }
          },
          "required": true
        },
        "operationId": "UsersController.create"
      },
      "get": {
        "x-controller-name": "UsersController",
        "x-operation-name": "find",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "List users for platform administration",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      },
                      "firstName": {
                        "type": "string"
                      },
                      "lastName": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "active",
                          "pending",
                          "suspended"
                        ]
                      },
                      "role": {
                        "type": "string",
                        "enum": [
                          "SUPER_ADMIN",
                          "ADMIN_INVITY",
                          "CLIENT",
                          "EVENT_PLANNER"
                        ]
                      },
                      "authProvider": {
                        "type": "string",
                        "enum": [
                          "local",
                          "google"
                        ]
                      },
                      "googleId": {
                        "type": "string"
                      },
                      "avatarUrl": {
                        "type": "string"
                      },
                      "emailVerifiedAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "lastLoginAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "passwordSetAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "welcomeEmailSentAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "lastPasswordResetAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "passwordUpdatedAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "createdAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "updatedAt": {
                        "type": "string",
                        "format": "date-time"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "schema": {
              "type": "number"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User.Filter"
                }
              }
            }
          }
        ],
        "operationId": "UsersController.find"
      }
    }
  },
  "servers": [
    {
      "url": "https://api.invity.com.mx"
    }
  ],
  "components": {
    "schemas": {
      "Type": {
        "title": "Type",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isSystem": {
            "type": "boolean"
          },
          "lookupGroupId": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "name",
          "sortOrder",
          "isActive",
          "isSystem",
          "lookupGroupId"
        ],
        "additionalProperties": false
      },
      "TypeExcluding_id-createdAt-updatedAt_": {
        "title": "TypeExcluding_id-createdAt-updatedAt_",
        "type": "object",
        "description": "(tsType: Omit<Type, 'id' | 'createdAt' | 'updatedAt'>, schemaOptions: { exclude: [ 'id', 'createdAt', 'updatedAt' ] })",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isSystem": {
            "type": "boolean"
          },
          "lookupGroupId": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "name",
          "sortOrder",
          "isActive",
          "isSystem",
          "lookupGroupId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Type, 'id' | 'createdAt' | 'updatedAt'>"
      },
      "TypePartialExcluding_id-createdAt-updatedAt_": {
        "title": "TypePartialExcluding_id-createdAt-updatedAt_",
        "type": "object",
        "description": "(tsType: Omit<Partial<Type>, 'id' | 'createdAt' | 'updatedAt'>, schemaOptions: { partial: true, exclude: [ 'id', 'createdAt', 'updatedAt' ] })",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isSystem": {
            "type": "boolean"
          },
          "lookupGroupId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<Type>, 'id' | 'createdAt' | 'updatedAt'>"
      },
      "Status": {
        "title": "Status",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isSystem": {
            "type": "boolean"
          },
          "lookupGroupId": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "name",
          "sortOrder",
          "isActive",
          "isSystem",
          "lookupGroupId"
        ],
        "additionalProperties": false
      },
      "StatusExcluding_id-createdAt-updatedAt_": {
        "title": "StatusExcluding_id-createdAt-updatedAt_",
        "type": "object",
        "description": "(tsType: Omit<Status, 'id' | 'createdAt' | 'updatedAt'>, schemaOptions: { exclude: [ 'id', 'createdAt', 'updatedAt' ] })",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isSystem": {
            "type": "boolean"
          },
          "lookupGroupId": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "name",
          "sortOrder",
          "isActive",
          "isSystem",
          "lookupGroupId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Status, 'id' | 'createdAt' | 'updatedAt'>"
      },
      "StatusPartialExcluding_id-createdAt-updatedAt_": {
        "title": "StatusPartialExcluding_id-createdAt-updatedAt_",
        "type": "object",
        "description": "(tsType: Omit<Partial<Status>, 'id' | 'createdAt' | 'updatedAt'>, schemaOptions: { partial: true, exclude: [ 'id', 'createdAt', 'updatedAt' ] })",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "icon": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "isSystem": {
            "type": "boolean"
          },
          "lookupGroupId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<Status>, 'id' | 'createdAt' | 'updatedAt'>"
      },
      "SalesNote": {
        "title": "SalesNote",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "folio": {
            "type": "string"
          },
          "saleDate": {
            "type": "string",
            "format": "date-time"
          },
          "paymentMode": {
            "type": "string",
            "enum": [
              "single",
              "partial"
            ]
          },
          "subtotal": {
            "type": "number"
          },
          "discountAmount": {
            "type": "number"
          },
          "total": {
            "type": "number"
          },
          "paidAmount": {
            "type": "number"
          },
          "balanceDue": {
            "type": "number"
          },
          "customerNotes": {
            "type": "string"
          },
          "internalNotes": {
            "type": "string"
          },
          "termsAndConditions": {
            "type": "string"
          },
          "paidAt": {
            "type": "string",
            "format": "date-time"
          },
          "cancelledAt": {
            "type": "string",
            "format": "date-time"
          },
          "clientId": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "statusId": {
            "type": "string"
          },
          "createdByUserId": {
            "type": "string"
          },
          "updatedByUserId": {
            "type": "string"
          }
        },
        "required": [
          "folio",
          "saleDate",
          "paymentMode",
          "subtotal",
          "discountAmount",
          "total",
          "paidAmount",
          "balanceDue",
          "clientId",
          "eventId",
          "statusId"
        ],
        "additionalProperties": false
      },
      "LookupGroupWithRelations": {
        "title": "LookupGroupWithRelations",
        "type": "object",
        "description": "(tsType: LookupGroupWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isSystem": {
            "type": "boolean"
          },
          "statuses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Status"
            }
          },
          "types": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Type"
            }
          }
        },
        "required": [
          "code",
          "name",
          "isActive",
          "isSystem"
        ],
        "additionalProperties": false,
        "x-typescript-type": "LookupGroupWithRelations"
      },
      "LookupGroup": {
        "title": "LookupGroup",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isSystem": {
            "type": "boolean"
          }
        },
        "required": [
          "code",
          "name",
          "isActive",
          "isSystem"
        ],
        "additionalProperties": false
      },
      "LookupGroupExcluding_id-createdAt-updatedAt-statuses-types_": {
        "title": "LookupGroupExcluding_id-createdAt-updatedAt-statuses-types_",
        "type": "object",
        "description": "(tsType: Omit<LookupGroup, 'id' | 'createdAt' | 'updatedAt' | 'statuses' | 'types'>, schemaOptions: { exclude: [ 'id', 'createdAt', 'updatedAt', 'statuses', 'types' ] })",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isSystem": {
            "type": "boolean"
          }
        },
        "required": [
          "code",
          "name",
          "isActive",
          "isSystem"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<LookupGroup, 'id' | 'createdAt' | 'updatedAt' | 'statuses' | 'types'>"
      },
      "LookupGroupPartialExcluding_id-createdAt-updatedAt-statuses-types_": {
        "title": "LookupGroupPartialExcluding_id-createdAt-updatedAt-statuses-types_",
        "type": "object",
        "description": "(tsType: Omit<Partial<LookupGroup>, 'id' | 'createdAt' | 'updatedAt' | 'statuses' | 'types'>, schemaOptions: { partial: true, exclude: [ 'id', 'createdAt', 'updatedAt', 'statuses', 'types' ] })",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isSystem": {
            "type": "boolean"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<LookupGroup>, 'id' | 'createdAt' | 'updatedAt' | 'statuses' | 'types'>"
      },
      "Event": {
        "title": "Event",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "eventDate": {
            "type": "string",
            "format": "date-time"
          },
          "timezone": {
            "type": "string"
          },
          "venueName": {
            "type": "string"
          },
          "venueAddress": {
            "type": "string"
          },
          "estimatedGuests": {
            "type": "number",
            "minimum": 0
          },
          "notes": {
            "type": "string"
          },
          "whatsappInvitationMessage": {
            "type": "string",
            "maxLength": 1200
          },
          "whatsappReminderMessage": {
            "type": "string",
            "maxLength": 1200
          },
          "isActive": {
            "type": "boolean"
          },
          "clientId": {
            "type": "string"
          },
          "eventTypeId": {
            "type": "string"
          },
          "statusId": {
            "type": "string"
          },
          "eventPlanId": {
            "type": "string"
          },
          "assignedPlannerUserId": {
            "type": "string"
          },
          "createdByUserId": {
            "type": "string"
          },
          "updatedByUserId": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "eventDate",
          "timezone",
          "isActive",
          "clientId",
          "eventTypeId",
          "statusId",
          "eventPlanId"
        ],
        "additionalProperties": false
      },
      "User": {
        "title": "User",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "email": {
            "type": "string",
            "format": "email",
            "transform": [
              "toLowerCase"
            ]
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "active",
              "pending",
              "suspended"
            ]
          },
          "role": {
            "type": "string",
            "enum": [
              "SUPER_ADMIN",
              "ADMIN_INVITY",
              "CLIENT",
              "EVENT_PLANNER"
            ]
          },
          "authProvider": {
            "type": "string",
            "enum": [
              "local",
              "google"
            ]
          },
          "googleId": {
            "type": "string"
          },
          "avatarUrl": {
            "type": "string"
          },
          "emailVerifiedAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastLoginAt": {
            "type": "string",
            "format": "date-time"
          },
          "passwordSetAt": {
            "type": "string",
            "format": "date-time"
          },
          "welcomeEmailSentAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastPasswordResetAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "email",
          "firstName",
          "lastName",
          "status",
          "role",
          "authProvider"
        ],
        "additionalProperties": false
      },
      "InvitationSection": {
        "title": "InvitationSection",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "sectionKey": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "isVisible": {
            "type": "boolean"
          },
          "content": {
            "type": "object"
          },
          "invitationId": {
            "type": "string"
          }
        },
        "required": [
          "sectionKey",
          "title",
          "sortOrder",
          "isVisible",
          "invitationId"
        ],
        "additionalProperties": false
      },
      "InvitationAsset": {
        "title": "InvitationAsset",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "assetType": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "storageKey": {
            "type": "string"
          },
          "altText": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "metadata": {
            "type": "object"
          },
          "invitationId": {
            "type": "string"
          },
          "sectionId": {
            "type": "string"
          },
          "createdByUserId": {
            "type": "string"
          }
        },
        "required": [
          "assetType",
          "url",
          "sortOrder",
          "invitationId"
        ],
        "additionalProperties": false
      },
      "InvitationWithRelations": {
        "title": "InvitationWithRelations",
        "type": "object",
        "description": "(tsType: InvitationWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "templateKey": {
            "type": "string"
          },
          "eventLogoUrl": {
            "type": "string"
          },
          "honoreeNames": {
            "type": "string"
          },
          "heroImageUrls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dedicationPhrase": {
            "type": "string"
          },
          "dedicationImageUrl": {
            "type": "string"
          },
          "countdownDate": {
            "type": "string",
            "format": "date-time"
          },
          "parentsNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "godparentsNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ceremonyVenueName": {
            "type": "string"
          },
          "ceremonyVenueAddress": {
            "type": "string"
          },
          "ceremonyMapUrl": {
            "type": "string"
          },
          "ceremonyTime": {
            "type": "string"
          },
          "receptionVenueName": {
            "type": "string"
          },
          "receptionVenueAddress": {
            "type": "string"
          },
          "receptionMapUrl": {
            "type": "string"
          },
          "receptionTime": {
            "type": "string"
          },
          "giftRegistryCode": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "giftRegistries": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "passImageUrl": {
            "type": "string"
          },
          "designNotes": {
            "type": "string"
          },
          "designTheme": {
            "type": "string"
          },
          "primaryColors": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "supportContacts": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "dressCode": {
            "type": "string"
          },
          "rsvpDeadline": {
            "type": "string",
            "format": "date-time"
          },
          "itineraryItems": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "closingPhrase": {
            "type": "string"
          },
          "shareTitle": {
            "type": "string"
          },
          "shareDescription": {
            "type": "string"
          },
          "shareImageUrl": {
            "type": "string"
          },
          "theme": {
            "type": "object"
          },
          "settings": {
            "type": "object"
          },
          "publishedAt": {
            "type": "string",
            "format": "date-time"
          },
          "eventId": {
            "type": "string"
          },
          "categoryId": {
            "type": "string"
          },
          "eventTypeId": {
            "type": "string"
          },
          "statusId": {
            "type": "string"
          },
          "createdByUserId": {
            "type": "string"
          },
          "updatedByUserId": {
            "type": "string"
          },
          "event": {
            "$ref": "#/components/schemas/Event"
          },
          "foreignKey": {},
          "category": {
            "$ref": "#/components/schemas/Type"
          },
          "eventType": {
            "$ref": "#/components/schemas/Type"
          },
          "status": {
            "$ref": "#/components/schemas/Status"
          },
          "createdByUser": {
            "$ref": "#/components/schemas/User"
          },
          "updatedByUser": {
            "$ref": "#/components/schemas/User"
          },
          "sections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvitationSection"
            }
          },
          "assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvitationAsset"
            }
          }
        },
        "required": [
          "name",
          "slug",
          "eventId",
          "categoryId",
          "eventTypeId",
          "statusId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "InvitationWithRelations"
      },
      "Invitation": {
        "title": "Invitation",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "templateKey": {
            "type": "string"
          },
          "eventLogoUrl": {
            "type": "string"
          },
          "honoreeNames": {
            "type": "string"
          },
          "heroImageUrls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dedicationPhrase": {
            "type": "string"
          },
          "dedicationImageUrl": {
            "type": "string"
          },
          "countdownDate": {
            "type": "string",
            "format": "date-time"
          },
          "parentsNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "godparentsNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ceremonyVenueName": {
            "type": "string"
          },
          "ceremonyVenueAddress": {
            "type": "string"
          },
          "ceremonyMapUrl": {
            "type": "string"
          },
          "ceremonyTime": {
            "type": "string"
          },
          "receptionVenueName": {
            "type": "string"
          },
          "receptionVenueAddress": {
            "type": "string"
          },
          "receptionMapUrl": {
            "type": "string"
          },
          "receptionTime": {
            "type": "string"
          },
          "giftRegistryCode": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "giftRegistries": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "passImageUrl": {
            "type": "string"
          },
          "designNotes": {
            "type": "string"
          },
          "designTheme": {
            "type": "string"
          },
          "primaryColors": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "supportContacts": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "dressCode": {
            "type": "string"
          },
          "rsvpDeadline": {
            "type": "string",
            "format": "date-time"
          },
          "itineraryItems": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "closingPhrase": {
            "type": "string"
          },
          "shareTitle": {
            "type": "string"
          },
          "shareDescription": {
            "type": "string"
          },
          "shareImageUrl": {
            "type": "string"
          },
          "theme": {
            "type": "object"
          },
          "settings": {
            "type": "object"
          },
          "publishedAt": {
            "type": "string",
            "format": "date-time"
          },
          "eventId": {
            "type": "string"
          },
          "categoryId": {
            "type": "string"
          },
          "eventTypeId": {
            "type": "string"
          },
          "statusId": {
            "type": "string"
          },
          "createdByUserId": {
            "type": "string"
          },
          "updatedByUserId": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "slug",
          "eventId",
          "categoryId",
          "eventTypeId",
          "statusId"
        ],
        "additionalProperties": false
      },
      "InvitationExcluding_id-createdAt-updatedAt-statusId-categoryId-eventTypeId-publishedAt-createdByUserId-updatedByUserId_": {
        "title": "InvitationExcluding_id-createdAt-updatedAt-statusId-categoryId-eventTypeId-publishedAt-createdByUserId-updatedByUserId_",
        "type": "object",
        "description": "(tsType: Omit<Invitation, 'id' | 'createdAt' | 'updatedAt' | 'statusId' | 'categoryId' | 'eventTypeId' | 'publishedAt' | 'createdByUserId' | 'updatedByUserId'>, schemaOptions: { exclude: [ 'id', 'createdAt', 'updatedAt', 'statusId', 'categoryId', 'eventTypeId', 'publishedAt', 'createdByUserId', 'updatedByUserId' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "templateKey": {
            "type": "string"
          },
          "eventLogoUrl": {
            "type": "string"
          },
          "honoreeNames": {
            "type": "string"
          },
          "heroImageUrls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dedicationPhrase": {
            "type": "string"
          },
          "dedicationImageUrl": {
            "type": "string"
          },
          "countdownDate": {
            "type": "string",
            "format": "date-time"
          },
          "parentsNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "godparentsNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ceremonyVenueName": {
            "type": "string"
          },
          "ceremonyVenueAddress": {
            "type": "string"
          },
          "ceremonyMapUrl": {
            "type": "string"
          },
          "ceremonyTime": {
            "type": "string"
          },
          "receptionVenueName": {
            "type": "string"
          },
          "receptionVenueAddress": {
            "type": "string"
          },
          "receptionMapUrl": {
            "type": "string"
          },
          "receptionTime": {
            "type": "string"
          },
          "giftRegistryCode": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "giftRegistries": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "passImageUrl": {
            "type": "string"
          },
          "designNotes": {
            "type": "string"
          },
          "designTheme": {
            "type": "string"
          },
          "primaryColors": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "supportContacts": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "dressCode": {
            "type": "string"
          },
          "rsvpDeadline": {
            "type": "string",
            "format": "date-time"
          },
          "itineraryItems": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "closingPhrase": {
            "type": "string"
          },
          "shareTitle": {
            "type": "string"
          },
          "shareDescription": {
            "type": "string"
          },
          "shareImageUrl": {
            "type": "string"
          },
          "theme": {
            "type": "object"
          },
          "settings": {
            "type": "object"
          },
          "eventId": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "slug",
          "eventId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Invitation, 'id' | 'createdAt' | 'updatedAt' | 'statusId' | 'categoryId' | 'eventTypeId' | 'publishedAt' | 'createdByUserId' | 'updatedByUserId'>"
      },
      "InvitationPartialExcluding_id-createdAt-updatedAt-categoryId-eventTypeId-createdByUserId-updatedByUserId_": {
        "title": "InvitationPartialExcluding_id-createdAt-updatedAt-categoryId-eventTypeId-createdByUserId-updatedByUserId_",
        "type": "object",
        "description": "(tsType: Omit<Partial<Invitation>, 'id' | 'createdAt' | 'updatedAt' | 'categoryId' | 'eventTypeId' | 'createdByUserId' | 'updatedByUserId'>, schemaOptions: { partial: true, exclude: [ 'id', 'createdAt', 'updatedAt', 'categoryId', 'eventTypeId', 'createdByUserId', 'updatedByUserId' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "templateKey": {
            "type": "string"
          },
          "eventLogoUrl": {
            "type": "string"
          },
          "honoreeNames": {
            "type": "string"
          },
          "heroImageUrls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dedicationPhrase": {
            "type": "string"
          },
          "dedicationImageUrl": {
            "type": "string"
          },
          "countdownDate": {
            "type": "string",
            "format": "date-time"
          },
          "parentsNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "godparentsNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ceremonyVenueName": {
            "type": "string"
          },
          "ceremonyVenueAddress": {
            "type": "string"
          },
          "ceremonyMapUrl": {
            "type": "string"
          },
          "ceremonyTime": {
            "type": "string"
          },
          "receptionVenueName": {
            "type": "string"
          },
          "receptionVenueAddress": {
            "type": "string"
          },
          "receptionMapUrl": {
            "type": "string"
          },
          "receptionTime": {
            "type": "string"
          },
          "giftRegistryCode": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "giftRegistries": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "passImageUrl": {
            "type": "string"
          },
          "designNotes": {
            "type": "string"
          },
          "designTheme": {
            "type": "string"
          },
          "primaryColors": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "supportContacts": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "dressCode": {
            "type": "string"
          },
          "rsvpDeadline": {
            "type": "string",
            "format": "date-time"
          },
          "itineraryItems": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "closingPhrase": {
            "type": "string"
          },
          "shareTitle": {
            "type": "string"
          },
          "shareDescription": {
            "type": "string"
          },
          "shareImageUrl": {
            "type": "string"
          },
          "theme": {
            "type": "object"
          },
          "settings": {
            "type": "object"
          },
          "publishedAt": {
            "type": "string",
            "format": "date-time"
          },
          "eventId": {
            "type": "string"
          },
          "statusId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<Invitation>, 'id' | 'createdAt' | 'updatedAt' | 'categoryId' | 'eventTypeId' | 'createdByUserId' | 'updatedByUserId'>"
      },
      "InvitationPartialExcluding_id-createdAt-updatedAt-name-slug-templateKey-theme-settings-publishedAt-eventId-categoryId-eventTypeId-statusId-createdByUserId-updatedByUserId_": {
        "title": "InvitationPartialExcluding_id-createdAt-updatedAt-name-slug-templateKey-theme-settings-publishedAt-eventId-categoryId-eventTypeId-statusId-createdByUserId-updatedByUserId_",
        "type": "object",
        "description": "(tsType: Omit<Partial<Invitation>, 'id' | 'createdAt' | 'updatedAt' | 'name' | 'slug' | 'templateKey' | 'theme' | 'settings' | 'publishedAt' | 'eventId' | 'categoryId' | 'eventTypeId' | 'statusId' | 'createdByUserId' | 'updatedByUserId'>, schemaOptions: {\n  partial: true,\n  exclude: [\n    'id',              'createdAt',\n    'updatedAt',       'name',\n    'slug',            'templateKey',\n    'theme',           'settings',\n    'publishedAt',     'eventId',\n    'categoryId',      'eventTypeId',\n    'statusId',        'createdByUserId',\n    'updatedByUserId'\n  ]\n})",
        "properties": {
          "eventLogoUrl": {
            "type": "string"
          },
          "honoreeNames": {
            "type": "string"
          },
          "heroImageUrls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "dedicationPhrase": {
            "type": "string"
          },
          "dedicationImageUrl": {
            "type": "string"
          },
          "countdownDate": {
            "type": "string",
            "format": "date-time"
          },
          "parentsNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "godparentsNames": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "ceremonyVenueName": {
            "type": "string"
          },
          "ceremonyVenueAddress": {
            "type": "string"
          },
          "ceremonyMapUrl": {
            "type": "string"
          },
          "ceremonyTime": {
            "type": "string"
          },
          "receptionVenueName": {
            "type": "string"
          },
          "receptionVenueAddress": {
            "type": "string"
          },
          "receptionMapUrl": {
            "type": "string"
          },
          "receptionTime": {
            "type": "string"
          },
          "giftRegistryCode": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "giftRegistries": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "passImageUrl": {
            "type": "string"
          },
          "designNotes": {
            "type": "string"
          },
          "designTheme": {
            "type": "string"
          },
          "primaryColors": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "supportContacts": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "dressCode": {
            "type": "string"
          },
          "rsvpDeadline": {
            "type": "string",
            "format": "date-time"
          },
          "itineraryItems": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "closingPhrase": {
            "type": "string"
          },
          "shareTitle": {
            "type": "string"
          },
          "shareDescription": {
            "type": "string"
          },
          "shareImageUrl": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<Invitation>, 'id' | 'createdAt' | 'updatedAt' | 'name' | 'slug' | 'templateKey' | 'theme' | 'settings' | 'publishedAt' | 'eventId' | 'categoryId' | 'eventTypeId' | 'statusId' | 'createdByUserId' | 'updatedByUserId'>"
      },
      "InvitationSectionWithRelations": {
        "title": "InvitationSectionWithRelations",
        "type": "object",
        "description": "(tsType: InvitationSectionWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "sectionKey": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "isVisible": {
            "type": "boolean"
          },
          "content": {
            "type": "object"
          },
          "invitationId": {
            "type": "string"
          },
          "invitation": {
            "$ref": "#/components/schemas/Invitation"
          },
          "foreignKey": {},
          "assets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InvitationAsset"
            }
          }
        },
        "required": [
          "sectionKey",
          "title",
          "sortOrder",
          "isVisible",
          "invitationId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "InvitationSectionWithRelations"
      },
      "InvitationSectionExcluding_id-createdAt-updatedAt-invitationId_": {
        "title": "InvitationSectionExcluding_id-createdAt-updatedAt-invitationId_",
        "type": "object",
        "description": "(tsType: Omit<InvitationSection, 'id' | 'createdAt' | 'updatedAt' | 'invitationId'>, schemaOptions: { exclude: [ 'id', 'createdAt', 'updatedAt', 'invitationId' ] })",
        "properties": {
          "sectionKey": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "isVisible": {
            "type": "boolean"
          },
          "content": {
            "type": "object"
          }
        },
        "required": [
          "sectionKey",
          "title",
          "sortOrder",
          "isVisible"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<InvitationSection, 'id' | 'createdAt' | 'updatedAt' | 'invitationId'>"
      },
      "InvitationSectionPartialExcluding_id-createdAt-updatedAt-invitationId_": {
        "title": "InvitationSectionPartialExcluding_id-createdAt-updatedAt-invitationId_",
        "type": "object",
        "description": "(tsType: Omit<Partial<InvitationSection>, 'id' | 'createdAt' | 'updatedAt' | 'invitationId'>, schemaOptions: { partial: true, exclude: [ 'id', 'createdAt', 'updatedAt', 'invitationId' ] })",
        "properties": {
          "sectionKey": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "isVisible": {
            "type": "boolean"
          },
          "content": {
            "type": "object"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<InvitationSection>, 'id' | 'createdAt' | 'updatedAt' | 'invitationId'>"
      },
      "InvitationAssetWithRelations": {
        "title": "InvitationAssetWithRelations",
        "type": "object",
        "description": "(tsType: InvitationAssetWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "assetType": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "storageKey": {
            "type": "string"
          },
          "altText": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "metadata": {
            "type": "object"
          },
          "invitationId": {
            "type": "string"
          },
          "sectionId": {
            "type": "string"
          },
          "createdByUserId": {
            "type": "string"
          },
          "invitation": {
            "$ref": "#/components/schemas/Invitation"
          },
          "foreignKey": {},
          "section": {
            "$ref": "#/components/schemas/InvitationSection"
          },
          "createdByUser": {
            "$ref": "#/components/schemas/User"
          }
        },
        "required": [
          "assetType",
          "url",
          "sortOrder",
          "invitationId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "InvitationAssetWithRelations"
      },
      "InvitationAssetExcluding_id-createdAt-updatedAt-invitationId-createdByUserId_": {
        "title": "InvitationAssetExcluding_id-createdAt-updatedAt-invitationId-createdByUserId_",
        "type": "object",
        "description": "(tsType: Omit<InvitationAsset, 'id' | 'createdAt' | 'updatedAt' | 'invitationId' | 'createdByUserId'>, schemaOptions: { exclude: [ 'id', 'createdAt', 'updatedAt', 'invitationId', 'createdByUserId' ] })",
        "properties": {
          "assetType": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "storageKey": {
            "type": "string"
          },
          "altText": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "metadata": {
            "type": "object"
          },
          "sectionId": {
            "type": "string"
          }
        },
        "required": [
          "assetType",
          "url",
          "sortOrder"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<InvitationAsset, 'id' | 'createdAt' | 'updatedAt' | 'invitationId' | 'createdByUserId'>"
      },
      "InvitationAssetPartialExcluding_id-createdAt-updatedAt-invitationId-createdByUserId_": {
        "title": "InvitationAssetPartialExcluding_id-createdAt-updatedAt-invitationId-createdByUserId_",
        "type": "object",
        "description": "(tsType: Omit<Partial<InvitationAsset>, 'id' | 'createdAt' | 'updatedAt' | 'invitationId' | 'createdByUserId'>, schemaOptions: { partial: true, exclude: [ 'id', 'createdAt', 'updatedAt', 'invitationId', 'createdByUserId' ] })",
        "properties": {
          "assetType": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "storageKey": {
            "type": "string"
          },
          "altText": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "metadata": {
            "type": "object"
          },
          "sectionId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<InvitationAsset>, 'id' | 'createdAt' | 'updatedAt' | 'invitationId' | 'createdByUserId'>"
      },
      "GuestPassGroup": {
        "title": "GuestPassGroup",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "label": {
            "type": "string"
          },
          "passes": {
            "type": "number",
            "minimum": 1
          },
          "tableName": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "notes": {
            "type": "string"
          },
          "guestId": {
            "type": "string"
          }
        },
        "required": [
          "label",
          "passes",
          "sortOrder",
          "guestId"
        ],
        "additionalProperties": false
      },
      "GuestWithRelations": {
        "title": "GuestWithRelations",
        "type": "object",
        "description": "(tsType: GuestWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "displayName": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email",
            "transform": [
              "toLowerCase"
            ]
          },
          "phone": {
            "type": "string"
          },
          "passes": {
            "type": "number",
            "minimum": 1
          },
          "tableName": {
            "type": "string"
          },
          "usesGroupedPasses": {
            "type": "boolean"
          },
          "invitationToken": {
            "type": "string"
          },
          "invitationViews": {
            "type": "number",
            "minimum": 0
          },
          "lastInvitationViewedAt": {
            "type": "string",
            "format": "date-time"
          },
          "invitedAt": {
            "type": "string",
            "format": "date-time"
          },
          "remindedAt": {
            "type": "string",
            "format": "date-time"
          },
          "confirmedAt": {
            "type": "string",
            "format": "date-time"
          },
          "rsvpRespondedAt": {
            "type": "string",
            "format": "date-time"
          },
          "rsvpAttendingCount": {
            "type": "number",
            "minimum": 0
          },
          "rsvpMessage": {
            "type": "string"
          },
          "archivedAt": {
            "type": "string",
            "format": "date-time"
          },
          "checkedInAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastCheckInAt": {
            "type": "string",
            "format": "date-time"
          },
          "checkedInPasses": {
            "type": "number",
            "minimum": 0
          },
          "extraCheckedInPasses": {
            "type": "number",
            "minimum": 0
          },
          "accessRegistrationType": {
            "type": "string",
            "enum": [
              "invited",
              "manual"
            ]
          },
          "accessExceptionReason": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "statusId": {
            "type": "string"
          },
          "rsvpStatusId": {
            "type": "string"
          },
          "createdByUserId": {
            "type": "string"
          },
          "updatedByUserId": {
            "type": "string"
          },
          "checkedInByUserId": {
            "type": "string"
          },
          "event": {
            "$ref": "#/components/schemas/Event"
          },
          "foreignKey": {},
          "status": {
            "$ref": "#/components/schemas/Status"
          },
          "rsvpStatus": {
            "$ref": "#/components/schemas/Status"
          },
          "createdByUser": {
            "$ref": "#/components/schemas/User"
          },
          "updatedByUser": {
            "$ref": "#/components/schemas/User"
          },
          "checkedInByUser": {
            "$ref": "#/components/schemas/User"
          },
          "passGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GuestPassGroup"
            }
          }
        },
        "required": [
          "displayName",
          "passes",
          "usesGroupedPasses",
          "invitationViews",
          "accessRegistrationType",
          "eventId",
          "statusId",
          "rsvpStatusId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "GuestWithRelations"
      },
      "Guest": {
        "title": "Guest",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "displayName": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email",
            "transform": [
              "toLowerCase"
            ]
          },
          "phone": {
            "type": "string"
          },
          "passes": {
            "type": "number",
            "minimum": 1
          },
          "tableName": {
            "type": "string"
          },
          "usesGroupedPasses": {
            "type": "boolean"
          },
          "invitationToken": {
            "type": "string"
          },
          "invitationViews": {
            "type": "number",
            "minimum": 0
          },
          "lastInvitationViewedAt": {
            "type": "string",
            "format": "date-time"
          },
          "invitedAt": {
            "type": "string",
            "format": "date-time"
          },
          "remindedAt": {
            "type": "string",
            "format": "date-time"
          },
          "confirmedAt": {
            "type": "string",
            "format": "date-time"
          },
          "rsvpRespondedAt": {
            "type": "string",
            "format": "date-time"
          },
          "rsvpAttendingCount": {
            "type": "number",
            "minimum": 0
          },
          "rsvpMessage": {
            "type": "string"
          },
          "archivedAt": {
            "type": "string",
            "format": "date-time"
          },
          "checkedInAt": {
            "type": "string",
            "format": "date-time"
          },
          "lastCheckInAt": {
            "type": "string",
            "format": "date-time"
          },
          "checkedInPasses": {
            "type": "number",
            "minimum": 0
          },
          "extraCheckedInPasses": {
            "type": "number",
            "minimum": 0
          },
          "accessRegistrationType": {
            "type": "string",
            "enum": [
              "invited",
              "manual"
            ]
          },
          "accessExceptionReason": {
            "type": "string"
          },
          "notes": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "statusId": {
            "type": "string"
          },
          "rsvpStatusId": {
            "type": "string"
          },
          "createdByUserId": {
            "type": "string"
          },
          "updatedByUserId": {
            "type": "string"
          },
          "checkedInByUserId": {
            "type": "string"
          }
        },
        "required": [
          "displayName",
          "passes",
          "usesGroupedPasses",
          "invitationViews",
          "accessRegistrationType",
          "eventId",
          "statusId",
          "rsvpStatusId"
        ],
        "additionalProperties": false
      },
      "GuestImportBatch": {
        "title": "GuestImportBatch",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "eventId": {
            "type": "string"
          },
          "fileName": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "createdCount": {
            "type": "number"
          },
          "updatedCount": {
            "type": "number"
          },
          "failedCount": {
            "type": "number"
          },
          "errors": {
            "type": "object"
          },
          "createdByUserId": {
            "type": "string"
          }
        },
        "required": [
          "eventId",
          "status",
          "createdCount",
          "updatedCount",
          "failedCount"
        ],
        "additionalProperties": false
      },
      "Client": {
        "title": "Client",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "displayName": {
            "type": "string"
          },
          "legalName": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email",
            "transform": [
              "toLowerCase"
            ]
          },
          "phone": {
            "type": "string"
          },
          "taxId": {
            "type": "string"
          },
          "billingEmail": {
            "type": "string",
            "format": "email",
            "transform": [
              "toLowerCase"
            ]
          },
          "notes": {
            "type": "string"
          },
          "isInvityPartner": {
            "type": "boolean"
          },
          "guestDefaultSort": {
            "type": "string",
            "enum": [
              "alphabetical",
              "created_at"
            ]
          },
          "canManageStaff": {
            "type": "boolean"
          },
          "maxStaffCount": {
            "type": "number",
            "nullable": true
          },
          "clientTypeId": {
            "type": "string"
          },
          "statusId": {
            "type": "string"
          },
          "ownerUserId": {
            "type": "string"
          },
          "createdByUserId": {
            "type": "string"
          },
          "updatedByUserId": {
            "type": "string"
          }
        },
        "required": [
          "displayName",
          "clientTypeId",
          "statusId"
        ],
        "additionalProperties": false
      },
      "EventWithRelations": {
        "title": "EventWithRelations",
        "type": "object",
        "description": "(tsType: EventWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "eventDate": {
            "type": "string",
            "format": "date-time"
          },
          "timezone": {
            "type": "string"
          },
          "venueName": {
            "type": "string"
          },
          "venueAddress": {
            "type": "string"
          },
          "estimatedGuests": {
            "type": "number",
            "minimum": 0
          },
          "notes": {
            "type": "string"
          },
          "whatsappInvitationMessage": {
            "type": "string",
            "maxLength": 1200
          },
          "whatsappReminderMessage": {
            "type": "string",
            "maxLength": 1200
          },
          "isActive": {
            "type": "boolean"
          },
          "clientId": {
            "type": "string"
          },
          "eventTypeId": {
            "type": "string"
          },
          "statusId": {
            "type": "string"
          },
          "eventPlanId": {
            "type": "string"
          },
          "assignedPlannerUserId": {
            "type": "string"
          },
          "createdByUserId": {
            "type": "string"
          },
          "updatedByUserId": {
            "type": "string"
          },
          "client": {
            "$ref": "#/components/schemas/Client"
          },
          "foreignKey": {},
          "eventType": {
            "$ref": "#/components/schemas/Type"
          },
          "status": {
            "$ref": "#/components/schemas/Status"
          },
          "eventPlan": {
            "$ref": "#/components/schemas/Type"
          },
          "assignedPlannerUser": {
            "$ref": "#/components/schemas/User"
          },
          "createdByUser": {
            "$ref": "#/components/schemas/User"
          },
          "updatedByUser": {
            "$ref": "#/components/schemas/User"
          },
          "guests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Guest"
            }
          },
          "invitations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Invitation"
            }
          }
        },
        "required": [
          "name",
          "eventDate",
          "timezone",
          "isActive",
          "clientId",
          "eventTypeId",
          "statusId",
          "eventPlanId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "EventWithRelations"
      },
      "EventExcluding_id-createdAt-updatedAt-isActive-createdByUserId-updatedByUserId_": {
        "title": "EventExcluding_id-createdAt-updatedAt-isActive-createdByUserId-updatedByUserId_",
        "type": "object",
        "description": "(tsType: Omit<Event, 'id' | 'createdAt' | 'updatedAt' | 'isActive' | 'createdByUserId' | 'updatedByUserId'>, schemaOptions: { exclude: [ 'id', 'createdAt', 'updatedAt', 'isActive', 'createdByUserId', 'updatedByUserId' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "eventDate": {
            "type": "string",
            "format": "date-time"
          },
          "timezone": {
            "type": "string"
          },
          "venueName": {
            "type": "string"
          },
          "venueAddress": {
            "type": "string"
          },
          "estimatedGuests": {
            "type": "number",
            "minimum": 0
          },
          "notes": {
            "type": "string"
          },
          "whatsappInvitationMessage": {
            "type": "string",
            "maxLength": 1200
          },
          "whatsappReminderMessage": {
            "type": "string",
            "maxLength": 1200
          },
          "clientId": {
            "type": "string"
          },
          "eventTypeId": {
            "type": "string"
          },
          "statusId": {
            "type": "string"
          },
          "eventPlanId": {
            "type": "string"
          },
          "assignedPlannerUserId": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "eventDate",
          "timezone",
          "clientId",
          "eventTypeId",
          "statusId",
          "eventPlanId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Event, 'id' | 'createdAt' | 'updatedAt' | 'isActive' | 'createdByUserId' | 'updatedByUserId'>"
      },
      "EventPartialExcluding_id-createdAt-updatedAt-createdByUserId-updatedByUserId_": {
        "title": "EventPartialExcluding_id-createdAt-updatedAt-createdByUserId-updatedByUserId_",
        "type": "object",
        "description": "(tsType: Omit<Partial<Event>, 'id' | 'createdAt' | 'updatedAt' | 'createdByUserId' | 'updatedByUserId'>, schemaOptions: { partial: true, exclude: [ 'id', 'createdAt', 'updatedAt', 'createdByUserId', 'updatedByUserId' ] })",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "eventDate": {
            "type": "string",
            "format": "date-time"
          },
          "timezone": {
            "type": "string"
          },
          "venueName": {
            "type": "string"
          },
          "venueAddress": {
            "type": "string"
          },
          "estimatedGuests": {
            "type": "number",
            "minimum": 0
          },
          "notes": {
            "type": "string"
          },
          "whatsappInvitationMessage": {
            "type": "string",
            "maxLength": 1200
          },
          "whatsappReminderMessage": {
            "type": "string",
            "maxLength": 1200
          },
          "isActive": {
            "type": "boolean"
          },
          "clientId": {
            "type": "string"
          },
          "eventTypeId": {
            "type": "string"
          },
          "statusId": {
            "type": "string"
          },
          "eventPlanId": {
            "type": "string"
          },
          "assignedPlannerUserId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<Event>, 'id' | 'createdAt' | 'updatedAt' | 'createdByUserId' | 'updatedByUserId'>"
      },
      "EmailDeliveryLog": {
        "title": "EmailDeliveryLog",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "recipient": {
            "type": "string"
          },
          "subject": {
            "type": "string"
          },
          "context": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "sentAt": {
            "type": "string",
            "format": "date-time"
          },
          "errorMessage": {
            "type": "string"
          },
          "errorName": {
            "type": "string"
          },
          "errorStack": {
            "type": "string"
          },
          "metadata": {
            "type": "object"
          }
        },
        "required": [
          "recipient",
          "subject",
          "context",
          "status"
        ],
        "additionalProperties": false
      },
      "ContactWithRelations": {
        "title": "ContactWithRelations",
        "type": "object",
        "description": "(tsType: ContactWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email",
            "transform": [
              "toLowerCase"
            ]
          },
          "phone": {
            "type": "string"
          },
          "position": {
            "type": "string"
          },
          "isPrimary": {
            "type": "boolean"
          },
          "isBillingContact": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "notes": {
            "type": "string"
          },
          "clientId": {
            "type": "string"
          },
          "createdByUserId": {
            "type": "string"
          },
          "updatedByUserId": {
            "type": "string"
          },
          "client": {
            "$ref": "#/components/schemas/Client"
          },
          "foreignKey": {},
          "createdByUser": {
            "$ref": "#/components/schemas/User"
          },
          "updatedByUser": {
            "$ref": "#/components/schemas/User"
          }
        },
        "required": [
          "firstName",
          "isPrimary",
          "isBillingContact",
          "isActive",
          "clientId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ContactWithRelations"
      },
      "Contact": {
        "title": "Contact",
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email",
            "transform": [
              "toLowerCase"
            ]
          },
          "phone": {
            "type": "string"
          },
          "position": {
            "type": "string"
          },
          "isPrimary": {
            "type": "boolean"
          },
          "isBillingContact": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "notes": {
            "type": "string"
          },
          "clientId": {
            "type": "string"
          },
          "createdByUserId": {
            "type": "string"
          },
          "updatedByUserId": {
            "type": "string"
          }
        },
        "required": [
          "firstName",
          "isPrimary",
          "isBillingContact",
          "isActive",
          "clientId"
        ],
        "additionalProperties": false
      },
      "ContactExcluding_id-clientId-createdAt-updatedAt-isActive-createdByUserId-updatedByUserId_": {
        "title": "ContactExcluding_id-clientId-createdAt-updatedAt-isActive-createdByUserId-updatedByUserId_",
        "type": "object",
        "description": "(tsType: Omit<Contact, 'id' | 'clientId' | 'createdAt' | 'updatedAt' | 'isActive' | 'createdByUserId' | 'updatedByUserId'>, schemaOptions: { exclude: [ 'id', 'clientId', 'createdAt', 'updatedAt', 'isActive', 'createdByUserId', 'updatedByUserId' ] })",
        "properties": {
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email",
            "transform": [
              "toLowerCase"
            ]
          },
          "phone": {
            "type": "string"
          },
          "position": {
            "type": "string"
          },
          "isPrimary": {
            "type": "boolean"
          },
          "isBillingContact": {
            "type": "boolean"
          },
          "notes": {
            "type": "string"
          }
        },
        "required": [
          "firstName",
          "isPrimary",
          "isBillingContact"
        ],
        "additionalProperties": false,
        "x-typescript-type": "Omit<Contact, 'id' | 'clientId' | 'createdAt' | 'updatedAt' | 'isActive' | 'createdByUserId' | 'updatedByUserId'>"
      },
      "ContactPartialExcluding_id-clientId-createdAt-updatedAt-createdByUserId-updatedByUserId_": {
        "title": "ContactPartialExcluding_id-clientId-createdAt-updatedAt-createdByUserId-updatedByUserId_",
        "type": "object",
        "description": "(tsType: Omit<Partial<Contact>, 'id' | 'clientId' | 'createdAt' | 'updatedAt' | 'createdByUserId' | 'updatedByUserId'>, schemaOptions: { partial: true, exclude: [ 'id', 'clientId', 'createdAt', 'updatedAt', 'createdByUserId', 'updatedByUserId' ] })",
        "properties": {
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email",
            "transform": [
              "toLowerCase"
            ]
          },
          "phone": {
            "type": "string"
          },
          "position": {
            "type": "string"
          },
          "isPrimary": {
            "type": "boolean"
          },
          "isBillingContact": {
            "type": "boolean"
          },
          "isActive": {
            "type": "boolean"
          },
          "notes": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<Contact>, 'id' | 'clientId' | 'createdAt' | 'updatedAt' | 'createdByUserId' | 'updatedByUserId'>"
      },
      "ClientWithRelations": {
        "title": "ClientWithRelations",
        "type": "object",
        "description": "(tsType: ClientWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "id": {
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "displayName": {
            "type": "string"
          },
          "legalName": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email",
            "transform": [
              "toLowerCase"
            ]
          },
          "phone": {
            "type": "string"
          },
          "taxId": {
            "type": "string"
          },
          "billingEmail": {
            "type": "string",
            "format": "email",
            "transform": [
              "toLowerCase"
            ]
          },
          "notes": {
            "type": "string"
          },
          "isInvityPartner": {
            "type": "boolean"
          },
          "guestDefaultSort": {
            "type": "string",
            "enum": [
              "alphabetical",
              "created_at"
            ]
          },
          "canManageStaff": {
            "type": "boolean"
          },
          "maxStaffCount": {
            "type": "number",
            "nullable": true
          },
          "clientTypeId": {
            "type": "string"
          },
          "statusId": {
            "type": "string"
          },
          "ownerUserId": {
            "type": "string"
          },
          "createdByUserId": {
            "type": "string"
          },
          "updatedByUserId": {
            "type": "string"
          },
          "clientType": {
            "$ref": "#/components/schemas/Type"
          },
          "foreignKey": {},
          "status": {
            "$ref": "#/components/schemas/Status"
          },
          "ownerUser": {
            "$ref": "#/components/schemas/User"
          },
          "createdByUser": {
            "$ref": "#/components/schemas/User"
          },
          "updatedByUser": {
            "$ref": "#/components/schemas/User"
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Contact"
            }
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Event"
            }
          }
        },
        "required": [
          "displayName",
          "clientTypeId",
          "statusId"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ClientWithRelations"
      },
      "ClientPartialExcluding_id-createdAt-updatedAt-createdByUserId-updatedByUserId_": {
        "title": "ClientPartialExcluding_id-createdAt-updatedAt-createdByUserId-updatedByUserId_",
        "type": "object",
        "description": "(tsType: Omit<Partial<Client>, 'id' | 'createdAt' | 'updatedAt' | 'createdByUserId' | 'updatedByUserId'>, schemaOptions: { partial: true, exclude: [ 'id', 'createdAt', 'updatedAt', 'createdByUserId', 'updatedByUserId' ] })",
        "properties": {
          "displayName": {
            "type": "string"
          },
          "legalName": {
            "type": "string"
          },
          "email": {
            "type": "string",
            "format": "email",
            "transform": [
              "toLowerCase"
            ]
          },
          "phone": {
            "type": "string"
          },
          "taxId": {
            "type": "string"
          },
          "billingEmail": {
            "type": "string",
            "format": "email",
            "transform": [
              "toLowerCase"
            ]
          },
          "notes": {
            "type": "string"
          },
          "isInvityPartner": {
            "type": "boolean"
          },
          "guestDefaultSort": {
            "type": "string",
            "enum": [
              "alphabetical",
              "created_at"
            ]
          },
          "canManageStaff": {
            "type": "boolean"
          },
          "maxStaffCount": {
            "type": "number",
            "nullable": true
          },
          "clientTypeId": {
            "type": "string"
          },
          "statusId": {
            "type": "string"
          },
          "ownerUserId": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "Omit<Partial<Client>, 'id' | 'createdAt' | 'updatedAt' | 'createdByUserId' | 'updatedByUserId'>"
      },
      "AuthResponse": {
        "title": "AuthResponse",
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          },
          "tokenType": {
            "type": "string"
          },
          "expiresIn": {
            "type": "string"
          },
          "refreshToken": {
            "type": "string"
          },
          "refreshTokenExpiresAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "token",
          "tokenType",
          "expiresIn"
        ],
        "additionalProperties": false
      },
      "RegisterRequest": {
        "title": "RegisterRequest",
        "type": "object",
        "description": "(tsType: RegisterRequest, schemaOptions: { title: 'RegisterRequest' })",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          },
          "firstName": {
            "type": "string",
            "minLength": 2
          },
          "lastName": {
            "type": "string",
            "minLength": 2
          },
          "password": {
            "type": "string",
            "minLength": 8
          }
        },
        "required": [
          "email",
          "firstName",
          "lastName",
          "password"
        ],
        "additionalProperties": false,
        "x-typescript-type": "RegisterRequest"
      },
      "LoginRequest": {
        "title": "LoginRequest",
        "type": "object",
        "description": "(tsType: LoginRequest, schemaOptions: { title: 'LoginRequest' })",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          },
          "password": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "password"
        ],
        "additionalProperties": false,
        "x-typescript-type": "LoginRequest"
      },
      "GoogleLoginRequest": {
        "title": "GoogleLoginRequest",
        "type": "object",
        "description": "(tsType: GoogleLoginRequest, schemaOptions: { title: 'GoogleLoginRequest' })",
        "properties": {
          "idToken": {
            "type": "string"
          }
        },
        "required": [
          "idToken"
        ],
        "additionalProperties": false,
        "x-typescript-type": "GoogleLoginRequest"
      },
      "RefreshTokenRequest": {
        "title": "RefreshTokenRequest",
        "type": "object",
        "description": "(tsType: RefreshTokenRequest, schemaOptions: { title: 'RefreshTokenRequest' })",
        "properties": {
          "refreshToken": {
            "type": "string"
          }
        },
        "required": [
          "refreshToken"
        ],
        "additionalProperties": false,
        "x-typescript-type": "RefreshTokenRequest"
      },
      "LogoutRequest": {
        "title": "LogoutRequest",
        "type": "object",
        "description": "(tsType: LogoutRequest, schemaOptions: { title: 'LogoutRequest' })",
        "properties": {
          "refreshToken": {
            "type": "string"
          }
        },
        "required": [
          "refreshToken"
        ],
        "additionalProperties": false,
        "x-typescript-type": "LogoutRequest"
      },
      "ForgotPasswordRequest": {
        "title": "ForgotPasswordRequest",
        "type": "object",
        "description": "(tsType: ForgotPasswordRequest, schemaOptions: { title: 'ForgotPasswordRequest' })",
        "properties": {
          "email": {
            "type": "string",
            "format": "email"
          }
        },
        "required": [
          "email"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ForgotPasswordRequest"
      },
      "ResetPasswordRequest": {
        "title": "ResetPasswordRequest",
        "type": "object",
        "description": "(tsType: ResetPasswordRequest, schemaOptions: { title: 'ResetPasswordRequest' })",
        "properties": {
          "token": {
            "type": "string"
          },
          "password": {
            "type": "string",
            "minLength": 8
          }
        },
        "required": [
          "token",
          "password"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ResetPasswordRequest"
      },
      "Event.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Event.ScopeFilter"
      },
      "Event.IncludeFilter.Items": {
        "title": "Event.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "client",
              "eventType",
              "status",
              "eventPlan",
              "assignedPlannerUser",
              "createdByUser",
              "updatedByUser",
              "guests",
              "invitations"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Event.ScopeFilter"
          }
        }
      },
      "Event.Filter": {
        "type": "object",
        "title": "Event.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Event.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "eventDate": {
                    "type": "boolean"
                  },
                  "timezone": {
                    "type": "boolean"
                  },
                  "venueName": {
                    "type": "boolean"
                  },
                  "venueAddress": {
                    "type": "boolean"
                  },
                  "estimatedGuests": {
                    "type": "boolean"
                  },
                  "notes": {
                    "type": "boolean"
                  },
                  "whatsappInvitationMessage": {
                    "type": "boolean"
                  },
                  "whatsappReminderMessage": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "clientId": {
                    "type": "boolean"
                  },
                  "eventTypeId": {
                    "type": "boolean"
                  },
                  "statusId": {
                    "type": "boolean"
                  },
                  "eventPlanId": {
                    "type": "boolean"
                  },
                  "assignedPlannerUserId": {
                    "type": "boolean"
                  },
                  "createdByUserId": {
                    "type": "boolean"
                  },
                  "updatedByUserId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "createdAt",
                    "updatedAt",
                    "name",
                    "description",
                    "eventDate",
                    "timezone",
                    "venueName",
                    "venueAddress",
                    "estimatedGuests",
                    "notes",
                    "whatsappInvitationMessage",
                    "whatsappReminderMessage",
                    "isActive",
                    "clientId",
                    "eventTypeId",
                    "statusId",
                    "eventPlanId",
                    "assignedPlannerUserId",
                    "createdByUserId",
                    "updatedByUserId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Event.Fields"
          },
          "include": {
            "title": "Event.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Event.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Event>"
      },
      "loopback.Count": {
        "type": "object",
        "title": "loopback.Count",
        "x-typescript-type": "@loopback/repository#Count",
        "properties": {
          "count": {
            "type": "number"
          }
        }
      },
      "Contact.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Contact.ScopeFilter"
      },
      "Contact.IncludeFilter.Items": {
        "title": "Contact.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "client",
              "createdByUser",
              "updatedByUser"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Contact.ScopeFilter"
          }
        }
      },
      "Contact.Filter": {
        "type": "object",
        "title": "Contact.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Contact.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "firstName": {
                    "type": "boolean"
                  },
                  "lastName": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "position": {
                    "type": "boolean"
                  },
                  "isPrimary": {
                    "type": "boolean"
                  },
                  "isBillingContact": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "notes": {
                    "type": "boolean"
                  },
                  "clientId": {
                    "type": "boolean"
                  },
                  "createdByUserId": {
                    "type": "boolean"
                  },
                  "updatedByUserId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "createdAt",
                    "updatedAt",
                    "firstName",
                    "lastName",
                    "email",
                    "phone",
                    "position",
                    "isPrimary",
                    "isBillingContact",
                    "isActive",
                    "notes",
                    "clientId",
                    "createdByUserId",
                    "updatedByUserId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Contact.Fields"
          },
          "include": {
            "title": "Contact.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Contact.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Contact>"
      },
      "Client.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Client.ScopeFilter"
      },
      "Client.IncludeFilter.Items": {
        "title": "Client.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "clientType",
              "status",
              "ownerUser",
              "createdByUser",
              "updatedByUser",
              "contacts",
              "events"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Client.ScopeFilter"
          }
        }
      },
      "Client.Filter": {
        "type": "object",
        "title": "Client.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "displayName": {
                    "type": "boolean"
                  },
                  "legalName": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "taxId": {
                    "type": "boolean"
                  },
                  "billingEmail": {
                    "type": "boolean"
                  },
                  "notes": {
                    "type": "boolean"
                  },
                  "isInvityPartner": {
                    "type": "boolean"
                  },
                  "guestDefaultSort": {
                    "type": "boolean"
                  },
                  "canManageStaff": {
                    "type": "boolean"
                  },
                  "maxStaffCount": {
                    "type": "boolean"
                  },
                  "clientTypeId": {
                    "type": "boolean"
                  },
                  "statusId": {
                    "type": "boolean"
                  },
                  "ownerUserId": {
                    "type": "boolean"
                  },
                  "createdByUserId": {
                    "type": "boolean"
                  },
                  "updatedByUserId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "createdAt",
                    "updatedAt",
                    "displayName",
                    "legalName",
                    "email",
                    "phone",
                    "taxId",
                    "billingEmail",
                    "notes",
                    "isInvityPartner",
                    "guestDefaultSort",
                    "canManageStaff",
                    "maxStaffCount",
                    "clientTypeId",
                    "statusId",
                    "ownerUserId",
                    "createdByUserId",
                    "updatedByUserId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Client.Fields"
          },
          "include": {
            "title": "Client.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Client.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Client>"
      },
      "Client.Filter1": {
        "type": "object",
        "title": "Client.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Client.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "displayName": {
                    "type": "boolean"
                  },
                  "legalName": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "taxId": {
                    "type": "boolean"
                  },
                  "billingEmail": {
                    "type": "boolean"
                  },
                  "notes": {
                    "type": "boolean"
                  },
                  "isInvityPartner": {
                    "type": "boolean"
                  },
                  "guestDefaultSort": {
                    "type": "boolean"
                  },
                  "canManageStaff": {
                    "type": "boolean"
                  },
                  "maxStaffCount": {
                    "type": "boolean"
                  },
                  "clientTypeId": {
                    "type": "boolean"
                  },
                  "statusId": {
                    "type": "boolean"
                  },
                  "ownerUserId": {
                    "type": "boolean"
                  },
                  "createdByUserId": {
                    "type": "boolean"
                  },
                  "updatedByUserId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "createdAt",
                    "updatedAt",
                    "displayName",
                    "legalName",
                    "email",
                    "phone",
                    "taxId",
                    "billingEmail",
                    "notes",
                    "isInvityPartner",
                    "guestDefaultSort",
                    "canManageStaff",
                    "maxStaffCount",
                    "clientTypeId",
                    "statusId",
                    "ownerUserId",
                    "createdByUserId",
                    "updatedByUserId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Client.Fields"
          },
          "include": {
            "title": "Client.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Client.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Client>"
      },
      "Contact.Filter1": {
        "type": "object",
        "title": "Contact.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "firstName": {
                    "type": "boolean"
                  },
                  "lastName": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "position": {
                    "type": "boolean"
                  },
                  "isPrimary": {
                    "type": "boolean"
                  },
                  "isBillingContact": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "notes": {
                    "type": "boolean"
                  },
                  "clientId": {
                    "type": "boolean"
                  },
                  "createdByUserId": {
                    "type": "boolean"
                  },
                  "updatedByUserId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "createdAt",
                    "updatedAt",
                    "firstName",
                    "lastName",
                    "email",
                    "phone",
                    "position",
                    "isPrimary",
                    "isBillingContact",
                    "isActive",
                    "notes",
                    "clientId",
                    "createdByUserId",
                    "updatedByUserId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Contact.Fields"
          },
          "include": {
            "title": "Contact.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Contact.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Contact>"
      },
      "EmailDeliveryLog.Filter": {
        "type": "object",
        "title": "EmailDeliveryLog.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "EmailDeliveryLog.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "recipient": {
                    "type": "boolean"
                  },
                  "subject": {
                    "type": "boolean"
                  },
                  "context": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "provider": {
                    "type": "boolean"
                  },
                  "sentAt": {
                    "type": "boolean"
                  },
                  "errorMessage": {
                    "type": "boolean"
                  },
                  "errorName": {
                    "type": "boolean"
                  },
                  "errorStack": {
                    "type": "boolean"
                  },
                  "metadata": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "createdAt",
                    "updatedAt",
                    "recipient",
                    "subject",
                    "context",
                    "status",
                    "provider",
                    "sentAt",
                    "errorMessage",
                    "errorName",
                    "errorStack",
                    "metadata"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "EmailDeliveryLog.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<EmailDeliveryLog>"
      },
      "Guest.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Guest.ScopeFilter"
      },
      "Guest.IncludeFilter.Items": {
        "title": "Guest.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "event",
              "status",
              "rsvpStatus",
              "createdByUser",
              "updatedByUser",
              "checkedInByUser",
              "passGroups"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Guest.ScopeFilter"
          }
        }
      },
      "Guest.Filter": {
        "type": "object",
        "title": "Guest.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Guest.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "displayName": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "passes": {
                    "type": "boolean"
                  },
                  "tableName": {
                    "type": "boolean"
                  },
                  "usesGroupedPasses": {
                    "type": "boolean"
                  },
                  "invitationToken": {
                    "type": "boolean"
                  },
                  "invitationViews": {
                    "type": "boolean"
                  },
                  "lastInvitationViewedAt": {
                    "type": "boolean"
                  },
                  "invitedAt": {
                    "type": "boolean"
                  },
                  "remindedAt": {
                    "type": "boolean"
                  },
                  "confirmedAt": {
                    "type": "boolean"
                  },
                  "rsvpRespondedAt": {
                    "type": "boolean"
                  },
                  "rsvpAttendingCount": {
                    "type": "boolean"
                  },
                  "rsvpMessage": {
                    "type": "boolean"
                  },
                  "archivedAt": {
                    "type": "boolean"
                  },
                  "checkedInAt": {
                    "type": "boolean"
                  },
                  "lastCheckInAt": {
                    "type": "boolean"
                  },
                  "checkedInPasses": {
                    "type": "boolean"
                  },
                  "extraCheckedInPasses": {
                    "type": "boolean"
                  },
                  "accessRegistrationType": {
                    "type": "boolean"
                  },
                  "accessExceptionReason": {
                    "type": "boolean"
                  },
                  "notes": {
                    "type": "boolean"
                  },
                  "eventId": {
                    "type": "boolean"
                  },
                  "statusId": {
                    "type": "boolean"
                  },
                  "rsvpStatusId": {
                    "type": "boolean"
                  },
                  "createdByUserId": {
                    "type": "boolean"
                  },
                  "updatedByUserId": {
                    "type": "boolean"
                  },
                  "checkedInByUserId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "createdAt",
                    "updatedAt",
                    "displayName",
                    "email",
                    "phone",
                    "passes",
                    "tableName",
                    "usesGroupedPasses",
                    "invitationToken",
                    "invitationViews",
                    "lastInvitationViewedAt",
                    "invitedAt",
                    "remindedAt",
                    "confirmedAt",
                    "rsvpRespondedAt",
                    "rsvpAttendingCount",
                    "rsvpMessage",
                    "archivedAt",
                    "checkedInAt",
                    "lastCheckInAt",
                    "checkedInPasses",
                    "extraCheckedInPasses",
                    "accessRegistrationType",
                    "accessExceptionReason",
                    "notes",
                    "eventId",
                    "statusId",
                    "rsvpStatusId",
                    "createdByUserId",
                    "updatedByUserId",
                    "checkedInByUserId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Guest.Fields"
          },
          "include": {
            "title": "Guest.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Guest.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Guest>"
      },
      "Event.Filter1": {
        "type": "object",
        "title": "Event.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "eventDate": {
                    "type": "boolean"
                  },
                  "timezone": {
                    "type": "boolean"
                  },
                  "venueName": {
                    "type": "boolean"
                  },
                  "venueAddress": {
                    "type": "boolean"
                  },
                  "estimatedGuests": {
                    "type": "boolean"
                  },
                  "notes": {
                    "type": "boolean"
                  },
                  "whatsappInvitationMessage": {
                    "type": "boolean"
                  },
                  "whatsappReminderMessage": {
                    "type": "boolean"
                  },
                  "isActive": {
                    "type": "boolean"
                  },
                  "clientId": {
                    "type": "boolean"
                  },
                  "eventTypeId": {
                    "type": "boolean"
                  },
                  "statusId": {
                    "type": "boolean"
                  },
                  "eventPlanId": {
                    "type": "boolean"
                  },
                  "assignedPlannerUserId": {
                    "type": "boolean"
                  },
                  "createdByUserId": {
                    "type": "boolean"
                  },
                  "updatedByUserId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "createdAt",
                    "updatedAt",
                    "name",
                    "description",
                    "eventDate",
                    "timezone",
                    "venueName",
                    "venueAddress",
                    "estimatedGuests",
                    "notes",
                    "whatsappInvitationMessage",
                    "whatsappReminderMessage",
                    "isActive",
                    "clientId",
                    "eventTypeId",
                    "statusId",
                    "eventPlanId",
                    "assignedPlannerUserId",
                    "createdByUserId",
                    "updatedByUserId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Event.Fields"
          },
          "include": {
            "title": "Event.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Event.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Event>"
      },
      "Guest.Filter1": {
        "type": "object",
        "title": "Guest.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "displayName": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "phone": {
                    "type": "boolean"
                  },
                  "passes": {
                    "type": "boolean"
                  },
                  "tableName": {
                    "type": "boolean"
                  },
                  "usesGroupedPasses": {
                    "type": "boolean"
                  },
                  "invitationToken": {
                    "type": "boolean"
                  },
                  "invitationViews": {
                    "type": "boolean"
                  },
                  "lastInvitationViewedAt": {
                    "type": "boolean"
                  },
                  "invitedAt": {
                    "type": "boolean"
                  },
                  "remindedAt": {
                    "type": "boolean"
                  },
                  "confirmedAt": {
                    "type": "boolean"
                  },
                  "rsvpRespondedAt": {
                    "type": "boolean"
                  },
                  "rsvpAttendingCount": {
                    "type": "boolean"
                  },
                  "rsvpMessage": {
                    "type": "boolean"
                  },
                  "archivedAt": {
                    "type": "boolean"
                  },
                  "checkedInAt": {
                    "type": "boolean"
                  },
                  "lastCheckInAt": {
                    "type": "boolean"
                  },
                  "checkedInPasses": {
                    "type": "boolean"
                  },
                  "extraCheckedInPasses": {
                    "type": "boolean"
                  },
                  "accessRegistrationType": {
                    "type": "boolean"
                  },
                  "accessExceptionReason": {
                    "type": "boolean"
                  },
                  "notes": {
                    "type": "boolean"
                  },
                  "eventId": {
                    "type": "boolean"
                  },
                  "statusId": {
                    "type": "boolean"
                  },
                  "rsvpStatusId": {
                    "type": "boolean"
                  },
                  "createdByUserId": {
                    "type": "boolean"
                  },
                  "updatedByUserId": {
                    "type": "boolean"
                  },
                  "checkedInByUserId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "createdAt",
                    "updatedAt",
                    "displayName",
                    "email",
                    "phone",
                    "passes",
                    "tableName",
                    "usesGroupedPasses",
                    "invitationToken",
                    "invitationViews",
                    "lastInvitationViewedAt",
                    "invitedAt",
                    "remindedAt",
                    "confirmedAt",
                    "rsvpRespondedAt",
                    "rsvpAttendingCount",
                    "rsvpMessage",
                    "archivedAt",
                    "checkedInAt",
                    "lastCheckInAt",
                    "checkedInPasses",
                    "extraCheckedInPasses",
                    "accessRegistrationType",
                    "accessExceptionReason",
                    "notes",
                    "eventId",
                    "statusId",
                    "rsvpStatusId",
                    "createdByUserId",
                    "updatedByUserId",
                    "checkedInByUserId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Guest.Fields"
          },
          "include": {
            "title": "Guest.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Guest.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Guest>"
      },
      "Invitation.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Invitation.ScopeFilter"
      },
      "Invitation.IncludeFilter.Items": {
        "title": "Invitation.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "event",
              "category",
              "eventType",
              "status",
              "createdByUser",
              "updatedByUser",
              "sections",
              "assets"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Invitation.ScopeFilter"
          }
        }
      },
      "Invitation.Filter": {
        "type": "object",
        "title": "Invitation.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "slug": {
                    "type": "boolean"
                  },
                  "templateKey": {
                    "type": "boolean"
                  },
                  "eventLogoUrl": {
                    "type": "boolean"
                  },
                  "honoreeNames": {
                    "type": "boolean"
                  },
                  "heroImageUrls": {
                    "type": "boolean"
                  },
                  "dedicationPhrase": {
                    "type": "boolean"
                  },
                  "dedicationImageUrl": {
                    "type": "boolean"
                  },
                  "countdownDate": {
                    "type": "boolean"
                  },
                  "parentsNames": {
                    "type": "boolean"
                  },
                  "godparentsNames": {
                    "type": "boolean"
                  },
                  "ceremonyVenueName": {
                    "type": "boolean"
                  },
                  "ceremonyVenueAddress": {
                    "type": "boolean"
                  },
                  "ceremonyMapUrl": {
                    "type": "boolean"
                  },
                  "ceremonyTime": {
                    "type": "boolean"
                  },
                  "receptionVenueName": {
                    "type": "boolean"
                  },
                  "receptionVenueAddress": {
                    "type": "boolean"
                  },
                  "receptionMapUrl": {
                    "type": "boolean"
                  },
                  "receptionTime": {
                    "type": "boolean"
                  },
                  "giftRegistryCode": {
                    "type": "boolean"
                  },
                  "giftRegistries": {
                    "type": "boolean"
                  },
                  "passImageUrl": {
                    "type": "boolean"
                  },
                  "designNotes": {
                    "type": "boolean"
                  },
                  "designTheme": {
                    "type": "boolean"
                  },
                  "primaryColors": {
                    "type": "boolean"
                  },
                  "supportContacts": {
                    "type": "boolean"
                  },
                  "dressCode": {
                    "type": "boolean"
                  },
                  "rsvpDeadline": {
                    "type": "boolean"
                  },
                  "itineraryItems": {
                    "type": "boolean"
                  },
                  "closingPhrase": {
                    "type": "boolean"
                  },
                  "shareTitle": {
                    "type": "boolean"
                  },
                  "shareDescription": {
                    "type": "boolean"
                  },
                  "shareImageUrl": {
                    "type": "boolean"
                  },
                  "theme": {
                    "type": "boolean"
                  },
                  "settings": {
                    "type": "boolean"
                  },
                  "publishedAt": {
                    "type": "boolean"
                  },
                  "eventId": {
                    "type": "boolean"
                  },
                  "categoryId": {
                    "type": "boolean"
                  },
                  "eventTypeId": {
                    "type": "boolean"
                  },
                  "statusId": {
                    "type": "boolean"
                  },
                  "createdByUserId": {
                    "type": "boolean"
                  },
                  "updatedByUserId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "createdAt",
                    "updatedAt",
                    "name",
                    "slug",
                    "templateKey",
                    "eventLogoUrl",
                    "honoreeNames",
                    "heroImageUrls",
                    "dedicationPhrase",
                    "dedicationImageUrl",
                    "countdownDate",
                    "parentsNames",
                    "godparentsNames",
                    "ceremonyVenueName",
                    "ceremonyVenueAddress",
                    "ceremonyMapUrl",
                    "ceremonyTime",
                    "receptionVenueName",
                    "receptionVenueAddress",
                    "receptionMapUrl",
                    "receptionTime",
                    "giftRegistryCode",
                    "giftRegistries",
                    "passImageUrl",
                    "designNotes",
                    "designTheme",
                    "primaryColors",
                    "supportContacts",
                    "dressCode",
                    "rsvpDeadline",
                    "itineraryItems",
                    "closingPhrase",
                    "shareTitle",
                    "shareDescription",
                    "shareImageUrl",
                    "theme",
                    "settings",
                    "publishedAt",
                    "eventId",
                    "categoryId",
                    "eventTypeId",
                    "statusId",
                    "createdByUserId",
                    "updatedByUserId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Invitation.Fields"
          },
          "include": {
            "title": "Invitation.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Invitation.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Invitation>"
      },
      "Invitation.Filter1": {
        "type": "object",
        "title": "Invitation.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Invitation.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "slug": {
                    "type": "boolean"
                  },
                  "templateKey": {
                    "type": "boolean"
                  },
                  "eventLogoUrl": {
                    "type": "boolean"
                  },
                  "honoreeNames": {
                    "type": "boolean"
                  },
                  "heroImageUrls": {
                    "type": "boolean"
                  },
                  "dedicationPhrase": {
                    "type": "boolean"
                  },
                  "dedicationImageUrl": {
                    "type": "boolean"
                  },
                  "countdownDate": {
                    "type": "boolean"
                  },
                  "parentsNames": {
                    "type": "boolean"
                  },
                  "godparentsNames": {
                    "type": "boolean"
                  },
                  "ceremonyVenueName": {
                    "type": "boolean"
                  },
                  "ceremonyVenueAddress": {
                    "type": "boolean"
                  },
                  "ceremonyMapUrl": {
                    "type": "boolean"
                  },
                  "ceremonyTime": {
                    "type": "boolean"
                  },
                  "receptionVenueName": {
                    "type": "boolean"
                  },
                  "receptionVenueAddress": {
                    "type": "boolean"
                  },
                  "receptionMapUrl": {
                    "type": "boolean"
                  },
                  "receptionTime": {
                    "type": "boolean"
                  },
                  "giftRegistryCode": {
                    "type": "boolean"
                  },
                  "giftRegistries": {
                    "type": "boolean"
                  },
                  "passImageUrl": {
                    "type": "boolean"
                  },
                  "designNotes": {
                    "type": "boolean"
                  },
                  "designTheme": {
                    "type": "boolean"
                  },
                  "primaryColors": {
                    "type": "boolean"
                  },
                  "supportContacts": {
                    "type": "boolean"
                  },
                  "dressCode": {
                    "type": "boolean"
                  },
                  "rsvpDeadline": {
                    "type": "boolean"
                  },
                  "itineraryItems": {
                    "type": "boolean"
                  },
                  "closingPhrase": {
                    "type": "boolean"
                  },
                  "shareTitle": {
                    "type": "boolean"
                  },
                  "shareDescription": {
                    "type": "boolean"
                  },
                  "shareImageUrl": {
                    "type": "boolean"
                  },
                  "theme": {
                    "type": "boolean"
                  },
                  "settings": {
                    "type": "boolean"
                  },
                  "publishedAt": {
                    "type": "boolean"
                  },
                  "eventId": {
                    "type": "boolean"
                  },
                  "categoryId": {
                    "type": "boolean"
                  },
                  "eventTypeId": {
                    "type": "boolean"
                  },
                  "statusId": {
                    "type": "boolean"
                  },
                  "createdByUserId": {
                    "type": "boolean"
                  },
                  "updatedByUserId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "createdAt",
                    "updatedAt",
                    "name",
                    "slug",
                    "templateKey",
                    "eventLogoUrl",
                    "honoreeNames",
                    "heroImageUrls",
                    "dedicationPhrase",
                    "dedicationImageUrl",
                    "countdownDate",
                    "parentsNames",
                    "godparentsNames",
                    "ceremonyVenueName",
                    "ceremonyVenueAddress",
                    "ceremonyMapUrl",
                    "ceremonyTime",
                    "receptionVenueName",
                    "receptionVenueAddress",
                    "receptionMapUrl",
                    "receptionTime",
                    "giftRegistryCode",
                    "giftRegistries",
                    "passImageUrl",
                    "designNotes",
                    "designTheme",
                    "primaryColors",
                    "supportContacts",
                    "dressCode",
                    "rsvpDeadline",
                    "itineraryItems",
                    "closingPhrase",
                    "shareTitle",
                    "shareDescription",
                    "shareImageUrl",
                    "theme",
                    "settings",
                    "publishedAt",
                    "eventId",
                    "categoryId",
                    "eventTypeId",
                    "statusId",
                    "createdByUserId",
                    "updatedByUserId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Invitation.Fields"
          },
          "include": {
            "title": "Invitation.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Invitation.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Invitation>"
      },
      "PingResponse": {
        "type": "object",
        "title": "PingResponse",
        "properties": {
          "greeting": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "headers": {
            "type": "object",
            "properties": {
              "Content-Type": {
                "type": "string"
              }
            },
            "additionalProperties": true
          }
        }
      },
      "SalesNote.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "SalesNote.ScopeFilter"
      },
      "SalesNote.IncludeFilter.Items": {
        "title": "SalesNote.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "client",
              "event",
              "status",
              "createdByUser",
              "updatedByUser",
              "items",
              "payments"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/SalesNote.ScopeFilter"
          }
        }
      },
      "SalesNote.Filter": {
        "type": "object",
        "title": "SalesNote.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "SalesNote.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "folio": {
                    "type": "boolean"
                  },
                  "saleDate": {
                    "type": "boolean"
                  },
                  "paymentMode": {
                    "type": "boolean"
                  },
                  "subtotal": {
                    "type": "boolean"
                  },
                  "discountAmount": {
                    "type": "boolean"
                  },
                  "total": {
                    "type": "boolean"
                  },
                  "paidAmount": {
                    "type": "boolean"
                  },
                  "balanceDue": {
                    "type": "boolean"
                  },
                  "customerNotes": {
                    "type": "boolean"
                  },
                  "internalNotes": {
                    "type": "boolean"
                  },
                  "termsAndConditions": {
                    "type": "boolean"
                  },
                  "paidAt": {
                    "type": "boolean"
                  },
                  "cancelledAt": {
                    "type": "boolean"
                  },
                  "clientId": {
                    "type": "boolean"
                  },
                  "eventId": {
                    "type": "boolean"
                  },
                  "statusId": {
                    "type": "boolean"
                  },
                  "createdByUserId": {
                    "type": "boolean"
                  },
                  "updatedByUserId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "createdAt",
                    "updatedAt",
                    "folio",
                    "saleDate",
                    "paymentMode",
                    "subtotal",
                    "discountAmount",
                    "total",
                    "paidAmount",
                    "balanceDue",
                    "customerNotes",
                    "internalNotes",
                    "termsAndConditions",
                    "paidAt",
                    "cancelledAt",
                    "clientId",
                    "eventId",
                    "statusId",
                    "createdByUserId",
                    "updatedByUserId"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "SalesNote.Fields"
          },
          "include": {
            "title": "SalesNote.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/SalesNote.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<SalesNote>"
      },
      "User.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "User.ScopeFilter"
      },
      "User.IncludeFilter.Items": {
        "title": "User.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string",
            "enum": [
              "credentials"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/User.ScopeFilter"
          }
        }
      },
      "User.Filter": {
        "type": "object",
        "title": "User.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "User.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "email": {
                    "type": "boolean"
                  },
                  "firstName": {
                    "type": "boolean"
                  },
                  "lastName": {
                    "type": "boolean"
                  },
                  "status": {
                    "type": "boolean"
                  },
                  "role": {
                    "type": "boolean"
                  },
                  "authProvider": {
                    "type": "boolean"
                  },
                  "googleId": {
                    "type": "boolean"
                  },
                  "avatarUrl": {
                    "type": "boolean"
                  },
                  "emailVerifiedAt": {
                    "type": "boolean"
                  },
                  "lastLoginAt": {
                    "type": "boolean"
                  },
                  "passwordSetAt": {
                    "type": "boolean"
                  },
                  "welcomeEmailSentAt": {
                    "type": "boolean"
                  },
                  "lastPasswordResetAt": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "id",
                    "createdAt",
                    "updatedAt",
                    "email",
                    "firstName",
                    "lastName",
                    "status",
                    "role",
                    "authProvider",
                    "googleId",
                    "avatarUrl",
                    "emailVerifiedAt",
                    "lastLoginAt",
                    "passwordSetAt",
                    "welcomeEmailSentAt",
                    "lastPasswordResetAt"
                  ],
                  "example": "id"
                },
                "uniqueItems": true
              }
            ],
            "title": "User.Fields"
          },
          "include": {
            "title": "User.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/User.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<User>"
      }
    }
  }
}