Skip to main content

Option

Available hotel option (OptionSearch proto). Wire JSON uses id (not optionRefId). Pass id as quote criteria.optionRefId (or book input.optionRefId when skipping quote).

idstring

Unique option id from search. Use as quote criteria.optionRefId. After a successful quote, prefer book with optionQuote.optionRefId (may differ from search id).

connectionCodestring

Connection that returned this option

hotelCodestring

Hotel code

hotelNamestring

Hotel name

boardCodestring

Mapped board code

boardNamestring

Board display name

providerBoardCodestring

Provider-native board code

providerHotelCodestring

Provider-native hotel code

rateRules object[]

Rate rules when provided by the supplier (OptionSearch.rateRules)

  • Array [
  • typestring

    RateRulesType enum name (e.g. RATE_RULES_PACKAGE)

    descriptionstring

    Human-readable rule description

  • ]
  • price object

    Price information. Three independent prices coexist: provider cost (net), provider retail (gross/suggested), and the org selling price (markupGross). The org margin configured per connection is applied on top of the provider gross, never on net. When no margin is configured, markupGross equals the provider gross.

    netnumber<float>

    Provider cost (what the agency pays the supplier).

    currencystring

    Currency code

    bindingboolean

    Provider binding flag. When true the provider gross/suggested is the minimum selling price and must be respected (cannot be sold below it).

    suggestednumber<float>

    Provider suggested retail / minimum selling price (preserved from provider, not overwritten by markup).

    grossnumber<float>

    Provider retail price before any org markup (falls back to net when the provider does not send a suggested price).

    markupGrossnumber<float>

    Customer selling price = provider gross + org margin. Equals the provider gross when no margin is configured.

    markupNetnumber<float>

    Provider net cost plus the org margin amount (mandatory field).

    markupCurrencystring

    Currency of the markup (usually same as currency)

    markupBindingboolean

    Indicates if the markup price must be respected (mandatory field).

    marginAmountnumber<float>

    Org margin amount applied on provider gross (markupGross - gross).

    marginPercentnumber<float>

    Effective margin percentage applied on provider gross.

    marginTypestring

    Type of margin applied - FIXED or PERCENTAGE

    rooms object[]

    Room options

  • Array [
  • occupancyRefIdinteger<int32>

    Occupancy index matching search criteria

    codestring

    Mapped / type room code (may be coarse taxonomy)

    descriptionstring

    Room description

    providerCodestring

    Provider-native room id

    roomPrice object

    Price information. Three independent prices coexist: provider cost (net), provider retail (gross/suggested), and the org selling price (markupGross). The org margin configured per connection is applied on top of the provider gross, never on net. When no margin is configured, markupGross equals the provider gross.

    netnumber<float>

    Provider cost (what the agency pays the supplier).

    currencystring

    Currency code

    bindingboolean

    Provider binding flag. When true the provider gross/suggested is the minimum selling price and must be respected (cannot be sold below it).

    suggestednumber<float>

    Provider suggested retail / minimum selling price (preserved from provider, not overwritten by markup).

    grossnumber<float>

    Provider retail price before any org markup (falls back to net when the provider does not send a suggested price).

    markupGrossnumber<float>

    Customer selling price = provider gross + org margin. Equals the provider gross when no margin is configured.

    markupNetnumber<float>

    Provider net cost plus the org margin amount (mandatory field).

    markupCurrencystring

    Currency of the markup (usually same as currency)

    markupBindingboolean

    Indicates if the markup price must be respected (mandatory field).

    marginAmountnumber<float>

    Org margin amount applied on provider gross (markupGross - gross).

    marginPercentnumber<float>

    Effective margin percentage applied on provider gross.

    marginTypestring

    Type of margin applied - FIXED or PERCENTAGE

    ratePlan object

    Rate plan when provided

    codestring
    namestring
    providerCodestring
    promotions object[]
  • Array [
  • codestring
    namestring
    amountstring
  • ]
  • ]
  • cancelPolicy object

    Cancellation policy

    refundableboolean

    Whether the booking is refundable

    cancelPenalties object[]

    Cancellation penalties

  • Array [
  • currencystring

    Currency code

    deadlinestring<date-time>

    Cancellation deadline

    hoursBeforeinteger<int32>

    Hours before check-in

    penaltyTypestring

    Penalty calculation type from wire (IMPORT / NIGHTS / PERCENT). Present on real search/quote cancelPenalties (e.g. G2 E2E captures).

    Possible values: [IMPORT, NIGHTS, PERCENT]

    valuenumber<float>

    Penalty amount

  • ]
  • remarks object[]

    Additional remarks

  • Array [
  • typestring

    Remark type

    valuestring

    Remark value

  • ]
  • surcharges object[]

    Per-option tax and fee breakdown (search). When the integration provides breakdown, each line includes amount, currency, whether it is included in the displayed total, and a stable code. See public documentation for controlled vocabulary.

  • Array [
  • typestring

    Legacy provider-specific label (may duplicate code); prefer code and category for new clients

    descriptionstring

    Human-readable description from the provider

    mandatoryboolean

    Whether the surcharge is mandatory

    includedboolean

    When true, the amount is already included in the option total; when false, typically due at property

    categorySurchargeCategory (string)

    High-level grouping for a surcharge line

    Possible values: [SURCHARGE_CATEGORY_UNSPECIFIED, TAX, FEE, DEPOSIT, OTHER]

    codestring

    Stable semantic code (e.g. property_fee, mandatory_tax). See surcharge vocabulary in docs.

    Example: property_fee
    price object

    Price information. Three independent prices coexist: provider cost (net), provider retail (gross/suggested), and the org selling price (markupGross). The org margin configured per connection is applied on top of the provider gross, never on net. When no margin is configured, markupGross equals the provider gross.

    netnumber<float>

    Provider cost (what the agency pays the supplier).

    currencystring

    Currency code

    bindingboolean

    Provider binding flag. When true the provider gross/suggested is the minimum selling price and must be respected (cannot be sold below it).

    suggestednumber<float>

    Provider suggested retail / minimum selling price (preserved from provider, not overwritten by markup).

    grossnumber<float>

    Provider retail price before any org markup (falls back to net when the provider does not send a suggested price).

    markupGrossnumber<float>

    Customer selling price = provider gross + org margin. Equals the provider gross when no margin is configured.

    markupNetnumber<float>

    Provider net cost plus the org margin amount (mandatory field).

    markupCurrencystring

    Currency of the markup (usually same as currency)

    markupBindingboolean

    Indicates if the markup price must be respected (mandatory field).

    marginAmountnumber<float>

    Org margin amount applied on provider gross (markupGross - gross).

    marginPercentnumber<float>

    Effective margin percentage applied on provider gross.

    marginTypestring

    Type of margin applied - FIXED or PERCENTAGE

  • ]
  • paymentTypestring

    Payment type when provided by the supplier

    fromCacheboolean

    Whether the option was served from cache

    Option
    {
    "id": "string",
    "connectionCode": "string",
    "hotelCode": "string",
    "hotelName": "string",
    "boardCode": "string",
    "boardName": "string",
    "providerBoardCode": "string",
    "providerHotelCode": "string",
    "rateRules": [
    {
    "type": "string",
    "description": "string"
    }
    ],
    "price": {
    "net": 0,
    "currency": "string",
    "binding": true,
    "suggested": 0,
    "gross": 0,
    "markupGross": 0,
    "markupNet": 0,
    "markupCurrency": "string",
    "markupBinding": true,
    "marginAmount": 0,
    "marginPercent": 0,
    "marginType": "string"
    },
    "rooms": [
    {
    "occupancyRefId": 0,
    "code": "string",
    "description": "string",
    "providerCode": "string",
    "roomPrice": {
    "net": 0,
    "currency": "string",
    "binding": true,
    "suggested": 0,
    "gross": 0,
    "markupGross": 0,
    "markupNet": 0,
    "markupCurrency": "string",
    "markupBinding": true,
    "marginAmount": 0,
    "marginPercent": 0,
    "marginType": "string"
    },
    "ratePlan": {
    "code": "string",
    "name": "string",
    "providerCode": "string"
    },
    "promotions": [
    {
    "code": "string",
    "name": "string",
    "amount": "string"
    }
    ]
    }
    ],
    "cancelPolicy": {
    "refundable": true,
    "cancelPenalties": [
    {
    "currency": "string",
    "deadline": "2024-07-29T15:51:28.071Z",
    "hoursBefore": 0,
    "penaltyType": "IMPORT",
    "value": 0
    }
    ]
    },
    "remarks": [
    {
    "type": "string",
    "value": "string"
    }
    ],
    "surcharges": [
    {
    "type": "string",
    "description": "string",
    "mandatory": true,
    "included": true,
    "category": "SURCHARGE_CATEGORY_UNSPECIFIED",
    "code": "property_fee",
    "price": {
    "net": 0,
    "currency": "string",
    "binding": true,
    "suggested": 0,
    "gross": 0,
    "markupGross": 0,
    "markupNet": 0,
    "markupCurrency": "string",
    "markupBinding": true,
    "marginAmount": 0,
    "marginPercent": 0,
    "marginType": "string"
    }
    }
    ],
    "paymentType": "string",
    "fromCache": true
    }