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://api.rafidsystem.com/api/v1/preview/trip_cost_estimate' -H 'Content-Type: application/json' --data '{"origin":"MCT","destination":"DXB","departureDate":"2026-11-12","returnDate":"2026-11-15","currency":"USD","nationality":"OM","hotel":{"enabled":true,"rooms":1,"destination":"Dubai"}}'
Pay with USDC · request an x402 challenge
curl -X POST 'https://api.rafidsystem.com/api/v1/x402/travel/trip-cost-estimate' -H 'Content-Type: application/json' --data '{"origin":"MCT","destination":"DXB","departureDate":"2026-11-12","returnDate":"2026-11-15","currency":"USD","nationality":"OM","hotel":{"enabled":true,"rooms":1,"destination":"Dubai"}}'
Authorized x402 client · signed retry request
curl -X POST 'https://api.rafidsystem.com/api/v1/x402/travel/trip-cost-estimate' -H 'Content-Type: application/json' -H 'PAYMENT-SIGNATURE: <PAYMENT_SIGNATURE_FROM_AUTHORIZED_CLIENT>' -H 'X-Rafid-Payment-Journey: <PAYMENT_JOURNEY_FROM_CHALLENGE>' -H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' --data '{"origin":"MCT","destination":"DXB","departureDate":"2026-11-12","returnDate":"2026-11-15","currency":"USD","nationality":"OM","hotel":{"enabled":true,"rooms":1,"destination":"Dubai"}}'

Use an x402-compatible client to parse PAYMENT-REQUIRED and authorize payment before retrying the same input with PAYMENT-SIGNATURE. Copying a request does not pay.

No crypto wallet? Use Rafid Credits
curl -X POST 'https://api.rafidsystem.com/api/v1/travel/trip-cost-estimate' -H 'Content-Type: application/json' -H 'Authorization: Bearer <RAFID_API_KEY>' -H 'X-Rafid-Payment-Method: credits' -H 'Idempotency-Key: <UNIQUE_REQUEST_ID>' -H 'X-Rafid-Payment-Journey: <PAYMENT_JOURNEY_FROM_CHALLENGE>' --data '{"origin":"MCT","destination":"DXB","departureDate":"2026-11-12","returnDate":"2026-11-15","currency":"USD","nationality":"OM","hotel":{"enabled":true,"rooms":1,"destination":"Dubai"}}'

Credits onboarding not yet self-service. Obtain a Rafid account and API key from the operator; existing accounts can use configured funding routes.

Existing account balance: GET https://api.rafidsystem.com/api/v1/account/balance.

MCP Credits integration
POST https://api.rafidsystem.com/mcp/credits
Authorization: Bearer <OAUTH_ACCESS_TOKEN>
Idempotency-Key: <UNIQUE_REQUEST_ID>
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "trip_cost_estimate",
    "arguments": {
      "origin": "MCT",
      "destination": "DXB",
      "departureDate": "2026-11-12",
      "returnDate": "2026-11-15",
      "currency": "USD",
      "nationality": "OM",
      "hotel": {
        "enabled": true,
        "rooms": 1,
        "destination": "Dubai"
      }
    }
  }
}

OAuth metadata: authorization server · protected resource. Operator authorization and an existing funded account are required; OAuth does not grant credits.

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-12",
  "returnDate": "2026-11-15",
  "currency": "USD",
  "nationality": "OM",
  "hotel": {
    "enabled": true,
    "rooms": 1,
    "destination": "Dubai"
  }
}

Example output

{
  "route": {
    "origin": "MCT",
    "destination": "DXB"
  },
  "dates": {
    "departure": "2026-11-12",
    "return": "2026-11-15",
    "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