> ## Documentation Index
> Fetch the complete documentation index at: https://developers.partoo.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Set Google Lodging attributes for your business

> This endpoint allows you to partially set or update **Google Lodging attributes** for your business.
Only lodging attributes included in the request body are updated. Other existing lodging attributes are left unchanged.
The business Google location must be able to operate Lodging data. For each lodging attribute, provide either a `value` or an `exception`, but not both.




## OpenAPI

````yaml /assets/openapi/openapi-bundled.yaml post /business/{business_id}/lodging
openapi: 3.1.0
info:
  title: Partoo Rest API
  version: v2
  license:
    name: © Copyright Partoo
    url: https://www.partoo.co/en/gtu-api/
  x-logo:
    url: >-
      https://partoo-client-images.s3.amazonaws.com/logo-partoo-restapi-white.png
  description: >
    ## Introduction

    The Partoo Rest API allows you to automate all the actions that are possible
    to do in the Partoo Web Application.


    The Partoo Rest API can be used for many different purposes:
      - Create/update/delete your businesses & users if you are a client.
      - Create/subscribe/manage organizations, businesses & users if you are a reseller.
      - Retrieve data on businesses you have access to if you are a publisher.
      - ...
servers:
  - url: https://api.partoo.co/v2
    description: Production server
  - url: https://api.sandbox.partoo.co/v2
    description: Sandbox server (dev environment for clients & partners)
security:
  - ApiKeyAuth: []
paths:
  /business/{business_id}/lodging:
    post:
      tags:
        - Businesses
      summary: Set Google Lodging attributes for your business
      description: >
        This endpoint allows you to partially set or update **Google Lodging
        attributes** for your business.

        Only lodging attributes included in the request body are updated. Other
        existing lodging attributes are left unchanged.

        The business Google location must be able to operate Lodging data. For
        each lodging attribute, provide either a `value` or an `exception`, but
        not both.
      operationId: postBusinessLodging
      parameters:
        - $ref: '#/components/parameters/business_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BusinessPostLodgingBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    $ref: '#/components/schemas/RequestStatus'
        '400':
          description: Wrong request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LodgingBadRequestError'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
