{
"openapi": "3.0.1",
"info": {
"title": "Basket API [deprecated]",
"version": "5.0.0"
},
"servers": [
{
"url": "https://{api_url}/api/v5",
"variables": {
"api_url": {
"default": "example.jrni.com"
}
}
}
],
"security": [
{
"app_id": []
}
],
"tags": [
{
"name": "Basket",
"description": "Operations about Baskets"
}
],
"paths": {
"/{company_id}/basket/coupon": {
"post": {
"tags": [
"Basket"
],
"summary": "Apply Coupon",
"description": " Attempt to apply a discount coupon to a basket\n",
"operationId": "postCompanyIdBasketCoupon",
"parameters": [
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"required": [
"coupon"
],
"properties": {
"coupon": {
"type": "string"
}
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Basket",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BasketRoar"
}
}
}
},
"400": {
"description": "When the coupon code does not exist;
When the coupon was issued by a different company",
"content": {}
}
}
},
"delete": {
"tags": [
"Basket"
],
"summary": "Delete Basket Coupon",
"description": " Delete a coupon from a basket\n",
"operationId": "deleteCompanyIdBasketCoupon",
"parameters": [
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Delete Basket Coupon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BasketRoar"
}
}
}
}
}
}
},
"/{company_id}/basket/deal": {
"put": {
"tags": [
"Basket"
],
"summary": "Delete a Deal from the Basket",
"description": " Remove a deal from the basket\n",
"operationId": "putCompanyIdBasketDeal",
"parameters": [
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Delete a Deal from the Basket",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BasketRoar"
}
}
}
}
}
},
"post": {
"tags": [
"Basket"
],
"summary": "Apply Deal",
"description": " Attempt to apply a deal to a basket\n",
"operationId": "postCompanyIdBasketDeal",
"parameters": [
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"required": [
"deal_code"
],
"properties": {
"deal_code": {
"type": "integer",
"format": "int32"
},
"member_id": {
"type": "integer",
"format": "int32"
}
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Basket",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BasketRoar"
}
}
}
},
"400": {
"description": "When the voucher code does not exist;
When the voucher was issued by a different company",
"content": {}
}
}
}
},
"/{company_id}/basket/{id}/attach/{attachment_id}": {
"get": {
"tags": [
"Basket"
],
"summary": "Get an Attachment from the Basket",
"description": " Get a specific file attachment from the current basket\n",
"operationId": "getCompanyIdBasketIdAttachAttachmentId",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "attachment_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Attachment",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AttachmentRoar"
}
}
}
},
"403": {
"description": "When the attachment does not belong to current company",
"content": {}
},
"404": {
"description": "When the attachment cannot be found",
"content": {}
}
}
},
"delete": {
"tags": [
"Basket"
],
"summary": "Delete Attachment from the Basket",
"description": " Remove a file attachment from basket. If the attachment cannot be found,\n a HTTP 404 status is yielded.\n",
"operationId": "deleteCompanyIdBasketIdAttachAttachmentId",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "attachment_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"204": {
"description": "Delete Attachment from the Basket",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AttachmentRoar"
}
}
}
}
}
}
},
"/{company_id}/basket/{id}/attach": {
"put": {
"tags": [
"Basket"
],
"summary": "Update File Attachment for Basket",
"description": " Update a file attachment for a basket.\n",
"operationId": "putCompanyIdBasketIdAttach",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"required": [
"attachment_id"
],
"properties": {
"attachment_id": {
"type": "string"
}
}
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Attachment",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AttachmentRoar"
}
}
}
},
"400": {
"description": "When attachment failed to update",
"content": {}
},
"403": {
"description": "When the attachment does not belongs to current company",
"content": {}
},
"404": {
"description": "When the attachment cannot be found",
"content": {}
}
}
},
"post": {
"tags": [
"Basket"
],
"summary": "Add Attachment to Basket",
"description": " Add a new file attachment to the basket.\n",
"operationId": "postCompanyIdBasketIdAttach",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"201": {
"description": "Attachment",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AttachmentRoar"
}
}
}
},
"400": {
"description": "When attachment failed to save",
"content": {}
}
}
}
},
"/{company_id}/basket/{id}/attendees": {
"get": {
"tags": [
"Basket"
],
"summary": "Obtains Attendees of Booking",
"description": "Obtains booking's attendees after it was added to booking",
"operationId": "getCompanyIdBasketIdAttendees",
"parameters": [
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Attendees",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AttendeeCollection"
}
}
}
}
}
},
"post": {
"tags": [
"Basket"
],
"summary": "Add Attendees To Booking",
"description": "Add attendee to booking",
"operationId": "postCompanyIdBasketIdAttendees",
"parameters": [
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"required": [
"type"
],
"properties": {
"name": {
"type": "string",
"description": "Attendee full name"
},
"first_name": {
"type": "string",
"description": "Attendee first name"
},
"last_name": {
"type": "string",
"description": "Attendee last name"
},
"telephone": {
"type": "string",
"description": "Attendee telephone"
},
"consent": {
"type": "boolean",
"description": "We have permission to store the attende data"
},
"relationship": {
"type": "string",
"description": "Attendee relationship (i.e) lawyer, friend, or partner"
},
"type": {
"type": "string",
"description": "customer, staff",
"enum": [
"customer"
]
},
"email": {
"type": "string",
"description": "Attendee email"
},
"notify_member": {
"type": "boolean",
"description": "Send a notification to the main booker",
"default": true
}
}
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Add Attendees To Booking",
"content": {}
}
}
}
},
"/{company_id}/basket/{id}/attendees/{attendee_id}": {
"put": {
"tags": [
"Basket"
],
"summary": "Modify Attendee",
"description": "Modifies an attendee of the booking",
"operationId": "putCompanyIdBasketIdAttendeesAttendeeId",
"parameters": [
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "attendee_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"name": {
"type": "string",
"description": "Attendee full name"
},
"first_name": {
"type": "string",
"description": "Attendee first name"
},
"last_name": {
"type": "string",
"description": "Attendee last name"
},
"telephone": {
"type": "string",
"description": "Attendee telephone"
},
"relationship": {
"type": "string",
"description": "Attendee relationship (i.e) lawyer, friend, or partner"
},
"type": {
"type": "string",
"description": "customer, staff"
},
"email": {
"type": "string",
"description": "Attendee email"
},
"notify_member": {
"type": "boolean",
"description": "Send a notification to the main booker",
"default": true
}
}
}
}
}
},
"responses": {
"200": {
"description": "Modify Attendee",
"content": {}
}
}
},
"delete": {
"tags": [
"Basket"
],
"summary": "Remove Attendee",
"description": "Deletes booking's attendees after it was added to booking",
"operationId": "deleteCompanyIdBasketIdAttendeesAttendeeId",
"parameters": [
{
"name": "notify_member",
"in": "query",
"description": "Send a notification to the main booker",
"schema": {
"type": "boolean",
"default": true
}
},
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "attendee_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"204": {
"description": "Remove Attendee",
"content": {}
}
}
}
},
"/{company_id}/basket/{id}": {
"get": {
"tags": [
"Basket"
],
"summary": "Read Basket Item",
"description": " Get the Details of a Specific Item in the Shopping Basket\n",
"operationId": "getCompanyIdBasketId",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Basket item id, required",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Basket Item",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BasketItemRoar"
}
}
}
}
}
},
"delete": {
"tags": [
"Basket"
],
"summary": "Delete Basket Item",
"description": " Remove an item from the shopping basket. If the basket or item\n cannot be found, a HTTP 404 status is yielded.\n",
"operationId": "deleteCompanyIdBasketId",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Basket item id, required",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"204": {
"description": "Delete Basket Item",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BasketRoar"
}
}
}
}
}
}
},
"/{company_id}/basket": {
"get": {
"tags": [
"Basket"
],
"summary": "Read Basket",
"description": " Get Contents and Details of the Current Cached Basket\n",
"operationId": "getCompanyIdBasket",
"parameters": [
{
"name": "company_id",
"in": "path",
"description": "Company id, required",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Basket",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BasketRoar"
}
}
}
},
"404": {
"description": "Occurs when the company's basket cannot be found",
"content": {}
}
}
},
"delete": {
"tags": [
"Basket"
],
"summary": "Destroy Basket",
"description": " Empty the Shopping Basket.\n",
"operationId": "deleteCompanyIdBasket",
"parameters": [
{
"name": "member_id",
"in": "query",
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "take_from_wallet",
"in": "query",
"schema": {
"type": "boolean"
}
},
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"204": {
"description": "Destroy Basket",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BasketRoar"
}
}
}
}
}
}
},
"/{company_id}/basket/checkout": {
"post": {
"tags": [
"Basket"
],
"summary": "Checkout Basket",
"description": " Confirm and Pay for the Items in the Shopping Basket\n",
"operationId": "postCompanyIdBasketCheckout",
"parameters": [
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"member_id": {
"type": "integer",
"description": "Member id",
"format": "int32"
},
"take_from_wallet": {
"type": "boolean",
"description": "Use money stored in wallet (true/false)"
},
"email": {
"type": "string",
"description": "Customer email"
},
"reference": {
"type": "string",
"description": "A custom reference for the booking invoice"
},
"no_notifications": {
"type": "boolean",
"description": "Determines whether or not to send notifications to Customers & Admins"
},
"is_admin": {
"type": "boolean",
"description": "Make a booking as an admin (true/false)"
}
}
}
}
}
},
"responses": {
"201": {
"description": "Purchase",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PurchaseRoar"
}
}
}
},
"400": {
"description": "When e-mail contains html",
"content": {}
},
"403": {
"description": "When the customer/member does not exist",
"content": {}
},
"404": {
"description": "When the member is from a different company",
"content": {}
}
}
}
},
"/{company_id}/basket/add_item": {
"post": {
"tags": [
"Basket"
],
"summary": "Create Basket Item",
"description": "
\nAdd Shopping Item To Basket
\nThis function adds a new shopping basket item to the current cached\nshopping basket. If a shopping basket does not already exist then a\nnew one is created.
\n\nThe shopping basket is tied to the active session and is valid only\nas the session is. Where possible basket items are \"held\" meaning\nthat that space or slot is reserved until you checkout.
\nReserved items are only held for a number of minutes unless another\nmessage is sent to keep the held item active, otherwise it is\nreleased back to allow another customer to book it.
\n\nA shopping basket is not actually required - it is possible to\ncheckout in a single message via the Admin API, passing in all of the details required\nto book an item, but a shopping basket can be used to cache and\nhandle multiple items, as well as deal with complicated issues such as\napplying and validating coupons, packages and discounts.\n",
"operationId": "postCompanyIdBasketAddItem",
"parameters": [
{
"name": "company_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"properties": {
"service_id": {
"type": "integer",
"description": "Service id",
"format": "int32"
},
"member_id": {
"type": "integer",
"description": "Member id",
"format": "int32"
},
"event_id": {
"type": "integer",
"description": "Event id",
"format": "int32"
},
"event_chain_id": {
"type": "integer",
"description": "Event chain id",
"format": "int32"
},
"product_id": {
"type": "integer",
"description": "Product id",
"format": "int32"
},
"attachment_id": {
"type": "string"
},
"package_id": {
"type": "integer",
"description": "Package id",
"format": "int32"
},
"deal_id": {
"type": "integer",
"format": "int32"
},
"bulk_purchase_id": {
"type": "integer",
"description": "Bulk purchase id",
"format": "int32"
},
"date": {
"type": "string",
"description": "Date in ISO-8601 (YYYY-MM-DD)"
},
"time": {
"type": "string",
"description": "Time (HH:mm) or minutes elapsed since midnight"
},
"person_id": {
"type": "integer",
"description": "Person ID"
},
"resource_id": {
"type": "integer",
"description": "Resource ID"
}
}
}
}
}
},
"responses": {
"201": {
"description": "Basket",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BasketRoar"
}
}
}
},
"401": {
"description": "Occurs when no authorisation token is supplied for 'Member' type customers",
"content": {}
},
"403": {
"description": "When an affiliate not actually linked to the company tries to add to a customer's basket",
"content": {}
},
"404": {
"description": "When the member cannot be found",
"content": {}
},
"409": {
"description": "When clients add different events simultaneously;
When clients add duplicate events to the basket",
"content": {}
}
}
}
}
},
"components": {
"schemas": {
"EventChainRoar": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 69855
},
"updated_at": {
"type": "string",
"example": "2019-07-29T13:13:21.000Z"
},
"created_at": {
"type": "string",
"example": "2019-07-29T13:13:21.000Z"
},
"name": {
"type": "string",
"example": "Event Chain"
},
"description": {
"type": "string",
"example": "A description"
},
"duration": {
"type": "integer",
"example": 34
},
"group": {
"type": "string",
"example": "Name of service"
},
"time": {
"type": "string",
"example": "2019-08-04T13:13:21.000Z"
},
"waitlength": {
"type": "integer",
"example": 60
},
"long_description": {
"type": "string",
"example": "Detailed description"
},
"capacity_view": {
"type": "integer",
"example": 3
},
"start_date": {
"type": "string",
"example": "2019-08-01T00:00:00.000Z"
},
"end_date": {
"type": "string",
"example": "2019-08-04T00:00:00.000Z"
},
"spaces": {
"type": "integer",
"example": 1
},
"person_name": {
"type": "string",
"example": "Dr. Carol Smilie"
},
"resource_name": {
"type": "string",
"example": "Surgery Room 1"
},
"price": {
"type": "integer",
"example": 2000
},
"max_num_bookings": {
"type": "integer",
"example": 1
},
"max_advance_time": {
"type": "string",
"example": "2019-08-01T13:43:21.000Z"
},
"min_advance_time": {
"type": "string",
"example": "2019-08-29T13:13:21.000Z"
},
"min_advance": {
"type": "integer",
"example": 4
},
"min_advance_unit": {
"type": "string",
"example": "minute"
},
"min_cancel": {
"type": "integer",
"example": 30
},
"min_cancel_unit": {
"type": "string",
"example": "minute"
},
"ticket_type": {
"type": "string",
"example": "multi_space"
},
"email_per_ticket": {
"type": "boolean",
"example": true
},
"questions_per_ticket": {
"type": "boolean",
"example": false
},
"extra": {
"type": "object",
"properties": {},
"example": {
"question_1": "answer to question_1",
"checkbox_question": [
"possible answer 1",
"possible answer 2",
"possible answer 3"
]
}
},
"course": {
"type": "boolean",
"example": true
},
"recurrence_type": {
"type": "string",
"example": "WEEKLY"
},
"company_id": {
"type": "integer",
"example": 589345
},
"occurances": {
"type": "integer",
"example": 23
},
"_embedded": {
"type": "object",
"properties": {
"slots": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EventRoar"
}
},
"images": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ImageRoar"
}
},
"questions": {
"$ref": "#/components/schemas/QuestionGroupRoar"
},
"ticket_sets": {
"type": "array",
"example": {
"name": "Name",
"type": "type",
"price": 2700,
"event_chain_id": 50348,
"id": 9482948,
"min_num_bookings": 3,
"max_num_bookings": 30,
"pool_name": "Pool Name",
"pool_id": 3290485,
"pool_description": "Description",
"valid_from": "2019-08-04T00:00:00.000Z",
"valid_to": "2019-09-19T00:00:00.000Z",
"spaces": 30,
"counts_as": "string",
"price_type_id": 75862
},
"items": {
"type": "object",
"properties": {}
}
},
"events": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EventRoar"
}
},
"child_event_chains": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EventChainRoar"
}
}
}
}
}
},
"PersonRoar": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 254543
},
"name": {
"type": "string",
"example": "John Bull"
},
"description": {
"type": "string",
"example": "A little bit about them"
},
"type": {
"type": "string",
"example": "person"
},
"extra": {
"type": "object",
"properties": {},
"example": {
"question_one": "Answer to question_one",
"question_two": "Answer to question two"
}
},
"group_id": {
"type": "integer",
"example": 58459
},
"deleted": {
"type": "boolean",
"example": false
},
"disabled": {
"type": "boolean",
"example": false
},
"company_id": {
"type": "integer",
"example": 37000
},
"order": {
"type": "integer",
"example": 1
},
"group_name": {
"type": "string",
"example": "Group"
},
"phone": {
"type": "string",
"example": "0208 123 456"
},
"phone_prefix": {
"type": "string",
"example": 44
},
"created_at": {
"type": "string",
"example": null
},
"updated_at": {
"type": "string",
"example": null
},
"_embedded": {
"type": "object",
"properties": {
"images": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ImageRoar"
}
}
}
}
}
},
"EventGroupRoar": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 3234
},
"name": {
"type": "string",
"example": "Name of event group"
},
"description": {
"type": "string",
"example": "Description of the event group"
},
"colour": {
"type": "string",
"example": "#800000"
},
"company_id": {
"type": "integer",
"example": 40001
},
"api_ref": {
"type": "string",
"example": "REF123"
},
"extra": {
"type": "object",
"properties": {},
"example": {
"standard_question_1": "answer to question_1",
"checkbox_question_2": [
"option_1_for_question_2",
"option_2_for_question_2"
]
}
},
"_embedded": {
"type": "object",
"properties": {
"images": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ImageRoar"
}
}
}
}
}
},
"AttachmentRoar": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 1
},
"name": {
"type": "string",
"example": "MyUploadedFile"
},
"url": {
"type": "string",
"example": "https://s3.amazonaws.com/test/uk/files/1/MyUploadedFile?AWSAccessKeyId=&Expires=1504872516&Signature="
},
"file_size": {
"type": "string",
"example": null
},
"created_at": {
"type": "string",
"example": null
},
"updated_at": {
"type": "string",
"example": null
},
"user_name": {
"type": "string",
"example": null
}
},
"description": " Add a new file attachment to the basket.\n"
},
"ImageRoar": {
"type": "object",
"properties": {
"id": {
"type": "string",
"example": null
},
"company_id": {
"type": "string",
"example": null
},
"name": {
"type": "string",
"example": null
},
"image_file_name": {
"type": "string",
"example": null
},
"foreign_key": {
"type": "string",
"example": null
},
"url": {
"type": "string",
"example": null
}
}
},
"PurchaseRoar": {
"type": "object",
"properties": {
"total_price": {
"type": "number",
"example": 35.9
},
"price": {
"type": "integer",
"example": 2599
},
"paid": {
"type": "integer",
"example": 1399
},
"deposit": {
"type": "integer",
"example": 1200
},
"tax_payable_on_price": {
"type": "integer",
"example": 320
},
"tax_payable_on_deposit": {
"type": "integer",
"example": 434
},
"tax_payable_on_due_now": {
"type": "integer",
"example": 999
},
"due_now": {
"type": "integer",
"example": 1099
},
"long_id": {
"type": "string",
"example": "hm9S8Yx9oiB_AhyVNjc2"
},
"id": {
"type": "integer",
"example": 92458394
},
"affiliate_ref": {
"type": "string",
"example": "REFcomd53490"
},
"client_name": {
"type": "string",
"example": "Joan Feynman"
},
"created_at": {
"type": "string",
"example": "2019-07-29T13:13:22.000Z"
},
"certificate_paid": {
"type": "integer",
"example": 5023
},
"payment_type": {
"type": "string",
"example": "online"
},
"last_payment_log": {
"type": "object",
"properties": {},
"example": {
"success": 1,
"response": "last_response_logged"
}
},
"payment_reference": {
"type": "string",
"example": "A48283dfkslf"
},
"external_ref": {
"type": "string",
"example": "EXTREF321"
},
"_embedded": {
"type": "object",
"properties": {
"external_purchases": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ExternalPurchaseRoar"
}
},
"deals": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DealRoar"
}
},
"member": {
"$ref": "#/components/schemas/MemberRoar"
},
"client": {
"$ref": "#/components/schemas/ClientRoar"
},
"confirm_messages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BookingTextRoar"
}
},
"bookings": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BookingRoar"
}
},
"packages": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PackageRoar"
}
},
"course_bookings": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BookingRoar"
}
},
"pre_paid_bookings": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PrePaidBookingRoar"
}
},
"products": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ProductRoar"
}
},
"payment_callbacks": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PaymentCallbackRoar"
}
}
}
}
},
"description": " Confirm and Pay for the Items in the Shopping Basket\n"
},
"BasketRoar": {
"type": "object",
"properties": {
"company_id": {
"type": "integer",
"example": 37009
},
"settings": {
"type": "string",
"example": null
},
"total_price": {
"type": "number",
"example": 25.99
},
"total_due_price": {
"type": "number",
"example": 25.99
},
"deposit": {
"type": "number",
"example": 25.99
},
"_embedded": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BasketItemRoar"
}
}
}
}
},
"description": " Get Contents and Details of the Current Cached Basket\n"
},
"EventRoar": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 11111
},
"updated_at": {
"type": "string",
"example": "2017-08-17T16:30:27.000Z"
},
"datetime": {
"type": "string",
"example": "2017-08-17T17:30:27.000Z"
},
"description": {
"type": "string",
"example": "A description"
},
"status": {
"type": "integer",
"example": 4
},
"status_name": {
"type": "string",
"example": "booked"
},
"spaces_booked": {
"type": "integer",
"example": 3
},
"spaces_reserved": {
"type": "integer",
"example": 4
},
"spaces_blocked": {
"type": "integer",
"example": 5
},
"spaces_held": {
"type": "integer",
"example": 6
},
"num_spaces": {
"type": "integer",
"example": 18
},
"spaces_wait": {
"type": "integer",
"example": 2
},
"event_chain_id": {
"type": "integer",
"example": 9348539
},
"person_id": {
"type": "integer",
"example": 341995
},
"resource_id": {
"type": "integer",
"example": 23888
},
"service_id": {
"type": "integer",
"example": 1112344
},
"duration": {
"type": "integer",
"example": 30
},
"price": {
"type": "integer",
"example": 2500
},
"ticket_spaces": {
"type": "object",
"properties": {},
"example": {
"1": {
"name": "Name 1",
"left": 2
},
"2": {
"name": "Name 2",
"left": 0
},
"6": {
"name": "Name 6",
"left": 7
}
}
},
"units": {
"type": "string",
"example": "minute|day|week"
},
"company_id": {
"type": "integer",
"example": 59305
},
"session_num": {
"type": "integer",
"example": 42
},
"bookable": {
"type": "boolean",
"example": true
},
"modified_date": {
"type": "string",
"example": "2017-09-27T17:30:27.000Z"
},
"_embedded": {
"type": "object",
"properties": {
"person": {
"$ref": "#/components/schemas/PersonRoar"
}
}
}
}
},
"StatusRoar": {
"type": "object",
"properties": {
"_embedded": {
"type": "object",
"properties": {
"baskets": {
"type": "array",
"items": {
"type": "string"
}
},
"member": {
"type": "string",
"example": null
},
"client": {
"type": "string",
"example": null
}
}
}
},
"description": " Get the status of the current authenticated session\n This could include a logged in client, and a basket full of items.\n This is useful if your user reloads the browser page and you are\n not maintaining the full session on the client\n"
},
"BasketItemRoar": {
"type": "object",
"properties": {
"_embedded": {
"type": "object",
"properties": {
"event_chain": {
"$ref": "#/components/schemas/EventChainRoar"
},
"attendees": {
"type": "array",
"items": {
"type": "string"
}
},
"event": {
"$ref": "#/components/schemas/EventRoar"
},
"event_group": {
"$ref": "#/components/schemas/EventGroupRoar"
}
}
},
"event_id": {
"type": "integer",
"example": 69504
},
"member_id": {
"type": "integer",
"example": 4334
},
"person_id": {
"type": "integer",
"example": 590213
},
"resource_id": {
"type": "integer",
"example": 1053
},
"service_id": {
"type": "integer",
"example": 5533
},
"package_id": {
"type": "integer",
"example": 993223
},
"bulk_purchase_id": {
"type": "integer",
"example": 9453
},
"event_chain_id": {
"type": "integer",
"example": 86543
},
"price": {
"type": "integer",
"example": 2500
},
"paid": {
"type": "integer",
"example": 1250
},
"num_book": {
"type": "integer",
"example": 54
},
"person_name": {
"type": "string",
"example": "Emmy Noether"
},
"session_name": {
"type": "string",
"example": "Physics 101"
},
"resource_name": {
"type": "string",
"example": "Class 1A"
},
"service_name": {
"type": "string",
"example": "Electronics 101"
},
"status": {
"type": "integer",
"example": 4
},
"id": {
"type": "integer",
"example": 23423
},
"date": {
"type": "string",
"example": "2019-08-08T00:00:00.000Z"
},
"time": {
"type": "integer",
"example": 630
},
"questions": {
"type": "object",
"properties": {},
"example": {
"id": 123,
"answer": "Answer to 123"
}
},
"duration": {
"type": "integer",
"example": 45
},
"move_item_id": {
"type": "integer",
"example": 2045
},
"settings": {
"type": "object",
"properties": {},
"example": {
"setting_1": "value_1",
"setting_2": 2
}
},
"private_note": {
"type": "string",
"example": "A private note"
},
"tickets": {
"type": "object",
"properties": {},
"example": {
"id": 1,
"qty": "2",
"type": "normal"
}
},
"total_price": {
"type": "number",
"example": 2500.23
},
"is_coupon": {
"type": "boolean",
"example": true
},
"coupon_id": {
"type": "integer",
"example": 673586
},
"single_coupon": {
"type": "boolean",
"example": true
},
"discount_price": {
"type": "integer",
"example": 4355
},
"custom_price": {
"type": "integer",
"example": 5454
},
"num_resources": {
"type": "integer",
"example": 5
},
"product_id": {
"type": "integer",
"example": 6845
},
"deal_id": {
"type": "integer",
"example": 4035
},
"attachment_id": {
"type": "integer",
"example": 999
},
"available_slot": {
"type": "integer",
"example": 73462
},
"deal_codes": {
"$ref": "#/components/schemas/DealCodeRoar"
},
"certificate_paid": {
"type": "integer",
"example": 4059
},
"recipient": {
"type": "string",
"example": "The Recipient"
},
"recipient_mail": {
"type": "string",
"example": "t.recipient@email.com"
},
"first_name": {
"type": "string",
"example": "Augustus"
},
"last_name": {
"type": "string",
"example": "De Morgan"
},
"email": {
"type": "string",
"example": "a.demorgan@email.com"
},
"pre_paid_booking_id": {
"type": "integer",
"example": 35835
},
"service_group_id": {
"type": "integer",
"example": 18594
},
"external_purchase": {
"type": "boolean",
"example": true
},
"clinic_id": {
"type": "integer",
"example": 111
},
"ref": {
"type": "integer"
},
"person_group_id": {
"type": "integer",
"example": 43895834
},
"child_client_ids": {
"type": "array",
"example": [
3,
14,
159
],
"items": {
"type": "integer"
}
},
"event_ids": {
"type": "array",
"items": {
"type": "integer"
}
}
},
"description": " Get the Details of a Specific Item in the Shopping Basket\n"
},
"QuestionGroupRoar": {
"type": "object",
"properties": {
"company_id": {
"type": "integer",
"example": 37001
},
"questions": {
"$ref": "#/components/schemas/QuestionRoar"
},
"name": {
"type": "string",
"example": "Default group"
}
}
},
"QuestionRoar": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 69556
},
"name": {
"type": "string",
"example": "Name of The Question"
},
"position": {
"type": "integer",
"example": 3
},
"required": {
"type": "boolean",
"example": false
},
"important": {
"type": "boolean",
"example": true
},
"admin_only": {
"type": "boolean",
"example": true
},
"applies_to": {
"type": "integer"
},
"ask_member": {
"type": "boolean",
"example": true
},
"detail_type": {
"type": "string",
"example": "select-price"
},
"default": {
"type": "string",
"example": "1"
},
"help_text": {
"type": "string",
"example": "This relates to your current health"
},
"options": {
"type": "object",
"properties": {},
"example": [
{
"name": "Option 1",
"price": 3200,
"is_default": false,
"id": 95834
},
{
"name": "Option 2",
"price": 5200,
"is_default": true,
"id": 584
},
{
"name": "Option 3",
"price": 7310,
"is_default": false,
"id": 934
}
]
},
"settings": {
"type": "object",
"properties": {},
"example": {
"conditional_question": "Question",
"conditional_answer": "Answer"
}
},
"price": {
"type": "number",
"example": 8890
},
"price_per_booking": {
"type": "boolean",
"example": true
},
"outcome": {
"type": "boolean",
"example": false
}
}
},
"DealCodeRoar": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 159040
},
"description": {
"type": "string",
"example": "Deal description"
},
"value": {
"type": "integer",
"example": 499
},
"num_used": {
"type": "integer",
"example": 2
},
"part_used": {
"type": "boolean",
"example": true
},
"deal_code": {
"type": "string",
"example": "CODE14"
}
}
},
"DealRoar": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 174837
},
"name": {
"type": "integer"
},
"ref": {
"type": "string",
"example": "REF1234"
},
"num": {
"type": "integer",
"example": 0
},
"description": {
"type": "integer"
},
"category_id": {
"type": "integer",
"example": 624723
},
"service_id": {
"type": "integer",
"example": 599884
},
"affiliate_id": {
"type": "integer",
"example": 508022
},
"price": {
"type": "integer",
"example": 586
},
"link": {
"type": "string",
"example": "hyperlink/to/deal"
},
"tandc": {
"type": "string",
"example": "Terms and Conditions"
},
"vendor": {
"type": "string",
"example": "Deal vendor"
},
"allow_mixed_bookings": {
"type": "boolean",
"example": false
},
"widget_show": {
"type": "boolean",
"example": true
},
"detail_group_id": {
"type": "integer",
"example": 599535
},
"recipient": {
"type": "object",
"properties": {},
"example": {
"recipient_name": "Robert Hooke",
"recipient_email": "r.hooke@email.com"
}
},
"deal_code": {
"type": "string",
"example": "CODE299"
}
}
},
"ClientRoar": {
"type": "object",
"properties": {
"first_name": {
"type": "string",
"example": "Ada"
},
"last_name": {
"type": "string",
"example": "Lovelace"
},
"email": {
"type": "string",
"example": "ada.lovelace@email.com"
},
"address1": {
"type": "string",
"example": "3-7 Herbal Hill"
},
"address2": {
"type": "string",
"example": "Farringdon"
},
"address3": {
"type": "string",
"example": "London"
},
"address4": {
"type": "string",
"example": "Address Line 4"
},
"address5": {
"type": "string",
"example": "Address Line 5"
},
"postcode": {
"type": "string",
"example": "EC1R 5EJ"
},
"country": {
"type": "string",
"example": "UK"
},
"phone": {
"type": "string",
"example": "081-811-8181"
},
"mobile": {
"type": "string",
"example": "293-482-342"
},
"phone_prefix": {
"type": "string",
"example": 44
},
"mobile_prefix": {
"type": "string",
"example": 44
},
"id": {
"type": "integer",
"example": 34007
},
"answers": {
"type": "object",
"properties": {},
"example": [
{
"question_id": 15,
"name": "Question 1",
"answer": "Answer To Question 1"
},
{
"question_id": 83,
"name": "Question 2",
"answer": "Answer To Question 2"
},
{
"question_id": 73,
"name": "Question 3",
"answer": "Answer To Question 3"
}
]
},
"deleted": {
"type": "boolean",
"example": true
},
"notifications": {
"type": "object",
"properties": {},
"example": {
"1": "Notification 1",
"2": "Notification 2",
"3": "Notification 3"
}
},
"client_type": {
"type": "string",
"example": "Member|Contact"
},
"default_company_id": {
"type": "integer",
"example": 7121805
},
"reference": {
"type": "string",
"example": "REF123"
},
"locale": {
"type": "string",
"example": "UK"
},
"consent": {
"type": "boolean",
"example": true
}
},
"description": "Creates a new client."
},
"BookingTextRoar": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 49000
},
"message": {
"type": "string",
"example": "Booking made successfully"
},
"message_type": {
"type": "string",
"example": "Booking"
},
"item_type": {
"type": "string",
"example": "Person"
}
}
},
"BookingRoar": {
"type": "object",
"properties": {
"id": {
"type": "string",
"example": null
},
"full_describe": {
"type": "string",
"example": null
},
"describe": {
"type": "string",
"example": null
},
"resource_name": {
"type": "string",
"example": null
},
"person_name": {
"type": "string",
"example": null
},
"datetime": {
"type": "string",
"example": null
},
"end_datetime": {
"type": "string",
"example": null
},
"duration": {
"type": "string",
"example": null
},
"duration_span": {
"type": "string",
"example": null
},
"listed_duration": {
"type": "string",
"example": null
},
"on_waitlist": {
"type": "string",
"example": null
},
"company_id": {
"type": "string",
"example": null
},
"attended": {
"type": "string",
"example": null
},
"price": {
"type": "string",
"example": null
},
"due_now": {
"type": "string",
"example": null
},
"paid": {
"type": "string",
"example": null
},
"quantity": {
"type": "string",
"example": null
},
"event_id": {
"type": "string",
"example": null
},
"session_id": {
"type": "string",
"example": null
},
"service_id": {
"type": "string",
"example": null
},
"purchase_id": {
"type": "string",
"example": null
},
"purchase_ref": {
"type": "string",
"example": null
},
"settings": {
"type": "string",
"example": null
},
"min_cancellation_time": {
"type": "string",
"example": null
},
"service_name": {
"type": "string",
"example": null
},
"category_name": {
"type": "string",
"example": null
},
"time_zone": {
"type": "string",
"example": null
},
"ticket_name": {
"type": "string",
"example": null
},
"address": {
"type": "string",
"example": null
},
"booking_type": {
"type": "string",
"example": null
},
"slot_id": {
"type": "string",
"example": null
},
"first_name": {
"type": "string",
"example": null
},
"last_name": {
"type": "string",
"example": null
},
"email": {
"type": "string",
"example": null
},
"coupon_paid": {
"type": "string",
"example": null
},
"coupon_title": {
"type": "string",
"example": null
},
"coupon_code": {
"type": "string",
"example": null
},
"tickets": {
"type": "string",
"example": null
},
"recurrence_type": {
"type": "string",
"example": null
},
"num_bookings": {
"type": "string",
"example": null
},
"remaining": {
"type": "string",
"example": null
},
"is_cancelled": {
"type": "string",
"example": null
},
"private_note": {
"type": "string",
"example": null
},
"channel": {
"type": "string",
"example": null
},
"user_id": {
"type": "string",
"example": null
},
"_embedded": {
"type": "object",
"properties": {
"answers": {
"type": "array",
"items": {
"type": "string"
}
},
"survey_answers": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"person_ids": {
"type": "string",
"example": null
}
},
"description": "Creates a single booking without requiring admin permissions. This is a basic API that only allows creating a purchase with a single item. Use the basket APIs if booking multiple items or if the there is a need to hold the time slot before the client completes the booking."
},
"PackageRoar": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 711562
},
"name": {
"type": "string",
"example": "Name of package"
},
"description": {
"type": "string",
"example": "Description of package"
},
"price": {
"type": "integer",
"example": 2500
},
"paid": {
"type": "integer",
"example": 1250
}
}
},
"PrePaidBookingRoar": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 347247
},
"price": {
"type": "integer",
"example": 2419
},
"number_of_bookings": {
"type": "integer",
"example": 10
},
"number_of_bookings_remaining": {
"type": "integer",
"example": 5
},
"use_from": {
"type": "string",
"example": "2019-06-26T00:00:00.000Z"
},
"use_by": {
"type": "string",
"example": "2019-07-19T00:00:00.000Z"
},
"book_by": {
"type": "string",
"example": "2019-07-03T00:00:00.000Z"
},
"paid": {
"type": "integer",
"example": 5500
},
"service_name": {
"type": "string",
"example": "Tennis Coaching"
},
"linked_package_id": {
"type": "integer",
"example": 60183
}
}
},
"ProductRoar": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 507073
},
"name": {
"type": "string",
"example": "Name of product"
},
"description": {
"type": "string",
"example": "A description of the product"
},
"group": {
"type": "string",
"example": "Group"
},
"make": {
"type": "string",
"example": "Make of the product"
},
"sku": {
"type": "string",
"example": "BB-CM-LGE-WH"
},
"qty": {
"type": "integer",
"example": 3
},
"price": {
"type": "integer",
"example": 100
},
"paid": {
"type": "integer",
"example": 0
}
}
},
"PaymentCallbackRoar": {
"type": "object",
"properties": {
"verification_key": {
"type": "string",
"example": "44kgjer54964c5e349gjkfgj485"
},
"payer_name": {
"type": "string",
"example": "Carl Payer"
},
"payer_email": {
"type": "string",
"example": "carl.payer@email.com"
},
"payer_id": {
"type": "integer",
"example": 479590
},
"receiver_email": {
"type": "integer"
},
"payment_date": {
"type": "string",
"example": "2019-06-18T00:00:00.000Z"
},
"amount": {
"type": "integer",
"example": 30000
}
}
},
"ExternalPurchaseRoar": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 668951
},
"name": {
"type": "string",
"example": "Name of External Purchase"
},
"description": {
"type": "string",
"example": "A description of the purchase"
},
"settings": {
"type": "object",
"properties": {},
"example": {
"key_1": "value_1",
"key_2": "value_2"
}
},
"reference": {
"type": "string",
"example": "REF1234"
},
"purchase_item_id": {
"type": "integer",
"example": 352203
},
"is_cancelled": {
"type": "boolean",
"example": false
}
}
},
"MemberRoar": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"example": 5256905
},
"name": {
"type": "string",
"example": "John Smith"
},
"first_name": {
"type": "string",
"example": "John"
},
"last_name": {
"type": "string",
"example": "Smith"
},
"comp_ref": {
"type": "string",
"example": "REF423"
},
"wallet_amount": {
"type": "integer",
"example": 100
},
"client_type": {
"type": "string",
"example": "Member"
},
"email": {
"type": "string",
"example": "john.smith@test.org"
},
"address1": {
"type": "string",
"example": "A Street and No."
},
"address2": {
"type": "string",
"example": "An Area"
},
"address3": {
"type": "string",
"example": "Some Town"
},
"address4": {
"type": "string",
"example": "Some County"
},
"address5": {
"type": "string",
"example": "Address Line 5"
},
"postcode": {
"type": "string",
"example": "AB1 C22"
},
"country": {
"type": "string",
"example": "United Kingdom"
},
"phone": {
"type": "string",
"example": "+44 203 984 434"
},
"phone_prefix": {
"type": "string",
"example": 44
},
"mobile": {
"type": "string",
"example": "+44 7733 567 890"
},
"mobile_prefix": {
"type": "string",
"example": 44
},
"auth_token": {
"type": "string",
"example": "A9rtuy842sasa3S"
},
"path": {
"type": "string",
"example": "path"
},
"company_id": {
"type": "integer",
"example": 37000
},
"has_active_wallet": {
"type": "boolean",
"example": false
},
"default_company_id": {
"type": "integer",
"example": 37000
},
"has_wallet": {
"type": "boolean",
"example": false
},
"member_level_id": {
"type": "integer"
},
"time_zone": {
"type": "string",
"example": "America/Los_Angeles"
},
"consent": {
"type": "boolean",
"example": true
},
"space_details": {
"type": "object",
"properties": {},
"example": {
"form 1": "form 1 value",
"form 2": "form 2 value",
"form 3": true,
"form 4": false
}
},
"q": {
"type": "object",
"properties": {},
"example": {
"1": {
"name": "What's your role?",
"answer": "Manager"
}
}
},
"answers": {
"type": "array",
"items": {
"type": "string"
}
},
"_embedded": {
"type": "object",
"properties": {
"child_clients": {
"type": "array",
"items": {
"type": "string"
}
},
"bookings": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BookingRoar"
}
},
"pre_paid_bookings": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PrePaidBookingRoar"
}
}
}
}
}
},
"AttendeeCollection": {
"type": "object",
"properties": {
"_embedded": {
"type": "object",
"properties": {
"attendees": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Attendee"
}
}
}
}
}
},
"Attendee": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"email": {
"type": "string"
},
"telephone": {
"type": "string"
},
"relationship": {
"type": "string"
},
"type": {
"type": "string"
},
"primary_attendee": {
"type": "string"
},
"name": {
"type": "string"
},
"consent": {
"type": "boolean"
},
"created_at": {
"type": "string"
},
"extra": {
"type": "object"
}
}
}
},
"securitySchemes": {
"app_id": {
"type": "apiKey",
"name": "app_id",
"in": "header"
}
}
}
}