bymundi API

Create a quote

The create_quote MCP tool: create a quote.

create_quote · writes

REST: POST /v1/trips/{tripId}/quotes

What the model reads

Creates a draft quote on a trip, as the quote editor's + button does: seeded with one line per journey and one hotel per stop of the trip's design (unless seedFromDesign: false), priced for the trip's headcount at the agency's default margin (unless marginPct). Choose mode now — it cannot change. Then price and add lines with edit_quote_lines.

Permissions: quotes:write. Set dryRun: true to preview the effect without writing anything. Undo: the result names a change id; undo_change reverts it.

Input

Field Type Required Description
tripId uuid yes
name string Defaults to Propuesta N, as the quote editor names them. max 200 chars
mode "package" | "per_item" package: one price, with up to 3 upgrade packages. per_item: a basket the customer picks lines from. Cannot change later. default "package"
seedFromDesign boolean Start with one line per journey and one hotel per stop of the trip's design, as the quote editor does. default true
templateId uuid
marginPct number Defaults to the agency's default margin. 0–99
finalPriceOverride string
validUntil string YYYY-MM-DD
ctaUrl string max 500 chars
metadata object
dryRun boolean Preview only: plan the change and return its effect without writing.

Input schema (JSON)

{
  "type": "object",
  "properties": {
    "tripId": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Defaults to `Propuesta N`, as the quote editor names them."
    },
    "mode": {
      "type": "string",
      "enum": [
        "package",
        "per_item"
      ],
      "default": "package",
      "description": "`package`: one price, with up to 3 upgrade packages. `per_item`: a basket the customer picks lines from. Cannot change later."
    },
    "seedFromDesign": {
      "type": "boolean",
      "default": true,
      "description": "Start with one line per journey and one hotel per stop of the trip's design, as the quote editor does."
    },
    "templateId": {
      "type": "string",
      "format": "uuid"
    },
    "marginPct": {
      "type": "number",
      "minimum": 0,
      "maximum": 99,
      "description": "Defaults to the agency's default margin."
    },
    "finalPriceOverride": {
      "type": "string",
      "pattern": "^-?\\d{1,9}(\\.\\d{1,2})?$"
    },
    "validUntil": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "ctaUrl": {
      "type": "string",
      "maxLength": 500
    },
    "metadata": {
      "type": "object",
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 500
          },
          {
            "type": "null"
          }
        ]
      },
      "propertyNames": {
        "pattern": "^[A-Za-z0-9_.-]{1,40}$"
      }
    },
    "dryRun": {
      "type": "boolean",
      "description": "Preview only: plan the change and return its effect without writing."
    }
  },
  "required": [
    "tripId"
  ],
  "additionalProperties": false
}