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

# Book



## OpenAPI

````yaml /openapi/accomsoa-api.openapi.json post /accommodationapi/v1/book
openapi: 3.0.0
info:
  description: AccomSOA API for accommodation, activity, and EBS-related booking workflows.
  version: 1.0.0
  title: AccomSOA API
  contact:
    name: Adventium Tech Support
    url: https://www.adventium.tech
    email: tech-support@adventium.tech
servers:
  - url: //accomsoatest.websitetravel.com
security: []
tags:
  - name: accommodation-controller
    description: Accommodation Controller
  - name: activity-controller
    description: Activity Controller
  - name: basic-error-controller
    description: Basic Error Controller
  - name: ebs-controller
    description: EBS Controller
  - name: index-controller
    description: Index Controller
paths:
  /accommodationapi/v1/book:
    post:
      tags:
        - accommodation-controller
      summary: Book
      operationId: bookUsingPOST
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestData_BookRQ_'
        description: bookRQ
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseData_BookRS_'
        '201':
          description: Created
        '400':
          description: Failed
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      deprecated: false
components:
  schemas:
    RequestData_BookRQ_:
      type: object
      properties:
        agentID:
          type: string
        data:
          $ref: '#/components/schemas/BookRQ'
        site:
          type: string
      title: RequestData«BookRQ»
    ResponseData_BookRS_:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/BookRS'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ResponseExtraInformation'
        status:
          type: integer
          format: int32
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/ResponseExtraInformation'
      title: ResponseData«BookRS»
    BookRQ:
      type: object
      properties:
        agentInfo:
          type: string
        booker:
          $ref: '#/components/schemas/Booker'
        internalBookingReference:
          type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/RequestItem'
        specialRequests:
          type: array
          items:
            $ref: '#/components/schemas/SpecialRequest'
        travellers:
          type: array
          items:
            $ref: '#/components/schemas/Traveller'
      title: BookRQ
    BookRS:
      type: object
      properties:
        internalBookingReference:
          type: string
        items:
          type: array
          items:
            $ref: '#/components/schemas/ResponseItem'
      title: BookRS
    ResponseExtraInformation:
      type: object
      properties:
        code:
          type: string
        text:
          type: string
      title: ResponseExtraInformation
    Booker:
      type: object
      properties:
        givenName:
          type: string
        surname:
          type: string
        telephone:
          type: string
      title: Booker
    RequestItem:
      type: object
      properties:
        checkin:
          type: string
          example: yyyy-MM-dd
        checkout:
          type: string
          example: yyyy-MM-dd
        hotelID:
          type: string
        internalItemReference:
          type: string
        rateCode:
          type: string
        rooms:
          type: integer
          format: int32
        source:
          type: string
        supplierprice:
          $ref: '#/components/schemas/CurrencyValue'
        travellerMix:
          type: string
      title: RequestItem
    SpecialRequest:
      type: object
      properties:
        code:
          type: string
        value:
          type: string
      title: SpecialRequest
    Traveller:
      type: object
      properties:
        birthDate:
          type: string
          example: yyyy-MM-dd
        email:
          type: string
          example: fred@gmail.com
          description: The email of the traveller. Currently only used for transfers.
        givenName:
          type: string
        surname:
          type: string
        telephone:
          type: string
          example: '0414555666'
          description: >-
            The telephone numnber of the person.  Currently only used for
            transfers.
        title:
          type: string
      title: Traveller
    ResponseItem:
      type: object
      properties:
        channel:
          type: string
        comments:
          type: string
        internalItemReference:
          type: string
        itemStatus:
          type: string
          enum:
            - BOOKED
            - FAILED
            - PROCESSING
        supplierReference:
          type: string
      title: ResponseItem
    CurrencyValue:
      type: object
      required:
        - amount
        - currencyId
      properties:
        amount:
          type: number
          example: 100
        currencyId:
          type: string
          example: AUD
      title: CurrencyValue

````

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