trip_cost_estimate

Estimate flight and hotel trip cost from current provider offers, with explicit missing components and assumptions.

When to use

Use when an agent needs trip cost estimate from current travel offers.

Selection guidance

Role: primary. Use when an agent needs trip cost estimate from current travel offers.

Use cases

Access

Price: $0.25 USD per call. Payment options are deployment-configured; inspect /api/v1/payment-methods. Prices and payment semantics are unchanged from the canonical registry.

Get the full result

0.25 USD per call

Try free preview · limited information, no charge
curl -X POST 'https://marketplace.rafidsystem.com/api/v1/preview/trip_cost_estimate' -H 'Content-Type: application/json' --data '{"origin":"MCT","destination":"DXB","departureDate":"2026-11-10","returnDate":"2026-11-13","currency":"USD","nationality":"OM","hotel":{"enabled":true,"rooms":1,"destination":"Dubai"}}'

Payment instructions and onboarding · API docs and schemas

These are copyable API integration requests. They do not open a checkout or execute a paid tool.

Related tools

Example input

{
  "origin": "MCT",
  "destination": "DXB",
  "departureDate": "2026-11-10",
  "returnDate": "2026-11-13",
  "currency": "USD",
  "nationality": "OM",
  "hotel": {
    "enabled": true,
    "rooms": 1,
    "destination": "Dubai"
  }
}

Example output

