> ## 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.

# Accept a quote

> Accept a quote



## OpenAPI

````yaml booking-engine-api/open-api/booking-engine-api.json POST /v2/{sessionId}/quote
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}/quote:
    post:
      tags:
        - Basket
      summary: Accept a quote.
      description: The data
      operationId: Basket_AcceptQuote
      parameters:
        - name: X-AVP-Validation
          in: header
          description: ''
          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
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Basket.HubAcceptQuoteRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/Basket.HubAcceptQuoteRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Basket.HubAcceptQuote'
            text/json:
              schema:
                $ref: '#/components/schemas/Basket.HubAcceptQuote'
        '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:
    Basket.HubAcceptQuoteRequest:
      required:
        - customerDetails
        - guestDetails
        - paymentType
        - subscribeInsurance
      type: object
      properties:
        paymentType:
          description: >-
            The payment type chose by the end user. It must have been proposed
            by the accept quote in a previous request.
          allOf:
            - $ref: '#/components/schemas/Basket.HubPaymentType'
        paymentModeName:
          description: >-
            The payment name chose by the end user. It must have been proposed
            by the accept quote in a previous request.
          type: string
        subscribeInsurance:
          description: >-
            True if the end user had chosen to subscribe to the proposed
            insurance.
          type: boolean
        customerDetails:
          description: Details of the customer (i.e. the end user which pay the booking).
          default:
            title: None
            addressLines: []
          allOf:
            - $ref: '#/components/schemas/Basket.HubCustomerDetails'
        guestDetails:
          description: >-
            Details of the guests (i.e. the people which will stay at the
            hotel).
          default: []
          type: array
          items:
            $ref: '#/components/schemas/Basket.HubGuestDetail'
        specialRequest:
          description: Customer desires.
          type: string
        loyaltyDetails:
          description: Loyalty information of the partner used and customer.
          allOf:
            - $ref: '#/components/schemas/Basket.HubLoyaltyDetails'
      example:
        paymentType: FullOnlinePayment
        subscribeInsurance: true
        customerDetails:
          title: Mr
          firstName: Roger
          lastName: Moore
          countryCode: FR
          phoneNumber: '0612345678'
          phoneCountryCode: '+33'
          emailAddress: rm@jb.com
          addressLines:
            - Avenue du Général de Gaulle
          cityName: Saint Ouen L'aumône
          postalCode: '95310'
          marketingConsent:
            optinHotel: false
            optinPartners: false
            optinHotelAccepted: false
            optinPartnersAccepted: false
        guestDetails: []
        specialRequest: J'exige qu'on m'offre le champagne!!!
    Basket.HubAcceptQuote:
      type: object
      properties:
        redirectionUrl:
          description: >-
            The redirect url to send to the browser for the end of the booking
            process.
          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
    Basket.HubPaymentType:
      description: >-
        Payment method proposed to the end user for a booking.


        - **DefaultDeposit** — Standard deposit captured at booking; the balance
        is settled later (typically on site).

        - **FullOnlinePayment** — Full booking amount is captured online at
        booking time.

        - **CallOption** — Place an option according to the CRS configured
        amount of time with a configured price penalty if the booking is not
        completed on time.

        - **WireTransfer** — Payment is settled by bank wire transfer outside
        the online booking flow.

        - **PaymentHubRedirection** — Payment is delegated to an external
        payment hub via browser redirection.
      enum:
        - DefaultDeposit
        - FullOnlinePayment
        - CallOption
        - WireTransfer
        - PaymentHubRedirection
      type: string
    Basket.HubCustomerDetails:
      required:
        - addressLines
        - title
      type: object
      properties:
        title:
          $ref: '#/components/schemas/Basket.HubGuestTitle'
        firstName:
          type: string
        lastName:
          type: string
        countryCode:
          description: The country where the customer live.
          type: string
        phoneNumber:
          description: "The phone number of the customer.\r\nIt is validated against the phoneConstraint associated with the PhoneCountryCode."
          type: string
        phoneCountryCode:
          description: >-
            The country used to validate the phone number and define the
            international prefix.
          type: string
        emailAddress:
          description: Must be a valid email address.
          type: string
        addressLines:
          default: []
          type: array
          items:
            type: string
        state:
          type: string
        cityName:
          type: string
        postalCode:
          type: string
        arrivalTime:
          format: time
          description: The time of arrival. Must be between 00:00 and 24:00.
          type: string
        faxNumber:
          type: string
        marketingConsent:
          description: Marketing consent.
          allOf:
            - $ref: '#/components/schemas/Basket.HubMarketingConsent'
    Basket.HubGuestDetail:
      required:
        - itemNumber
        - title
        - type
        - roomId
        - occupancyId
      type: object
      properties:
        title:
          $ref: '#/components/schemas/Basket.HubGuestTitle'
        type:
          $ref: '#/components/schemas/Basket.HubGuestType'
        firstName:
          type: string
        lastName:
          type: string
        roomId:
          description: The id of the room in which the guest will stay.
          allOf:
            - $ref: '#/components/schemas/HotelBusiness.RoomId'
        occupancyId:
          description: The id of the occupancy in which the guest will stay.
          allOf:
            - $ref: '#/components/schemas/HotelBusiness.OccupancyId'
        itemNumber:
          format: int32
          description: >-
            The room identifier number (1-based) in the basket in order to
            identify each room in guest distribution process
          default: 1
          type: integer
    Basket.HubLoyaltyDetails:
      required:
        - conversionRate
        - pointsBalance
      type: object
      properties:
        partnerId:
          type: string
        conversionRate:
          format: decimal
          type: number
        pointsBalance:
          format: decimal
          type: number
        memberId:
          type: string
    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
    Basket.HubGuestTitle:
      description: Salutation used to address the guest.
      enum:
        - None
        - Mr
        - Mrs
        - Miss
      type: string
    Basket.HubMarketingConsent:
      required:
        - optinHotel
        - optinPartners
        - optinHotelAccepted
        - optinPartnersAccepted
      type: object
      properties:
        optinHotel:
          description: >-
            True if the end user was proposed to receive information from the
            hotel.
          type: boolean
        optinPartners:
          description: >-
            True if the end user was proposed to receive information from the
            hotel's partners.
          type: boolean
        optinHotelAccepted:
          description: True if the end user accepts to receive information from the hotel.
          type: boolean
        optinPartnersAccepted:
          description: >-
            True if the end user accepts to receive information from the hotel's
            partners.
          type: boolean
    Basket.HubGuestType:
      description: >-
        Category of a guest based on age (used for occupancy, pricing and
        extras).
      enum:
        - Adult
        - Child
        - Infant
      type: string
    HotelBusiness.RoomId:
      format: int32
      type: integer
    HotelBusiness.OccupancyId:
      format: int32
      type: integer

````

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