/{organizationId}/{mandateId}/booking/resources/offers/{offerId}Get offer
Returns information for a specific offer for a given mandate
Required permissions:
mandate.read
resourceOffer.read
Path Parameters
organizationIdstringrequired mandateIdstringrequired offerIdstringrequired Authentication: X-API-Key
Request
curl --request GET 'https://cloud.campai.com/api/{organizationId}/{mandateId}/booking/resources/offers/{offerId}' \
--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
sessionMinutesintegerrequired maximum: 9007199254740991
exclusiveMinimum: 0
sessionRetriesintegerrequired minimum: 0
maximum: 9007199254740991
Additional properties are not allowed.
paymentMethodsPendingstringrequired Options:
unpaidpartialpaidmaxItems: 20
maxItems: 8
refundTextstringrequired maxLength: 400
Additional properties are not allowed.
Additional properties are not allowed.
namestringrequired minLength: 1
maxLength: 60
descriptionstringrequired maxLength: 140
maxItems: 50
Additional properties are not allowed.
Additional properties are not allowed.
Additional properties are not allowed.
Response
{
"_id": "000000000000000000000001",
"mandate": "000000000000000000000001",
"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",
"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
}
],
"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"
},
"name": "string",
"description": "string",
"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
}
]
}
],
"availabilityHours": {
"from": {
"hours": 0,
"minutes": 0
},
"to": {
"hours": 0,
"minutes": 0
}
},
"availabilityWeekdays": {},
"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"
}
}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
{
"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
{
"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
{
"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
{
"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
{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}