{
  "route": {
    "origin": "MCT",
    "destination": "DXB"
  },
  "dates": {
    "departure": "2026-11-10",
    "return": "2026-11-13",
    "nights": 3
  },
  "selected": {
    "flight": null,
    "hotel": null,
    "hotelOffer": null
  },
  "cost": {
    "flight": null,
    "hotel": null,
    "estimatedSubtotal": 0,
    "estimatedTotal": null,
    "currency": "USD"
  },
  "partial": true,
  "unavailableComponents": [
    {
      "component": "flight",
      "code": "NO_FLIGHT_RESULTS"
    },
    {
      "component": "hotel",
      "code": "NO_HOTEL_RESULTS"
    }
  ],
  "confidence": "partial_search_coverage",
  "assumptions": [
    "No returned inventory in this illustrative schema example."
  ],
  "dataFreshness": {
    "flight": "2026-10-04T00:00:00.000Z",
    "hotel": "2026-10-04T00:00:00.000Z"
  },
  "searchedAt": "2026-10-04T00:00:00.000Z",
  "dataMode": "live"
}

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "origin": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100,
      "pattern": "^[\\p{L}\\p{N} .,'()-]+$"
    },
    "destination": {
      "type": "string",
      "minLength": 2,
      "maxLength": 100,
      "pattern": "^[\\p{L}\\p{N} .,'()-]+$"
    },
    "departureDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "returnDate": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "adults": {
      "default": 1,
      "type": "integer",
      "minimum": 1,
      "maximum": 9
    },
    "children": {
      "default": 0,
      "type": "integer",
      "minimum": 0,
      "maximum": 8
    },
    "infants": {
      "default": 0,
      "description": "Infant pricing is not supported by this adapter.",
      "type": "number",
      "const": 0
    },
    "cabinClass": {
      "default": "economy",
      "type": "string",
      "enum": [
        "economy",
        "premium_economy",
        "business",
        "first"
      ]
    },
    "currency": {
      "default": "USD",
      "type": "string",
      "pattern": "^[A-Z]{3}$"
    },
    "maxStops": {
      "type": "integer",
      "minimum": 0,
      "maximum": 3
    },
    "limit": {
      "default": 20,
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "sort": {
      "default": "price",
      "type": "string",
      "enum": [
        "price",
        "duration",
        "stops"
      ]
    },
    "childAges": {
      "default": [],
      "maxItems": 8,
      "type": "array",
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 17
      }
    },
    "nationality": {
      "type": "string",
      "pattern": "^[A-Z]{2}$"
    },
    "hotel": {
      "default": {
        "enabled": true,
        "rooms": 1
      },
      "type": "object",
      "properties": {
        "enabled": {
          "default": true,
          "type": "boolean"
        },
        "rooms": {
          "default": 1,
          "type": "number",
          "const": 1
        },
        "destination": {
          "type": "string",
          "minLength": 2,
          "maxLength": 100,
          "pattern": "^[\\p{L}\\p{N} .,'()-]+$"
        }
      },
      "required": [
        "enabled",
        "rooms"
      ],
      "additionalProperties": false
    },
    "strategy": {
      "default": "balanced",
      "type": "string",
      "enum": [
        "cheapest",
        "balanced",
        "comfort"
      ]
    }
  },
  "required": [
    "origin",
    "destination",
    "departureDate",
    "returnDate",
    "adults",
    "children",
    "infants",
    "cabinClass",
    "currency",
    "limit",
    "sort",
    "childAges",
    "hotel",
    "strategy"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "route": {
      "type": "object",
      "properties": {
        "origin": {
          "type": "string"
        },
        "destination": {
          "type": "string"
        }
      },
      "required": [
        "origin",
        "destination"
      ],
      "additionalProperties": false
    },
    "dates": {
      "type": "object",
      "properties": {
        "departure": {
          "type": "string"
        },
        "return": {
          "type": "string"
        },
        "nights": {
          "type": "number"
        }
      },
      "required": [
        "departure",
        "return",
        "nights"
      ],
      "additionalProperties": false
    },
    "selected": {
      "type": "object",
      "properties": {
        "flight": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "price": {
                  "type": "object",
                  "properties": {
                    "amount": {
                      "type": "number",
                      "minimum": 0
                    },
                    "currency": {
                      "type": "string",
                      "pattern": "^[A-Z]{3}$"
                    }
                  },
                  "required": [
                    "amount",
                    "currency"
                  ],
                  "additionalProperties": false
                },
                "airlines": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "segments": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "origin": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "destination": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "departureAt": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "arrivalAt": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "airline": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "required": [
                      "origin",
                      "destination",
                      "departureAt",
                      "arrivalAt",
                      "airline"
                    ],
                    "additionalProperties": false
                  }
                },
                "stops": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 9007199254740991
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "durationMinutes": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "departureAt": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "arrivalAt": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "reliability": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 1
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "refundable": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "baggage": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "splitTicket": {
                  "type": "boolean"
                },
                "selfTransfer": {
                  "type": "boolean"
                },
                "transferProtection": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "protected",
                        "unprotected"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "provider": {
                  "type": "string",
                  "const": "letsfg"
                }
              },
              "required": [
                "id",
                "price",
                "airlines",
                "segments",
                "stops",
                "durationMinutes",
                "departureAt",
                "arrivalAt",
                "reliability",
                "refundable",
                "baggage",
                "splitTicket",
                "selfTransfer",
                "provider"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "hotel": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "stars": {
                  "anyOf": [
                    {
                      "type": "number",
                      "minimum": 0,
                      "maximum": 5
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "offers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "roomName": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "price": {
                        "type": "object",
                        "properties": {
                          "amount": {
                            "type": "number",
                            "minimum": 0
                          },
                          "currency": {
                            "type": "string",
                            "pattern": "^[A-Z]{3}$"
                          }
                        },
                        "required": [
                          "amount",
                          "currency"
                        ],
                        "additionalProperties": false
                      },
                      "refundable": {
                        "type": [
                          "boolean",
                          "null"
                        ]
                      },
                      "freeCancellationUntil": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "cancellationPolicy": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "provider": {
                        "type": "string",
                        "const": "letsfg"
                      }
                    },
                    "required": [
                      "id",
                      "roomName",
                      "price",
                      "refundable",
                      "freeCancellationUntil",
                      "cancellationPolicy",
                      "provider"
                    ],
                    "additionalProperties": false
                  }
                }
              },
              "required": [
                "id",
                "name",
                "stars",
                "offers"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        },
        "hotelOffer": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "roomName": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "price": {
                  "type": "object",
                  "properties": {
                    "amount": {
                      "type": "number",
                      "minimum": 0
                    },
                    "currency": {
                      "type": "string",
                      "pattern": "^[A-Z]{3}$"
                    }
                  },
                  "required": [
                    "amount",
                    "currency"
                  ],
                  "additionalProperties": false
                },
                "refundable": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "freeCancellationUntil": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "cancellationPolicy": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "provider": {
                  "type": "string",
                  "const": "letsfg"
                }
              },
              "required": [
                "id",
                "roomName",
                "price",
                "refundable",
                "freeCancellationUntil",
                "cancellationPolicy",
                "provider"
              ],
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "flight",
        "hotel",
        "hotelOffer"
      ],
      "additionalProperties": false
    },
    "cost": {
      "type": "object",
      "properties": {
        "flight": {
          "type": [
            "number",
            "null"
          ]
        },
        "hotel": {
          "type": [
            "number",
            "null"
          ]
        },
        "estimatedSubtotal": {
          "type": "number"
        },
        "estimatedTotal": {
          "type": [
            "number",
            "null"
          ]
        },
        "currency": {
          "type": "string"
        }
      },
      "required": [
        "flight",
        "hotel",
        "estimatedSubtotal",
        "estimatedTotal",
        "currency"
      ],
      "additionalProperties": false
    },
    "partial": {
      "type": "boolean"
    },
    "unavailableComponents": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "component": {
            "type": "string"
          },
          "code": {
            "type": "string"
          }
        },
        "required": [
          "component",
          "code"
        ],
        "additionalProperties": false
      }
    },
    "confidence": {
      "type": "string",
      "enum": [
        "complete_search_coverage",
        "partial_search_coverage"
      ]
    },
    "assumptions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "dataFreshness": {
      "type": "object",
      "properties": {
        "flight": {
          "type": [
            "string",
            "null"
          ]
        },
        "hotel": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "flight",
        "hotel"
      ],
      "additionalProperties": false
    },
    "searchedAt": {
      "type": "string"
    },
    "dataMode": {
      "type": "string",
      "const": "live"
    }
  },
  "required": [
    "route",
    "dates",
    "selected",
    "cost",
    "partial",
    "unavailableComponents",
    "confidence",
    "assumptions",
    "dataFreshness",
    "searchedAt",
    "dataMode"
  ],
  "additionalProperties": false
}

Category: travel · hierarchy: primary · idempotent: yes · side effects: no