> ## Documentation Index
> Fetch the complete documentation index at: https://docs.d-edge.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> This site documents the D-EDGE APIs for technology partners (web agencies, OTAs, PMS and RMS vendors, booking and CRM tools). It is written for developers integrating with hotels that use the D-EDGE platform.
> Seven APIs, grouped by domain. Connectivity: Channel Manager API (distribute a hotel's inventory to your channel and send bookings back). Pricing & Availability: Best Price API (best offers to highlight), Quotation API (all bookable offers for a stay), Daily Rates API (daily availability between two dates). Booking: Booking Engine API (a hotel's full direct booking funnel), Gift Shop API (gift vouchers from catalogue to payment). Guest Management: CRM API (guest profiles).
> Pick the API by the need: to display prices, use the Best Price API or the Daily Rates API; to quote a specific stay, use the Quotation API; to book, use the Booking Engine API; to sell gift vouchers, use the Gift Shop API; to manage guest profiles, use the CRM API; to receive hotel inventory and send bookings back as a distribution channel, use the Channel Manager API.
> Base URLs, hotel identifiers, and credentials are delivered by the D-EDGE partnership team during onboarding. Do not invent base URLs, endpoints, parameters, or example credentials that do not appear on these pages.
> Authentication differs per API: OAuth 1.0 for Best Price, Quotation, Daily Rates, and Booking Engine; an X-API-KEY header for Gift Shop; OAuth 2.0 client credentials for CRM; partner-defined credentials carried in the XML message for the Channel Manager API. Read each API's Authentication page before writing code.
> A mock environment returns realistic but fictitious data without credentials. The Postman and Insomnia collections on the API collections page target it by default. Use it for exploration and tests, never for production traffic.
> Use the official names exactly: D-EDGE, D-EDGE platform, Channel Manager API, partnership team. Do not use Back Office or Extranet.
> Each API has a Changelog page. Check it for the current behaviour before relying on an older answer. For questions these pages do not answer, direct the reader to the Contact us page.

# Gets extras descriptions

> Gets extras descriptions



## OpenAPI

````yaml booking-engine-api/open-api/booking-engine-api.json GET /v2/{sessionId}/description/extras
openapi: 3.0.1
info:
  title: Booking Engine API
  version: v2
servers:
  - url: https://{apiBaseUrl}
    variables:
      apiBaseUrl:
        default: api.example.com
        description: Base URL delivered by D-EDGE during partnership setup
security: []
tags:
  - name: Basket
  - name: Booking
  - name: Configuration
  - name: Description
  - name: Loyalty
  - name: Promotion
  - name: Resources
  - name: Search
  - name: Session
paths:
  /v2/{sessionId}/description/extras:
    get:
      tags:
        - Description
      summary: Gets extras descriptions.
      description: "The **X-AVP-Properties** header attribute  can contain some or all the following values, separated with | character:\r\n* `Information`\r\n* `Rooms`\r\n* `Rates`\r\n            \r\nThe **X-AVP-DescriptionType** header attribute can contain one of the following values:\r\n* `text/html` (default)\r\n* `text/plain`\r\n* `text/x-markdown`\r\n            \r\nThe **X-AVP-PictureTemplates** should contains the list of picture templates requested, separated with | character."
      operationId: Description_GetExtras
      parameters:
        - name: X-AVP-Properties
          in: header
          description: The properties.
          required: false
          schema:
            type: string
        - name: X-AVP-DescriptionType
          in: header
          description: Type of the description.
          required: false
          schema:
            type: string
        - name: X-AVP-PictureTemplates
          in: header
          description: The picture templates.
          required: false
          schema:
            type: string
        - name: X-AVP-Impersonation
          in: header
          description: ''
          required: false
          schema:
            type: string
        - name: sessionId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Description.Extra.HubExtrasResult'
            text/json:
              schema:
                $ref: '#/components/schemas/Description.Extra.HubExtrasResult'
        '400':
          description: The session code is invalid
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/BookingEngine.Hub.Service.Examples.Session.InvalidSessionErrorResponse
            text/json:
              schema:
                $ref: >-
                  #/components/schemas/BookingEngine.Hub.Service.Examples.Session.InvalidSessionErrorResponse
        '401':
          description: >-
            Authentication header is invalid or does not give access to the
            operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/BookingEngine.Hub.Service.Controllers.ErrorResponse_BookingEngine.Hub.Service.Config.SecurityErrorType_
            text/json:
              schema:
                $ref: >-
                  #/components/schemas/BookingEngine.Hub.Service.Controllers.ErrorResponse_BookingEngine.Hub.Service.Config.SecurityErrorType_
