Skip to content
GET/{organizationId}/{mandateId}/booking/resources/{resourceId}

Get resource

Returns a specific resource with all of its details for a given mandate

Required permissions:

  • mandate.read

  • resource.read

Path Parameters

organizationIdstringrequired
mandateIdstringrequired
resourceIdstringrequired

Query Parameters

usagestringoptional

Options:

attachableeventLocation

Authentication: X-API-Key

Request

GET/{organizationId}/{mandateId}/booking/resources/{resourceId}
curl --request GET 'https://cloud.campai.com/api/{organizationId}/{mandateId}/booking/resources/{resourceId}' \
  --header 'X-API-Key: YOUR_API_KEY'

Responses

This endpoint returns different response codes based on the request outcome.

200Successful response

Content-Type: application/json

ObjectId as string

ObjectId as string

attachablebooleanrequired
typestringrequired

Options:

placepersonvehicletoolclothingobjectother

Additional properties are not allowed.

maxItems: 20

Additional properties are not allowed.

maxItems: 10

Additional properties are not allowed.

sharedbooleanrequired

Response

200
{
  "_id": "000000000000000000000001",
  "mandate": "000000000000000000000001",
  "attachable": true,
  "type": "place",
  "info": {
    "name": "string",
    "description": "string",
    "image": {
      "resource": "string"
    },
    "tags": "string",
    "categories": [
      {
        "name": "string",
        "nameNormalized": "string",
        "bookingCategoryId": "000000000000000000000001"
      }
    ]
  },
  "sites": [
    {
      "site": "000000000000000000000001",
      "name": "string",
      "timezone": "string",
      "address": {
        "country": "string",
        "zip": "string",
        "city": "string",
        "addressLine": "string"
      },
      "stock": 1
    }
  ],
  "offer": {
    "sessionMinutes": 1,
    "sessionRetries": 0,
    "paymentMethods": {
      "sepaCreditTransfer": {
        "internal": true,
        "cashAccount": "000000000000000000000001",
        "note": "string"
      },
      "sepaDirectDebit": {
        "internal": true,
        "cashAccount": "000000000000000000000001",
        "note": "string"
      },
      "online": {
        "internal": true,
        "note": "string",
        "stripe": true,
        "paypal": false
      },
      "cash": {
        "internal": true,
        "note": "string"
      }
    },
    "paymentMethodsPending": "unpaid",
    "paymentDueDate": null,
    "disallowCancelation": true,
    "refundPolicies": [
      {
        "refundUntil": {
          "value": 0,
          "unit": "hours"
        },
        "priceModifier": {
          "value": 0,
          "type": "%"
        },
        "pointModifier": {
          "value": 0,
          "type": "%"
        }
      }
    ],
    "refundText": "string",
    "form": {
      "groups": [
        {
          "id": "string",
          "label": "string",
          "fields": [
            {
              "id": "string",
              "type": "placeholder",
              "name": "string"
            }
          ]
        }
      ]
    },
    "formSettings": {
      "addressMode": "none",
      "applicantType": "person",
      "organisationNamePlaceholder": "string",
      "requirePhone": true,
      "showDiscountCode": true,
      "showRefundPolicies": true,
      "membershipNumberLabel": "string"
    },
    "attachReceipt": true,
    "rates": [
      {
        "id": "string",
        "name": "string",
        "description": "string",
        "availableFrom": {
          "value": 1,
          "unit": "hours"
        },
        "availableTo": {
          "value": 1,
          "unit": "hours"
        },
        "member": {
          "tags": "string",
          "tagsMode": "any",
          "allMandates": false
        },
        "charge": {
          "type": "price",
          "price": {
            "isNet": true,
            "price": 0,
            "taxCode": "string",
            "account": 1,
            "costCenter1": 1,
            "costCenter2": 1
          },
          "punchCard": {
            "punchCard": "000000000000000000000001",
            "punchCardName": "string",
            "punchCardPrice": {
              "isNet": true,
              "price": 0,
              "taxCode": "string",
              "account": 1,
              "costCenter1": 1,
              "costCenter2": 1
            },
            "points": 1
          }
        },
        "standard": true,
        "adjustments": [
          {
            "fromMonth": 1,
            "fromDate": 1,
            "fromTime": {
              "hours": 0,
              "minutes": 0
            },
            "toMonth": 1,
            "toDate": 1,
            "toTime": {
              "hours": 0,
              "minutes": 0
            },
            "weekdays": {},
            "value": 0
          }
        ]
      }
    ],
    "services": [
      {
        "service": "000000000000000000000001",
        "serviceName": "string",
        "serviceDescription": "string",
        "serviceOptions": [
          {
            "id": "string",
            "name": "string",
            "description": "string",
            "price": {
              "isNet": true,
              "price": 0,
              "taxCode": "string",
              "account": 1,
              "costCenter1": 1,
              "costCenter2": 1
            }
          }
        ],
        "serviceMinOptions": 1,
        "serviceMaxOptions": 1
      }
    ],
    "availability": {
      "toRelative": {
        "value": 1,
        "unit": "hours"
      }
    },
    "availabilityHours": {
      "from": {
        "hours": 0,
        "minutes": 0
      },
      "to": {
        "hours": 0,
        "minutes": 0
      }
    },
    "availabilityWeekdays": {},
    "availableOnWatchlist": true,
    "slots": {
      "size": 1,
      "unit": "minutes",
      "minimum": 1,
      "maximum": 1,
      "chargeRateBySlotNumber": true
    },
    "quantity": {
      "fromStock": true,
      "chargeRateByQuantity": true,
      "chargeServicesByQuantity": true,
      "minimum": 1,
      "maximum": 1,
      "name": "string",
      "description": "string"
    },
    "block": {
      "maximum": 1,
      "endMonth": 1,
      "endDate": 1,
      "internal": true,
      "cancelationMode": "single"
    },
    "offer": "000000000000000000000001",
    "offerName": "string",
    "mode": "disabled",
    "useCustomRates": true
  },
  "settings": {
    "confirmationMailText": "string",
    "confirmationMailAttachments": [
      {
        "resource": "string",
        "id": "string"
      }
    ],
    "checkIn": {
      "qrCode": true,
      "toleranceHours": 1,
      "autoCheckOutAfterHours": 1,
      "hasKey": true,
      "keyName": "string",
      "options": [
        "string"
      ],
      "optionMode": "any"
    }
  },
  "shared": true
}

400Invalid input data

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

400
{
  "code": "BAD_REQUEST",
  "message": "Invalid input data",
  "issues": []
}

401Authorization not provided

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

401
{
  "code": "UNAUTHORIZED",
  "message": "Authorization not provided",
  "issues": []
}

403Insufficient access

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

403
{
  "code": "FORBIDDEN",
  "message": "Insufficient access",
  "issues": []
}

404Not found

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

404
{
  "code": "NOT_FOUND",
  "message": "Not found",
  "issues": []
}

500Internal server error

Content-Type: application/json

The error information

messagestringrequired

The error message

codestringrequired

The error code

An array of issues that were responsible for the error

Response

500
{
  "code": "INTERNAL_SERVER_ERROR",
  "message": "Internal server error",
  "issues": []
}