Booking Shopify Api (1.0.0)

Download OpenAPI specification:Download

Customer

POST Create user

This endpoint creates new user

Request Body schema: application/json
required
customerId
required
number
fullname
required
string
username
required
string >= 3 items ^[a-zA-Z0-9\-_]*$
gender
required
string
speaks
required
Array of strings non-empty

Responses

Request samples

Content type
application/json
{
  • "customerId": 0,
  • "fullname": "string",
  • "username": "string",
  • "gender": "string",
  • "speaks": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

PUT Update user

This endpoint update user

path Parameters
customerId
required
string
Request Body schema: application/json
required
fullname
string
email
string <email>
phone
string
yearsExperience
string <number>
professions
Array of strings
specialties
Array of strings
aboutMe
string
aboutMeHtml
string
shortDescription
string
gender
string
object
speaks
Array of strings
object

Responses

Request samples

Content type
application/json
{
  • "fullname": "string",
  • "email": "user@example.com",
  • "phone": "string",
  • "yearsExperience": "string",
  • "professions": [
    ],
  • "specialties": [
    ],
  • "aboutMe": "string",
  • "aboutMeHtml": "string",
  • "shortDescription": "string",
  • "gender": "string",
  • "social": {
    },
  • "speaks": [
    ],
  • "theme": {
    }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET Get customer

This endpoint gets customer object

path Parameters
customerId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET Get customer upload resource url

This endpoint gets customer upload resource url, so customer can upload image

path Parameters
customerId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET Get customer status

This endpoint gets customer status

path Parameters
customerId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET Get customer is business

This endpoint return if customer is business or not

path Parameters
customerId
required
string

CustomerId from shopify

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

CustomerBlocked

POST Create blocked

This endpoint create new blocked

path Parameters
customerId
required
string

The ID of the customerId

Request Body schema: application/json
required
title
required
string
start
required
string
end
required
string

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "start": "string",
  • "end": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

DEL destroy blocked

This endpoint destroy blocked for customer

path Parameters
customerId
required
string

The ID of the customerId

blockedId
required
string

The ID of the blockedId to be destroyed

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET Get all blocked documents for customer

This endpoint get all blocked documents for customer

path Parameters
customerId
required
string

The ID of the customerId

query Parameters
nextCursor
string

paginate

limit
string

limit counts of documents

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET Get all blocked documents for customer

This endpoint get all blocked documents

path Parameters
customerId
required
string

customerId for the customer

query Parameters
start
required
string

start of date

end
required
string

end of date

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

CustomerBooking

GET Get order with lineItems array for specific groupId

This endpoint gets order with lineItems array of objects specific for groupId

path Parameters
customerId
required
string

customerId for the customer

orderId
required
string

orderId for the order

groupId
required
string

groupId for the order

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET Get all bookings for customer from orders

This endpoint get all bookings from orders

path Parameters
customerId
required
string

customerId for the customer

query Parameters
start
required
string

start of date

end
required
string

end of date

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

CustomerLocation

GET Get one location from user

This endpoint get one location for user

path Parameters
customerId
required
string
locationId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

POST Remove location from user

This endpoint remove location but does not delete location from db

path Parameters
customerId
required
string
locationId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

PUT Update location

This endpoint update existing location

path Parameters
customerId
required
string
locationId
required
string
Request Body schema: application/json
required
name
required
string
fullAddress
required
string
distanceForFree
required
number
distanceHourlyRate
required
number
fixedRatePerKm
required
number
minDriveDistance
required
number
maxDriveDistance
required
number
startFee
required
number

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "fullAddress": "string",
  • "distanceForFree": 0,
  • "distanceHourlyRate": 0,
  • "fixedRatePerKm": 0,
  • "minDriveDistance": 0,
  • "maxDriveDistance": 0,
  • "startFee": 0
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET Get products that belongs to location

This endpoint get products belonging to the user

path Parameters
customerId
required
string
locationId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

POST Set new default location for user

This endpoint set new default location for user

path Parameters
customerId
required
string
locationId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

POST Create location origin or destination

This endpoint creates new location

path Parameters
customerId
required
string
Request Body schema: application/json
required
name
required
string
fullAddress
required
string
distanceForFree
required
number
distanceHourlyRate
required
number
fixedRatePerKm
required
number
minDriveDistance
required
number
maxDriveDistance
required
number
startFee
required
number
locationType
required
string
Enum: "home" "commercial" "destination" "virtual"

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "fullAddress": "string",
  • "distanceForFree": 0,
  • "distanceHourlyRate": 0,
  • "fixedRatePerKm": 0,
  • "minDriveDistance": 0,
  • "maxDriveDistance": 0,
  • "startFee": 0,
  • "locationType": "home"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET Get all locations for user

This endpoint get all locations for user

path Parameters
customerId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

CustomerOrder

GET Get order with lineItems array

This endpoint gets order with lineItems array of objects

path Parameters
customerId
required
string

customerId for the customer

orderId
required
string

orderId for the order

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

CustomerPayout

GET get all payouts using paginate

This endpoint get all payouts

path Parameters
customerId
required
string

The ID of the customerId

query Parameters
page
required
string

The page number

sortOrder
string

The sort order either asc eller desc = default desc

limit
string

The limit = default to 10

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET get payout balance

This endpoint get payout balance

path Parameters
customerId
required
string

The ID of the customerId

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET get payout

This endpoint get payout

path Parameters
customerId
required
string

The ID of the customerId

payoutId
required
string

The ID of the payoudId

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

POST Create payout

This endpoint create payout

path Parameters
customerId
required
string

The ID of the customerId

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

CustomerPayoutLog

GET get all payout logs for specific payout using paginate

This endpoint get all payout logs for specific payout

path Parameters
customerId
required
string

The ID of the customerId

payoutId
required
string

The ID of the payoutId

query Parameters
page
required
string

The page number

sortOrder
string

The sort order either asc eller desc = default desc

limit
string

The limit = default to 10

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

CustomerPayoutAccount

POST Create payout account

This endpoint create new payout account

path Parameters
customerId
required
string

The ID of the customerId

Request Body schema: application/json
required
payoutType
required
string (CustomerPayoutAccountType)
Enum: "MOBILE_PAY" "BANK_ACCOUNT"
required
CustomerPayoutMobilePay (object) or CustomerPayoutBankAccount (object)

Responses

Request samples

Content type
application/json
{
  • "payoutType": "MOBILE_PAY",
  • "payoutDetails": {
    }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET get payout account

This endpoint get payout account

path Parameters
customerId
required
string

The ID of the customerId

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

DEL destroy payout account

This endpoint destroy payout account for customer

path Parameters
customerId
required
string

The ID of the customerId

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

CustomerProduct

GET Get products for customer

This endpoint get products for customer

path Parameters
customerId
required
string

customerId is needed

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

GET Get product ids for customer

This endpoint get product ids for customer

path Parameters
customerId
required
string

customerId is needed

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

GET Get product that exist in one of the schedules for customer

This endpoint get product for customer

path Parameters
customerId
required
string
productId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

PUT Update product in schedule

This endpoint update product that exist in schedule

path Parameters
customerId
required
string
productId
required
string
Request Body schema: application/json
required
hideFromProfile
string
hideFromCombine
string
productType
string
object
object
duration
number
breakTime
number
object (CustomerProductNoticePeriod)
object (CustomerProductBookingPeriod)
Array of objects (CustomerProductLocations)
title
string
description
string
descriptionHtml
string

Responses

Request samples

Content type
application/json
{
  • "hideFromProfile": "string",
  • "hideFromCombine": "string",
  • "productType": "string",
  • "price": {
    },
  • "compareAtPrice": {
    },
  • "duration": 0,
  • "breakTime": 0,
  • "noticePeriod": {
    },
  • "bookingPeriod": {
    },
  • "locations": [
    ],
  • "title": "string",
  • "description": "string",
  • "descriptionHtml": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

DEL destroy product

This endpoint remove product from schedule for customer

path Parameters
customerId
required
string
productId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

POST Add product to schedule

This endpoint add product that does not exist in schedule

path Parameters
customerId
required
string
Request Body schema: application/json
required
title
required
string
productType
required
string
description
required
string
descriptionHtml
required
string
required
Array of objects (CustomerProductLocations)
scheduleId
required
string
hideFromProfile
required
string
hideFromCombine
required
string
required
object
required
object

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "productType": "string",
  • "description": "string",
  • "descriptionHtml": "string",
  • "locations": [
    ],
  • "scheduleId": "string",
  • "hideFromProfile": "string",
  • "hideFromCombine": "string",
  • "price": {
    },
  • "compareAtPrice": {
    }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

CustomerProductOptions

POST Add product option to product

This endpoint add product option to product

path Parameters
customerId
required
string
productId
required
string
Request Body schema: application/json
required
cloneId
required
string
title
required
string

Responses

Request samples

Content type
application/json
{
  • "cloneId": "string",
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET Get product options for product

This endpoint get product options for product

path Parameters
customerId
required
string
productId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

PUT Update product option in product

This endpoint update product option that exist in product

path Parameters
customerId
required
string
productId
required
string
optionProductId
required
string
Request Body schema: application/json
required
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "variants": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

DEL destroy product option

This endpoint remove product option from product for schedule

path Parameters
customerId
required
string
productId
required
string
optionProductId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

CustomerSchedule

POST Create schedule

This endpoint create new schedule

path Parameters
customerId
required
string

The ID of the customerId

Request Body schema: application/json
required
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET Get all schedule for customer

This endpoint get all schedule for customer

path Parameters
customerId
required
string

The ID of the customerId

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

GET Get schedule for customer

This endpoint get schedule for customer

path Parameters
customerId
required
string

The ID of the customerId

scheduleId
required
string

The ID of the scheduleId

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

PUT Update schedule

This endpoint update schedule

path Parameters
customerId
required
string

The ID of the customerId

scheduleId
required
string

The ID of the scheduleId

Request Body schema: application/json
required
name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

DEL destroy schedule

This endpoint destroy schedule for customer

path Parameters
customerId
required
string

The ID of the customerId

scheduleId
required
string

The ID of the scheduleId

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

PUT Update schedule slot

This endpoint update schedule slot

path Parameters
customerId
required
string

The ID of the customerId

scheduleId
required
string

The ID of the scheduleId

Request Body schema: application/json
required
required
Array of objects (CustomerScheduleSlot)

Responses

Request samples

Content type
application/json
{
  • "slots": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

Location

GET location coordinates

This endpoint get coordinates object

query Parameters
fullAddress
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET location travel time

This endpoint gets traval time object

query Parameters
origin
string
destination
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

Orchestrators

POST Upload new customer image

This endpoint is used to upload new image for customer

Request Body schema: application/json
required
required
number or string
resourceUrl
required
string

Responses

Request samples

Content type
application/json
{
  • "customerId": 0,
  • "resourceUrl": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "statusQueryGetUri": "string",
  • "sendEventPostUri": "string",
  • "terminatePostUri": "string",
  • "rewindPostUri": "string",
  • "purgeHistoryDeleteUri": "string",
  • "restartPostUri": "string",
  • "suspendPostUri": "string",
  • "resumePostUri": "string"
}

Products

POST get users belongs to productIds array

This endpoint respond with users images

Request Body schema: application/json
required
productIds
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "productIds": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

GET Get all users for specific productId and variantId

This endpoint get all users for specific productId and variantId

query Parameters
productId
required
string

product Id

variantId
string

variant Id

nextCursor
string

nextCursor

limit
string

limit items (default 5)

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

Shipping

POST create shipping

Request Body schema: application/json
required
customerId
number
locationId
required
string
required
object

Responses

Request samples

Content type
application/json
{
  • "customerId": 0,
  • "locationId": "string",
  • "destination": {
    }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

POST get shipping calculate

Request Body schema: application/json
required
customerId
number
locationId
required
string
required
object

Responses

Request samples

Content type
application/json
{
  • "customerId": 0,
  • "locationId": "string",
  • "destination": {
    }
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET Get shipping

This endpoint gets shipping object

path Parameters
shippingId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

UserAvailability

POST generate availabilty for user

This endpoint generate availabilty for user

path Parameters
username
required
string

This field for username

locationId
required
string

This field for locationId

Request Body schema: application/json
required
fromDate
required
string
productIds
required
Array of strings
object
shippingId
string

Responses

Request samples

Content type
application/json
{
  • "fromDate": "string",
  • "productIds": [
    ],
  • "optionIds": {
    },
  • "shippingId": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

POST get single availabilty for user

This endpoint get's one single availabilty for user

path Parameters
username
required
string

This field for username

locationId
required
string

This field for locationId

Request Body schema: application/json
required
fromDate
required
string
toDate
required
string
object
productIds
required
Array of strings
shippingId
string

Responses

Request samples

Content type
application/json
{
  • "fromDate": "string",
  • "toDate": "string",
  • "optionIds": {
    },
  • "productIds": [
    ],
  • "shippingId": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

UserLocation

GET Get one location from user

This endpoint get one location for user

path Parameters
username
required
string
locationId
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

User

GET Get user

This endpoint gets user object

path Parameters
username
required
string

username

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET check if username is taken

This endpoint return false or true

path Parameters
username
required
string

username

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

UserProduct

GET Get products for user

This endpoint get products for user (across all schedules or one scheduleId)

path Parameters
username
required
string

username is needed

query Parameters
scheduleId
string

scheduleId is optional

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

GET Get product that exist in one of the schedules for customer

This endpoint get product for customer

path Parameters
username
required
string
productHandle
required
string

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET Get products for user

This endpoint get products from one schedule by location

path Parameters
username
required
string

username is needed

locationId
required
string

locationId is nedded

Request Body schema: application/json
required
productHandlers
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "productHandlers": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

GET Get products for user

This endpoint is intended to be used when we need to fetch related products from the same schedule and same location.

path Parameters
username
required
string

username is needed

productHandle
required
string

productHandle is nedded

locationId
required
string

locationId is nedded

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

UserSchedule

GET Get user schedule

This endpoint should retrieve a schedule and locations belonging to a specific productHandle, along with the product.

path Parameters
username
required
string

username

productHandle
required
string

productHandle

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET Get user schedule

This endpoint should retrieve a schedule with products that only belong to a specific locationId.

path Parameters
username
required
string

username

scheduleId
required
string

schedule Id

locationId
required
string

location id

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET Get schedules for user

This endpoint should return all locations present in all schedules for specific user

path Parameters
username
required
string

username is needed

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

Users

GET Get all users professions with total count

This endpoint get all users professions

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

GET Get all users-filters

This endpoint get all users-filters

query Parameters
profession
string

profession

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

POST Post search for users

This endpoint search for users

query Parameters
nextCursor
string

nextCursor

limit
string
Default: 10

limit items (default 10)

sortOrder
string
Enum: "asc" "desc"

asc or desc

Request Body schema: application/json
keyword
string
profession
string
specialties
string
object
days
Array of strings

Responses

Request samples

Content type
application/json
{
  • "keyword": "string",
  • "profession": "string",
  • "specialties": "string",
  • "location": {
    },
  • "days": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

GET Get all users grouped by professions

This endpoint get all users group by professions

query Parameters
limit
string

limit items (default 5)

page
string

page

Responses

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": [
    ]
}

OpenAI

POST Correct any grammatical errors in title and description

This endpoint correct any grammatical errors in title and description

Request Body schema: application/json
required
title
required
string
description
string

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}

POST autofill profile forms

This endpoint autofill profile forms

Request Body schema: application/json
required
professions
required
Array of strings
skills
required
Array of strings
user
required
object
products
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "professions": [
    ],
  • "skills": [
    ],
  • "user": { },
  • "products": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true,
  • "payload": {
    }
}