components:
  schemas:
    Description.Extra.HubExtrasResult:
      type: object
      properties:
        extras:
          type: array
          items:
            $ref: '#/components/schemas/Description.Extra.HubExtraDescription'
    BookingEngine.Hub.Service.Examples.Session.InvalidSessionErrorResponse:
      required:
        - code
      type: object
      properties:
        code:
          default: InvalidSessionId
          type: string
        message:
          type: string
    BookingEngine.Hub.Service.Controllers.ErrorResponse_BookingEngine.Hub.Service.Config.SecurityErrorType_:
      allOf:
        - $ref: >-
            #/components/schemas/BookingEngine.Hub.Service.Controllers.ErrorResponse
        - required:
            - code
          type: object
          properties:
            code:
              $ref: >-
                #/components/schemas/BookingEngine.Hub.Service.Config.SecurityErrorType
    Description.Extra.HubExtraDescription:
      required:
        - rateIds
        - roomIds
        - information
        - extraId
        - hotelId
      type: object
      properties:
        extraId:
          $ref: '#/components/schemas/HotelBusiness.ExtraId'
        name:
          type: string
        hotelId:
          $ref: '#/components/schemas/Common.HubHotelId'
        rateIds:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/HotelBusiness.RateId'
        roomIds:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/HotelBusiness.RoomId'
        information:
          default:
            class: Room
            type:
              value: Undefined
            gratuitousnessType:
              value: None
            stock: Uncountable
            summary: []
            pictures: []
            maximumQuantity: 0
            isMandatory: false
            isPreselected: false
            payOnline: false
            sortOrder: 0
            countingType:
              value: Booking
            occupancyDefinition: {}
          allOf:
            - $ref: >-
                #/components/schemas/Description.Extra.HubExtraDescriptionInformation
    BookingEngine.Hub.Service.Controllers.ErrorResponse:
      type: object
      properties:
        message:
          type: string
    BookingEngine.Hub.Service.Config.SecurityErrorType:
      description: >-
        Category of security failure returned when authentication or
        authorization is rejected.
      enum:
        - InvalidUserAuthentication
        - InvalidUserRoles
        - InvalidPermissions
      type: string
    HotelBusiness.ExtraId:
      format: int32
      type: integer
    Common.HubHotelId:
      type: string
    HotelBusiness.RateId:
      format: int32
      type: integer
    HotelBusiness.RoomId:
      format: int32
      type: integer
    Description.Extra.HubExtraDescriptionInformation:
      required:
        - type
        - gratuitousnessType
        - summary
        - pictures
        - countingType
        - occupancyDefinition
        - class
        - stock
        - maximumQuantity
        - isMandatory
        - isPreselected
        - payOnline
        - sortOrder
      type: object
      properties:
        class:
          $ref: '#/components/schemas/Description.Extra.HubExtraClass'
        type:
          default:
            value: Undefined
          allOf:
            - $ref: >-
                #/components/schemas/Common.HubValueText_Description.Extra.HubExtraType_
        gratuitousnessType:
          default:
            value: None
          allOf:
            - $ref: >-
                #/components/schemas/Common.HubValueText_Description.Extra.HubExtraGratuitousnessType_
        stock:
          $ref: '#/components/schemas/Description.Extra.HubExtraStock'
        summary:
          default: []
          type: array
          items:
            $ref: >-
              #/components/schemas/Common.HubValueText_Common.HubDescriptionType_
        pictures:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Common.HubPicture'
        maximumQuantity:
          format: int32
          type: integer
        isMandatory:
          type: boolean
        isPreselected:
          type: boolean
        payOnline:
          type: boolean
        sortOrder:
          format: int32
          type: integer
        countingType:
          default:
            value: Booking
          allOf:
            - $ref: >-
                #/components/schemas/Common.HubValueText_Description.Extra.HubExtraCountingType_
        occupancyDefinition:
          default: {}
          allOf:
            - $ref: >-
                #/components/schemas/Common.HubValueText_Description.Common.HubOccupancyDefinition_
    Description.Extra.HubExtraClass:
      description: >-
        Whether an extra is attached to a room or to the hotel as a whole.


        - **Room** — The extra is scoped to a specific room in the booking.

        - **Hotel** — The extra is scoped to the hotel and shared across all
        rooms in the booking.
      enum:
        - Room
        - Hotel
      type: string
    Common.HubValueText_Description.Extra.HubExtraType_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              $ref: '#/components/schemas/Description.Extra.HubExtraType'
    Common.HubValueText_Description.Extra.HubExtraGratuitousnessType_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              $ref: >-
                #/components/schemas/Description.Extra.HubExtraGratuitousnessType
    Description.Extra.HubExtraStock:
      description: >-
        Availability model for an extra's inventory.


        - **Uncountable** — Stock is not tracked for this extra.

        - **Unlimited** — Stock is tracked but never runs out.

        - **Dependent** — Stock is derived from another resource's availability
        (e.g. the parent room).

        - **Limited** — Stock is limited and decreases as bookings consume it.
      enum:
        - Uncountable
        - Unlimited
        - Dependent
        - Limited
      type: string
    Common.HubValueText_Common.HubDescriptionType_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              $ref: '#/components/schemas/Common.HubDescriptionType'
    Common.HubPicture:
      required:
        - templates
        - sortOrder
      type: object
      properties:
        templates:
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Common.HubPictureTemplate'
        sortOrder:
          format: int32
          type: integer
    Common.HubValueText_Description.Extra.HubExtraCountingType_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - required:
            - value
          type: object
          properties:
            value:
              $ref: '#/components/schemas/Description.Extra.HubExtraCountingType'
    Common.HubValueText_Description.Common.HubOccupancyDefinition_:
      allOf:
        - $ref: '#/components/schemas/Common.HubValueText'
        - type: object
          properties:
            value:
              $ref: '#/components/schemas/Description.Common.HubOccupancyDefinition'
    Common.HubValueText:
      type: object
      properties:
        text:
          type: string
    Description.Extra.HubExtraType:
      description: >-
        Category of an extra offered alongside the room booking.


        - **Undefined** — Extra type is not classified.

        - **StayTax** — Stay tax collected as a booking extra.

        - **OtherTax** — Other tax collected as a booking extra.

        - **Breakfast** — Breakfast service.

        - **AdditionalInfant** — Additional infant beyond the room's base
        occupancy.

        - **AdditionalChild** — Additional child beyond the room's base
        occupancy.

        - **AdditionalAdult** — Additional adult beyond the room's base
        occupancy.

        - **Coffin** — Legacy label historically used for a baby cot; kept for
        backward compatibility with the CRS extra catalogue.

        - **AdditionalBed** — Additional bed added to the room.

        - **Pet** — Pet-related fee.

        - **Parking** — Parking service.

        - **Excursion** — Excursion or activity booked alongside the stay.

        - **Entertainment** — Entertainment service offered by the hotel.

        - **InternetAccess** — Internet access service.

        - **Transfer** — Transfer service (airport shuttle, taxi, etc.).

        - **Cleaning** — Cleaning or housekeeping service.
      enum:
        - Undefined
        - StayTax
        - OtherTax
        - Breakfast
        - AdditionalInfant
        - AdditionalChild
        - AdditionalAdult
        - Coffin
        - AdditionalBed
        - Pet
        - Parking
        - Excursion
        - Entertainment
        - InternetAccess
        - Transfer
        - Cleaning
      type: string
    Description.Extra.HubExtraGratuitousnessType:
      description: |-
        Whether an extra is charged, included in the rate, or offered for free.

        - **None** — Extra is charged normally.
        - **Included** — Extra is included in the rate at no additional cost.
        - **Free** — Extra is available free of charge.
        - **Offered** — Extra is offered as a gift by the hotel.
      enum:
        - None
        - Included
        - Free
        - Offered
      type: string
    Common.HubDescriptionType:
      description: Markup format used for rich-text description fields returned by the API.
      enum:
        - Html
        - Markdown
        - PlainText
      type: string
    Common.HubPictureTemplate:
      type: object
      properties:
        name:
          type: string
        url:
          type: string
    Description.Extra.HubExtraCountingType:
      description: |-
        How an extra's quantity is counted for pricing purposes.

        - **Booking** — Counted once per booking regardless of guests or nights.
        - **Day** — Counted per night of the stay.
        - **Person** — Counted per guest for the whole stay.
        - **PersonDay** — Counted per guest and per night.
        - **AdultDay** — Counted per adult and per night.
        - **ChildDay** — Counted per child and per night.
        - **InfantDay** — Counted per infant and per night.
      enum:
        - Booking
        - Day
        - Person
        - PersonDay
        - AdultDay
        - ChildDay
        - InfantDay
      type: string
    Description.Common.HubOccupancyDefinition:
      required:
        - isDetailed
        - personCount
        - adultCount
        - childCount
        - infantCount
      type: object
      properties:
        isDetailed:
          type: boolean
        personCount:
          format: int32
          type: integer
        adultCount:
          format: int32
          type: integer
        childCount:
          format: int32
          type: integer
        infantCount:
          format: int32
          type: integer
        childrenAges:
          type: array
          items:
            format: int32
            type: integer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.