{
  "openapi": "3.1.0",
  "info": {
    "title": "Voyant Operator API",
    "version": "0.0.0",
    "description": "Generated from the composed operator app. Do not edit by hand."
  },
  "servers": [
    {
      "url": "/",
      "description": "This deployment (same origin)"
    }
  ],
  "components": {
    "schemas": {
      "CatalogSearchFilter": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": ["eq"]
              },
              "field": {
                "type": "string",
                "minLength": 1
              },
              "value": {
                "anyOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  }
                ]
              }
            },
            "required": ["kind", "field", "value"]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": ["in"]
              },
              "field": {
                "type": "string",
                "minLength": 1
              },
              "values": {
                "type": "array",
                "items": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "number"
                    }
                  ]
                }
              }
            },
            "required": ["kind", "field", "values"]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": ["range"]
              },
              "field": {
                "type": "string",
                "minLength": 1
              },
              "gte": {
                "type": "number"
              },
              "lte": {
                "type": "number"
              }
            },
            "required": ["kind", "field"]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": ["and"]
              },
              "clauses": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CatalogSearchFilter"
                }
              }
            },
            "required": ["kind", "clauses"]
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": ["or"]
              },
              "clauses": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CatalogSearchFilter"
                }
              }
            },
            "required": ["kind", "clauses"]
          }
        ]
      }
    },
    "parameters": {}
  },
  "paths": {
    "/v1/admin/notifications/templates": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["email", "sms"]
            },
            "required": false,
            "name": "channel",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "provider",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["draft", "active", "archived"]
            },
            "required": false,
            "name": "status",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "search",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated notification templates",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "slug": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "channel": {
                            "type": "string",
                            "enum": ["email", "sms"]
                          },
                          "provider": {
                            "type": ["string", "null"]
                          },
                          "status": {
                            "type": "string",
                            "enum": ["draft", "active", "archived"]
                          },
                          "subjectTemplate": {
                            "type": ["string", "null"]
                          },
                          "htmlTemplate": {
                            "type": ["string", "null"]
                          },
                          "textTemplate": {
                            "type": ["string", "null"]
                          },
                          "fromAddress": {
                            "type": ["string", "null"]
                          },
                          "isSystem": {
                            "type": "boolean"
                          },
                          "metadata": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "slug",
                          "name",
                          "channel",
                          "provider",
                          "status",
                          "subjectTemplate",
                          "htmlTemplate",
                          "textTemplate",
                          "fromAddress",
                          "isSystem",
                          "metadata",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          }
        },
        "operationId": "getAdminNotificationsTemplates",
        "summary": "GET /v1/admin/notifications/templates",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      },
      "post": {
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "slug": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "channel": {
                    "type": "string",
                    "enum": ["email", "sms"]
                  },
                  "provider": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "status": {
                    "type": "string",
                    "enum": ["draft", "active", "archived"],
                    "default": "draft"
                  },
                  "subjectTemplate": {
                    "type": ["string", "null"],
                    "maxLength": 2000
                  },
                  "htmlTemplate": {
                    "type": ["string", "null"]
                  },
                  "textTemplate": {
                    "type": ["string", "null"]
                  },
                  "fromAddress": {
                    "type": ["string", "null"],
                    "maxLength": 500
                  },
                  "isSystem": {
                    "type": "boolean",
                    "default": false
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                },
                "required": ["slug", "name", "channel"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created notification template",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "channel": {
                          "type": "string",
                          "enum": ["email", "sms"]
                        },
                        "provider": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["draft", "active", "archived"]
                        },
                        "subjectTemplate": {
                          "type": ["string", "null"]
                        },
                        "htmlTemplate": {
                          "type": ["string", "null"]
                        },
                        "textTemplate": {
                          "type": ["string", "null"]
                        },
                        "fromAddress": {
                          "type": ["string", "null"]
                        },
                        "isSystem": {
                          "type": "boolean"
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "slug",
                        "name",
                        "channel",
                        "provider",
                        "status",
                        "subjectTemplate",
                        "htmlTemplate",
                        "textTemplate",
                        "fromAddress",
                        "isSystem",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminNotificationsTemplates",
        "summary": "POST /v1/admin/notifications/templates",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/templates/{id}": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A notification template by id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "channel": {
                          "type": "string",
                          "enum": ["email", "sms"]
                        },
                        "provider": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["draft", "active", "archived"]
                        },
                        "subjectTemplate": {
                          "type": ["string", "null"]
                        },
                        "htmlTemplate": {
                          "type": ["string", "null"]
                        },
                        "textTemplate": {
                          "type": ["string", "null"]
                        },
                        "fromAddress": {
                          "type": ["string", "null"]
                        },
                        "isSystem": {
                          "type": "boolean"
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "slug",
                        "name",
                        "channel",
                        "provider",
                        "status",
                        "subjectTemplate",
                        "htmlTemplate",
                        "textTemplate",
                        "fromAddress",
                        "isSystem",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Notification template not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminNotificationsTemplatesById",
        "summary": "GET /v1/admin/notifications/templates/{id}",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      },
      "patch": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "slug": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "channel": {
                    "type": "string",
                    "enum": ["email", "sms"]
                  },
                  "provider": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "status": {
                    "type": "string",
                    "enum": ["draft", "active", "archived"],
                    "default": "draft"
                  },
                  "subjectTemplate": {
                    "type": ["string", "null"],
                    "maxLength": 2000
                  },
                  "htmlTemplate": {
                    "type": ["string", "null"]
                  },
                  "textTemplate": {
                    "type": ["string", "null"]
                  },
                  "fromAddress": {
                    "type": ["string", "null"],
                    "maxLength": 500
                  },
                  "isSystem": {
                    "type": "boolean",
                    "default": false
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated notification template",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "channel": {
                          "type": "string",
                          "enum": ["email", "sms"]
                        },
                        "provider": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["draft", "active", "archived"]
                        },
                        "subjectTemplate": {
                          "type": ["string", "null"]
                        },
                        "htmlTemplate": {
                          "type": ["string", "null"]
                        },
                        "textTemplate": {
                          "type": ["string", "null"]
                        },
                        "fromAddress": {
                          "type": ["string", "null"]
                        },
                        "isSystem": {
                          "type": "boolean"
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "slug",
                        "name",
                        "channel",
                        "provider",
                        "status",
                        "subjectTemplate",
                        "htmlTemplate",
                        "textTemplate",
                        "fromAddress",
                        "isSystem",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Notification template not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "patchAdminNotificationsTemplatesById",
        "summary": "PATCH /v1/admin/notifications/templates/{id}",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      },
      "delete": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "404": {
            "description": "Notification template not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "deleteAdminNotificationsTemplatesById",
        "summary": "DELETE /v1/admin/notifications/templates/{id}",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/preview": {
      "post": {
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "channel": {
                    "type": "string",
                    "enum": ["email", "sms"]
                  },
                  "provider": {
                    "type": ["string", "null"]
                  },
                  "subjectTemplate": {
                    "type": ["string", "null"],
                    "maxLength": 2000
                  },
                  "htmlTemplate": {
                    "type": ["string", "null"]
                  },
                  "textTemplate": {
                    "type": ["string", "null"]
                  },
                  "fromAddress": {
                    "type": ["string", "null"],
                    "maxLength": 500
                  },
                  "data": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                },
                "required": ["channel"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The rendered template preview",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "channel": {
                          "type": "string",
                          "enum": ["email", "sms"]
                        },
                        "provider": {
                          "type": ["string", "null"]
                        },
                        "fromAddress": {
                          "type": ["string", "null"]
                        },
                        "subject": {
                          "type": ["string", "null"]
                        },
                        "html": {
                          "type": ["string", "null"]
                        },
                        "text": {
                          "type": ["string", "null"]
                        }
                      },
                      "required": ["channel", "provider", "fromAddress", "subject", "html", "text"]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminNotificationsPreview",
        "summary": "POST /v1/admin/notifications/preview",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/deliveries": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["email", "sms"]
            },
            "required": false,
            "name": "channel",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "provider",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["pending", "sent", "failed", "cancelled"]
            },
            "required": false,
            "name": "status",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "templateSlug",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "booking",
                "booking_payment_schedule",
                "booking_guarantee",
                "invoice",
                "payment_session",
                "person",
                "organization",
                "other"
              ]
            },
            "required": false,
            "name": "targetType",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "targetId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "bookingId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "invoiceId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "paymentSessionId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "personId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "organizationId",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated notification deliveries",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "templateId": {
                            "type": ["string", "null"]
                          },
                          "templateSlug": {
                            "type": ["string", "null"]
                          },
                          "targetType": {
                            "type": "string",
                            "enum": [
                              "booking",
                              "booking_payment_schedule",
                              "booking_guarantee",
                              "invoice",
                              "payment_session",
                              "person",
                              "organization",
                              "other"
                            ]
                          },
                          "targetId": {
                            "type": ["string", "null"]
                          },
                          "personId": {
                            "type": ["string", "null"]
                          },
                          "organizationId": {
                            "type": ["string", "null"]
                          },
                          "bookingId": {
                            "type": ["string", "null"]
                          },
                          "invoiceId": {
                            "type": ["string", "null"]
                          },
                          "paymentSessionId": {
                            "type": ["string", "null"]
                          },
                          "channel": {
                            "type": "string",
                            "enum": ["email", "sms"]
                          },
                          "provider": {
                            "type": "string"
                          },
                          "providerMessageId": {
                            "type": ["string", "null"]
                          },
                          "status": {
                            "type": "string",
                            "enum": ["pending", "sent", "failed", "cancelled"]
                          },
                          "toAddress": {
                            "type": "string"
                          },
                          "fromAddress": {
                            "type": ["string", "null"]
                          },
                          "subject": {
                            "type": ["string", "null"]
                          },
                          "htmlBody": {
                            "type": ["string", "null"]
                          },
                          "textBody": {
                            "type": ["string", "null"]
                          },
                          "payloadData": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "metadata": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "errorMessage": {
                            "type": ["string", "null"]
                          },
                          "scheduledFor": {
                            "type": ["string", "null"]
                          },
                          "sentAt": {
                            "type": ["string", "null"]
                          },
                          "failedAt": {
                            "type": ["string", "null"]
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "templateId",
                          "templateSlug",
                          "targetType",
                          "targetId",
                          "personId",
                          "organizationId",
                          "bookingId",
                          "invoiceId",
                          "paymentSessionId",
                          "channel",
                          "provider",
                          "providerMessageId",
                          "status",
                          "toAddress",
                          "fromAddress",
                          "subject",
                          "htmlBody",
                          "textBody",
                          "payloadData",
                          "metadata",
                          "errorMessage",
                          "scheduledFor",
                          "sentAt",
                          "failedAt",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          }
        },
        "operationId": "getAdminNotificationsDeliveries",
        "summary": "GET /v1/admin/notifications/deliveries",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/deliveries/{id}": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A notification delivery by id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "templateId": {
                          "type": ["string", "null"]
                        },
                        "templateSlug": {
                          "type": ["string", "null"]
                        },
                        "targetType": {
                          "type": "string",
                          "enum": [
                            "booking",
                            "booking_payment_schedule",
                            "booking_guarantee",
                            "invoice",
                            "payment_session",
                            "person",
                            "organization",
                            "other"
                          ]
                        },
                        "targetId": {
                          "type": ["string", "null"]
                        },
                        "personId": {
                          "type": ["string", "null"]
                        },
                        "organizationId": {
                          "type": ["string", "null"]
                        },
                        "bookingId": {
                          "type": ["string", "null"]
                        },
                        "invoiceId": {
                          "type": ["string", "null"]
                        },
                        "paymentSessionId": {
                          "type": ["string", "null"]
                        },
                        "channel": {
                          "type": "string",
                          "enum": ["email", "sms"]
                        },
                        "provider": {
                          "type": "string"
                        },
                        "providerMessageId": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["pending", "sent", "failed", "cancelled"]
                        },
                        "toAddress": {
                          "type": "string"
                        },
                        "fromAddress": {
                          "type": ["string", "null"]
                        },
                        "subject": {
                          "type": ["string", "null"]
                        },
                        "htmlBody": {
                          "type": ["string", "null"]
                        },
                        "textBody": {
                          "type": ["string", "null"]
                        },
                        "payloadData": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "errorMessage": {
                          "type": ["string", "null"]
                        },
                        "scheduledFor": {
                          "type": ["string", "null"]
                        },
                        "sentAt": {
                          "type": ["string", "null"]
                        },
                        "failedAt": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "templateId",
                        "templateSlug",
                        "targetType",
                        "targetId",
                        "personId",
                        "organizationId",
                        "bookingId",
                        "invoiceId",
                        "paymentSessionId",
                        "channel",
                        "provider",
                        "providerMessageId",
                        "status",
                        "toAddress",
                        "fromAddress",
                        "subject",
                        "htmlBody",
                        "textBody",
                        "payloadData",
                        "metadata",
                        "errorMessage",
                        "scheduledFor",
                        "sentAt",
                        "failedAt",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Notification delivery not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminNotificationsDeliveriesById",
        "summary": "GET /v1/admin/notifications/deliveries/{id}",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/deliveries/{id}/resend": {
      "post": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "201": {
            "description": "The resent notification delivery",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "templateId": {
                          "type": ["string", "null"]
                        },
                        "templateSlug": {
                          "type": ["string", "null"]
                        },
                        "targetType": {
                          "type": "string",
                          "enum": [
                            "booking",
                            "booking_payment_schedule",
                            "booking_guarantee",
                            "invoice",
                            "payment_session",
                            "person",
                            "organization",
                            "other"
                          ]
                        },
                        "targetId": {
                          "type": ["string", "null"]
                        },
                        "personId": {
                          "type": ["string", "null"]
                        },
                        "organizationId": {
                          "type": ["string", "null"]
                        },
                        "bookingId": {
                          "type": ["string", "null"]
                        },
                        "invoiceId": {
                          "type": ["string", "null"]
                        },
                        "paymentSessionId": {
                          "type": ["string", "null"]
                        },
                        "channel": {
                          "type": "string",
                          "enum": ["email", "sms"]
                        },
                        "provider": {
                          "type": "string"
                        },
                        "providerMessageId": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["pending", "sent", "failed", "cancelled"]
                        },
                        "toAddress": {
                          "type": "string"
                        },
                        "fromAddress": {
                          "type": ["string", "null"]
                        },
                        "subject": {
                          "type": ["string", "null"]
                        },
                        "htmlBody": {
                          "type": ["string", "null"]
                        },
                        "textBody": {
                          "type": ["string", "null"]
                        },
                        "payloadData": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "errorMessage": {
                          "type": ["string", "null"]
                        },
                        "scheduledFor": {
                          "type": ["string", "null"]
                        },
                        "sentAt": {
                          "type": ["string", "null"]
                        },
                        "failedAt": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "templateId",
                        "templateSlug",
                        "targetType",
                        "targetId",
                        "personId",
                        "organizationId",
                        "bookingId",
                        "invoiceId",
                        "paymentSessionId",
                        "channel",
                        "provider",
                        "providerMessageId",
                        "status",
                        "toAddress",
                        "fromAddress",
                        "subject",
                        "htmlBody",
                        "textBody",
                        "payloadData",
                        "metadata",
                        "errorMessage",
                        "scheduledFor",
                        "sentAt",
                        "failedAt",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Notification delivery not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminNotificationsDeliveriesByIdResend",
        "summary": "POST /v1/admin/notifications/deliveries/{id}/resend",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/reminder-rules": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["draft", "active", "archived"]
            },
            "required": false,
            "name": "status",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "booking_confirmed",
                "booking_payment_schedule",
                "payment_complete",
                "booking_cancelled_non_payment",
                "invoice"
              ]
            },
            "required": false,
            "name": "targetType",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["email", "sms"]
            },
            "required": false,
            "name": "channel",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "search",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated notification reminder rules",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "slug": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": ["draft", "active", "archived"]
                          },
                          "targetType": {
                            "type": "string",
                            "enum": [
                              "booking_confirmed",
                              "booking_payment_schedule",
                              "payment_complete",
                              "booking_cancelled_non_payment",
                              "invoice"
                            ]
                          },
                          "channel": {
                            "type": "string",
                            "enum": ["email", "sms"]
                          },
                          "provider": {
                            "type": ["string", "null"]
                          },
                          "templateId": {
                            "type": ["string", "null"]
                          },
                          "templateSlug": {
                            "type": ["string", "null"]
                          },
                          "priority": {
                            "type": "integer"
                          },
                          "suppressionGroup": {
                            "type": ["string", "null"]
                          },
                          "isSystem": {
                            "type": "boolean"
                          },
                          "metadata": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "slug",
                          "name",
                          "status",
                          "targetType",
                          "channel",
                          "provider",
                          "templateId",
                          "templateSlug",
                          "priority",
                          "suppressionGroup",
                          "isSystem",
                          "metadata",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          }
        },
        "operationId": "getAdminNotificationsReminderRules",
        "summary": "GET /v1/admin/notifications/reminder-rules",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      },
      "post": {
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "slug": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "status": {
                    "type": "string",
                    "enum": ["draft", "active", "archived"],
                    "default": "draft"
                  },
                  "targetType": {
                    "type": "string",
                    "enum": [
                      "booking_confirmed",
                      "booking_payment_schedule",
                      "payment_complete",
                      "booking_cancelled_non_payment",
                      "invoice"
                    ]
                  },
                  "channel": {
                    "type": "string",
                    "enum": ["email", "sms"]
                  },
                  "provider": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "templateId": {
                    "type": ["string", "null"]
                  },
                  "templateSlug": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "priority": {
                    "type": ["integer", "null"],
                    "minimum": 0,
                    "maximum": 1000,
                    "default": 0
                  },
                  "suppressionGroup": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "isSystem": {
                    "type": "boolean",
                    "default": false
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                },
                "required": ["slug", "name", "targetType", "channel"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created notification reminder rule",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string",
                          "enum": ["draft", "active", "archived"]
                        },
                        "targetType": {
                          "type": "string",
                          "enum": [
                            "booking_confirmed",
                            "booking_payment_schedule",
                            "payment_complete",
                            "booking_cancelled_non_payment",
                            "invoice"
                          ]
                        },
                        "channel": {
                          "type": "string",
                          "enum": ["email", "sms"]
                        },
                        "provider": {
                          "type": ["string", "null"]
                        },
                        "templateId": {
                          "type": ["string", "null"]
                        },
                        "templateSlug": {
                          "type": ["string", "null"]
                        },
                        "priority": {
                          "type": "integer"
                        },
                        "suppressionGroup": {
                          "type": ["string", "null"]
                        },
                        "isSystem": {
                          "type": "boolean"
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "slug",
                        "name",
                        "status",
                        "targetType",
                        "channel",
                        "provider",
                        "templateId",
                        "templateSlug",
                        "priority",
                        "suppressionGroup",
                        "isSystem",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminNotificationsReminderRules",
        "summary": "POST /v1/admin/notifications/reminder-rules",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/reminder-rules/compose": {
      "post": {
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "rule": {
                    "type": "object",
                    "properties": {
                      "slug": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      },
                      "name": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      },
                      "status": {
                        "type": "string",
                        "enum": ["draft", "active", "archived"],
                        "default": "draft"
                      },
                      "targetType": {
                        "type": "string",
                        "enum": [
                          "booking_confirmed",
                          "booking_payment_schedule",
                          "payment_complete",
                          "booking_cancelled_non_payment",
                          "invoice"
                        ]
                      },
                      "channel": {
                        "type": "string",
                        "enum": ["email", "sms"]
                      },
                      "provider": {
                        "type": ["string", "null"],
                        "maxLength": 255
                      },
                      "templateId": {
                        "type": ["string", "null"]
                      },
                      "templateSlug": {
                        "type": ["string", "null"],
                        "maxLength": 255
                      },
                      "priority": {
                        "type": ["integer", "null"],
                        "minimum": 0,
                        "maximum": 1000,
                        "default": 0
                      },
                      "suppressionGroup": {
                        "type": ["string", "null"],
                        "maxLength": 255
                      },
                      "isSystem": {
                        "type": "boolean",
                        "default": false
                      },
                      "metadata": {
                        "type": ["object", "null"],
                        "additionalProperties": {}
                      }
                    },
                    "required": ["slug", "name", "targetType", "channel"]
                  },
                  "stages": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": ["string", "null"],
                          "maxLength": 255
                        },
                        "orderIndex": {
                          "type": ["integer", "null"],
                          "minimum": 0,
                          "maximum": 1000
                        },
                        "anchor": {
                          "type": "string",
                          "enum": [
                            "due_date",
                            "booking_created_at",
                            "departure_date",
                            "invoice_issued_at",
                            "last_send_at"
                          ]
                        },
                        "windowStartDays": {
                          "type": ["integer", "null"],
                          "minimum": -3650,
                          "maximum": 3650
                        },
                        "windowEndDays": {
                          "type": ["integer", "null"],
                          "minimum": -3650,
                          "maximum": 3650
                        },
                        "cadenceKind": {
                          "type": "string",
                          "enum": ["once", "every_n_days", "escalating"]
                        },
                        "cadenceEveryDays": {
                          "type": ["integer", "null"],
                          "minimum": 1,
                          "maximum": 365
                        },
                        "cadenceIntervals": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "object",
                            "properties": {
                              "whenDaysUntilDueGT": {
                                "type": ["integer", "null"]
                              },
                              "whenDaysUntilDueLT": {
                                "type": ["integer", "null"]
                              },
                              "repeatEveryDays": {
                                "type": "integer",
                                "minimum": 1,
                                "maximum": 365
                              }
                            },
                            "required": ["repeatEveryDays"]
                          },
                          "minItems": 1,
                          "maxItems": 20
                        },
                        "maxSendsInStage": {
                          "type": ["integer", "null"],
                          "minimum": 1,
                          "maximum": 100
                        },
                        "respectQuietHours": {
                          "type": "boolean",
                          "default": true
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "channels": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "orderIndex": {
                                "type": ["integer", "null"],
                                "minimum": 0,
                                "maximum": 50,
                                "default": 0
                              },
                              "channel": {
                                "type": "string",
                                "enum": ["email", "sms"]
                              },
                              "provider": {
                                "type": ["string", "null"],
                                "maxLength": 255
                              },
                              "templateId": {
                                "type": ["string", "null"]
                              },
                              "templateSlug": {
                                "type": ["string", "null"],
                                "maxLength": 255
                              },
                              "recipientKind": {
                                "type": "string",
                                "enum": ["primary", "cc", "bcc"],
                                "default": "primary"
                              },
                              "recipientRole": {
                                "type": ["string", "null"],
                                "maxLength": 255
                              },
                              "metadata": {
                                "type": ["object", "null"],
                                "additionalProperties": {}
                              }
                            },
                            "required": ["channel"]
                          },
                          "minItems": 1,
                          "maxItems": 50
                        }
                      },
                      "required": [
                        "orderIndex",
                        "anchor",
                        "windowStartDays",
                        "windowEndDays",
                        "cadenceKind",
                        "channels"
                      ]
                    },
                    "minItems": 1,
                    "maxItems": 50
                  },
                  "idempotencyKey": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  }
                },
                "required": ["rule", "stages"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "An existing reminder-rule graph (idempotent replay)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ruleId": {
                          "type": "string"
                        },
                        "stages": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "orderIndex": {
                                "type": "integer"
                              },
                              "channels": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "string"
                                    },
                                    "orderIndex": {
                                      "type": "integer"
                                    }
                                  },
                                  "required": ["id", "orderIndex"]
                                }
                              }
                            },
                            "required": ["id", "orderIndex", "channels"]
                          }
                        }
                      },
                      "required": ["ruleId", "stages"]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "201": {
            "description": "The newly composed reminder-rule graph",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "ruleId": {
                          "type": "string"
                        },
                        "stages": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "orderIndex": {
                                "type": "integer"
                              },
                              "channels": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "string"
                                    },
                                    "orderIndex": {
                                      "type": "integer"
                                    }
                                  },
                                  "required": ["id", "orderIndex"]
                                }
                              }
                            },
                            "required": ["id", "orderIndex", "channels"]
                          }
                        }
                      },
                      "required": ["ruleId", "stages"]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "422": {
            "description": "invalid_reminder_rule_graph: the proposed graph failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string",
                      "enum": ["invalid_reminder_rule_graph"]
                    },
                    "issues": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "field": {
                            "type": "string"
                          },
                          "message": {
                            "type": "string"
                          },
                          "fix": {
                            "type": "string"
                          }
                        },
                        "required": ["code", "message"]
                      }
                    }
                  },
                  "required": ["error", "issues"]
                }
              }
            }
          }
        },
        "operationId": "postAdminNotificationsReminderRulesCompose",
        "summary": "POST /v1/admin/notifications/reminder-rules/compose",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/reminder-rules/{id}": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A notification reminder rule by id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string",
                          "enum": ["draft", "active", "archived"]
                        },
                        "targetType": {
                          "type": "string",
                          "enum": [
                            "booking_confirmed",
                            "booking_payment_schedule",
                            "payment_complete",
                            "booking_cancelled_non_payment",
                            "invoice"
                          ]
                        },
                        "channel": {
                          "type": "string",
                          "enum": ["email", "sms"]
                        },
                        "provider": {
                          "type": ["string", "null"]
                        },
                        "templateId": {
                          "type": ["string", "null"]
                        },
                        "templateSlug": {
                          "type": ["string", "null"]
                        },
                        "priority": {
                          "type": "integer"
                        },
                        "suppressionGroup": {
                          "type": ["string", "null"]
                        },
                        "isSystem": {
                          "type": "boolean"
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "slug",
                        "name",
                        "status",
                        "targetType",
                        "channel",
                        "provider",
                        "templateId",
                        "templateSlug",
                        "priority",
                        "suppressionGroup",
                        "isSystem",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Notification reminder rule not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminNotificationsReminderRulesById",
        "summary": "GET /v1/admin/notifications/reminder-rules/{id}",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      },
      "patch": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "slug": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "status": {
                    "type": "string",
                    "enum": ["draft", "active", "archived"],
                    "default": "draft"
                  },
                  "targetType": {
                    "type": "string",
                    "enum": [
                      "booking_confirmed",
                      "booking_payment_schedule",
                      "payment_complete",
                      "booking_cancelled_non_payment",
                      "invoice"
                    ]
                  },
                  "channel": {
                    "type": "string",
                    "enum": ["email", "sms"]
                  },
                  "provider": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "templateId": {
                    "type": ["string", "null"]
                  },
                  "templateSlug": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "priority": {
                    "type": ["integer", "null"],
                    "minimum": 0,
                    "maximum": 1000,
                    "default": 0
                  },
                  "suppressionGroup": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "isSystem": {
                    "type": "boolean",
                    "default": false
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated notification reminder rule",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string",
                          "enum": ["draft", "active", "archived"]
                        },
                        "targetType": {
                          "type": "string",
                          "enum": [
                            "booking_confirmed",
                            "booking_payment_schedule",
                            "payment_complete",
                            "booking_cancelled_non_payment",
                            "invoice"
                          ]
                        },
                        "channel": {
                          "type": "string",
                          "enum": ["email", "sms"]
                        },
                        "provider": {
                          "type": ["string", "null"]
                        },
                        "templateId": {
                          "type": ["string", "null"]
                        },
                        "templateSlug": {
                          "type": ["string", "null"]
                        },
                        "priority": {
                          "type": "integer"
                        },
                        "suppressionGroup": {
                          "type": ["string", "null"]
                        },
                        "isSystem": {
                          "type": "boolean"
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "slug",
                        "name",
                        "status",
                        "targetType",
                        "channel",
                        "provider",
                        "templateId",
                        "templateSlug",
                        "priority",
                        "suppressionGroup",
                        "isSystem",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Notification reminder rule not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "patchAdminNotificationsReminderRulesById",
        "summary": "PATCH /v1/admin/notifications/reminder-rules/{id}",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      },
      "delete": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "404": {
            "description": "Notification reminder rule not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "deleteAdminNotificationsReminderRulesById",
        "summary": "DELETE /v1/admin/notifications/reminder-rules/{id}",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/reminder-rules/{id}/stages": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The reminder rule's stages",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "reminderRuleId": {
                            "type": "string"
                          },
                          "orderIndex": {
                            "type": "integer"
                          },
                          "name": {
                            "type": ["string", "null"]
                          },
                          "anchor": {
                            "type": "string",
                            "enum": [
                              "due_date",
                              "booking_created_at",
                              "departure_date",
                              "invoice_issued_at",
                              "last_send_at"
                            ]
                          },
                          "windowStartDays": {
                            "type": "integer"
                          },
                          "windowEndDays": {
                            "type": "integer"
                          },
                          "cadenceKind": {
                            "type": "string",
                            "enum": ["once", "every_n_days", "escalating"]
                          },
                          "cadenceEveryDays": {
                            "type": ["integer", "null"]
                          },
                          "cadenceIntervals": {
                            "type": ["array", "null"],
                            "items": {
                              "type": "object",
                              "properties": {
                                "whenDaysUntilDueGT": {
                                  "type": ["integer", "null"]
                                },
                                "whenDaysUntilDueLT": {
                                  "type": ["integer", "null"]
                                },
                                "repeatEveryDays": {
                                  "type": "integer",
                                  "minimum": 1,
                                  "maximum": 365
                                }
                              },
                              "required": ["repeatEveryDays"]
                            }
                          },
                          "maxSendsInStage": {
                            "type": ["integer", "null"]
                          },
                          "respectQuietHours": {
                            "type": "boolean"
                          },
                          "metadata": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "reminderRuleId",
                          "orderIndex",
                          "name",
                          "anchor",
                          "windowStartDays",
                          "windowEndDays",
                          "cadenceKind",
                          "cadenceEveryDays",
                          "cadenceIntervals",
                          "maxSendsInStage",
                          "respectQuietHours",
                          "metadata",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          }
        },
        "operationId": "getAdminNotificationsReminderRulesByIdStages",
        "summary": "GET /v1/admin/notifications/reminder-rules/{id}/stages",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      },
      "post": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "orderIndex": {
                    "type": ["integer", "null"],
                    "minimum": 0,
                    "maximum": 1000
                  },
                  "anchor": {
                    "type": "string",
                    "enum": [
                      "due_date",
                      "booking_created_at",
                      "departure_date",
                      "invoice_issued_at",
                      "last_send_at"
                    ]
                  },
                  "windowStartDays": {
                    "type": ["integer", "null"],
                    "minimum": -3650,
                    "maximum": 3650
                  },
                  "windowEndDays": {
                    "type": ["integer", "null"],
                    "minimum": -3650,
                    "maximum": 3650
                  },
                  "cadenceKind": {
                    "type": "string",
                    "enum": ["once", "every_n_days", "escalating"]
                  },
                  "cadenceEveryDays": {
                    "type": ["integer", "null"],
                    "minimum": 1,
                    "maximum": 365
                  },
                  "cadenceIntervals": {
                    "type": ["array", "null"],
                    "items": {
                      "type": "object",
                      "properties": {
                        "whenDaysUntilDueGT": {
                          "type": ["integer", "null"]
                        },
                        "whenDaysUntilDueLT": {
                          "type": ["integer", "null"]
                        },
                        "repeatEveryDays": {
                          "type": "integer",
                          "minimum": 1,
                          "maximum": 365
                        }
                      },
                      "required": ["repeatEveryDays"]
                    },
                    "minItems": 1,
                    "maxItems": 20
                  },
                  "maxSendsInStage": {
                    "type": ["integer", "null"],
                    "minimum": 1,
                    "maximum": 100
                  },
                  "respectQuietHours": {
                    "type": "boolean",
                    "default": true
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                },
                "required": [
                  "orderIndex",
                  "anchor",
                  "windowStartDays",
                  "windowEndDays",
                  "cadenceKind"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created reminder rule stage",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "reminderRuleId": {
                          "type": "string"
                        },
                        "orderIndex": {
                          "type": "integer"
                        },
                        "name": {
                          "type": ["string", "null"]
                        },
                        "anchor": {
                          "type": "string",
                          "enum": [
                            "due_date",
                            "booking_created_at",
                            "departure_date",
                            "invoice_issued_at",
                            "last_send_at"
                          ]
                        },
                        "windowStartDays": {
                          "type": "integer"
                        },
                        "windowEndDays": {
                          "type": "integer"
                        },
                        "cadenceKind": {
                          "type": "string",
                          "enum": ["once", "every_n_days", "escalating"]
                        },
                        "cadenceEveryDays": {
                          "type": ["integer", "null"]
                        },
                        "cadenceIntervals": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "object",
                            "properties": {
                              "whenDaysUntilDueGT": {
                                "type": ["integer", "null"]
                              },
                              "whenDaysUntilDueLT": {
                                "type": ["integer", "null"]
                              },
                              "repeatEveryDays": {
                                "type": "integer",
                                "minimum": 1,
                                "maximum": 365
                              }
                            },
                            "required": ["repeatEveryDays"]
                          }
                        },
                        "maxSendsInStage": {
                          "type": ["integer", "null"]
                        },
                        "respectQuietHours": {
                          "type": "boolean"
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "reminderRuleId",
                        "orderIndex",
                        "name",
                        "anchor",
                        "windowStartDays",
                        "windowEndDays",
                        "cadenceKind",
                        "cadenceEveryDays",
                        "cadenceIntervals",
                        "maxSendsInStage",
                        "respectQuietHours",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminNotificationsReminderRulesByIdStages",
        "summary": "POST /v1/admin/notifications/reminder-rules/{id}/stages",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/reminder-rules/{id}/stages/reorder": {
      "post": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "stageIds": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1
                    },
                    "minItems": 1,
                    "maxItems": 50
                  }
                },
                "required": ["stageIds"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The reordered reminder rule stages",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "reminderRuleId": {
                            "type": "string"
                          },
                          "orderIndex": {
                            "type": "integer"
                          },
                          "name": {
                            "type": ["string", "null"]
                          },
                          "anchor": {
                            "type": "string",
                            "enum": [
                              "due_date",
                              "booking_created_at",
                              "departure_date",
                              "invoice_issued_at",
                              "last_send_at"
                            ]
                          },
                          "windowStartDays": {
                            "type": "integer"
                          },
                          "windowEndDays": {
                            "type": "integer"
                          },
                          "cadenceKind": {
                            "type": "string",
                            "enum": ["once", "every_n_days", "escalating"]
                          },
                          "cadenceEveryDays": {
                            "type": ["integer", "null"]
                          },
                          "cadenceIntervals": {
                            "type": ["array", "null"],
                            "items": {
                              "type": "object",
                              "properties": {
                                "whenDaysUntilDueGT": {
                                  "type": ["integer", "null"]
                                },
                                "whenDaysUntilDueLT": {
                                  "type": ["integer", "null"]
                                },
                                "repeatEveryDays": {
                                  "type": "integer",
                                  "minimum": 1,
                                  "maximum": 365
                                }
                              },
                              "required": ["repeatEveryDays"]
                            }
                          },
                          "maxSendsInStage": {
                            "type": ["integer", "null"]
                          },
                          "respectQuietHours": {
                            "type": "boolean"
                          },
                          "metadata": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "reminderRuleId",
                          "orderIndex",
                          "name",
                          "anchor",
                          "windowStartDays",
                          "windowEndDays",
                          "cadenceKind",
                          "cadenceEveryDays",
                          "cadenceIntervals",
                          "maxSendsInStage",
                          "respectQuietHours",
                          "metadata",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminNotificationsReminderRulesByIdStagesReorder",
        "summary": "POST /v1/admin/notifications/reminder-rules/{id}/stages/reorder",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/reminder-rules/{id}/stages/{stageId}": {
      "patch": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "stageId",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "orderIndex": {
                    "type": ["integer", "null"],
                    "minimum": 0,
                    "maximum": 1000
                  },
                  "anchor": {
                    "type": "string",
                    "enum": [
                      "due_date",
                      "booking_created_at",
                      "departure_date",
                      "invoice_issued_at",
                      "last_send_at"
                    ]
                  },
                  "windowStartDays": {
                    "type": ["integer", "null"],
                    "minimum": -3650,
                    "maximum": 3650
                  },
                  "windowEndDays": {
                    "type": ["integer", "null"],
                    "minimum": -3650,
                    "maximum": 3650
                  },
                  "cadenceKind": {
                    "type": "string",
                    "enum": ["once", "every_n_days", "escalating"]
                  },
                  "cadenceEveryDays": {
                    "type": ["integer", "null"],
                    "minimum": 1,
                    "maximum": 365
                  },
                  "cadenceIntervals": {
                    "type": ["array", "null"],
                    "items": {
                      "type": "object",
                      "properties": {
                        "whenDaysUntilDueGT": {
                          "type": ["integer", "null"]
                        },
                        "whenDaysUntilDueLT": {
                          "type": ["integer", "null"]
                        },
                        "repeatEveryDays": {
                          "type": "integer",
                          "minimum": 1,
                          "maximum": 365
                        }
                      },
                      "required": ["repeatEveryDays"]
                    },
                    "minItems": 1,
                    "maxItems": 20
                  },
                  "maxSendsInStage": {
                    "type": ["integer", "null"],
                    "minimum": 1,
                    "maximum": 100
                  },
                  "respectQuietHours": {
                    "type": "boolean",
                    "default": true
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated reminder rule stage",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "reminderRuleId": {
                          "type": "string"
                        },
                        "orderIndex": {
                          "type": "integer"
                        },
                        "name": {
                          "type": ["string", "null"]
                        },
                        "anchor": {
                          "type": "string",
                          "enum": [
                            "due_date",
                            "booking_created_at",
                            "departure_date",
                            "invoice_issued_at",
                            "last_send_at"
                          ]
                        },
                        "windowStartDays": {
                          "type": "integer"
                        },
                        "windowEndDays": {
                          "type": "integer"
                        },
                        "cadenceKind": {
                          "type": "string",
                          "enum": ["once", "every_n_days", "escalating"]
                        },
                        "cadenceEveryDays": {
                          "type": ["integer", "null"]
                        },
                        "cadenceIntervals": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "object",
                            "properties": {
                              "whenDaysUntilDueGT": {
                                "type": ["integer", "null"]
                              },
                              "whenDaysUntilDueLT": {
                                "type": ["integer", "null"]
                              },
                              "repeatEveryDays": {
                                "type": "integer",
                                "minimum": 1,
                                "maximum": 365
                              }
                            },
                            "required": ["repeatEveryDays"]
                          }
                        },
                        "maxSendsInStage": {
                          "type": ["integer", "null"]
                        },
                        "respectQuietHours": {
                          "type": "boolean"
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "reminderRuleId",
                        "orderIndex",
                        "name",
                        "anchor",
                        "windowStartDays",
                        "windowEndDays",
                        "cadenceKind",
                        "cadenceEveryDays",
                        "cadenceIntervals",
                        "maxSendsInStage",
                        "respectQuietHours",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Reminder stage not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "patchAdminNotificationsReminderRulesByIdStagesByStageId",
        "summary": "PATCH /v1/admin/notifications/reminder-rules/{id}/stages/{stageId}",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      },
      "delete": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "stageId",
            "in": "path"
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "404": {
            "description": "Reminder stage not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "deleteAdminNotificationsReminderRulesByIdStagesByStageId",
        "summary": "DELETE /v1/admin/notifications/reminder-rules/{id}/stages/{stageId}",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/reminder-rules/{id}/stages/{stageId}/channels": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "stageId",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The stage's channels",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "stageId": {
                            "type": "string"
                          },
                          "orderIndex": {
                            "type": "integer"
                          },
                          "channel": {
                            "type": "string",
                            "enum": ["email", "sms"]
                          },
                          "provider": {
                            "type": ["string", "null"]
                          },
                          "templateId": {
                            "type": ["string", "null"]
                          },
                          "templateSlug": {
                            "type": ["string", "null"]
                          },
                          "recipientKind": {
                            "type": "string",
                            "enum": ["primary", "cc", "bcc"]
                          },
                          "recipientRole": {
                            "type": ["string", "null"]
                          },
                          "metadata": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "stageId",
                          "orderIndex",
                          "channel",
                          "provider",
                          "templateId",
                          "templateSlug",
                          "recipientKind",
                          "recipientRole",
                          "metadata",
                          "createdAt",
                          "updatedAt"
                        ]
                      }
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          }
        },
        "operationId": "getAdminNotificationsReminderRulesByIdStagesByStageIdChannels",
        "summary": "GET /v1/admin/notifications/reminder-rules/{id}/stages/{stageId}/channels",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      },
      "post": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "stageId",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "orderIndex": {
                    "type": ["integer", "null"],
                    "minimum": 0,
                    "maximum": 50,
                    "default": 0
                  },
                  "channel": {
                    "type": "string",
                    "enum": ["email", "sms"]
                  },
                  "provider": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "templateId": {
                    "type": ["string", "null"]
                  },
                  "templateSlug": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "recipientKind": {
                    "type": "string",
                    "enum": ["primary", "cc", "bcc"],
                    "default": "primary"
                  },
                  "recipientRole": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                },
                "required": ["channel"]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The created stage channel",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "stageId": {
                          "type": "string"
                        },
                        "orderIndex": {
                          "type": "integer"
                        },
                        "channel": {
                          "type": "string",
                          "enum": ["email", "sms"]
                        },
                        "provider": {
                          "type": ["string", "null"]
                        },
                        "templateId": {
                          "type": ["string", "null"]
                        },
                        "templateSlug": {
                          "type": ["string", "null"]
                        },
                        "recipientKind": {
                          "type": "string",
                          "enum": ["primary", "cc", "bcc"]
                        },
                        "recipientRole": {
                          "type": ["string", "null"]
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "stageId",
                        "orderIndex",
                        "channel",
                        "provider",
                        "templateId",
                        "templateSlug",
                        "recipientKind",
                        "recipientRole",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminNotificationsReminderRulesByIdStagesByStageIdChannels",
        "summary": "POST /v1/admin/notifications/reminder-rules/{id}/stages/{stageId}/channels",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/reminder-rules/{id}/stages/{stageId}/channels/{channelId}": {
      "patch": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "stageId",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "channelId",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "orderIndex": {
                    "type": ["integer", "null"],
                    "minimum": 0,
                    "maximum": 50,
                    "default": 0
                  },
                  "channel": {
                    "type": "string",
                    "enum": ["email", "sms"]
                  },
                  "provider": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "templateId": {
                    "type": ["string", "null"]
                  },
                  "templateSlug": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "recipientKind": {
                    "type": "string",
                    "enum": ["primary", "cc", "bcc"],
                    "default": "primary"
                  },
                  "recipientRole": {
                    "type": ["string", "null"],
                    "maxLength": 255
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated stage channel",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "stageId": {
                          "type": "string"
                        },
                        "orderIndex": {
                          "type": "integer"
                        },
                        "channel": {
                          "type": "string",
                          "enum": ["email", "sms"]
                        },
                        "provider": {
                          "type": ["string", "null"]
                        },
                        "templateId": {
                          "type": ["string", "null"]
                        },
                        "templateSlug": {
                          "type": ["string", "null"]
                        },
                        "recipientKind": {
                          "type": "string",
                          "enum": ["primary", "cc", "bcc"]
                        },
                        "recipientRole": {
                          "type": ["string", "null"]
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "stageId",
                        "orderIndex",
                        "channel",
                        "provider",
                        "templateId",
                        "templateSlug",
                        "recipientKind",
                        "recipientRole",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Stage channel not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "patchAdminNotificationsReminderRulesByIdStagesByStageIdChannelsByChannelId",
        "summary": "PATCH /v1/admin/notifications/reminder-rules/{id}/stages/{stageId}/channels/{channelId}",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      },
      "delete": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "stageId",
            "in": "path"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "channelId",
            "in": "path"
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted"
          },
          "404": {
            "description": "Stage channel not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "deleteAdminNotificationsReminderRulesByIdStagesByStageIdChannelsByChannelId",
        "summary": "DELETE /v1/admin/notifications/reminder-rules/{id}/stages/{stageId}/channels/{channelId}",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/notification-settings": {
      "get": {
        "responses": {
          "200": {
            "description": "The notification settings",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "scope": {
                          "type": "string"
                        },
                        "quietHoursLocal": {
                          "type": ["object", "null"],
                          "properties": {
                            "start": {
                              "type": "string"
                            },
                            "end": {
                              "type": "string"
                            },
                            "tz": {
                              "type": "string"
                            }
                          },
                          "required": ["start", "end", "tz"]
                        },
                        "blackoutDates": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "skipWeekends": {
                          "type": "boolean"
                        },
                        "recipientRateLimitPerDay": {
                          "type": ["integer", "null"]
                        },
                        "suppressionWindowHours": {
                          "type": "integer"
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "scope",
                        "quietHoursLocal",
                        "blackoutDates",
                        "skipWeekends",
                        "recipientRateLimitPerDay",
                        "suppressionWindowHours",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          }
        },
        "operationId": "getAdminNotificationsNotificationSettings",
        "summary": "GET /v1/admin/notifications/notification-settings",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      },
      "patch": {
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "scope": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 64,
                    "default": "default"
                  },
                  "quietHoursLocal": {
                    "type": ["object", "null"],
                    "properties": {
                      "start": {
                        "type": "string",
                        "pattern": "^\\d{2}:\\d{2}$"
                      },
                      "end": {
                        "type": "string",
                        "pattern": "^\\d{2}:\\d{2}$"
                      },
                      "tz": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 255
                      }
                    },
                    "required": ["start", "end", "tz"]
                  },
                  "blackoutDates": {
                    "type": ["array", "null"],
                    "items": {
                      "type": "string",
                      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
                    },
                    "maxItems": 366
                  },
                  "skipWeekends": {
                    "type": "boolean",
                    "default": false
                  },
                  "recipientRateLimitPerDay": {
                    "type": ["integer", "null"],
                    "minimum": 1,
                    "maximum": 10000
                  },
                  "suppressionWindowHours": {
                    "type": ["integer", "null"],
                    "minimum": 0,
                    "maximum": 720,
                    "default": 24
                  },
                  "metadata": {
                    "type": ["object", "null"],
                    "additionalProperties": {}
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated notification settings",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "scope": {
                          "type": "string"
                        },
                        "quietHoursLocal": {
                          "type": ["object", "null"],
                          "properties": {
                            "start": {
                              "type": "string"
                            },
                            "end": {
                              "type": "string"
                            },
                            "tz": {
                              "type": "string"
                            }
                          },
                          "required": ["start", "end", "tz"]
                        },
                        "blackoutDates": {
                          "type": ["array", "null"],
                          "items": {
                            "type": "string"
                          }
                        },
                        "skipWeekends": {
                          "type": "boolean"
                        },
                        "recipientRateLimitPerDay": {
                          "type": ["integer", "null"]
                        },
                        "suppressionWindowHours": {
                          "type": "integer"
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "scope",
                        "quietHoursLocal",
                        "blackoutDates",
                        "skipWeekends",
                        "recipientRateLimitPerDay",
                        "suppressionWindowHours",
                        "metadata",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "patchAdminNotificationsNotificationSettings",
        "summary": "PATCH /v1/admin/notifications/notification-settings",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/reminders/preview": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "string",
              "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
            },
            "required": false,
            "name": "date",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "ruleId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "targetId",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Reminders that would fire for the requested date",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "ruleId": {
                            "type": "string"
                          },
                          "ruleName": {
                            "type": "string"
                          },
                          "ruleSlug": {
                            "type": "string"
                          },
                          "targetType": {
                            "type": "string"
                          },
                          "targetId": {
                            "type": "string"
                          },
                          "bookingId": {
                            "type": ["string", "null"]
                          },
                          "stageId": {
                            "type": "string"
                          },
                          "stageName": {
                            "type": ["string", "null"]
                          },
                          "stageOrderIndex": {
                            "type": "integer"
                          },
                          "anchor": {
                            "type": "string"
                          },
                          "anchorDate": {
                            "type": "string"
                          },
                          "scheduledAt": {
                            "type": "string"
                          },
                          "sendCountAtFire": {
                            "type": "integer"
                          },
                          "reasoning": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "ruleId",
                          "ruleName",
                          "ruleSlug",
                          "targetType",
                          "targetId",
                          "bookingId",
                          "stageId",
                          "stageName",
                          "stageOrderIndex",
                          "anchor",
                          "anchorDate",
                          "scheduledAt",
                          "sendCountAtFire",
                          "reasoning"
                        ]
                      }
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          }
        },
        "operationId": "getAdminNotificationsRemindersPreview",
        "summary": "GET /v1/admin/notifications/reminders/preview",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/reminder-runs": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 20
            },
            "required": false,
            "name": "limit",
            "in": "query"
          },
          {
            "schema": {
              "type": ["integer", "null"],
              "minimum": 0,
              "default": 0
            },
            "required": false,
            "name": "offset",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "reminderRuleId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": [
                "booking_confirmed",
                "booking_payment_schedule",
                "payment_complete",
                "booking_cancelled_non_payment",
                "invoice"
              ]
            },
            "required": false,
            "name": "targetType",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "targetId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "scheduleId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "invoiceId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "bookingId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "paymentSessionId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "notificationDeliveryId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "personId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "organizationId",
            "in": "query"
          },
          {
            "schema": {
              "type": "string"
            },
            "required": false,
            "name": "recipient",
            "in": "query"
          },
          {
            "schema": {
              "type": "string",
              "enum": ["queued", "processing", "sent", "skipped", "failed"]
            },
            "required": false,
            "name": "status",
            "in": "query"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated notification reminder runs",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "reminderRuleId": {
                            "type": "string"
                          },
                          "targetType": {
                            "type": "string",
                            "enum": [
                              "booking_confirmed",
                              "booking_payment_schedule",
                              "payment_complete",
                              "booking_cancelled_non_payment",
                              "invoice"
                            ]
                          },
                          "targetId": {
                            "type": "string"
                          },
                          "dedupeKey": {
                            "type": "string"
                          },
                          "status": {
                            "type": "string",
                            "enum": ["queued", "processing", "sent", "skipped", "failed"]
                          },
                          "recipient": {
                            "type": ["string", "null"]
                          },
                          "scheduledFor": {
                            "type": "string"
                          },
                          "processedAt": {
                            "type": "string"
                          },
                          "errorMessage": {
                            "type": ["string", "null"]
                          },
                          "metadata": {
                            "type": ["object", "null"],
                            "additionalProperties": {}
                          },
                          "createdAt": {
                            "type": "string"
                          },
                          "updatedAt": {
                            "type": "string"
                          },
                          "links": {
                            "type": "object",
                            "properties": {
                              "bookingId": {
                                "type": ["string", "null"]
                              },
                              "bookingPaymentScheduleId": {
                                "type": ["string", "null"]
                              },
                              "invoiceId": {
                                "type": ["string", "null"]
                              },
                              "paymentSessionId": {
                                "type": ["string", "null"]
                              },
                              "personId": {
                                "type": ["string", "null"]
                              },
                              "organizationId": {
                                "type": ["string", "null"]
                              },
                              "notificationDeliveryId": {
                                "type": ["string", "null"]
                              }
                            },
                            "required": [
                              "bookingId",
                              "bookingPaymentScheduleId",
                              "invoiceId",
                              "paymentSessionId",
                              "personId",
                              "organizationId",
                              "notificationDeliveryId"
                            ]
                          },
                          "reminderRule": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "slug": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "status": {
                                "type": "string",
                                "enum": ["draft", "active", "archived"]
                              },
                              "targetType": {
                                "type": "string",
                                "enum": [
                                  "booking_confirmed",
                                  "booking_payment_schedule",
                                  "payment_complete",
                                  "booking_cancelled_non_payment",
                                  "invoice"
                                ]
                              },
                              "channel": {
                                "type": "string",
                                "enum": ["email", "sms"]
                              },
                              "provider": {
                                "type": ["string", "null"]
                              },
                              "templateId": {
                                "type": ["string", "null"]
                              },
                              "templateSlug": {
                                "type": ["string", "null"]
                              }
                            },
                            "required": [
                              "id",
                              "slug",
                              "name",
                              "status",
                              "targetType",
                              "channel",
                              "provider",
                              "templateId",
                              "templateSlug"
                            ]
                          },
                          "delivery": {
                            "type": ["object", "null"],
                            "properties": {
                              "id": {
                                "type": "string"
                              },
                              "status": {
                                "type": "string",
                                "enum": ["pending", "sent", "failed", "cancelled"]
                              },
                              "channel": {
                                "type": "string",
                                "enum": ["email", "sms"]
                              },
                              "provider": {
                                "type": "string"
                              },
                              "toAddress": {
                                "type": "string"
                              },
                              "subject": {
                                "type": ["string", "null"]
                              },
                              "sentAt": {
                                "type": ["string", "null"]
                              },
                              "failedAt": {
                                "type": ["string", "null"]
                              },
                              "errorMessage": {
                                "type": ["string", "null"]
                              }
                            },
                            "required": [
                              "id",
                              "status",
                              "channel",
                              "provider",
                              "toAddress",
                              "subject",
                              "sentAt",
                              "failedAt",
                              "errorMessage"
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "reminderRuleId",
                          "targetType",
                          "targetId",
                          "dedupeKey",
                          "status",
                          "recipient",
                          "scheduledFor",
                          "processedAt",
                          "errorMessage",
                          "metadata",
                          "createdAt",
                          "updatedAt",
                          "links",
                          "reminderRule",
                          "delivery"
                        ]
                      }
                    },
                    "total": {
                      "type": "integer"
                    },
                    "limit": {
                      "type": "integer"
                    },
                    "offset": {
                      "type": "integer"
                    }
                  },
                  "required": ["data", "total", "limit", "offset"]
                }
              }
            }
          }
        },
        "operationId": "getAdminNotificationsReminderRuns",
        "summary": "GET /v1/admin/notifications/reminder-runs",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/reminder-runs/{id}": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "A notification reminder run by id",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "reminderRuleId": {
                          "type": "string"
                        },
                        "targetType": {
                          "type": "string",
                          "enum": [
                            "booking_confirmed",
                            "booking_payment_schedule",
                            "payment_complete",
                            "booking_cancelled_non_payment",
                            "invoice"
                          ]
                        },
                        "targetId": {
                          "type": "string"
                        },
                        "dedupeKey": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string",
                          "enum": ["queued", "processing", "sent", "skipped", "failed"]
                        },
                        "recipient": {
                          "type": ["string", "null"]
                        },
                        "scheduledFor": {
                          "type": "string"
                        },
                        "processedAt": {
                          "type": "string"
                        },
                        "errorMessage": {
                          "type": ["string", "null"]
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        },
                        "links": {
                          "type": "object",
                          "properties": {
                            "bookingId": {
                              "type": ["string", "null"]
                            },
                            "bookingPaymentScheduleId": {
                              "type": ["string", "null"]
                            },
                            "invoiceId": {
                              "type": ["string", "null"]
                            },
                            "paymentSessionId": {
                              "type": ["string", "null"]
                            },
                            "personId": {
                              "type": ["string", "null"]
                            },
                            "organizationId": {
                              "type": ["string", "null"]
                            },
                            "notificationDeliveryId": {
                              "type": ["string", "null"]
                            }
                          },
                          "required": [
                            "bookingId",
                            "bookingPaymentScheduleId",
                            "invoiceId",
                            "paymentSessionId",
                            "personId",
                            "organizationId",
                            "notificationDeliveryId"
                          ]
                        },
                        "reminderRule": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "slug": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            },
                            "status": {
                              "type": "string",
                              "enum": ["draft", "active", "archived"]
                            },
                            "targetType": {
                              "type": "string",
                              "enum": [
                                "booking_confirmed",
                                "booking_payment_schedule",
                                "payment_complete",
                                "booking_cancelled_non_payment",
                                "invoice"
                              ]
                            },
                            "channel": {
                              "type": "string",
                              "enum": ["email", "sms"]
                            },
                            "provider": {
                              "type": ["string", "null"]
                            },
                            "templateId": {
                              "type": ["string", "null"]
                            },
                            "templateSlug": {
                              "type": ["string", "null"]
                            }
                          },
                          "required": [
                            "id",
                            "slug",
                            "name",
                            "status",
                            "targetType",
                            "channel",
                            "provider",
                            "templateId",
                            "templateSlug"
                          ]
                        },
                        "delivery": {
                          "type": ["object", "null"],
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "status": {
                              "type": "string",
                              "enum": ["pending", "sent", "failed", "cancelled"]
                            },
                            "channel": {
                              "type": "string",
                              "enum": ["email", "sms"]
                            },
                            "provider": {
                              "type": "string"
                            },
                            "toAddress": {
                              "type": "string"
                            },
                            "subject": {
                              "type": ["string", "null"]
                            },
                            "sentAt": {
                              "type": ["string", "null"]
                            },
                            "failedAt": {
                              "type": ["string", "null"]
                            },
                            "errorMessage": {
                              "type": ["string", "null"]
                            }
                          },
                          "required": [
                            "id",
                            "status",
                            "channel",
                            "provider",
                            "toAddress",
                            "subject",
                            "sentAt",
                            "failedAt",
                            "errorMessage"
                          ]
                        }
                      },
                      "required": [
                        "id",
                        "reminderRuleId",
                        "targetType",
                        "targetId",
                        "dedupeKey",
                        "status",
                        "recipient",
                        "scheduledFor",
                        "processedAt",
                        "errorMessage",
                        "metadata",
                        "createdAt",
                        "updatedAt",
                        "links",
                        "reminderRule",
                        "delivery"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Notification reminder run not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminNotificationsReminderRunsById",
        "summary": "GET /v1/admin/notifications/reminder-runs/{id}",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/reminders/run-due": {
      "post": {
        "responses": {
          "200": {
            "description": "The reminder sweep result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "processed": {
                          "type": "integer"
                        },
                        "sent": {
                          "type": "integer"
                        },
                        "skipped": {
                          "type": "integer"
                        },
                        "failed": {
                          "type": "integer"
                        }
                      },
                      "required": ["processed", "sent", "skipped", "failed"]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminNotificationsRemindersRunDue",
        "summary": "POST /v1/admin/notifications/reminders/run-due",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/payment-sessions/{id}/send": {
      "post": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "idempotencyKey": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 255
                  },
                  "templateId": {
                    "type": "string",
                    "nullable": true
                  },
                  "templateSlug": {
                    "type": "string",
                    "nullable": true
                  },
                  "scheduledFor": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": ["idempotencyKey"],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The dispatched payment-session notification delivery",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "templateId": {
                          "type": ["string", "null"]
                        },
                        "templateSlug": {
                          "type": ["string", "null"]
                        },
                        "targetType": {
                          "type": "string",
                          "enum": [
                            "booking",
                            "booking_payment_schedule",
                            "booking_guarantee",
                            "invoice",
                            "payment_session",
                            "person",
                            "organization",
                            "other"
                          ]
                        },
                        "targetId": {
                          "type": ["string", "null"]
                        },
                        "personId": {
                          "type": ["string", "null"]
                        },
                        "organizationId": {
                          "type": ["string", "null"]
                        },
                        "bookingId": {
                          "type": ["string", "null"]
                        },
                        "invoiceId": {
                          "type": ["string", "null"]
                        },
                        "paymentSessionId": {
                          "type": ["string", "null"]
                        },
                        "channel": {
                          "type": "string",
                          "enum": ["email", "sms"]
                        },
                        "provider": {
                          "type": "string"
                        },
                        "providerMessageId": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["pending", "sent", "failed", "cancelled"]
                        },
                        "toAddress": {
                          "type": "string"
                        },
                        "fromAddress": {
                          "type": ["string", "null"]
                        },
                        "subject": {
                          "type": ["string", "null"]
                        },
                        "htmlBody": {
                          "type": ["string", "null"]
                        },
                        "textBody": {
                          "type": ["string", "null"]
                        },
                        "payloadData": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "errorMessage": {
                          "type": ["string", "null"]
                        },
                        "scheduledFor": {
                          "type": ["string", "null"]
                        },
                        "sentAt": {
                          "type": ["string", "null"]
                        },
                        "failedAt": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "templateId",
                        "templateSlug",
                        "targetType",
                        "targetId",
                        "personId",
                        "organizationId",
                        "bookingId",
                        "invoiceId",
                        "paymentSessionId",
                        "channel",
                        "provider",
                        "providerMessageId",
                        "status",
                        "toAddress",
                        "fromAddress",
                        "subject",
                        "htmlBody",
                        "textBody",
                        "payloadData",
                        "metadata",
                        "errorMessage",
                        "scheduledFor",
                        "sentAt",
                        "failedAt",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Payment session not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminNotificationsPaymentSessionsByIdSend",
        "summary": "POST /v1/admin/notifications/payment-sessions/{id}/send",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/invoices/{id}/send": {
      "post": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "idempotencyKey": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 255
                  },
                  "templateId": {
                    "type": "string",
                    "nullable": true
                  },
                  "templateSlug": {
                    "type": "string",
                    "nullable": true
                  },
                  "scheduledFor": {
                    "type": "string",
                    "nullable": true
                  }
                },
                "required": ["idempotencyKey"],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The dispatched invoice notification delivery",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "templateId": {
                          "type": ["string", "null"]
                        },
                        "templateSlug": {
                          "type": ["string", "null"]
                        },
                        "targetType": {
                          "type": "string",
                          "enum": [
                            "booking",
                            "booking_payment_schedule",
                            "booking_guarantee",
                            "invoice",
                            "payment_session",
                            "person",
                            "organization",
                            "other"
                          ]
                        },
                        "targetId": {
                          "type": ["string", "null"]
                        },
                        "personId": {
                          "type": ["string", "null"]
                        },
                        "organizationId": {
                          "type": ["string", "null"]
                        },
                        "bookingId": {
                          "type": ["string", "null"]
                        },
                        "invoiceId": {
                          "type": ["string", "null"]
                        },
                        "paymentSessionId": {
                          "type": ["string", "null"]
                        },
                        "channel": {
                          "type": "string",
                          "enum": ["email", "sms"]
                        },
                        "provider": {
                          "type": "string"
                        },
                        "providerMessageId": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["pending", "sent", "failed", "cancelled"]
                        },
                        "toAddress": {
                          "type": "string"
                        },
                        "fromAddress": {
                          "type": ["string", "null"]
                        },
                        "subject": {
                          "type": ["string", "null"]
                        },
                        "htmlBody": {
                          "type": ["string", "null"]
                        },
                        "textBody": {
                          "type": ["string", "null"]
                        },
                        "payloadData": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "metadata": {
                          "type": ["object", "null"],
                          "additionalProperties": {}
                        },
                        "errorMessage": {
                          "type": ["string", "null"]
                        },
                        "scheduledFor": {
                          "type": ["string", "null"]
                        },
                        "sentAt": {
                          "type": ["string", "null"]
                        },
                        "failedAt": {
                          "type": ["string", "null"]
                        },
                        "createdAt": {
                          "type": "string"
                        },
                        "updatedAt": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "templateId",
                        "templateSlug",
                        "targetType",
                        "targetId",
                        "personId",
                        "organizationId",
                        "bookingId",
                        "invoiceId",
                        "paymentSessionId",
                        "channel",
                        "provider",
                        "providerMessageId",
                        "status",
                        "toAddress",
                        "fromAddress",
                        "subject",
                        "htmlBody",
                        "textBody",
                        "payloadData",
                        "metadata",
                        "errorMessage",
                        "scheduledFor",
                        "sentAt",
                        "failedAt",
                        "createdAt",
                        "updatedAt"
                      ]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Invoice not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminNotificationsInvoicesByIdSend",
        "summary": "POST /v1/admin/notifications/invoices/{id}/send",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/bookings/{id}/document-bundle": {
      "get": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "The booking's deliverable document bundle",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "bookingId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "documents": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "key": {
                                "type": "string",
                                "minLength": 1
                              },
                              "source": {
                                "type": "string",
                                "enum": ["legal", "finance", "products"]
                              },
                              "documentType": {
                                "type": "string",
                                "enum": ["contract", "invoice", "proforma", "brochure"]
                              },
                              "bookingId": {
                                "type": "string",
                                "minLength": 1
                              },
                              "contractId": {
                                "type": ["string", "null"]
                              },
                              "invoiceId": {
                                "type": ["string", "null"]
                              },
                              "attachmentId": {
                                "type": ["string", "null"]
                              },
                              "renditionId": {
                                "type": ["string", "null"]
                              },
                              "contractStatus": {
                                "type": ["string", "null"]
                              },
                              "invoiceStatus": {
                                "type": ["string", "null"]
                              },
                              "name": {
                                "type": "string",
                                "minLength": 1
                              },
                              "format": {
                                "type": ["string", "null"]
                              },
                              "mimeType": {
                                "type": ["string", "null"]
                              },
                              "storageKey": {
                                "type": ["string", "null"]
                              },
                              "downloadUrl": {
                                "type": ["string", "null"],
                                "format": "uri"
                              },
                              "language": {
                                "type": ["string", "null"]
                              },
                              "metadata": {
                                "type": ["object", "null"],
                                "additionalProperties": {}
                              },
                              "createdAt": {
                                "type": "string",
                                "format": "date-time"
                              }
                            },
                            "required": [
                              "key",
                              "source",
                              "documentType",
                              "bookingId",
                              "name",
                              "createdAt"
                            ]
                          }
                        }
                      },
                      "required": ["bookingId", "documents"]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "404": {
            "description": "Booking not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "getAdminNotificationsBookingsByIdDocumentBundle",
        "summary": "GET /v1/admin/notifications/bookings/{id}/document-bundle",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications"
      }
    },
    "/v1/admin/notifications/bookings/{id}/confirm-and-dispatch": {
      "post": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "200": {
            "description": "Preview / skipped outcome (no delivery attempted)",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "bookingId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "documents": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "key": {
                                "type": "string",
                                "minLength": 1
                              },
                              "source": {
                                "type": "string",
                                "enum": ["legal", "finance", "products"]
                              },
                              "documentType": {
                                "type": "string",
                                "enum": ["contract", "invoice", "proforma", "brochure"]
                              },
                              "bookingId": {
                                "type": "string",
                                "minLength": 1
                              },
                              "contractId": {
                                "type": ["string", "null"]
                              },
                              "invoiceId": {
                                "type": ["string", "null"]
                              },
                              "attachmentId": {
                                "type": ["string", "null"]
                              },
                              "renditionId": {
                                "type": ["string", "null"]
                              },
                              "contractStatus": {
                                "type": ["string", "null"]
                              },
                              "invoiceStatus": {
                                "type": ["string", "null"]
                              },
                              "name": {
                                "type": "string",
                                "minLength": 1
                              },
                              "format": {
                                "type": ["string", "null"]
                              },
                              "mimeType": {
                                "type": ["string", "null"]
                              },
                              "storageKey": {
                                "type": ["string", "null"]
                              },
                              "downloadUrl": {
                                "type": ["string", "null"],
                                "format": "uri"
                              },
                              "language": {
                                "type": ["string", "null"]
                              },
                              "metadata": {
                                "type": ["object", "null"],
                                "additionalProperties": {}
                              },
                              "createdAt": {
                                "type": "string",
                                "format": "date-time"
                              }
                            },
                            "required": [
                              "key",
                              "source",
                              "documentType",
                              "bookingId",
                              "name",
                              "createdAt"
                            ]
                          }
                        },
                        "notification": {
                          "type": ["object", "null"],
                          "properties": {
                            "recipient": {
                              "type": "string",
                              "minLength": 1
                            },
                            "deliveryId": {
                              "type": "string",
                              "minLength": 1
                            },
                            "provider": {
                              "type": ["string", "null"]
                            },
                            "status": {
                              "type": "string",
                              "enum": ["pending", "sent", "failed", "cancelled"]
                            }
                          },
                          "required": ["recipient", "deliveryId", "status"]
                        },
                        "skipReason": {
                          "type": ["string", "null"],
                          "enum": [
                            "preview_only",
                            "no_documents",
                            "no_recipient",
                            "no_attachments",
                            "send_failed",
                            null
                          ]
                        }
                      },
                      "required": ["bookingId", "documents", "notification", "skipReason"]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "201": {
            "description": "Confirm-and-dispatch result with a delivery",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "bookingId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "documents": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "key": {
                                "type": "string",
                                "minLength": 1
                              },
                              "source": {
                                "type": "string",
                                "enum": ["legal", "finance", "products"]
                              },
                              "documentType": {
                                "type": "string",
                                "enum": ["contract", "invoice", "proforma", "brochure"]
                              },
                              "bookingId": {
                                "type": "string",
                                "minLength": 1
                              },
                              "contractId": {
                                "type": ["string", "null"]
                              },
                              "invoiceId": {
                                "type": ["string", "null"]
                              },
                              "attachmentId": {
                                "type": ["string", "null"]
                              },
                              "renditionId": {
                                "type": ["string", "null"]
                              },
                              "contractStatus": {
                                "type": ["string", "null"]
                              },
                              "invoiceStatus": {
                                "type": ["string", "null"]
                              },
                              "name": {
                                "type": "string",
                                "minLength": 1
                              },
                              "format": {
                                "type": ["string", "null"]
                              },
                              "mimeType": {
                                "type": ["string", "null"]
                              },
                              "storageKey": {
                                "type": ["string", "null"]
                              },
                              "downloadUrl": {
                                "type": ["string", "null"],
                                "format": "uri"
                              },
                              "language": {
                                "type": ["string", "null"]
                              },
                              "metadata": {
                                "type": ["object", "null"],
                                "additionalProperties": {}
                              },
                              "createdAt": {
                                "type": "string",
                                "format": "date-time"
                              }
                            },
                            "required": [
                              "key",
                              "source",
                              "documentType",
                              "bookingId",
                              "name",
                              "createdAt"
                            ]
                          }
                        },
                        "notification": {
                          "type": ["object", "null"],
                          "properties": {
                            "recipient": {
                              "type": "string",
                              "minLength": 1
                            },
                            "deliveryId": {
                              "type": "string",
                              "minLength": 1
                            },
                            "provider": {
                              "type": ["string", "null"]
                            },
                            "status": {
                              "type": "string",
                              "enum": ["pending", "sent", "failed", "cancelled"]
                            }
                          },
                          "required": ["recipient", "deliveryId", "status"]
                        },
                        "skipReason": {
                          "type": ["string", "null"],
                          "enum": [
                            "preview_only",
                            "no_documents",
                            "no_recipient",
                            "no_attachments",
                            "send_failed",
                            null
                          ]
                        }
                      },
                      "required": ["bookingId", "documents", "notification", "skipReason"]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Booking not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminNotificationsBookingsByIdConfirmAndDispatch",
        "summary": "POST /v1/admin/notifications/bookings/{id}/confirm-and-dispatch",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "sendNotification": {
                        "type": "boolean",
                        "enum": [false]
                      },
                      "documentTypes": {
                        "type": "array",
                        "nullable": true,
                        "items": {
                          "type": "string",
                          "enum": ["contract", "invoice", "proforma", "brochure"]
                        }
                      }
                    },
                    "required": ["sendNotification"],
                    "additionalProperties": false
                  },
                  {
                    "allOf": [
                      {
                        "type": "object",
                        "properties": {
                          "idempotencyKey": {
                            "type": "string",
                            "minLength": 8,
                            "maxLength": 255
                          },
                          "templateId": {
                            "type": "string",
                            "nullable": true
                          },
                          "templateSlug": {
                            "type": "string",
                            "nullable": true
                          },
                          "scheduledFor": {
                            "type": "string",
                            "nullable": true
                          },
                          "documentTypes": {
                            "type": "array",
                            "nullable": true,
                            "items": {
                              "type": "string",
                              "enum": ["contract", "invoice", "proforma", "brochure"]
                            }
                          }
                        },
                        "required": ["idempotencyKey"],
                        "additionalProperties": false
                      },
                      {
                        "type": "object",
                        "properties": {
                          "sendNotification": {
                            "type": "boolean",
                            "enum": [true],
                            "default": true
                          }
                        }
                      }
                    ]
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/v1/admin/notifications/bookings/{id}/send-documents": {
      "post": {
        "parameters": [
          {
            "schema": {
              "type": "string"
            },
            "required": true,
            "name": "id",
            "in": "path"
          }
        ],
        "responses": {
          "201": {
            "description": "The dispatched booking-documents notification result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "properties": {
                        "bookingId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "recipient": {
                          "type": "string",
                          "minLength": 1
                        },
                        "documents": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "key": {
                                "type": "string",
                                "minLength": 1
                              },
                              "source": {
                                "type": "string",
                                "enum": ["legal", "finance", "products"]
                              },
                              "documentType": {
                                "type": "string",
                                "enum": ["contract", "invoice", "proforma", "brochure"]
                              },
                              "bookingId": {
                                "type": "string",
                                "minLength": 1
                              },
                              "contractId": {
                                "type": ["string", "null"]
                              },
                              "invoiceId": {
                                "type": ["string", "null"]
                              },
                              "attachmentId": {
                                "type": ["string", "null"]
                              },
                              "renditionId": {
                                "type": ["string", "null"]
                              },
                              "contractStatus": {
                                "type": ["string", "null"]
                              },
                              "invoiceStatus": {
                                "type": ["string", "null"]
                              },
                              "name": {
                                "type": "string",
                                "minLength": 1
                              },
                              "format": {
                                "type": ["string", "null"]
                              },
                              "mimeType": {
                                "type": ["string", "null"]
                              },
                              "storageKey": {
                                "type": ["string", "null"]
                              },
                              "downloadUrl": {
                                "type": ["string", "null"],
                                "format": "uri"
                              },
                              "language": {
                                "type": ["string", "null"]
                              },
                              "metadata": {
                                "type": ["object", "null"],
                                "additionalProperties": {}
                              },
                              "createdAt": {
                                "type": "string",
                                "format": "date-time"
                              }
                            },
                            "required": [
                              "key",
                              "source",
                              "documentType",
                              "bookingId",
                              "name",
                              "createdAt"
                            ]
                          }
                        },
                        "deliveryId": {
                          "type": "string",
                          "minLength": 1
                        },
                        "provider": {
                          "type": ["string", "null"]
                        },
                        "status": {
                          "type": "string",
                          "enum": ["pending", "sent", "failed", "cancelled"]
                        }
                      },
                      "required": ["bookingId", "recipient", "documents", "deliveryId", "status"]
                    }
                  },
                  "required": ["data"]
                }
              }
            }
          },
          "400": {
            "description": "invalid_request: request body failed validation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          },
          "404": {
            "description": "Booking not found",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": ["error"]
                }
              }
            }
          }
        },
        "operationId": "postAdminNotificationsBookingsByIdSendDocuments",
        "summary": "POST /v1/admin/notifications/bookings/{id}/send-documents",
        "tags": ["notifications"],
        "x-voyant-module": "notifications",
        "x-voyant-surface": "admin",
        "x-voyant-api-id": "@voyant-travel/notifications#api.admin",
        "x-voyant-unit-id": "@voyant-travel/notifications",
        "x-voyant-package-name": "@voyant-travel/notifications",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "idempotencyKey": {
                    "type": "string",
                    "minLength": 8,
                    "maxLength": 255
                  },
                  "templateId": {
                    "type": "string",
                    "nullable": true
                  },
                  "templateSlug": {
                    "type": "string",
                    "nullable": true
                  },
                  "scheduledFor": {
                    "type": "string",
                    "nullable": true
                  },
                  "documentTypes": {
                    "type": "array",
                    "nullable": true,
                    "items": {
                      "type": "string",
                      "enum": ["contract", "invoice", "proforma", "brochure"]
                    }
                  }
                },
                "required": ["idempotencyKey"],
                "additionalProperties": false
              }
            }
          }
        }
      }
    }
  },
  "webhooks": {}
}
