source-acuity-scheduling contribution from chanronson (#62486)
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# Acuity Scheduling
|
||||
This directory contains the manifest-only connector for `source-acuity-scheduling`.
|
||||
|
||||
Flexible scheduling software to help you succeed
|
||||
With seamless client scheduling, secure payments, and workflow automation, all you have to do is show up on time.
|
||||
|
||||
## Usage
|
||||
There are multiple ways to use this connector:
|
||||
- You can use this connector as any other connector in Airbyte Marketplace.
|
||||
- You can load this connector in `pyairbyte` using `get_source`!
|
||||
- You can open this connector in Connector Builder, edit it, and publish to your workspaces.
|
||||
|
||||
Please refer to the manifest-only connector documentation for more details.
|
||||
|
||||
## Local Development
|
||||
We recommend you use the Connector Builder to edit this connector.
|
||||
|
||||
But, if you want to develop this connector locally, you can use the following steps.
|
||||
|
||||
### Environment Setup
|
||||
You will need `airbyte-ci` installed. You can find the documentation [here](airbyte-ci).
|
||||
|
||||
### Build
|
||||
This will create a dev image (`source-acuity-scheduling:dev`) that you can use to test the connector locally.
|
||||
```bash
|
||||
airbyte-ci connectors --name=source-acuity-scheduling build
|
||||
```
|
||||
|
||||
### Test
|
||||
This will run the acceptance tests for the connector.
|
||||
```bash
|
||||
airbyte-ci connectors --name=source-acuity-scheduling test
|
||||
```
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
# See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference)
|
||||
# for more information about how to configure these tests
|
||||
connector_image: airbyte/source-acuity-scheduling:dev
|
||||
acceptance_tests:
|
||||
spec:
|
||||
tests:
|
||||
- spec_path: "manifest.yaml"
|
||||
connection:
|
||||
bypass_reason: "This is a builder contribution, and we do not have secrets at this time"
|
||||
discovery:
|
||||
bypass_reason: "This is a builder contribution, and we do not have secrets at this time"
|
||||
basic_read:
|
||||
bypass_reason: "This is a builder contribution, and we do not have secrets at this time"
|
||||
incremental:
|
||||
bypass_reason: "This is a builder contribution, and we do not have secrets at this time"
|
||||
full_refresh:
|
||||
bypass_reason: "This is a builder contribution, and we do not have secrets at this time"
|
||||
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="250" height="250" fill="none">
|
||||
<path fill="#e8e8ed" fill-rule="evenodd" d="M95.775 53.416c20.364-22.88 54.087-29.592 81.811-16.385 36.836 17.549 50.274 62.252 30.219 96.734l-45.115 77.487a18.994 18.994 0 0 1-11.536 8.784 19.12 19.12 0 0 1-14.412-1.878l54.62-93.829c14.55-25.027 4.818-57.467-21.888-70.24-20.038-9.583-44.533-4.795-59.336 11.685a50.008 50.008 0 0 0-12.902 32.877 49.989 49.989 0 0 0 16.664 37.87l-31.887 54.875a18.917 18.917 0 0 1-4.885 5.534 19.041 19.041 0 0 1-6.647 3.255 19.13 19.13 0 0 1-7.395.482 19.087 19.087 0 0 1-7.018-2.365l34.617-59.575a68.424 68.424 0 0 1-10.524-23.544l-21.213 36.579a18.994 18.994 0 0 1-11.535 8.784A19.123 19.123 0 0 1 33 158.668l54.856-94.356a70.296 70.296 0 0 1 7.919-10.896Zm63.314 30.034c13.211 7.577 17.774 24.427 10.13 37.54l-52.603 90.251a18.997 18.997 0 0 1-11.536 8.784 19.122 19.122 0 0 1-14.412-1.878l48.843-84.024a27.778 27.778 0 0 1-10.825-4.847 27.545 27.545 0 0 1-7.783-8.907 27.344 27.344 0 0 1-3.307-11.326 27.293 27.293 0 0 1 1.776-11.66 27.454 27.454 0 0 1 6.533-9.846 27.703 27.703 0 0 1 10.087-6.222 27.858 27.858 0 0 1 23.097 2.135Zm-19.134 16.961a8.645 8.645 0 0 0-2.232 2.529h-.003a8.565 8.565 0 0 0 .632 9.556 8.68 8.68 0 0 0 4.097 2.915 8.738 8.738 0 0 0 5.036.163 8.692 8.692 0 0 0 4.279-2.642 8.59 8.59 0 0 0 2.079-4.558 8.563 8.563 0 0 0-.821-4.938 8.645 8.645 0 0 0-3.444-3.652 8.72 8.72 0 0 0-6.586-.86 8.7 8.7 0 0 0-3.037 1.487Z" clip-rule="evenodd"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,778 @@
|
||||
version: 6.48.15
|
||||
|
||||
type: DeclarativeSource
|
||||
|
||||
description: >-
|
||||
Flexible scheduling software to help you succeed
|
||||
|
||||
With seamless client scheduling, secure payments, and workflow automation, all
|
||||
you have to do is show up on time.
|
||||
|
||||
check:
|
||||
type: CheckStream
|
||||
stream_names:
|
||||
- appointments
|
||||
|
||||
definitions:
|
||||
streams:
|
||||
appointments:
|
||||
type: DeclarativeStream
|
||||
name: appointments
|
||||
primary_key:
|
||||
- id
|
||||
retriever:
|
||||
type: SimpleRetriever
|
||||
requester:
|
||||
$ref: "#/definitions/base_requester"
|
||||
path: appointments
|
||||
http_method: GET
|
||||
request_parameters:
|
||||
max: "100000"
|
||||
showall: "true"
|
||||
record_selector:
|
||||
type: RecordSelector
|
||||
extractor:
|
||||
type: DpathExtractor
|
||||
field_path: []
|
||||
decoder:
|
||||
type: JsonDecoder
|
||||
incremental_sync:
|
||||
type: DatetimeBasedCursor
|
||||
cursor_field: insert_date
|
||||
lookback_window: P1W
|
||||
cursor_datetime_formats:
|
||||
- "%Y-%m-%d"
|
||||
datetime_format: "%Y-%m-%d"
|
||||
start_datetime:
|
||||
type: MinMaxDatetime
|
||||
datetime: "{{ config[\"start_date\"] }}"
|
||||
datetime_format: "%Y-%m-%dT%H:%M:%SZ"
|
||||
start_time_option:
|
||||
type: RequestOption
|
||||
field_name: minDate
|
||||
inject_into: request_parameter
|
||||
end_datetime:
|
||||
type: MinMaxDatetime
|
||||
datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}"
|
||||
datetime_format: "%Y-%m-%dT%H:%M:%SZ"
|
||||
transformations:
|
||||
- type: AddFields
|
||||
fields:
|
||||
- type: AddedFieldDefinition
|
||||
path:
|
||||
- insert_date
|
||||
value: "{{ stream_slice.start_time }}"
|
||||
schema_loader:
|
||||
type: InlineSchemaLoader
|
||||
schema:
|
||||
$ref: "#/schemas/appointments"
|
||||
calendars:
|
||||
type: DeclarativeStream
|
||||
name: calendars
|
||||
primary_key:
|
||||
- id
|
||||
retriever:
|
||||
type: SimpleRetriever
|
||||
requester:
|
||||
$ref: "#/definitions/base_requester"
|
||||
path: calendars
|
||||
http_method: GET
|
||||
record_selector:
|
||||
type: RecordSelector
|
||||
extractor:
|
||||
type: DpathExtractor
|
||||
field_path: []
|
||||
decoder:
|
||||
type: JsonDecoder
|
||||
schema_loader:
|
||||
type: InlineSchemaLoader
|
||||
schema:
|
||||
$ref: "#/schemas/calendars"
|
||||
clients:
|
||||
type: DeclarativeStream
|
||||
name: clients
|
||||
primary_key:
|
||||
- email
|
||||
retriever:
|
||||
type: SimpleRetriever
|
||||
requester:
|
||||
$ref: "#/definitions/base_requester"
|
||||
path: clients
|
||||
http_method: GET
|
||||
record_selector:
|
||||
type: RecordSelector
|
||||
extractor:
|
||||
type: DpathExtractor
|
||||
field_path: []
|
||||
decoder:
|
||||
type: JsonDecoder
|
||||
schema_loader:
|
||||
type: InlineSchemaLoader
|
||||
schema:
|
||||
$ref: "#/schemas/clients"
|
||||
appointment-types:
|
||||
type: DeclarativeStream
|
||||
name: appointment-types
|
||||
primary_key:
|
||||
- id
|
||||
retriever:
|
||||
type: SimpleRetriever
|
||||
requester:
|
||||
$ref: "#/definitions/base_requester"
|
||||
path: appointment-types
|
||||
http_method: GET
|
||||
record_selector:
|
||||
type: RecordSelector
|
||||
extractor:
|
||||
type: DpathExtractor
|
||||
field_path: []
|
||||
decoder:
|
||||
type: JsonDecoder
|
||||
schema_loader:
|
||||
type: InlineSchemaLoader
|
||||
schema:
|
||||
$ref: "#/schemas/appointment-types"
|
||||
blocks:
|
||||
type: DeclarativeStream
|
||||
name: blocks
|
||||
primary_key:
|
||||
- id
|
||||
retriever:
|
||||
type: SimpleRetriever
|
||||
requester:
|
||||
$ref: "#/definitions/base_requester"
|
||||
path: blocks
|
||||
http_method: GET
|
||||
request_parameters:
|
||||
max: "10000"
|
||||
record_selector:
|
||||
type: RecordSelector
|
||||
extractor:
|
||||
type: DpathExtractor
|
||||
field_path: []
|
||||
decoder:
|
||||
type: JsonDecoder
|
||||
incremental_sync:
|
||||
type: DatetimeBasedCursor
|
||||
cursor_field: insert_date
|
||||
lookback_window: P1W
|
||||
cursor_datetime_formats:
|
||||
- "%Y-%m-%d"
|
||||
datetime_format: "%Y-%m-%d"
|
||||
start_datetime:
|
||||
type: MinMaxDatetime
|
||||
datetime: "{{ config[\"start_date\"] }}"
|
||||
datetime_format: "%Y-%m-%dT%H:%M:%SZ"
|
||||
start_time_option:
|
||||
type: RequestOption
|
||||
field_name: minDate
|
||||
inject_into: request_parameter
|
||||
end_datetime:
|
||||
type: MinMaxDatetime
|
||||
datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}"
|
||||
datetime_format: "%Y-%m-%dT%H:%M:%SZ"
|
||||
transformations:
|
||||
- type: AddFields
|
||||
fields:
|
||||
- type: AddedFieldDefinition
|
||||
path:
|
||||
- insert_date
|
||||
value: "{{ stream_slice.start_time }}"
|
||||
schema_loader:
|
||||
type: InlineSchemaLoader
|
||||
schema:
|
||||
$ref: "#/schemas/blocks"
|
||||
labels:
|
||||
type: DeclarativeStream
|
||||
name: labels
|
||||
primary_key:
|
||||
- id
|
||||
retriever:
|
||||
type: SimpleRetriever
|
||||
requester:
|
||||
$ref: "#/definitions/base_requester"
|
||||
path: labels
|
||||
http_method: GET
|
||||
record_selector:
|
||||
type: RecordSelector
|
||||
extractor:
|
||||
type: DpathExtractor
|
||||
field_path: []
|
||||
decoder:
|
||||
type: JsonDecoder
|
||||
schema_loader:
|
||||
type: InlineSchemaLoader
|
||||
schema:
|
||||
$ref: "#/schemas/labels"
|
||||
forms:
|
||||
type: DeclarativeStream
|
||||
name: forms
|
||||
primary_key:
|
||||
- id
|
||||
retriever:
|
||||
type: SimpleRetriever
|
||||
requester:
|
||||
$ref: "#/definitions/base_requester"
|
||||
path: forms
|
||||
http_method: GET
|
||||
record_selector:
|
||||
type: RecordSelector
|
||||
extractor:
|
||||
type: DpathExtractor
|
||||
field_path: []
|
||||
decoder:
|
||||
type: JsonDecoder
|
||||
schema_loader:
|
||||
type: InlineSchemaLoader
|
||||
schema:
|
||||
$ref: "#/schemas/forms"
|
||||
base_requester:
|
||||
type: HttpRequester
|
||||
url_base: https://acuityscheduling.com/api/v1
|
||||
authenticator:
|
||||
type: BasicHttpAuthenticator
|
||||
password: "{{ config[\"password\"] }}"
|
||||
username: "{{ config[\"username\"] }}"
|
||||
|
||||
streams:
|
||||
- $ref: "#/definitions/streams/appointments"
|
||||
- $ref: "#/definitions/streams/calendars"
|
||||
- $ref: "#/definitions/streams/clients"
|
||||
- $ref: "#/definitions/streams/appointment-types"
|
||||
- $ref: "#/definitions/streams/blocks"
|
||||
- $ref: "#/definitions/streams/labels"
|
||||
- $ref: "#/definitions/streams/forms"
|
||||
|
||||
spec:
|
||||
type: Spec
|
||||
connection_specification:
|
||||
type: object
|
||||
$schema: http://json-schema.org/draft-07/schema#
|
||||
required:
|
||||
- username
|
||||
- start_date
|
||||
properties:
|
||||
username:
|
||||
type: string
|
||||
order: 0
|
||||
title: Username
|
||||
password:
|
||||
type: string
|
||||
order: 1
|
||||
title: Password
|
||||
always_show: true
|
||||
airbyte_secret: true
|
||||
start_date:
|
||||
type: string
|
||||
order: 2
|
||||
title: Start date
|
||||
format: date-time
|
||||
pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$
|
||||
additionalProperties: true
|
||||
|
||||
metadata:
|
||||
autoImportSchema:
|
||||
appointments: true
|
||||
calendars: true
|
||||
clients: true
|
||||
appointment-types: true
|
||||
blocks: true
|
||||
labels: true
|
||||
forms: true
|
||||
testedStreams:
|
||||
appointments:
|
||||
streamHash: 583df5d3ff7b1808cfa5e2dd5cf6b6f7b82c3818
|
||||
hasResponse: true
|
||||
responsesAreSuccessful: true
|
||||
hasRecords: true
|
||||
primaryKeysArePresent: true
|
||||
primaryKeysAreUnique: true
|
||||
calendars:
|
||||
streamHash: 0f0b6fd2e19930c693406ff8b814bd1b27ebe771
|
||||
hasResponse: true
|
||||
responsesAreSuccessful: true
|
||||
hasRecords: true
|
||||
primaryKeysArePresent: true
|
||||
primaryKeysAreUnique: true
|
||||
clients:
|
||||
streamHash: 5b5ad6fd3c8e0552d1082c89924b189a96908dad
|
||||
hasResponse: true
|
||||
responsesAreSuccessful: true
|
||||
hasRecords: true
|
||||
primaryKeysArePresent: true
|
||||
primaryKeysAreUnique: true
|
||||
appointment-types:
|
||||
streamHash: 610a45f21f5fc27da24e3a7b38f942772cdb970c
|
||||
hasResponse: true
|
||||
responsesAreSuccessful: true
|
||||
hasRecords: true
|
||||
primaryKeysArePresent: true
|
||||
primaryKeysAreUnique: true
|
||||
blocks:
|
||||
streamHash: 135acc647612c65d16606b1de8f7c680e1e946b9
|
||||
hasResponse: true
|
||||
responsesAreSuccessful: true
|
||||
hasRecords: true
|
||||
primaryKeysArePresent: true
|
||||
primaryKeysAreUnique: true
|
||||
labels:
|
||||
streamHash: 8b72b44745acf2445c0a67a3515991dbb2bfb318
|
||||
hasResponse: true
|
||||
responsesAreSuccessful: true
|
||||
hasRecords: true
|
||||
primaryKeysArePresent: true
|
||||
primaryKeysAreUnique: true
|
||||
forms:
|
||||
streamHash: 2b13ee3df2f1f1b2a30171de8f1d826865690b96
|
||||
hasResponse: true
|
||||
responsesAreSuccessful: true
|
||||
hasRecords: true
|
||||
primaryKeysArePresent: true
|
||||
primaryKeysAreUnique: true
|
||||
assist: {}
|
||||
|
||||
schemas:
|
||||
appointments:
|
||||
type: object
|
||||
$schema: http://json-schema.org/schema#
|
||||
additionalProperties: true
|
||||
properties:
|
||||
type:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
addonIDs:
|
||||
type:
|
||||
- array
|
||||
- "null"
|
||||
amountPaid:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
appointmentTypeID:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
calendar:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
calendarID:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
calendarTimezone:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
canClientCancel:
|
||||
type:
|
||||
- boolean
|
||||
- "null"
|
||||
canClientReschedule:
|
||||
type:
|
||||
- boolean
|
||||
- "null"
|
||||
canceled:
|
||||
type:
|
||||
- boolean
|
||||
- "null"
|
||||
category:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
confirmationPage:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
confirmationPagePaymentLink:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
date:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
dateCreated:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
datetime:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
datetimeCreated:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
duration:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
email:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
endTime:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
firstName:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
forms:
|
||||
type:
|
||||
- array
|
||||
- "null"
|
||||
items:
|
||||
type:
|
||||
- object
|
||||
- "null"
|
||||
properties:
|
||||
id:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
name:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
values:
|
||||
type:
|
||||
- array
|
||||
- "null"
|
||||
items:
|
||||
type:
|
||||
- object
|
||||
- "null"
|
||||
properties:
|
||||
fieldID:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
id:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
name:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
value:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
formsText:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
id:
|
||||
type: number
|
||||
insert_date:
|
||||
type: string
|
||||
lastName:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
location:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
notes:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
paid:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
phone:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
price:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
priceSold:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
time:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
timezone:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
required:
|
||||
- id
|
||||
- insert_date
|
||||
calendars:
|
||||
type: object
|
||||
$schema: http://json-schema.org/schema#
|
||||
additionalProperties: true
|
||||
properties:
|
||||
description:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
email:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
id:
|
||||
type: number
|
||||
image:
|
||||
type:
|
||||
- boolean
|
||||
- "null"
|
||||
location:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
name:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
replyTo:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
thumbnail:
|
||||
type:
|
||||
- boolean
|
||||
- "null"
|
||||
timezone:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
required:
|
||||
- id
|
||||
clients:
|
||||
type: object
|
||||
$schema: http://json-schema.org/schema#
|
||||
additionalProperties: true
|
||||
properties:
|
||||
email:
|
||||
type: string
|
||||
firstName:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
lastName:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
notes:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
phone:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
required:
|
||||
- email
|
||||
appointment-types:
|
||||
type: object
|
||||
$schema: http://json-schema.org/schema#
|
||||
additionalProperties: true
|
||||
properties:
|
||||
type:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
description:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
active:
|
||||
type:
|
||||
- boolean
|
||||
- "null"
|
||||
addonIDs:
|
||||
type:
|
||||
- array
|
||||
- "null"
|
||||
calendarIDs:
|
||||
type:
|
||||
- array
|
||||
- "null"
|
||||
items:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
category:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
color:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
duration:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
formIDs:
|
||||
type:
|
||||
- array
|
||||
- "null"
|
||||
items:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
id:
|
||||
type: number
|
||||
image:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
name:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
paddingAfter:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
paddingBefore:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
price:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
private:
|
||||
type:
|
||||
- boolean
|
||||
- "null"
|
||||
schedulingUrl:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
required:
|
||||
- id
|
||||
blocks:
|
||||
type: object
|
||||
$schema: http://json-schema.org/schema#
|
||||
additionalProperties: true
|
||||
properties:
|
||||
description:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
calendarID:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
calendarTimezone:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
end:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
id:
|
||||
type: number
|
||||
insert_date:
|
||||
type: string
|
||||
managed:
|
||||
type:
|
||||
- boolean
|
||||
- "null"
|
||||
notes:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
serviceGroupID:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
start:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
required:
|
||||
- id
|
||||
- insert_date
|
||||
labels:
|
||||
type: object
|
||||
$schema: http://json-schema.org/schema#
|
||||
additionalProperties: true
|
||||
properties:
|
||||
color:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
id:
|
||||
type: number
|
||||
name:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
required:
|
||||
- id
|
||||
forms:
|
||||
type: object
|
||||
$schema: http://json-schema.org/schema#
|
||||
additionalProperties: true
|
||||
properties:
|
||||
description:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
appointmentTypeIDs:
|
||||
type:
|
||||
- array
|
||||
- "null"
|
||||
items:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
fields:
|
||||
type:
|
||||
- array
|
||||
- "null"
|
||||
items:
|
||||
type:
|
||||
- object
|
||||
- "null"
|
||||
properties:
|
||||
type:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
id:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
lines:
|
||||
type:
|
||||
- number
|
||||
- "null"
|
||||
name:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
required:
|
||||
type:
|
||||
- boolean
|
||||
- "null"
|
||||
hidden:
|
||||
type:
|
||||
- boolean
|
||||
- "null"
|
||||
id:
|
||||
type: number
|
||||
name:
|
||||
type:
|
||||
- string
|
||||
- "null"
|
||||
required:
|
||||
- id
|
||||
@@ -0,0 +1,35 @@
|
||||
metadataSpecVersion: "1.0"
|
||||
data:
|
||||
allowedHosts:
|
||||
hosts:
|
||||
- "acuityscheduling.com"
|
||||
registryOverrides:
|
||||
oss:
|
||||
enabled: true
|
||||
cloud:
|
||||
enabled: true
|
||||
remoteRegistries:
|
||||
pypi:
|
||||
enabled: false
|
||||
packageName: airbyte-source-acuity-scheduling
|
||||
connectorBuildOptions:
|
||||
baseImage: docker.io/airbyte/source-declarative-manifest:6.57.0@sha256:d3e766c04130e607773c1ed8e3ef82b1b932ad514e15b3bb78f0ee13ab59d03d
|
||||
connectorSubtype: api
|
||||
connectorType: source
|
||||
definitionId: bc7db25c-bdfb-4ec2-96ae-a4687cead916
|
||||
dockerImageTag: 0.0.1
|
||||
dockerRepository: airbyte/source-acuity-scheduling
|
||||
githubIssueLabel: source-acuity-scheduling
|
||||
icon: icon.svg
|
||||
license: MIT
|
||||
name: Acuity Scheduling
|
||||
releaseDate: 2025-07-02
|
||||
releaseStage: alpha
|
||||
supportLevel: community
|
||||
documentationUrl: https://docs.airbyte.com/integrations/sources/acuity-scheduling
|
||||
tags:
|
||||
- language:manifest-only
|
||||
- cdk:low-code
|
||||
ab_internal:
|
||||
ql: 100
|
||||
sl: 100
|
||||
Reference in New Issue
Block a user