components:
  parameters:
    business_id:
      in: path
      name: business_id
      required: true
      schema:
        type: string
      description: >
        Business id.      


        It may be replaced by `c-{code}` where code is the store code, which
        should be unique per organization. This can be used only for
        `ORG_ADMIN`, `GROUP_MANAGER` and `BUSINESS_MANAGER` users.
  schemas:
    BusinessPostLodgingBody:
      type: object
      required:
        - lodging
      properties:
        lodging:
          $ref: '#/components/schemas/LodgingAttributeValueArray'
    RequestStatus:
      description: Request status
      type: string
      enum:
        - success
    LodgingBadRequestError:
      type: object
      properties:
        errors:
          type: object
          properties:
            json:
              description: Details about the invalid lodging update request.
              oneOf:
                - type: string
                - type: object
              example: 'Unknown lodging attribute(s): [''lodging.unknown.attribute'']'
    LodgingAttributeValueArray:
      type: array
      description: List of Google Lodging attribute values.
      items:
        $ref: '#/components/schemas/LodgingAttributeValue'
      example:
        - gmb_id: lodging.services.frontDesk
          type: BOOL
          value: true
          exception: null
        - gmb_id: lodging.property.roomCount
          type: INTEGER
          value: 42
          exception: null
        - gmb_id: lodging.property.checkinTime
          type: TIME
          value: null
          exception: LODGING_DEPENDENT_ON_SEASON
        - gmb_id: lodging.services.languagesSpoken
          type: REPEATABLE_ENUM
          value:
            - ENGLISH
            - FRENCH
          exception: null
    LodgingAttributeValue:
      anyOf:
        - $ref: '#/components/schemas/LodgingAttribute.Value.BOOL'
          title: Boolean
        - $ref: '#/components/schemas/LodgingAttribute.Value.INTEGER'
          title: Integer
        - $ref: '#/components/schemas/LodgingAttribute.Value.TIME'
          title: Time
        - $ref: '#/components/schemas/LodgingAttribute.Value.ENUM'
          title: Enum
        - $ref: '#/components/schemas/LodgingAttribute.Value.REPEATABLE_ENUM'
          title: Repeatable Enum
      discriminator:
        propertyName: type
        mapping:
          BOOL:
            $ref: '#/components/schemas/LodgingAttribute.Value.BOOL'
          INTEGER:
            $ref: '#/components/schemas/LodgingAttribute.Value.INTEGER'
          TIME:
            $ref: '#/components/schemas/LodgingAttribute.Value.TIME'
          ENUM:
            $ref: '#/components/schemas/LodgingAttribute.Value.ENUM'
          REPEATABLE_ENUM:
            $ref: '#/components/schemas/LodgingAttribute.Value.REPEATABLE_ENUM'
    LodgingAttribute.Value.BOOL:
      type: object
      required:
        - gmb_id
        - type
      properties:
        gmb_id:
          type: string
          description: Google Lodging attribute id.
          example: lodging.services.frontDesk
        type:
          type: string
          enum:
            - BOOL
        value:
          description: Boolean value for the lodging attribute.
          oneOf:
            - type: boolean
            - type: 'null'
          example: true
        exception:
          description: >-
            Exception code used instead of `value`. Must be null when `value` is
            set.
          oneOf:
            - $ref: '#/components/schemas/LodgingExceptionCode'
            - type: 'null'
          example: null
    LodgingAttribute.Value.INTEGER:
      type: object
      required:
        - gmb_id
        - type
      properties:
        gmb_id:
          type: string
          description: Google Lodging attribute id.
          example: lodging.property.roomCount
        type:
          type: string
          enum:
            - INTEGER
        value:
          description: Integer value for the lodging attribute.
          oneOf:
            - type: integer
            - type: 'null'
          example: 42
        exception:
          description: >-
            Exception code used instead of `value`. Must be null when `value` is
            set.
          oneOf:
            - $ref: '#/components/schemas/LodgingExceptionCode'
            - type: 'null'
          example: null
    LodgingAttribute.Value.TIME:
      type: object
      required:
        - gmb_id
        - type
      properties:
        gmb_id:
          type: string
          description: Google Lodging attribute id.
          example: lodging.property.checkinTime
        type:
          type: string
          enum:
            - TIME
        value:
          description: Time value in `HH:MM` 24-hour format.
          oneOf:
            - type: string
              pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]$
            - type: 'null'
          example: '15:00'
        exception:
          description: >-
            Exception code used instead of `value`. Must be null when `value` is
            set.
          oneOf:
            - $ref: '#/components/schemas/LodgingExceptionCode'
            - type: 'null'
          example: LODGING_DEPENDENT_ON_SEASON
    LodgingAttribute.Value.ENUM:
      type: object
      required:
        - gmb_id
        - type
      properties:
        gmb_id:
          type: string
          description: Google Lodging attribute id.
          example: lodging.property.parkingType
        type:
          type: string
          enum:
            - ENUM
        value:
          description: Selected Google Lodging enum option id.
          oneOf:
            - type: string
            - type: 'null'
          example: FREE_PARKING
        exception:
          description: >-
            Exception code used instead of `value`. Must be null when `value` is
            set.
          oneOf:
            - $ref: '#/components/schemas/LodgingExceptionCode'
            - type: 'null'
          example: null
    LodgingAttribute.Value.REPEATABLE_ENUM:
      type: object
      required:
        - gmb_id
        - type
      properties:
        gmb_id:
          type: string
          description: Google Lodging attribute id.
          example: lodging.services.languagesSpoken
        type:
          type: string
          enum:
            - REPEATABLE_ENUM
        value:
          description: Selected Google Lodging enum option ids.
          oneOf:
            - type: array
              items:
                type: string
            - type: 'null'
          example:
            - ENGLISH
            - FRENCH
        exception:
          description: >-
            Exception code used instead of `value`. Must be null when `value` is
            set.
          oneOf:
            - $ref: '#/components/schemas/LodgingExceptionCode'
            - type: 'null'
          example: null
    LodgingExceptionCode:
      description: Exception code that can be used instead of a lodging attribute value.
      type: string
      enum:
        - LODGING_EXCEPTION_UNSPECIFIED
        - LODGING_UNDER_CONSTRUCTION
        - LODGING_DEPENDENT_ON_DAY_OF_WEEK
        - LODGING_DEPENDENT_ON_SEASON
  responses:
    '401':
      description: You are not authenticated
      content:
        application/json:
          schema:
            description: Error that occurs when you are not authenticated
            type: object
            properties:
              errors:
                type: object
                description: The detail of the error encountered
                properties:
                  authentication:
                    type: string
                    default: User not authenticated
    '403':
      description: |
        You are not allowed to perform this action
      content:
        application/json:
          schema:
            description: >
              Error that occurs when you are authenticated but you are trying to
              perform an action you are not allowed to perform
            type: object
            properties:
              errors:
                type: object
                description: The detail of the error encountered
                properties:
                  authorization:
                    type: string
                    default: Operation not allowed
    '404':
      description: Resource does not exist
      content:
        application/json:
          schema:
            description: >-
              Error that occcurs when you are trying to reach a resource that
              does not exist
            type: object
            properties:
              errors:
                type: object
                description: The detail of the error encountered
                properties:
                  json:
                    type: string
                    default: Resource not found
  securitySchemes:
    ApiKeyAuth:
      description: >
        The authentication system on Partoo API is using API Key that should be
        put in the header of the request (the name of the header is `x-APIKey`).
        An api_key is linked to a user. This user's role will give you different
        access level to the API features.
      type: apiKey
      in: header
      name: x-APIKey

````