From 051be8330369d3472d58510d326acd0816f6bee5 Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Thu, 3 Sep 2020 16:14:30 -0700 Subject: [PATCH] Added template previewing with non-functional GQL editor BOD-126 --- README.MD | 11 +- bodyshop_translations.babel | 21 + client/package.json | 6 + ...-template-editor-save-button.component.jsx | 2 - .../shop-template-editor.component.jsx | 74 +- .../shop-template-test-render.component.jsx | 75 + .../shop-templates-list.container.jsx | 15 +- client/src/graphql/bodyshop.queries.js | 10 +- ...oyees.queries.jsx => employees.queries.js} | 0 client/src/graphql/schema.graphql | 25119 +++++++++++++++ client/src/graphql/schema.js | 25132 ++++++++++++++++ client/src/translations/en_us/common.json | 3 +- client/src/translations/es/common.json | 3 +- client/src/translations/fr/common.json | 3 +- client/src/utils/RenderTemplate.js | 16 + client/yarn.lock | 130 + 16 files changed, 50580 insertions(+), 40 deletions(-) create mode 100644 client/src/components/shop-template-test-render/shop-template-test-render.component.jsx rename client/src/graphql/{employees.queries.jsx => employees.queries.js} (100%) create mode 100644 client/src/graphql/schema.graphql create mode 100644 client/src/graphql/schema.js diff --git a/README.MD b/README.MD index 6a6325ba6..106eccfa2 100644 --- a/README.MD +++ b/README.MD @@ -1,7 +1,7 @@ React App: Yarn Dependency Management: -To force upgrades for some packages: +To force upgrades for some packages: yarn upgrade-interactive --latest GraphQL API: @@ -14,12 +14,13 @@ npx hasura console --admin-secret Dev-BodyShopAppBySnaptSoftware! Migrating to Staging: npx hasura migrate apply --up 10 --endpoint https://bodyshop-staging-db.herokuapp.com/ --admin-secret Staging-BodyShopAppBySnaptSoftware! -NGROK TEsting: +NGROK TEsting: ./ngrok.exe http https://localhost:5000 -host-header="localhost:5000" +Finding deadfiles - run from client directory +npx deadfile ./src/index.js --exclude build templates -Finding deadfiles - run from client directory -npx deadfile ./src/index.js --exclude build templates +cd client && yarn build && cd build && scp -r \*\* imex@prod-tor1.imex.online:~/bodyshop/client/build && cd .. &&cd .. -cd client && yarn build && cd build && scp -r ** imex@prod-tor1.imex.online:~/bodyshop/client/build && cd .. &&cd .. \ No newline at end of file +gq https://bodyshop-dev-db.herokuapp.com/v1/graphql -H "X-Hasura-Admin-Secret: Dev-BodyShopAppBySnaptSoftware\!" --introspect > schema.graphql diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel index c6cc0770c..696586697 100644 --- a/bodyshop_translations.babel +++ b/bodyshop_translations.babel @@ -1054,6 +1054,27 @@ + + testrender + false + + + + + + en-US + false + + + es-MX + false + + + fr-CA + false + + + diff --git a/client/package.json b/client/package.json index e3f943e32..7e4462775 100644 --- a/client/package.json +++ b/client/package.json @@ -17,6 +17,8 @@ "apollo-link-retry": "^2.2.16", "apollo-link-ws": "^1.0.20", "axios": "^0.20.0", + "codemirror": "^5.57.0", + "codemirror-graphql": "^0.12.1", "dinero.js": "^1.8.1", "dotenv": "^8.2.0", "fingerprintjs2": "^2.1.2", @@ -25,6 +27,8 @@ "i18next": "^19.7.0", "i18next-browser-languagedetector": "^6.0.1", "inline-css": "^2.6.3", + "jsoneditor": "^9.0.4", + "jsoneditor-react": "^3.0.1", "logrocket": "^1.0.11", "moment-business-days": "^1.2.0", "node-sass": "^4.14.1", @@ -35,6 +39,7 @@ "react-apollo": "^3.1.5", "react-barcode": "^1.4.0", "react-big-calendar": "^0.26.1", + "react-codemirror2": "^7.2.1", "react-dom": "^16.13.1", "react-drag-listview": "^0.1.7", "react-email-editor": "^1.1.1", @@ -45,6 +50,7 @@ "react-icons": "^3.11.0", "react-image-file-resizer": "^0.3.6", "react-moment": "^0.9.7", + "react-number-format": "^4.4.1", "react-redux": "^7.2.1", "react-resizable": "^1.10.1", "react-router-dom": "^5.2.0", diff --git a/client/src/components/shop-template-editor-save-button/shop-template-editor-save-button.component.jsx b/client/src/components/shop-template-editor-save-button/shop-template-editor-save-button.component.jsx index bf94201fc..10fd77f4f 100644 --- a/client/src/components/shop-template-editor-save-button/shop-template-editor-save-button.component.jsx +++ b/client/src/components/shop-template-editor-save-button/shop-template-editor-save-button.component.jsx @@ -18,11 +18,9 @@ export default function ShopTemplateSaveButton({ logImEXEvent("shop_template_update"); emailEditorRef.current.exportHtml(async (data) => { - console.log("RAW", data.html); inlineCss(data.html, { url: `${window.location.protocol}://${window.location.host}/`, }).then(async function (inlineHtml) { - console.log("Inline :>> ", inlineHtml); const result = await updateTemplate({ variables: { templateId: templateId, diff --git a/client/src/components/shop-template-editor/shop-template-editor.component.jsx b/client/src/components/shop-template-editor/shop-template-editor.component.jsx index 367b1dbf9..55fbcfe3c 100644 --- a/client/src/components/shop-template-editor/shop-template-editor.component.jsx +++ b/client/src/components/shop-template-editor/shop-template-editor.component.jsx @@ -1,7 +1,28 @@ -import { Input } from "antd"; +import "codemirror/addon/hint/show-hint"; +import "codemirror/addon/lint/lint"; +import "codemirror-graphql/hint"; +import "codemirror-graphql/lint"; +import "codemirror-graphql/mode"; + +import "codemirror/lib/codemirror.css"; +import "codemirror/theme/material.css"; +import "codemirror/addon/hint/show-hint"; + import React, { useEffect, useRef } from "react"; +import { Controlled as CmEditor } from "react-codemirror2"; import EmailEditor from "react-email-editor"; +import GqlSchema from "../../graphql/schema"; import ShopTemplateEditorSaveButton from "../shop-template-editor-save-button/shop-template-editor-save-button.component"; +import ShopTemplateTestRender from "../shop-template-test-render/shop-template-test-render.component"; +// CodeMirror.fromTextArea(document.getElementById("gqlcm"), { +// mode: "graphql", +// lint: { +// // schema: myGraphQLSchema, +// }, +// hintOptions: { +// // schema: myGraphQLSchema, +// }, +// }); export default function ShopTemplateEditorComponent({ templateId, @@ -14,7 +35,12 @@ export default function ShopTemplateEditorComponent({ const emailEditorRef = useRef(null); useEffect(() => { - if (json && Object.keys(json).length > 0 && emailEditorRef.current) { + if ( + json && + Object.keys(json).length > 0 && + emailEditorRef && + emailEditorRef.current + ) { emailEditorRef.current.loadDesign(json); } }, [json, emailEditorRef]); @@ -25,16 +51,6 @@ export default function ShopTemplateEditorComponent({ }); }, [gql, seteditorContent]); - const exportJson = (props) => { - emailEditorRef.current.saveDesign((js) => { - seteditorContent({ ...editorContent, JSON: js }); - }); - }; - - const exportHtml = (props) => { - emailEditorRef.current.exportHtml((js) => {}); - }; - return ( - json - html + - QUERY - - seteditorContent({ ...editorContent, gql: e.target.value }) - } - /> + + { + seteditorContent({ ...editorContent, gql: value }); + }} + /> + ) + + ); } diff --git a/client/src/components/shop-template-test-render/shop-template-test-render.component.jsx b/client/src/components/shop-template-test-render/shop-template-test-render.component.jsx new file mode 100644 index 000000000..5287c5977 --- /dev/null +++ b/client/src/components/shop-template-test-render/shop-template-test-render.component.jsx @@ -0,0 +1,75 @@ +import { Button } from "antd"; +import axios from "axios"; +import gql from "graphql-tag"; +import inlineCss from "inline-css"; +import { JsonEditor as Editor } from "jsoneditor-react"; +import "jsoneditor-react/es/editor.min.css"; +import React, { useState } from "react"; +import { useTranslation } from "react-i18next"; +import { connect } from "react-redux"; +import { createStructuredSelector } from "reselect"; +import { client } from "../../App/App.container"; +import { selectBodyshop } from "../../redux/user/user.selectors"; +import { displayTemplateInWindowNoprint } from "../../utils/RenderTemplate"; + +const mapStateToProps = createStructuredSelector({ + bodyshop: selectBodyshop, +}); +const mapDispatchToProps = (dispatch) => ({ + //setUserLanguage: language => dispatch(setUserLanguage(language)) +}); + +export function ShopTemplateTestRender({ bodyshop, query, emailEditorRef }) { + const [variables, setVariables] = useState({ id: "uuid" }); + const [loading, setLoading] = useState(false); + const { t } = useTranslation(); + + const handleTestRender = async () => { + try { + setLoading(true); + + emailEditorRef.current.exportHtml(async (data) => { + inlineCss(data.html, { + url: `${window.location.protocol}://${window.location.host}/`, + }).then(async function (inlineHtml) { + try { + const { data: contextData } = await client.query({ + query: gql(query), + variables: variables, + fetchPolicy: "network-only", + }); + + const { data } = await axios.post("/render", { + view: inlineHtml, + context: { ...contextData, bodyshop: bodyshop }, + }); + displayTemplateInWindowNoprint(data); + + setLoading(false); + } catch (error) { + setLoading(false); + alert(error); + } + }); + }); + } catch (error) { + setLoading(false); + alert(error); + } + }; + + return ( + + + {t("bodyshop.actions.testrender")} + + + setVariables(e)} /> + + + ); +} +export default connect( + mapStateToProps, + mapDispatchToProps +)(ShopTemplateTestRender); diff --git a/client/src/components/shop-templates-list/shop-templates-list.container.jsx b/client/src/components/shop-templates-list/shop-templates-list.container.jsx index ccc604197..5ac937140 100644 --- a/client/src/components/shop-templates-list/shop-templates-list.container.jsx +++ b/client/src/components/shop-templates-list/shop-templates-list.container.jsx @@ -16,7 +16,7 @@ export default function ShopTemplatesListContainer() { const { t } = useTranslation(); const search = queryString.parse(useLocation().search); const history = useHistory(); - if (error) return ; + if (error) return ; const handleEdit = (record) => { if (record) { @@ -39,7 +39,7 @@ export default function ShopTemplatesListContainer() { /> ( , - ]}> + ]} + > - + + {TemplateList[item.name].title} + {TemplateList[item.name].description} + )} diff --git a/client/src/graphql/bodyshop.queries.js b/client/src/graphql/bodyshop.queries.js index 9d47fb106..60c4ab34d 100644 --- a/client/src/graphql/bodyshop.queries.js +++ b/client/src/graphql/bodyshop.queries.js @@ -1,5 +1,13 @@ import gql from "graphql-tag"; - +export const INTROSPECTION = gql` + query INTROSPECTION { + __schema { + types { + name + } + } + } +`; export const QUERY_BODYSHOP = gql` query QUERY_BODYSHOP { bodyshops(where: { associations: { active: { _eq: true } } }) { diff --git a/client/src/graphql/employees.queries.jsx b/client/src/graphql/employees.queries.js similarity index 100% rename from client/src/graphql/employees.queries.jsx rename to client/src/graphql/employees.queries.js diff --git a/client/src/graphql/schema.graphql b/client/src/graphql/schema.graphql new file mode 100644 index 000000000..51723ddbc --- /dev/null +++ b/client/src/graphql/schema.graphql @@ -0,0 +1,25119 @@ +schema { + query: query_root + mutation: mutation_root + subscription: subscription_root +} + +# columns and relationships of "allocations" +type allocations { + created_at: timestamptz! + + # An object relationship + employee: employees! + employeeid: uuid! + hours: numeric! + id: uuid! + + # An object relationship + jobline: joblines! + joblineid: uuid! + updated_at: timestamptz! +} + +# aggregated selection of "allocations" +type allocations_aggregate { + aggregate: allocations_aggregate_fields + nodes: [allocations!]! +} + +# aggregate fields of "allocations" +type allocations_aggregate_fields { + avg: allocations_avg_fields + count(columns: [allocations_select_column!], distinct: Boolean): Int + max: allocations_max_fields + min: allocations_min_fields + stddev: allocations_stddev_fields + stddev_pop: allocations_stddev_pop_fields + stddev_samp: allocations_stddev_samp_fields + sum: allocations_sum_fields + var_pop: allocations_var_pop_fields + var_samp: allocations_var_samp_fields + variance: allocations_variance_fields +} + +# order by aggregate values of table "allocations" +input allocations_aggregate_order_by { + avg: allocations_avg_order_by + count: order_by + max: allocations_max_order_by + min: allocations_min_order_by + stddev: allocations_stddev_order_by + stddev_pop: allocations_stddev_pop_order_by + stddev_samp: allocations_stddev_samp_order_by + sum: allocations_sum_order_by + var_pop: allocations_var_pop_order_by + var_samp: allocations_var_samp_order_by + variance: allocations_variance_order_by +} + +# input type for inserting array relation for remote table "allocations" +input allocations_arr_rel_insert_input { + data: [allocations_insert_input!]! + on_conflict: allocations_on_conflict +} + +# aggregate avg on columns +type allocations_avg_fields { + hours: Float +} + +# order by avg() on columns of table "allocations" +input allocations_avg_order_by { + hours: order_by +} + +# Boolean expression to filter rows from the table "allocations". All fields are combined with a logical 'AND'. +input allocations_bool_exp { + _and: [allocations_bool_exp] + _not: allocations_bool_exp + _or: [allocations_bool_exp] + created_at: timestamptz_comparison_exp + employee: employees_bool_exp + employeeid: uuid_comparison_exp + hours: numeric_comparison_exp + id: uuid_comparison_exp + jobline: joblines_bool_exp + joblineid: uuid_comparison_exp + updated_at: timestamptz_comparison_exp +} + +# unique or primary key constraints on table "allocations" +enum allocations_constraint { + # unique or primary key constraint + allocations_pkey +} + +# input type for incrementing integer column in table "allocations" +input allocations_inc_input { + hours: numeric +} + +# input type for inserting data into table "allocations" +input allocations_insert_input { + created_at: timestamptz + employee: employees_obj_rel_insert_input + employeeid: uuid + hours: numeric + id: uuid + jobline: joblines_obj_rel_insert_input + joblineid: uuid + updated_at: timestamptz +} + +# aggregate max on columns +type allocations_max_fields { + created_at: timestamptz + employeeid: uuid + hours: numeric + id: uuid + joblineid: uuid + updated_at: timestamptz +} + +# order by max() on columns of table "allocations" +input allocations_max_order_by { + created_at: order_by + employeeid: order_by + hours: order_by + id: order_by + joblineid: order_by + updated_at: order_by +} + +# aggregate min on columns +type allocations_min_fields { + created_at: timestamptz + employeeid: uuid + hours: numeric + id: uuid + joblineid: uuid + updated_at: timestamptz +} + +# order by min() on columns of table "allocations" +input allocations_min_order_by { + created_at: order_by + employeeid: order_by + hours: order_by + id: order_by + joblineid: order_by + updated_at: order_by +} + +# response of any mutation on the table "allocations" +type allocations_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [allocations!]! +} + +# input type for inserting object relation for remote table "allocations" +input allocations_obj_rel_insert_input { + data: allocations_insert_input! + on_conflict: allocations_on_conflict +} + +# on conflict condition type for table "allocations" +input allocations_on_conflict { + constraint: allocations_constraint! + update_columns: [allocations_update_column!]! + where: allocations_bool_exp +} + +# ordering options when selecting data from "allocations" +input allocations_order_by { + created_at: order_by + employee: employees_order_by + employeeid: order_by + hours: order_by + id: order_by + jobline: joblines_order_by + joblineid: order_by + updated_at: order_by +} + +# primary key columns input for table: "allocations" +input allocations_pk_columns_input { + id: uuid! +} + +# select columns of table "allocations" +enum allocations_select_column { + # column name + created_at + + # column name + employeeid + + # column name + hours + + # column name + id + + # column name + joblineid + + # column name + updated_at +} + +# input type for updating data in table "allocations" +input allocations_set_input { + created_at: timestamptz + employeeid: uuid + hours: numeric + id: uuid + joblineid: uuid + updated_at: timestamptz +} + +# aggregate stddev on columns +type allocations_stddev_fields { + hours: Float +} + +# order by stddev() on columns of table "allocations" +input allocations_stddev_order_by { + hours: order_by +} + +# aggregate stddev_pop on columns +type allocations_stddev_pop_fields { + hours: Float +} + +# order by stddev_pop() on columns of table "allocations" +input allocations_stddev_pop_order_by { + hours: order_by +} + +# aggregate stddev_samp on columns +type allocations_stddev_samp_fields { + hours: Float +} + +# order by stddev_samp() on columns of table "allocations" +input allocations_stddev_samp_order_by { + hours: order_by +} + +# aggregate sum on columns +type allocations_sum_fields { + hours: numeric +} + +# order by sum() on columns of table "allocations" +input allocations_sum_order_by { + hours: order_by +} + +# update columns of table "allocations" +enum allocations_update_column { + # column name + created_at + + # column name + employeeid + + # column name + hours + + # column name + id + + # column name + joblineid + + # column name + updated_at +} + +# aggregate var_pop on columns +type allocations_var_pop_fields { + hours: Float +} + +# order by var_pop() on columns of table "allocations" +input allocations_var_pop_order_by { + hours: order_by +} + +# aggregate var_samp on columns +type allocations_var_samp_fields { + hours: Float +} + +# order by var_samp() on columns of table "allocations" +input allocations_var_samp_order_by { + hours: order_by +} + +# aggregate variance on columns +type allocations_variance_fields { + hours: Float +} + +# order by variance() on columns of table "allocations" +input allocations_variance_order_by { + hours: order_by +} + +# columns and relationships of "appointments" +type appointments { + arrived: Boolean! + block: Boolean! + + # An object relationship + bodyshop: bodyshops! + bodyshopid: uuid! + canceled: Boolean! + created_at: timestamptz! + end: timestamptz! + id: uuid! + isintake: Boolean! + + # An object relationship + job: jobs + jobid: uuid + start: timestamptz! + title: String + updated_at: timestamptz! +} + +# aggregated selection of "appointments" +type appointments_aggregate { + aggregate: appointments_aggregate_fields + nodes: [appointments!]! +} + +# aggregate fields of "appointments" +type appointments_aggregate_fields { + count(columns: [appointments_select_column!], distinct: Boolean): Int + max: appointments_max_fields + min: appointments_min_fields +} + +# order by aggregate values of table "appointments" +input appointments_aggregate_order_by { + count: order_by + max: appointments_max_order_by + min: appointments_min_order_by +} + +# input type for inserting array relation for remote table "appointments" +input appointments_arr_rel_insert_input { + data: [appointments_insert_input!]! + on_conflict: appointments_on_conflict +} + +# Boolean expression to filter rows from the table "appointments". All fields are combined with a logical 'AND'. +input appointments_bool_exp { + _and: [appointments_bool_exp] + _not: appointments_bool_exp + _or: [appointments_bool_exp] + arrived: Boolean_comparison_exp + block: Boolean_comparison_exp + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + canceled: Boolean_comparison_exp + created_at: timestamptz_comparison_exp + end: timestamptz_comparison_exp + id: uuid_comparison_exp + isintake: Boolean_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + start: timestamptz_comparison_exp + title: String_comparison_exp + updated_at: timestamptz_comparison_exp +} + +# unique or primary key constraints on table "appointments" +enum appointments_constraint { + # unique or primary key constraint + appointments_pkey +} + +# input type for inserting data into table "appointments" +input appointments_insert_input { + arrived: Boolean + block: Boolean + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + canceled: Boolean + created_at: timestamptz + end: timestamptz + id: uuid + isintake: Boolean + job: jobs_obj_rel_insert_input + jobid: uuid + start: timestamptz + title: String + updated_at: timestamptz +} + +# aggregate max on columns +type appointments_max_fields { + bodyshopid: uuid + created_at: timestamptz + end: timestamptz + id: uuid + jobid: uuid + start: timestamptz + title: String + updated_at: timestamptz +} + +# order by max() on columns of table "appointments" +input appointments_max_order_by { + bodyshopid: order_by + created_at: order_by + end: order_by + id: order_by + jobid: order_by + start: order_by + title: order_by + updated_at: order_by +} + +# aggregate min on columns +type appointments_min_fields { + bodyshopid: uuid + created_at: timestamptz + end: timestamptz + id: uuid + jobid: uuid + start: timestamptz + title: String + updated_at: timestamptz +} + +# order by min() on columns of table "appointments" +input appointments_min_order_by { + bodyshopid: order_by + created_at: order_by + end: order_by + id: order_by + jobid: order_by + start: order_by + title: order_by + updated_at: order_by +} + +# response of any mutation on the table "appointments" +type appointments_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [appointments!]! +} + +# input type for inserting object relation for remote table "appointments" +input appointments_obj_rel_insert_input { + data: appointments_insert_input! + on_conflict: appointments_on_conflict +} + +# on conflict condition type for table "appointments" +input appointments_on_conflict { + constraint: appointments_constraint! + update_columns: [appointments_update_column!]! + where: appointments_bool_exp +} + +# ordering options when selecting data from "appointments" +input appointments_order_by { + arrived: order_by + block: order_by + bodyshop: bodyshops_order_by + bodyshopid: order_by + canceled: order_by + created_at: order_by + end: order_by + id: order_by + isintake: order_by + job: jobs_order_by + jobid: order_by + start: order_by + title: order_by + updated_at: order_by +} + +# primary key columns input for table: "appointments" +input appointments_pk_columns_input { + id: uuid! +} + +# select columns of table "appointments" +enum appointments_select_column { + # column name + arrived + + # column name + block + + # column name + bodyshopid + + # column name + canceled + + # column name + created_at + + # column name + end + + # column name + id + + # column name + isintake + + # column name + jobid + + # column name + start + + # column name + title + + # column name + updated_at +} + +# input type for updating data in table "appointments" +input appointments_set_input { + arrived: Boolean + block: Boolean + bodyshopid: uuid + canceled: Boolean + created_at: timestamptz + end: timestamptz + id: uuid + isintake: Boolean + jobid: uuid + start: timestamptz + title: String + updated_at: timestamptz +} + +# update columns of table "appointments" +enum appointments_update_column { + # column name + arrived + + # column name + block + + # column name + bodyshopid + + # column name + canceled + + # column name + created_at + + # column name + end + + # column name + id + + # column name + isintake + + # column name + jobid + + # column name + start + + # column name + title + + # column name + updated_at +} + +# columns and relationships of "associations" +type associations { + active: Boolean! + authlevel: Int! + + # An object relationship + bodyshop: bodyshops! + id: uuid! + shopid: uuid! + + # An object relationship + user: users! + useremail: String! +} + +# aggregated selection of "associations" +type associations_aggregate { + aggregate: associations_aggregate_fields + nodes: [associations!]! +} + +# aggregate fields of "associations" +type associations_aggregate_fields { + avg: associations_avg_fields + count(columns: [associations_select_column!], distinct: Boolean): Int + max: associations_max_fields + min: associations_min_fields + stddev: associations_stddev_fields + stddev_pop: associations_stddev_pop_fields + stddev_samp: associations_stddev_samp_fields + sum: associations_sum_fields + var_pop: associations_var_pop_fields + var_samp: associations_var_samp_fields + variance: associations_variance_fields +} + +# order by aggregate values of table "associations" +input associations_aggregate_order_by { + avg: associations_avg_order_by + count: order_by + max: associations_max_order_by + min: associations_min_order_by + stddev: associations_stddev_order_by + stddev_pop: associations_stddev_pop_order_by + stddev_samp: associations_stddev_samp_order_by + sum: associations_sum_order_by + var_pop: associations_var_pop_order_by + var_samp: associations_var_samp_order_by + variance: associations_variance_order_by +} + +# input type for inserting array relation for remote table "associations" +input associations_arr_rel_insert_input { + data: [associations_insert_input!]! + on_conflict: associations_on_conflict +} + +# aggregate avg on columns +type associations_avg_fields { + authlevel: Float +} + +# order by avg() on columns of table "associations" +input associations_avg_order_by { + authlevel: order_by +} + +# Boolean expression to filter rows from the table "associations". All fields are combined with a logical 'AND'. +input associations_bool_exp { + _and: [associations_bool_exp] + _not: associations_bool_exp + _or: [associations_bool_exp] + active: Boolean_comparison_exp + authlevel: Int_comparison_exp + bodyshop: bodyshops_bool_exp + id: uuid_comparison_exp + shopid: uuid_comparison_exp + user: users_bool_exp + useremail: String_comparison_exp +} + +# unique or primary key constraints on table "associations" +enum associations_constraint { + # unique or primary key constraint + associations_pkey +} + +# input type for incrementing integer column in table "associations" +input associations_inc_input { + authlevel: Int +} + +# input type for inserting data into table "associations" +input associations_insert_input { + active: Boolean + authlevel: Int + bodyshop: bodyshops_obj_rel_insert_input + id: uuid + shopid: uuid + user: users_obj_rel_insert_input + useremail: String +} + +# aggregate max on columns +type associations_max_fields { + authlevel: Int + id: uuid + shopid: uuid + useremail: String +} + +# order by max() on columns of table "associations" +input associations_max_order_by { + authlevel: order_by + id: order_by + shopid: order_by + useremail: order_by +} + +# aggregate min on columns +type associations_min_fields { + authlevel: Int + id: uuid + shopid: uuid + useremail: String +} + +# order by min() on columns of table "associations" +input associations_min_order_by { + authlevel: order_by + id: order_by + shopid: order_by + useremail: order_by +} + +# response of any mutation on the table "associations" +type associations_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [associations!]! +} + +# input type for inserting object relation for remote table "associations" +input associations_obj_rel_insert_input { + data: associations_insert_input! + on_conflict: associations_on_conflict +} + +# on conflict condition type for table "associations" +input associations_on_conflict { + constraint: associations_constraint! + update_columns: [associations_update_column!]! + where: associations_bool_exp +} + +# ordering options when selecting data from "associations" +input associations_order_by { + active: order_by + authlevel: order_by + bodyshop: bodyshops_order_by + id: order_by + shopid: order_by + user: users_order_by + useremail: order_by +} + +# primary key columns input for table: "associations" +input associations_pk_columns_input { + id: uuid! +} + +# select columns of table "associations" +enum associations_select_column { + # column name + active + + # column name + authlevel + + # column name + id + + # column name + shopid + + # column name + useremail +} + +# input type for updating data in table "associations" +input associations_set_input { + active: Boolean + authlevel: Int + id: uuid + shopid: uuid + useremail: String +} + +# aggregate stddev on columns +type associations_stddev_fields { + authlevel: Float +} + +# order by stddev() on columns of table "associations" +input associations_stddev_order_by { + authlevel: order_by +} + +# aggregate stddev_pop on columns +type associations_stddev_pop_fields { + authlevel: Float +} + +# order by stddev_pop() on columns of table "associations" +input associations_stddev_pop_order_by { + authlevel: order_by +} + +# aggregate stddev_samp on columns +type associations_stddev_samp_fields { + authlevel: Float +} + +# order by stddev_samp() on columns of table "associations" +input associations_stddev_samp_order_by { + authlevel: order_by +} + +# aggregate sum on columns +type associations_sum_fields { + authlevel: Int +} + +# order by sum() on columns of table "associations" +input associations_sum_order_by { + authlevel: order_by +} + +# update columns of table "associations" +enum associations_update_column { + # column name + active + + # column name + authlevel + + # column name + id + + # column name + shopid + + # column name + useremail +} + +# aggregate var_pop on columns +type associations_var_pop_fields { + authlevel: Float +} + +# order by var_pop() on columns of table "associations" +input associations_var_pop_order_by { + authlevel: order_by +} + +# aggregate var_samp on columns +type associations_var_samp_fields { + authlevel: Float +} + +# order by var_samp() on columns of table "associations" +input associations_var_samp_order_by { + authlevel: order_by +} + +# aggregate variance on columns +type associations_variance_fields { + authlevel: Float +} + +# order by variance() on columns of table "associations" +input associations_variance_order_by { + authlevel: order_by +} + +# columns and relationships of "audit_trail" +type audit_trail { + # An object relationship + bodyshop: bodyshops + bodyshopid: uuid + created: timestamp + id: Int! + new_val( + # JSON select path + path: String + ): json + old_val( + # JSON select path + path: String + ): json + operation: String + recordid: uuid + schemaname: String + tabname: String + + # An object relationship + user: users + useremail: String +} + +# aggregated selection of "audit_trail" +type audit_trail_aggregate { + aggregate: audit_trail_aggregate_fields + nodes: [audit_trail!]! +} + +# aggregate fields of "audit_trail" +type audit_trail_aggregate_fields { + avg: audit_trail_avg_fields + count(columns: [audit_trail_select_column!], distinct: Boolean): Int + max: audit_trail_max_fields + min: audit_trail_min_fields + stddev: audit_trail_stddev_fields + stddev_pop: audit_trail_stddev_pop_fields + stddev_samp: audit_trail_stddev_samp_fields + sum: audit_trail_sum_fields + var_pop: audit_trail_var_pop_fields + var_samp: audit_trail_var_samp_fields + variance: audit_trail_variance_fields +} + +# order by aggregate values of table "audit_trail" +input audit_trail_aggregate_order_by { + avg: audit_trail_avg_order_by + count: order_by + max: audit_trail_max_order_by + min: audit_trail_min_order_by + stddev: audit_trail_stddev_order_by + stddev_pop: audit_trail_stddev_pop_order_by + stddev_samp: audit_trail_stddev_samp_order_by + sum: audit_trail_sum_order_by + var_pop: audit_trail_var_pop_order_by + var_samp: audit_trail_var_samp_order_by + variance: audit_trail_variance_order_by +} + +# input type for inserting array relation for remote table "audit_trail" +input audit_trail_arr_rel_insert_input { + data: [audit_trail_insert_input!]! + on_conflict: audit_trail_on_conflict +} + +# aggregate avg on columns +type audit_trail_avg_fields { + id: Float +} + +# order by avg() on columns of table "audit_trail" +input audit_trail_avg_order_by { + id: order_by +} + +# Boolean expression to filter rows from the table "audit_trail". All fields are combined with a logical 'AND'. +input audit_trail_bool_exp { + _and: [audit_trail_bool_exp] + _not: audit_trail_bool_exp + _or: [audit_trail_bool_exp] + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + created: timestamp_comparison_exp + id: Int_comparison_exp + new_val: json_comparison_exp + old_val: json_comparison_exp + operation: String_comparison_exp + recordid: uuid_comparison_exp + schemaname: String_comparison_exp + tabname: String_comparison_exp + user: users_bool_exp + useremail: String_comparison_exp +} + +# unique or primary key constraints on table "audit_trail" +enum audit_trail_constraint { + # unique or primary key constraint + audit_trail_pkey +} + +# input type for incrementing integer column in table "audit_trail" +input audit_trail_inc_input { + id: Int +} + +# input type for inserting data into table "audit_trail" +input audit_trail_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + created: timestamp + id: Int + new_val: json + old_val: json + operation: String + recordid: uuid + schemaname: String + tabname: String + user: users_obj_rel_insert_input + useremail: String +} + +# aggregate max on columns +type audit_trail_max_fields { + bodyshopid: uuid + created: timestamp + id: Int + operation: String + recordid: uuid + schemaname: String + tabname: String + useremail: String +} + +# order by max() on columns of table "audit_trail" +input audit_trail_max_order_by { + bodyshopid: order_by + created: order_by + id: order_by + operation: order_by + recordid: order_by + schemaname: order_by + tabname: order_by + useremail: order_by +} + +# aggregate min on columns +type audit_trail_min_fields { + bodyshopid: uuid + created: timestamp + id: Int + operation: String + recordid: uuid + schemaname: String + tabname: String + useremail: String +} + +# order by min() on columns of table "audit_trail" +input audit_trail_min_order_by { + bodyshopid: order_by + created: order_by + id: order_by + operation: order_by + recordid: order_by + schemaname: order_by + tabname: order_by + useremail: order_by +} + +# response of any mutation on the table "audit_trail" +type audit_trail_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [audit_trail!]! +} + +# input type for inserting object relation for remote table "audit_trail" +input audit_trail_obj_rel_insert_input { + data: audit_trail_insert_input! + on_conflict: audit_trail_on_conflict +} + +# on conflict condition type for table "audit_trail" +input audit_trail_on_conflict { + constraint: audit_trail_constraint! + update_columns: [audit_trail_update_column!]! + where: audit_trail_bool_exp +} + +# ordering options when selecting data from "audit_trail" +input audit_trail_order_by { + bodyshop: bodyshops_order_by + bodyshopid: order_by + created: order_by + id: order_by + new_val: order_by + old_val: order_by + operation: order_by + recordid: order_by + schemaname: order_by + tabname: order_by + user: users_order_by + useremail: order_by +} + +# primary key columns input for table: "audit_trail" +input audit_trail_pk_columns_input { + id: Int! +} + +# select columns of table "audit_trail" +enum audit_trail_select_column { + # column name + bodyshopid + + # column name + created + + # column name + id + + # column name + new_val + + # column name + old_val + + # column name + operation + + # column name + recordid + + # column name + schemaname + + # column name + tabname + + # column name + useremail +} + +# input type for updating data in table "audit_trail" +input audit_trail_set_input { + bodyshopid: uuid + created: timestamp + id: Int + new_val: json + old_val: json + operation: String + recordid: uuid + schemaname: String + tabname: String + useremail: String +} + +# aggregate stddev on columns +type audit_trail_stddev_fields { + id: Float +} + +# order by stddev() on columns of table "audit_trail" +input audit_trail_stddev_order_by { + id: order_by +} + +# aggregate stddev_pop on columns +type audit_trail_stddev_pop_fields { + id: Float +} + +# order by stddev_pop() on columns of table "audit_trail" +input audit_trail_stddev_pop_order_by { + id: order_by +} + +# aggregate stddev_samp on columns +type audit_trail_stddev_samp_fields { + id: Float +} + +# order by stddev_samp() on columns of table "audit_trail" +input audit_trail_stddev_samp_order_by { + id: order_by +} + +# aggregate sum on columns +type audit_trail_sum_fields { + id: Int +} + +# order by sum() on columns of table "audit_trail" +input audit_trail_sum_order_by { + id: order_by +} + +# update columns of table "audit_trail" +enum audit_trail_update_column { + # column name + bodyshopid + + # column name + created + + # column name + id + + # column name + new_val + + # column name + old_val + + # column name + operation + + # column name + recordid + + # column name + schemaname + + # column name + tabname + + # column name + useremail +} + +# aggregate var_pop on columns +type audit_trail_var_pop_fields { + id: Float +} + +# order by var_pop() on columns of table "audit_trail" +input audit_trail_var_pop_order_by { + id: order_by +} + +# aggregate var_samp on columns +type audit_trail_var_samp_fields { + id: Float +} + +# order by var_samp() on columns of table "audit_trail" +input audit_trail_var_samp_order_by { + id: order_by +} + +# aggregate variance on columns +type audit_trail_variance_fields { + id: Float +} + +# order by variance() on columns of table "audit_trail" +input audit_trail_variance_order_by { + id: order_by +} + +# columns and relationships of "available_jobs" +type available_jobs { + # An object relationship + bodyshop: bodyshops! + bodyshopid: uuid! + cieca_id: String! + clm_amt: numeric + clm_no: String + created_at: timestamptz! + est_data( + # JSON select path + path: String + ): jsonb! + id: uuid! + issupplement: Boolean! + + # An object relationship + job: jobs + jobid: uuid + ownr_name: String + source_system: String + supplement_number: Int + updated_at: timestamptz! + uploaded_by: String! + vehicle_info: String +} + +# aggregated selection of "available_jobs" +type available_jobs_aggregate { + aggregate: available_jobs_aggregate_fields + nodes: [available_jobs!]! +} + +# aggregate fields of "available_jobs" +type available_jobs_aggregate_fields { + avg: available_jobs_avg_fields + count(columns: [available_jobs_select_column!], distinct: Boolean): Int + max: available_jobs_max_fields + min: available_jobs_min_fields + stddev: available_jobs_stddev_fields + stddev_pop: available_jobs_stddev_pop_fields + stddev_samp: available_jobs_stddev_samp_fields + sum: available_jobs_sum_fields + var_pop: available_jobs_var_pop_fields + var_samp: available_jobs_var_samp_fields + variance: available_jobs_variance_fields +} + +# order by aggregate values of table "available_jobs" +input available_jobs_aggregate_order_by { + avg: available_jobs_avg_order_by + count: order_by + max: available_jobs_max_order_by + min: available_jobs_min_order_by + stddev: available_jobs_stddev_order_by + stddev_pop: available_jobs_stddev_pop_order_by + stddev_samp: available_jobs_stddev_samp_order_by + sum: available_jobs_sum_order_by + var_pop: available_jobs_var_pop_order_by + var_samp: available_jobs_var_samp_order_by + variance: available_jobs_variance_order_by +} + +# append existing jsonb value of filtered columns with new jsonb value +input available_jobs_append_input { + est_data: jsonb +} + +# input type for inserting array relation for remote table "available_jobs" +input available_jobs_arr_rel_insert_input { + data: [available_jobs_insert_input!]! + on_conflict: available_jobs_on_conflict +} + +# aggregate avg on columns +type available_jobs_avg_fields { + clm_amt: Float + supplement_number: Float +} + +# order by avg() on columns of table "available_jobs" +input available_jobs_avg_order_by { + clm_amt: order_by + supplement_number: order_by +} + +# Boolean expression to filter rows from the table "available_jobs". All fields are combined with a logical 'AND'. +input available_jobs_bool_exp { + _and: [available_jobs_bool_exp] + _not: available_jobs_bool_exp + _or: [available_jobs_bool_exp] + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + cieca_id: String_comparison_exp + clm_amt: numeric_comparison_exp + clm_no: String_comparison_exp + created_at: timestamptz_comparison_exp + est_data: jsonb_comparison_exp + id: uuid_comparison_exp + issupplement: Boolean_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + ownr_name: String_comparison_exp + source_system: String_comparison_exp + supplement_number: Int_comparison_exp + updated_at: timestamptz_comparison_exp + uploaded_by: String_comparison_exp + vehicle_info: String_comparison_exp +} + +# unique or primary key constraints on table "available_jobs" +enum available_jobs_constraint { + # unique or primary key constraint + available_jobs_clm_no_bodyshopid_key + + # unique or primary key constraint + available_jobs_pkey +} + +# delete the field or element with specified path (for JSON arrays, negative integers count from the end) +input available_jobs_delete_at_path_input { + est_data: [String] +} + +# delete the array element with specified index (negative integers count from the +# end). throws an error if top level container is not an array +input available_jobs_delete_elem_input { + est_data: Int +} + +# delete key/value pair or string element. key/value pairs are matched based on their key value +input available_jobs_delete_key_input { + est_data: String +} + +# input type for incrementing integer column in table "available_jobs" +input available_jobs_inc_input { + clm_amt: numeric + supplement_number: Int +} + +# input type for inserting data into table "available_jobs" +input available_jobs_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + cieca_id: String + clm_amt: numeric + clm_no: String + created_at: timestamptz + est_data: jsonb + id: uuid + issupplement: Boolean + job: jobs_obj_rel_insert_input + jobid: uuid + ownr_name: String + source_system: String + supplement_number: Int + updated_at: timestamptz + uploaded_by: String + vehicle_info: String +} + +# aggregate max on columns +type available_jobs_max_fields { + bodyshopid: uuid + cieca_id: String + clm_amt: numeric + clm_no: String + created_at: timestamptz + id: uuid + jobid: uuid + ownr_name: String + source_system: String + supplement_number: Int + updated_at: timestamptz + uploaded_by: String + vehicle_info: String +} + +# order by max() on columns of table "available_jobs" +input available_jobs_max_order_by { + bodyshopid: order_by + cieca_id: order_by + clm_amt: order_by + clm_no: order_by + created_at: order_by + id: order_by + jobid: order_by + ownr_name: order_by + source_system: order_by + supplement_number: order_by + updated_at: order_by + uploaded_by: order_by + vehicle_info: order_by +} + +# aggregate min on columns +type available_jobs_min_fields { + bodyshopid: uuid + cieca_id: String + clm_amt: numeric + clm_no: String + created_at: timestamptz + id: uuid + jobid: uuid + ownr_name: String + source_system: String + supplement_number: Int + updated_at: timestamptz + uploaded_by: String + vehicle_info: String +} + +# order by min() on columns of table "available_jobs" +input available_jobs_min_order_by { + bodyshopid: order_by + cieca_id: order_by + clm_amt: order_by + clm_no: order_by + created_at: order_by + id: order_by + jobid: order_by + ownr_name: order_by + source_system: order_by + supplement_number: order_by + updated_at: order_by + uploaded_by: order_by + vehicle_info: order_by +} + +# response of any mutation on the table "available_jobs" +type available_jobs_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [available_jobs!]! +} + +# input type for inserting object relation for remote table "available_jobs" +input available_jobs_obj_rel_insert_input { + data: available_jobs_insert_input! + on_conflict: available_jobs_on_conflict +} + +# on conflict condition type for table "available_jobs" +input available_jobs_on_conflict { + constraint: available_jobs_constraint! + update_columns: [available_jobs_update_column!]! + where: available_jobs_bool_exp +} + +# ordering options when selecting data from "available_jobs" +input available_jobs_order_by { + bodyshop: bodyshops_order_by + bodyshopid: order_by + cieca_id: order_by + clm_amt: order_by + clm_no: order_by + created_at: order_by + est_data: order_by + id: order_by + issupplement: order_by + job: jobs_order_by + jobid: order_by + ownr_name: order_by + source_system: order_by + supplement_number: order_by + updated_at: order_by + uploaded_by: order_by + vehicle_info: order_by +} + +# primary key columns input for table: "available_jobs" +input available_jobs_pk_columns_input { + id: uuid! +} + +# prepend existing jsonb value of filtered columns with new jsonb value +input available_jobs_prepend_input { + est_data: jsonb +} + +# select columns of table "available_jobs" +enum available_jobs_select_column { + # column name + bodyshopid + + # column name + cieca_id + + # column name + clm_amt + + # column name + clm_no + + # column name + created_at + + # column name + est_data + + # column name + id + + # column name + issupplement + + # column name + jobid + + # column name + ownr_name + + # column name + source_system + + # column name + supplement_number + + # column name + updated_at + + # column name + uploaded_by + + # column name + vehicle_info +} + +# input type for updating data in table "available_jobs" +input available_jobs_set_input { + bodyshopid: uuid + cieca_id: String + clm_amt: numeric + clm_no: String + created_at: timestamptz + est_data: jsonb + id: uuid + issupplement: Boolean + jobid: uuid + ownr_name: String + source_system: String + supplement_number: Int + updated_at: timestamptz + uploaded_by: String + vehicle_info: String +} + +# aggregate stddev on columns +type available_jobs_stddev_fields { + clm_amt: Float + supplement_number: Float +} + +# order by stddev() on columns of table "available_jobs" +input available_jobs_stddev_order_by { + clm_amt: order_by + supplement_number: order_by +} + +# aggregate stddev_pop on columns +type available_jobs_stddev_pop_fields { + clm_amt: Float + supplement_number: Float +} + +# order by stddev_pop() on columns of table "available_jobs" +input available_jobs_stddev_pop_order_by { + clm_amt: order_by + supplement_number: order_by +} + +# aggregate stddev_samp on columns +type available_jobs_stddev_samp_fields { + clm_amt: Float + supplement_number: Float +} + +# order by stddev_samp() on columns of table "available_jobs" +input available_jobs_stddev_samp_order_by { + clm_amt: order_by + supplement_number: order_by +} + +# aggregate sum on columns +type available_jobs_sum_fields { + clm_amt: numeric + supplement_number: Int +} + +# order by sum() on columns of table "available_jobs" +input available_jobs_sum_order_by { + clm_amt: order_by + supplement_number: order_by +} + +# update columns of table "available_jobs" +enum available_jobs_update_column { + # column name + bodyshopid + + # column name + cieca_id + + # column name + clm_amt + + # column name + clm_no + + # column name + created_at + + # column name + est_data + + # column name + id + + # column name + issupplement + + # column name + jobid + + # column name + ownr_name + + # column name + source_system + + # column name + supplement_number + + # column name + updated_at + + # column name + uploaded_by + + # column name + vehicle_info +} + +# aggregate var_pop on columns +type available_jobs_var_pop_fields { + clm_amt: Float + supplement_number: Float +} + +# order by var_pop() on columns of table "available_jobs" +input available_jobs_var_pop_order_by { + clm_amt: order_by + supplement_number: order_by +} + +# aggregate var_samp on columns +type available_jobs_var_samp_fields { + clm_amt: Float + supplement_number: Float +} + +# order by var_samp() on columns of table "available_jobs" +input available_jobs_var_samp_order_by { + clm_amt: order_by + supplement_number: order_by +} + +# aggregate variance on columns +type available_jobs_variance_fields { + clm_amt: Float + supplement_number: Float +} + +# order by variance() on columns of table "available_jobs" +input available_jobs_variance_order_by { + clm_amt: order_by + supplement_number: order_by +} + +scalar bigint + +# expression to compare columns of type bigint. All fields are combined with logical 'AND'. +input bigint_comparison_exp { + _eq: bigint + _gt: bigint + _gte: bigint + _in: [bigint!] + _is_null: Boolean + _lt: bigint + _lte: bigint + _neq: bigint + _nin: [bigint!] +} + +# columns and relationships of "bodyshops" +type bodyshops { + accountingconfig( + # JSON select path + path: String + ): jsonb + address1: String + address2: String + + # An array relationship + appointments( + # distinct select on columns + distinct_on: [appointments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [appointments_order_by!] + + # filter the rows returned + where: appointments_bool_exp + ): [appointments!]! + + # An aggregated array relationship + appointments_aggregate( + # distinct select on columns + distinct_on: [appointments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [appointments_order_by!] + + # filter the rows returned + where: appointments_bool_exp + ): appointments_aggregate! + appt_length: Int! + + # An array relationship + associations( + # distinct select on columns + distinct_on: [associations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [associations_order_by!] + + # filter the rows returned + where: associations_bool_exp + ): [associations!]! + + # An aggregated array relationship + associations_aggregate( + # distinct select on columns + distinct_on: [associations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [associations_order_by!] + + # filter the rows returned + where: associations_bool_exp + ): associations_aggregate! + + # An array relationship + audit_trails( + # distinct select on columns + distinct_on: [audit_trail_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [audit_trail_order_by!] + + # filter the rows returned + where: audit_trail_bool_exp + ): [audit_trail!]! + + # An aggregated array relationship + audit_trails_aggregate( + # distinct select on columns + distinct_on: [audit_trail_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [audit_trail_order_by!] + + # filter the rows returned + where: audit_trail_bool_exp + ): audit_trail_aggregate! + + # An array relationship + available_jobs( + # distinct select on columns + distinct_on: [available_jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [available_jobs_order_by!] + + # filter the rows returned + where: available_jobs_bool_exp + ): [available_jobs!]! + + # An aggregated array relationship + available_jobs_aggregate( + # distinct select on columns + distinct_on: [available_jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [available_jobs_order_by!] + + # filter the rows returned + where: available_jobs_bool_exp + ): available_jobs_aggregate! + city: String + + # An array relationship + conversations( + # distinct select on columns + distinct_on: [conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [conversations_order_by!] + + # filter the rows returned + where: conversations_bool_exp + ): [conversations!]! + + # An aggregated array relationship + conversations_aggregate( + # distinct select on columns + distinct_on: [conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [conversations_order_by!] + + # filter the rows returned + where: conversations_bool_exp + ): conversations_aggregate! + + # An array relationship + counters( + # distinct select on columns + distinct_on: [counters_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [counters_order_by!] + + # filter the rows returned + where: counters_bool_exp + ): [counters!]! + + # An aggregated array relationship + counters_aggregate( + # distinct select on columns + distinct_on: [counters_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [counters_order_by!] + + # filter the rows returned + where: counters_bool_exp + ): counters_aggregate! + country: String + + # An array relationship + courtesycars( + # distinct select on columns + distinct_on: [courtesycars_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [courtesycars_order_by!] + + # filter the rows returned + where: courtesycars_bool_exp + ): [courtesycars!]! + + # An aggregated array relationship + courtesycars_aggregate( + # distinct select on columns + distinct_on: [courtesycars_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [courtesycars_order_by!] + + # filter the rows returned + where: courtesycars_bool_exp + ): courtesycars_aggregate! + created_at: timestamptz + + # An array relationship + csiinvites( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): [csi!]! + + # An aggregated array relationship + csiinvites_aggregate( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): csi_aggregate! + + # An array relationship + csiquestions( + # distinct select on columns + distinct_on: [csiquestions_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csiquestions_order_by!] + + # filter the rows returned + where: csiquestions_bool_exp + ): [csiquestions!]! + + # An aggregated array relationship + csiquestions_aggregate( + # distinct select on columns + distinct_on: [csiquestions_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csiquestions_order_by!] + + # filter the rows returned + where: csiquestions_bool_exp + ): csiquestions_aggregate! + deliverchecklist( + # JSON select path + path: String + ): jsonb + email: String + + # An array relationship + employees( + # distinct select on columns + distinct_on: [employees_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [employees_order_by!] + + # filter the rows returned + where: employees_bool_exp + ): [employees!]! + + # An aggregated array relationship + employees_aggregate( + # distinct select on columns + distinct_on: [employees_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [employees_order_by!] + + # filter the rows returned + where: employees_bool_exp + ): employees_aggregate! + enforce_class: Boolean! + federal_tax_id: String + id: uuid! + inhousevendorid: uuid + insurance_vendor_id: String + intakechecklist( + # JSON select path + path: String + ): jsonb + invoice_tax_rates( + # JSON select path + path: String + ): jsonb + + # An array relationship + jobs( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # An aggregated array relationship + jobs_aggregate( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + logo_img_path: String + md_categories( + # JSON select path + path: String + ): jsonb + md_classes( + # JSON select path + path: String + ): jsonb + md_ins_cos( + # JSON select path + path: String + ): jsonb + md_labor_rates( + # JSON select path + path: String + ): jsonb + md_messaging_presets( + # JSON select path + path: String + ): jsonb! + md_notes_presets( + # JSON select path + path: String + ): jsonb! + md_order_statuses( + # JSON select path + path: String + ): jsonb + md_parts_locations( + # JSON select path + path: String + ): jsonb + md_rbac( + # JSON select path + path: String + ): jsonb + md_referral_sources( + # JSON select path + path: String + ): jsonb! + md_responsibility_centers( + # JSON select path + path: String + ): jsonb + md_ro_statuses( + # JSON select path + path: String + ): jsonb + messagingservicesid: String + + # An array relationship + owners( + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): [owners!]! + + # An aggregated array relationship + owners_aggregate( + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): owners_aggregate! + prodtargethrs: numeric! + production_config( + # JSON select path + path: String + ): jsonb + region_config: String! + scoreboard_target( + # JSON select path + path: String + ): jsonb + shopname: String! + shoprates( + # JSON select path + path: String + ): jsonb + speedprint( + # JSON select path + path: String + ): jsonb + ssbuckets( + # JSON select path + path: String + ): jsonb + state: String + state_tax_id: String + stripe_acct_id: String + template_header: String + + # An array relationship + templates( + # distinct select on columns + distinct_on: [templates_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [templates_order_by!] + + # filter the rows returned + where: templates_bool_exp + ): [templates!]! + + # An aggregated array relationship + templates_aggregate( + # distinct select on columns + distinct_on: [templates_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [templates_order_by!] + + # filter the rows returned + where: templates_bool_exp + ): templates_aggregate! + textid: String + + # An array relationship + timetickets( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): [timetickets!]! + + # An aggregated array relationship + timetickets_aggregate( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): timetickets_aggregate! + updated_at: timestamptz + + # An array relationship + vehicles( + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): [vehicles!]! + + # An aggregated array relationship + vehicles_aggregate( + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): vehicles_aggregate! + + # An array relationship + vendors( + # distinct select on columns + distinct_on: [vendors_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vendors_order_by!] + + # filter the rows returned + where: vendors_bool_exp + ): [vendors!]! + + # An aggregated array relationship + vendors_aggregate( + # distinct select on columns + distinct_on: [vendors_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vendors_order_by!] + + # filter the rows returned + where: vendors_bool_exp + ): vendors_aggregate! + zip_post: String +} + +# aggregated selection of "bodyshops" +type bodyshops_aggregate { + aggregate: bodyshops_aggregate_fields + nodes: [bodyshops!]! +} + +# aggregate fields of "bodyshops" +type bodyshops_aggregate_fields { + avg: bodyshops_avg_fields + count(columns: [bodyshops_select_column!], distinct: Boolean): Int + max: bodyshops_max_fields + min: bodyshops_min_fields + stddev: bodyshops_stddev_fields + stddev_pop: bodyshops_stddev_pop_fields + stddev_samp: bodyshops_stddev_samp_fields + sum: bodyshops_sum_fields + var_pop: bodyshops_var_pop_fields + var_samp: bodyshops_var_samp_fields + variance: bodyshops_variance_fields +} + +# order by aggregate values of table "bodyshops" +input bodyshops_aggregate_order_by { + avg: bodyshops_avg_order_by + count: order_by + max: bodyshops_max_order_by + min: bodyshops_min_order_by + stddev: bodyshops_stddev_order_by + stddev_pop: bodyshops_stddev_pop_order_by + stddev_samp: bodyshops_stddev_samp_order_by + sum: bodyshops_sum_order_by + var_pop: bodyshops_var_pop_order_by + var_samp: bodyshops_var_samp_order_by + variance: bodyshops_variance_order_by +} + +# append existing jsonb value of filtered columns with new jsonb value +input bodyshops_append_input { + accountingconfig: jsonb + deliverchecklist: jsonb + intakechecklist: jsonb + invoice_tax_rates: jsonb + md_categories: jsonb + md_classes: jsonb + md_ins_cos: jsonb + md_labor_rates: jsonb + md_messaging_presets: jsonb + md_notes_presets: jsonb + md_order_statuses: jsonb + md_parts_locations: jsonb + md_rbac: jsonb + md_referral_sources: jsonb + md_responsibility_centers: jsonb + md_ro_statuses: jsonb + production_config: jsonb + scoreboard_target: jsonb + shoprates: jsonb + speedprint: jsonb + ssbuckets: jsonb +} + +# input type for inserting array relation for remote table "bodyshops" +input bodyshops_arr_rel_insert_input { + data: [bodyshops_insert_input!]! + on_conflict: bodyshops_on_conflict +} + +# aggregate avg on columns +type bodyshops_avg_fields { + appt_length: Float + prodtargethrs: Float +} + +# order by avg() on columns of table "bodyshops" +input bodyshops_avg_order_by { + appt_length: order_by + prodtargethrs: order_by +} + +# Boolean expression to filter rows from the table "bodyshops". All fields are combined with a logical 'AND'. +input bodyshops_bool_exp { + _and: [bodyshops_bool_exp] + _not: bodyshops_bool_exp + _or: [bodyshops_bool_exp] + accountingconfig: jsonb_comparison_exp + address1: String_comparison_exp + address2: String_comparison_exp + appointments: appointments_bool_exp + appt_length: Int_comparison_exp + associations: associations_bool_exp + audit_trails: audit_trail_bool_exp + available_jobs: available_jobs_bool_exp + city: String_comparison_exp + conversations: conversations_bool_exp + counters: counters_bool_exp + country: String_comparison_exp + courtesycars: courtesycars_bool_exp + created_at: timestamptz_comparison_exp + csiinvites: csi_bool_exp + csiquestions: csiquestions_bool_exp + deliverchecklist: jsonb_comparison_exp + email: String_comparison_exp + employees: employees_bool_exp + enforce_class: Boolean_comparison_exp + federal_tax_id: String_comparison_exp + id: uuid_comparison_exp + inhousevendorid: uuid_comparison_exp + insurance_vendor_id: String_comparison_exp + intakechecklist: jsonb_comparison_exp + invoice_tax_rates: jsonb_comparison_exp + jobs: jobs_bool_exp + logo_img_path: String_comparison_exp + md_categories: jsonb_comparison_exp + md_classes: jsonb_comparison_exp + md_ins_cos: jsonb_comparison_exp + md_labor_rates: jsonb_comparison_exp + md_messaging_presets: jsonb_comparison_exp + md_notes_presets: jsonb_comparison_exp + md_order_statuses: jsonb_comparison_exp + md_parts_locations: jsonb_comparison_exp + md_rbac: jsonb_comparison_exp + md_referral_sources: jsonb_comparison_exp + md_responsibility_centers: jsonb_comparison_exp + md_ro_statuses: jsonb_comparison_exp + messagingservicesid: String_comparison_exp + owners: owners_bool_exp + prodtargethrs: numeric_comparison_exp + production_config: jsonb_comparison_exp + region_config: String_comparison_exp + scoreboard_target: jsonb_comparison_exp + shopname: String_comparison_exp + shoprates: jsonb_comparison_exp + speedprint: jsonb_comparison_exp + ssbuckets: jsonb_comparison_exp + state: String_comparison_exp + state_tax_id: String_comparison_exp + stripe_acct_id: String_comparison_exp + template_header: String_comparison_exp + templates: templates_bool_exp + textid: String_comparison_exp + timetickets: timetickets_bool_exp + updated_at: timestamptz_comparison_exp + vehicles: vehicles_bool_exp + vendors: vendors_bool_exp + zip_post: String_comparison_exp +} + +# unique or primary key constraints on table "bodyshops" +enum bodyshops_constraint { + # unique or primary key constraint + bodyshops_messagingservicesid_key + + # unique or primary key constraint + bodyshops_pkey +} + +# delete the field or element with specified path (for JSON arrays, negative integers count from the end) +input bodyshops_delete_at_path_input { + accountingconfig: [String] + deliverchecklist: [String] + intakechecklist: [String] + invoice_tax_rates: [String] + md_categories: [String] + md_classes: [String] + md_ins_cos: [String] + md_labor_rates: [String] + md_messaging_presets: [String] + md_notes_presets: [String] + md_order_statuses: [String] + md_parts_locations: [String] + md_rbac: [String] + md_referral_sources: [String] + md_responsibility_centers: [String] + md_ro_statuses: [String] + production_config: [String] + scoreboard_target: [String] + shoprates: [String] + speedprint: [String] + ssbuckets: [String] +} + +# delete the array element with specified index (negative integers count from the +# end). throws an error if top level container is not an array +input bodyshops_delete_elem_input { + accountingconfig: Int + deliverchecklist: Int + intakechecklist: Int + invoice_tax_rates: Int + md_categories: Int + md_classes: Int + md_ins_cos: Int + md_labor_rates: Int + md_messaging_presets: Int + md_notes_presets: Int + md_order_statuses: Int + md_parts_locations: Int + md_rbac: Int + md_referral_sources: Int + md_responsibility_centers: Int + md_ro_statuses: Int + production_config: Int + scoreboard_target: Int + shoprates: Int + speedprint: Int + ssbuckets: Int +} + +# delete key/value pair or string element. key/value pairs are matched based on their key value +input bodyshops_delete_key_input { + accountingconfig: String + deliverchecklist: String + intakechecklist: String + invoice_tax_rates: String + md_categories: String + md_classes: String + md_ins_cos: String + md_labor_rates: String + md_messaging_presets: String + md_notes_presets: String + md_order_statuses: String + md_parts_locations: String + md_rbac: String + md_referral_sources: String + md_responsibility_centers: String + md_ro_statuses: String + production_config: String + scoreboard_target: String + shoprates: String + speedprint: String + ssbuckets: String +} + +# input type for incrementing integer column in table "bodyshops" +input bodyshops_inc_input { + appt_length: Int + prodtargethrs: numeric +} + +# input type for inserting data into table "bodyshops" +input bodyshops_insert_input { + accountingconfig: jsonb + address1: String + address2: String + appointments: appointments_arr_rel_insert_input + appt_length: Int + associations: associations_arr_rel_insert_input + audit_trails: audit_trail_arr_rel_insert_input + available_jobs: available_jobs_arr_rel_insert_input + city: String + conversations: conversations_arr_rel_insert_input + counters: counters_arr_rel_insert_input + country: String + courtesycars: courtesycars_arr_rel_insert_input + created_at: timestamptz + csiinvites: csi_arr_rel_insert_input + csiquestions: csiquestions_arr_rel_insert_input + deliverchecklist: jsonb + email: String + employees: employees_arr_rel_insert_input + enforce_class: Boolean + federal_tax_id: String + id: uuid + inhousevendorid: uuid + insurance_vendor_id: String + intakechecklist: jsonb + invoice_tax_rates: jsonb + jobs: jobs_arr_rel_insert_input + logo_img_path: String + md_categories: jsonb + md_classes: jsonb + md_ins_cos: jsonb + md_labor_rates: jsonb + md_messaging_presets: jsonb + md_notes_presets: jsonb + md_order_statuses: jsonb + md_parts_locations: jsonb + md_rbac: jsonb + md_referral_sources: jsonb + md_responsibility_centers: jsonb + md_ro_statuses: jsonb + messagingservicesid: String + owners: owners_arr_rel_insert_input + prodtargethrs: numeric + production_config: jsonb + region_config: String + scoreboard_target: jsonb + shopname: String + shoprates: jsonb + speedprint: jsonb + ssbuckets: jsonb + state: String + state_tax_id: String + stripe_acct_id: String + template_header: String + templates: templates_arr_rel_insert_input + textid: String + timetickets: timetickets_arr_rel_insert_input + updated_at: timestamptz + vehicles: vehicles_arr_rel_insert_input + vendors: vendors_arr_rel_insert_input + zip_post: String +} + +# aggregate max on columns +type bodyshops_max_fields { + address1: String + address2: String + appt_length: Int + city: String + country: String + created_at: timestamptz + email: String + federal_tax_id: String + id: uuid + inhousevendorid: uuid + insurance_vendor_id: String + logo_img_path: String + messagingservicesid: String + prodtargethrs: numeric + region_config: String + shopname: String + state: String + state_tax_id: String + stripe_acct_id: String + template_header: String + textid: String + updated_at: timestamptz + zip_post: String +} + +# order by max() on columns of table "bodyshops" +input bodyshops_max_order_by { + address1: order_by + address2: order_by + appt_length: order_by + city: order_by + country: order_by + created_at: order_by + email: order_by + federal_tax_id: order_by + id: order_by + inhousevendorid: order_by + insurance_vendor_id: order_by + logo_img_path: order_by + messagingservicesid: order_by + prodtargethrs: order_by + region_config: order_by + shopname: order_by + state: order_by + state_tax_id: order_by + stripe_acct_id: order_by + template_header: order_by + textid: order_by + updated_at: order_by + zip_post: order_by +} + +# aggregate min on columns +type bodyshops_min_fields { + address1: String + address2: String + appt_length: Int + city: String + country: String + created_at: timestamptz + email: String + federal_tax_id: String + id: uuid + inhousevendorid: uuid + insurance_vendor_id: String + logo_img_path: String + messagingservicesid: String + prodtargethrs: numeric + region_config: String + shopname: String + state: String + state_tax_id: String + stripe_acct_id: String + template_header: String + textid: String + updated_at: timestamptz + zip_post: String +} + +# order by min() on columns of table "bodyshops" +input bodyshops_min_order_by { + address1: order_by + address2: order_by + appt_length: order_by + city: order_by + country: order_by + created_at: order_by + email: order_by + federal_tax_id: order_by + id: order_by + inhousevendorid: order_by + insurance_vendor_id: order_by + logo_img_path: order_by + messagingservicesid: order_by + prodtargethrs: order_by + region_config: order_by + shopname: order_by + state: order_by + state_tax_id: order_by + stripe_acct_id: order_by + template_header: order_by + textid: order_by + updated_at: order_by + zip_post: order_by +} + +# response of any mutation on the table "bodyshops" +type bodyshops_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [bodyshops!]! +} + +# input type for inserting object relation for remote table "bodyshops" +input bodyshops_obj_rel_insert_input { + data: bodyshops_insert_input! + on_conflict: bodyshops_on_conflict +} + +# on conflict condition type for table "bodyshops" +input bodyshops_on_conflict { + constraint: bodyshops_constraint! + update_columns: [bodyshops_update_column!]! + where: bodyshops_bool_exp +} + +# ordering options when selecting data from "bodyshops" +input bodyshops_order_by { + accountingconfig: order_by + address1: order_by + address2: order_by + appointments_aggregate: appointments_aggregate_order_by + appt_length: order_by + associations_aggregate: associations_aggregate_order_by + audit_trails_aggregate: audit_trail_aggregate_order_by + available_jobs_aggregate: available_jobs_aggregate_order_by + city: order_by + conversations_aggregate: conversations_aggregate_order_by + counters_aggregate: counters_aggregate_order_by + country: order_by + courtesycars_aggregate: courtesycars_aggregate_order_by + created_at: order_by + csiinvites_aggregate: csi_aggregate_order_by + csiquestions_aggregate: csiquestions_aggregate_order_by + deliverchecklist: order_by + email: order_by + employees_aggregate: employees_aggregate_order_by + enforce_class: order_by + federal_tax_id: order_by + id: order_by + inhousevendorid: order_by + insurance_vendor_id: order_by + intakechecklist: order_by + invoice_tax_rates: order_by + jobs_aggregate: jobs_aggregate_order_by + logo_img_path: order_by + md_categories: order_by + md_classes: order_by + md_ins_cos: order_by + md_labor_rates: order_by + md_messaging_presets: order_by + md_notes_presets: order_by + md_order_statuses: order_by + md_parts_locations: order_by + md_rbac: order_by + md_referral_sources: order_by + md_responsibility_centers: order_by + md_ro_statuses: order_by + messagingservicesid: order_by + owners_aggregate: owners_aggregate_order_by + prodtargethrs: order_by + production_config: order_by + region_config: order_by + scoreboard_target: order_by + shopname: order_by + shoprates: order_by + speedprint: order_by + ssbuckets: order_by + state: order_by + state_tax_id: order_by + stripe_acct_id: order_by + template_header: order_by + templates_aggregate: templates_aggregate_order_by + textid: order_by + timetickets_aggregate: timetickets_aggregate_order_by + updated_at: order_by + vehicles_aggregate: vehicles_aggregate_order_by + vendors_aggregate: vendors_aggregate_order_by + zip_post: order_by +} + +# primary key columns input for table: "bodyshops" +input bodyshops_pk_columns_input { + id: uuid! +} + +# prepend existing jsonb value of filtered columns with new jsonb value +input bodyshops_prepend_input { + accountingconfig: jsonb + deliverchecklist: jsonb + intakechecklist: jsonb + invoice_tax_rates: jsonb + md_categories: jsonb + md_classes: jsonb + md_ins_cos: jsonb + md_labor_rates: jsonb + md_messaging_presets: jsonb + md_notes_presets: jsonb + md_order_statuses: jsonb + md_parts_locations: jsonb + md_rbac: jsonb + md_referral_sources: jsonb + md_responsibility_centers: jsonb + md_ro_statuses: jsonb + production_config: jsonb + scoreboard_target: jsonb + shoprates: jsonb + speedprint: jsonb + ssbuckets: jsonb +} + +# select columns of table "bodyshops" +enum bodyshops_select_column { + # column name + accountingconfig + + # column name + address1 + + # column name + address2 + + # column name + appt_length + + # column name + city + + # column name + country + + # column name + created_at + + # column name + deliverchecklist + + # column name + email + + # column name + enforce_class + + # column name + federal_tax_id + + # column name + id + + # column name + inhousevendorid + + # column name + insurance_vendor_id + + # column name + intakechecklist + + # column name + invoice_tax_rates + + # column name + logo_img_path + + # column name + md_categories + + # column name + md_classes + + # column name + md_ins_cos + + # column name + md_labor_rates + + # column name + md_messaging_presets + + # column name + md_notes_presets + + # column name + md_order_statuses + + # column name + md_parts_locations + + # column name + md_rbac + + # column name + md_referral_sources + + # column name + md_responsibility_centers + + # column name + md_ro_statuses + + # column name + messagingservicesid + + # column name + prodtargethrs + + # column name + production_config + + # column name + region_config + + # column name + scoreboard_target + + # column name + shopname + + # column name + shoprates + + # column name + speedprint + + # column name + ssbuckets + + # column name + state + + # column name + state_tax_id + + # column name + stripe_acct_id + + # column name + template_header + + # column name + textid + + # column name + updated_at + + # column name + zip_post +} + +# input type for updating data in table "bodyshops" +input bodyshops_set_input { + accountingconfig: jsonb + address1: String + address2: String + appt_length: Int + city: String + country: String + created_at: timestamptz + deliverchecklist: jsonb + email: String + enforce_class: Boolean + federal_tax_id: String + id: uuid + inhousevendorid: uuid + insurance_vendor_id: String + intakechecklist: jsonb + invoice_tax_rates: jsonb + logo_img_path: String + md_categories: jsonb + md_classes: jsonb + md_ins_cos: jsonb + md_labor_rates: jsonb + md_messaging_presets: jsonb + md_notes_presets: jsonb + md_order_statuses: jsonb + md_parts_locations: jsonb + md_rbac: jsonb + md_referral_sources: jsonb + md_responsibility_centers: jsonb + md_ro_statuses: jsonb + messagingservicesid: String + prodtargethrs: numeric + production_config: jsonb + region_config: String + scoreboard_target: jsonb + shopname: String + shoprates: jsonb + speedprint: jsonb + ssbuckets: jsonb + state: String + state_tax_id: String + stripe_acct_id: String + template_header: String + textid: String + updated_at: timestamptz + zip_post: String +} + +# aggregate stddev on columns +type bodyshops_stddev_fields { + appt_length: Float + prodtargethrs: Float +} + +# order by stddev() on columns of table "bodyshops" +input bodyshops_stddev_order_by { + appt_length: order_by + prodtargethrs: order_by +} + +# aggregate stddev_pop on columns +type bodyshops_stddev_pop_fields { + appt_length: Float + prodtargethrs: Float +} + +# order by stddev_pop() on columns of table "bodyshops" +input bodyshops_stddev_pop_order_by { + appt_length: order_by + prodtargethrs: order_by +} + +# aggregate stddev_samp on columns +type bodyshops_stddev_samp_fields { + appt_length: Float + prodtargethrs: Float +} + +# order by stddev_samp() on columns of table "bodyshops" +input bodyshops_stddev_samp_order_by { + appt_length: order_by + prodtargethrs: order_by +} + +# aggregate sum on columns +type bodyshops_sum_fields { + appt_length: Int + prodtargethrs: numeric +} + +# order by sum() on columns of table "bodyshops" +input bodyshops_sum_order_by { + appt_length: order_by + prodtargethrs: order_by +} + +# update columns of table "bodyshops" +enum bodyshops_update_column { + # column name + accountingconfig + + # column name + address1 + + # column name + address2 + + # column name + appt_length + + # column name + city + + # column name + country + + # column name + created_at + + # column name + deliverchecklist + + # column name + email + + # column name + enforce_class + + # column name + federal_tax_id + + # column name + id + + # column name + inhousevendorid + + # column name + insurance_vendor_id + + # column name + intakechecklist + + # column name + invoice_tax_rates + + # column name + logo_img_path + + # column name + md_categories + + # column name + md_classes + + # column name + md_ins_cos + + # column name + md_labor_rates + + # column name + md_messaging_presets + + # column name + md_notes_presets + + # column name + md_order_statuses + + # column name + md_parts_locations + + # column name + md_rbac + + # column name + md_referral_sources + + # column name + md_responsibility_centers + + # column name + md_ro_statuses + + # column name + messagingservicesid + + # column name + prodtargethrs + + # column name + production_config + + # column name + region_config + + # column name + scoreboard_target + + # column name + shopname + + # column name + shoprates + + # column name + speedprint + + # column name + ssbuckets + + # column name + state + + # column name + state_tax_id + + # column name + stripe_acct_id + + # column name + template_header + + # column name + textid + + # column name + updated_at + + # column name + zip_post +} + +# aggregate var_pop on columns +type bodyshops_var_pop_fields { + appt_length: Float + prodtargethrs: Float +} + +# order by var_pop() on columns of table "bodyshops" +input bodyshops_var_pop_order_by { + appt_length: order_by + prodtargethrs: order_by +} + +# aggregate var_samp on columns +type bodyshops_var_samp_fields { + appt_length: Float + prodtargethrs: Float +} + +# order by var_samp() on columns of table "bodyshops" +input bodyshops_var_samp_order_by { + appt_length: order_by + prodtargethrs: order_by +} + +# aggregate variance on columns +type bodyshops_variance_fields { + appt_length: Float + prodtargethrs: Float +} + +# order by variance() on columns of table "bodyshops" +input bodyshops_variance_order_by { + appt_length: order_by + prodtargethrs: order_by +} + +# expression to compare columns of type Boolean. All fields are combined with logical 'AND'. +input Boolean_comparison_exp { + _eq: Boolean + _gt: Boolean + _gte: Boolean + _in: [Boolean!] + _is_null: Boolean + _lt: Boolean + _lte: Boolean + _neq: Boolean + _nin: [Boolean!] +} + +# columns and relationships of "cccontracts" +type cccontracts { + actax: numeric + actualreturn: timestamptz + agreementnumber: Int! + cc_cardholder: String + cc_expiry: String + cc_num: String + cleanupcharge: numeric + contract_date: date! + + # An object relationship + courtesycar: courtesycars! + courtesycarid: uuid! + coverage: numeric + created_at: timestamptz! + dailyfreekm: Int + dailyrate: numeric + damagewaiver: numeric + driver_addr1: String! + driver_addr2: String + driver_city: String! + driver_dlexpiry: date! + driver_dlnumber: String! + driver_dlst: String! + driver_dob: date! + driver_fn: String! + driver_ln: String! + driver_ph1: String! + driver_state: String! + driver_zip: String! + excesskmrate: numeric + federaltax: numeric + id: uuid! + + # An object relationship + job: jobs! + jobid: uuid! + kmend: numeric + kmstart: numeric! + localtax: numeric + refuelcharge: numeric + scheduledreturn: timestamptz + start: timestamptz + statetax: numeric + status: String! + updated_at: timestamptz! +} + +# aggregated selection of "cccontracts" +type cccontracts_aggregate { + aggregate: cccontracts_aggregate_fields + nodes: [cccontracts!]! +} + +# aggregate fields of "cccontracts" +type cccontracts_aggregate_fields { + avg: cccontracts_avg_fields + count(columns: [cccontracts_select_column!], distinct: Boolean): Int + max: cccontracts_max_fields + min: cccontracts_min_fields + stddev: cccontracts_stddev_fields + stddev_pop: cccontracts_stddev_pop_fields + stddev_samp: cccontracts_stddev_samp_fields + sum: cccontracts_sum_fields + var_pop: cccontracts_var_pop_fields + var_samp: cccontracts_var_samp_fields + variance: cccontracts_variance_fields +} + +# order by aggregate values of table "cccontracts" +input cccontracts_aggregate_order_by { + avg: cccontracts_avg_order_by + count: order_by + max: cccontracts_max_order_by + min: cccontracts_min_order_by + stddev: cccontracts_stddev_order_by + stddev_pop: cccontracts_stddev_pop_order_by + stddev_samp: cccontracts_stddev_samp_order_by + sum: cccontracts_sum_order_by + var_pop: cccontracts_var_pop_order_by + var_samp: cccontracts_var_samp_order_by + variance: cccontracts_variance_order_by +} + +# input type for inserting array relation for remote table "cccontracts" +input cccontracts_arr_rel_insert_input { + data: [cccontracts_insert_input!]! + on_conflict: cccontracts_on_conflict +} + +# aggregate avg on columns +type cccontracts_avg_fields { + actax: Float + agreementnumber: Float + cleanupcharge: Float + coverage: Float + dailyfreekm: Float + dailyrate: Float + damagewaiver: Float + excesskmrate: Float + federaltax: Float + kmend: Float + kmstart: Float + localtax: Float + refuelcharge: Float + statetax: Float +} + +# order by avg() on columns of table "cccontracts" +input cccontracts_avg_order_by { + actax: order_by + agreementnumber: order_by + cleanupcharge: order_by + coverage: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + excesskmrate: order_by + federaltax: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + statetax: order_by +} + +# Boolean expression to filter rows from the table "cccontracts". All fields are combined with a logical 'AND'. +input cccontracts_bool_exp { + _and: [cccontracts_bool_exp] + _not: cccontracts_bool_exp + _or: [cccontracts_bool_exp] + actax: numeric_comparison_exp + actualreturn: timestamptz_comparison_exp + agreementnumber: Int_comparison_exp + cc_cardholder: String_comparison_exp + cc_expiry: String_comparison_exp + cc_num: String_comparison_exp + cleanupcharge: numeric_comparison_exp + contract_date: date_comparison_exp + courtesycar: courtesycars_bool_exp + courtesycarid: uuid_comparison_exp + coverage: numeric_comparison_exp + created_at: timestamptz_comparison_exp + dailyfreekm: Int_comparison_exp + dailyrate: numeric_comparison_exp + damagewaiver: numeric_comparison_exp + driver_addr1: String_comparison_exp + driver_addr2: String_comparison_exp + driver_city: String_comparison_exp + driver_dlexpiry: date_comparison_exp + driver_dlnumber: String_comparison_exp + driver_dlst: String_comparison_exp + driver_dob: date_comparison_exp + driver_fn: String_comparison_exp + driver_ln: String_comparison_exp + driver_ph1: String_comparison_exp + driver_state: String_comparison_exp + driver_zip: String_comparison_exp + excesskmrate: numeric_comparison_exp + federaltax: numeric_comparison_exp + id: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + kmend: numeric_comparison_exp + kmstart: numeric_comparison_exp + localtax: numeric_comparison_exp + refuelcharge: numeric_comparison_exp + scheduledreturn: timestamptz_comparison_exp + start: timestamptz_comparison_exp + statetax: numeric_comparison_exp + status: String_comparison_exp + updated_at: timestamptz_comparison_exp +} + +# unique or primary key constraints on table "cccontracts" +enum cccontracts_constraint { + # unique or primary key constraint + cccontract_pkey +} + +# input type for incrementing integer column in table "cccontracts" +input cccontracts_inc_input { + actax: numeric + agreementnumber: Int + cleanupcharge: numeric + coverage: numeric + dailyfreekm: Int + dailyrate: numeric + damagewaiver: numeric + excesskmrate: numeric + federaltax: numeric + kmend: numeric + kmstart: numeric + localtax: numeric + refuelcharge: numeric + statetax: numeric +} + +# input type for inserting data into table "cccontracts" +input cccontracts_insert_input { + actax: numeric + actualreturn: timestamptz + agreementnumber: Int + cc_cardholder: String + cc_expiry: String + cc_num: String + cleanupcharge: numeric + contract_date: date + courtesycar: courtesycars_obj_rel_insert_input + courtesycarid: uuid + coverage: numeric + created_at: timestamptz + dailyfreekm: Int + dailyrate: numeric + damagewaiver: numeric + driver_addr1: String + driver_addr2: String + driver_city: String + driver_dlexpiry: date + driver_dlnumber: String + driver_dlst: String + driver_dob: date + driver_fn: String + driver_ln: String + driver_ph1: String + driver_state: String + driver_zip: String + excesskmrate: numeric + federaltax: numeric + id: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + kmend: numeric + kmstart: numeric + localtax: numeric + refuelcharge: numeric + scheduledreturn: timestamptz + start: timestamptz + statetax: numeric + status: String + updated_at: timestamptz +} + +# aggregate max on columns +type cccontracts_max_fields { + actax: numeric + actualreturn: timestamptz + agreementnumber: Int + cc_cardholder: String + cc_expiry: String + cc_num: String + cleanupcharge: numeric + contract_date: date + courtesycarid: uuid + coverage: numeric + created_at: timestamptz + dailyfreekm: Int + dailyrate: numeric + damagewaiver: numeric + driver_addr1: String + driver_addr2: String + driver_city: String + driver_dlexpiry: date + driver_dlnumber: String + driver_dlst: String + driver_dob: date + driver_fn: String + driver_ln: String + driver_ph1: String + driver_state: String + driver_zip: String + excesskmrate: numeric + federaltax: numeric + id: uuid + jobid: uuid + kmend: numeric + kmstart: numeric + localtax: numeric + refuelcharge: numeric + scheduledreturn: timestamptz + start: timestamptz + statetax: numeric + status: String + updated_at: timestamptz +} + +# order by max() on columns of table "cccontracts" +input cccontracts_max_order_by { + actax: order_by + actualreturn: order_by + agreementnumber: order_by + cc_cardholder: order_by + cc_expiry: order_by + cc_num: order_by + cleanupcharge: order_by + contract_date: order_by + courtesycarid: order_by + coverage: order_by + created_at: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + driver_addr1: order_by + driver_addr2: order_by + driver_city: order_by + driver_dlexpiry: order_by + driver_dlnumber: order_by + driver_dlst: order_by + driver_dob: order_by + driver_fn: order_by + driver_ln: order_by + driver_ph1: order_by + driver_state: order_by + driver_zip: order_by + excesskmrate: order_by + federaltax: order_by + id: order_by + jobid: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + scheduledreturn: order_by + start: order_by + statetax: order_by + status: order_by + updated_at: order_by +} + +# aggregate min on columns +type cccontracts_min_fields { + actax: numeric + actualreturn: timestamptz + agreementnumber: Int + cc_cardholder: String + cc_expiry: String + cc_num: String + cleanupcharge: numeric + contract_date: date + courtesycarid: uuid + coverage: numeric + created_at: timestamptz + dailyfreekm: Int + dailyrate: numeric + damagewaiver: numeric + driver_addr1: String + driver_addr2: String + driver_city: String + driver_dlexpiry: date + driver_dlnumber: String + driver_dlst: String + driver_dob: date + driver_fn: String + driver_ln: String + driver_ph1: String + driver_state: String + driver_zip: String + excesskmrate: numeric + federaltax: numeric + id: uuid + jobid: uuid + kmend: numeric + kmstart: numeric + localtax: numeric + refuelcharge: numeric + scheduledreturn: timestamptz + start: timestamptz + statetax: numeric + status: String + updated_at: timestamptz +} + +# order by min() on columns of table "cccontracts" +input cccontracts_min_order_by { + actax: order_by + actualreturn: order_by + agreementnumber: order_by + cc_cardholder: order_by + cc_expiry: order_by + cc_num: order_by + cleanupcharge: order_by + contract_date: order_by + courtesycarid: order_by + coverage: order_by + created_at: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + driver_addr1: order_by + driver_addr2: order_by + driver_city: order_by + driver_dlexpiry: order_by + driver_dlnumber: order_by + driver_dlst: order_by + driver_dob: order_by + driver_fn: order_by + driver_ln: order_by + driver_ph1: order_by + driver_state: order_by + driver_zip: order_by + excesskmrate: order_by + federaltax: order_by + id: order_by + jobid: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + scheduledreturn: order_by + start: order_by + statetax: order_by + status: order_by + updated_at: order_by +} + +# response of any mutation on the table "cccontracts" +type cccontracts_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [cccontracts!]! +} + +# input type for inserting object relation for remote table "cccontracts" +input cccontracts_obj_rel_insert_input { + data: cccontracts_insert_input! + on_conflict: cccontracts_on_conflict +} + +# on conflict condition type for table "cccontracts" +input cccontracts_on_conflict { + constraint: cccontracts_constraint! + update_columns: [cccontracts_update_column!]! + where: cccontracts_bool_exp +} + +# ordering options when selecting data from "cccontracts" +input cccontracts_order_by { + actax: order_by + actualreturn: order_by + agreementnumber: order_by + cc_cardholder: order_by + cc_expiry: order_by + cc_num: order_by + cleanupcharge: order_by + contract_date: order_by + courtesycar: courtesycars_order_by + courtesycarid: order_by + coverage: order_by + created_at: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + driver_addr1: order_by + driver_addr2: order_by + driver_city: order_by + driver_dlexpiry: order_by + driver_dlnumber: order_by + driver_dlst: order_by + driver_dob: order_by + driver_fn: order_by + driver_ln: order_by + driver_ph1: order_by + driver_state: order_by + driver_zip: order_by + excesskmrate: order_by + federaltax: order_by + id: order_by + job: jobs_order_by + jobid: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + scheduledreturn: order_by + start: order_by + statetax: order_by + status: order_by + updated_at: order_by +} + +# primary key columns input for table: "cccontracts" +input cccontracts_pk_columns_input { + id: uuid! +} + +# select columns of table "cccontracts" +enum cccontracts_select_column { + # column name + actax + + # column name + actualreturn + + # column name + agreementnumber + + # column name + cc_cardholder + + # column name + cc_expiry + + # column name + cc_num + + # column name + cleanupcharge + + # column name + contract_date + + # column name + courtesycarid + + # column name + coverage + + # column name + created_at + + # column name + dailyfreekm + + # column name + dailyrate + + # column name + damagewaiver + + # column name + driver_addr1 + + # column name + driver_addr2 + + # column name + driver_city + + # column name + driver_dlexpiry + + # column name + driver_dlnumber + + # column name + driver_dlst + + # column name + driver_dob + + # column name + driver_fn + + # column name + driver_ln + + # column name + driver_ph1 + + # column name + driver_state + + # column name + driver_zip + + # column name + excesskmrate + + # column name + federaltax + + # column name + id + + # column name + jobid + + # column name + kmend + + # column name + kmstart + + # column name + localtax + + # column name + refuelcharge + + # column name + scheduledreturn + + # column name + start + + # column name + statetax + + # column name + status + + # column name + updated_at +} + +# input type for updating data in table "cccontracts" +input cccontracts_set_input { + actax: numeric + actualreturn: timestamptz + agreementnumber: Int + cc_cardholder: String + cc_expiry: String + cc_num: String + cleanupcharge: numeric + contract_date: date + courtesycarid: uuid + coverage: numeric + created_at: timestamptz + dailyfreekm: Int + dailyrate: numeric + damagewaiver: numeric + driver_addr1: String + driver_addr2: String + driver_city: String + driver_dlexpiry: date + driver_dlnumber: String + driver_dlst: String + driver_dob: date + driver_fn: String + driver_ln: String + driver_ph1: String + driver_state: String + driver_zip: String + excesskmrate: numeric + federaltax: numeric + id: uuid + jobid: uuid + kmend: numeric + kmstart: numeric + localtax: numeric + refuelcharge: numeric + scheduledreturn: timestamptz + start: timestamptz + statetax: numeric + status: String + updated_at: timestamptz +} + +# aggregate stddev on columns +type cccontracts_stddev_fields { + actax: Float + agreementnumber: Float + cleanupcharge: Float + coverage: Float + dailyfreekm: Float + dailyrate: Float + damagewaiver: Float + excesskmrate: Float + federaltax: Float + kmend: Float + kmstart: Float + localtax: Float + refuelcharge: Float + statetax: Float +} + +# order by stddev() on columns of table "cccontracts" +input cccontracts_stddev_order_by { + actax: order_by + agreementnumber: order_by + cleanupcharge: order_by + coverage: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + excesskmrate: order_by + federaltax: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + statetax: order_by +} + +# aggregate stddev_pop on columns +type cccontracts_stddev_pop_fields { + actax: Float + agreementnumber: Float + cleanupcharge: Float + coverage: Float + dailyfreekm: Float + dailyrate: Float + damagewaiver: Float + excesskmrate: Float + federaltax: Float + kmend: Float + kmstart: Float + localtax: Float + refuelcharge: Float + statetax: Float +} + +# order by stddev_pop() on columns of table "cccontracts" +input cccontracts_stddev_pop_order_by { + actax: order_by + agreementnumber: order_by + cleanupcharge: order_by + coverage: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + excesskmrate: order_by + federaltax: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + statetax: order_by +} + +# aggregate stddev_samp on columns +type cccontracts_stddev_samp_fields { + actax: Float + agreementnumber: Float + cleanupcharge: Float + coverage: Float + dailyfreekm: Float + dailyrate: Float + damagewaiver: Float + excesskmrate: Float + federaltax: Float + kmend: Float + kmstart: Float + localtax: Float + refuelcharge: Float + statetax: Float +} + +# order by stddev_samp() on columns of table "cccontracts" +input cccontracts_stddev_samp_order_by { + actax: order_by + agreementnumber: order_by + cleanupcharge: order_by + coverage: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + excesskmrate: order_by + federaltax: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + statetax: order_by +} + +# aggregate sum on columns +type cccontracts_sum_fields { + actax: numeric + agreementnumber: Int + cleanupcharge: numeric + coverage: numeric + dailyfreekm: Int + dailyrate: numeric + damagewaiver: numeric + excesskmrate: numeric + federaltax: numeric + kmend: numeric + kmstart: numeric + localtax: numeric + refuelcharge: numeric + statetax: numeric +} + +# order by sum() on columns of table "cccontracts" +input cccontracts_sum_order_by { + actax: order_by + agreementnumber: order_by + cleanupcharge: order_by + coverage: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + excesskmrate: order_by + federaltax: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + statetax: order_by +} + +# update columns of table "cccontracts" +enum cccontracts_update_column { + # column name + actax + + # column name + actualreturn + + # column name + agreementnumber + + # column name + cc_cardholder + + # column name + cc_expiry + + # column name + cc_num + + # column name + cleanupcharge + + # column name + contract_date + + # column name + courtesycarid + + # column name + coverage + + # column name + created_at + + # column name + dailyfreekm + + # column name + dailyrate + + # column name + damagewaiver + + # column name + driver_addr1 + + # column name + driver_addr2 + + # column name + driver_city + + # column name + driver_dlexpiry + + # column name + driver_dlnumber + + # column name + driver_dlst + + # column name + driver_dob + + # column name + driver_fn + + # column name + driver_ln + + # column name + driver_ph1 + + # column name + driver_state + + # column name + driver_zip + + # column name + excesskmrate + + # column name + federaltax + + # column name + id + + # column name + jobid + + # column name + kmend + + # column name + kmstart + + # column name + localtax + + # column name + refuelcharge + + # column name + scheduledreturn + + # column name + start + + # column name + statetax + + # column name + status + + # column name + updated_at +} + +# aggregate var_pop on columns +type cccontracts_var_pop_fields { + actax: Float + agreementnumber: Float + cleanupcharge: Float + coverage: Float + dailyfreekm: Float + dailyrate: Float + damagewaiver: Float + excesskmrate: Float + federaltax: Float + kmend: Float + kmstart: Float + localtax: Float + refuelcharge: Float + statetax: Float +} + +# order by var_pop() on columns of table "cccontracts" +input cccontracts_var_pop_order_by { + actax: order_by + agreementnumber: order_by + cleanupcharge: order_by + coverage: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + excesskmrate: order_by + federaltax: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + statetax: order_by +} + +# aggregate var_samp on columns +type cccontracts_var_samp_fields { + actax: Float + agreementnumber: Float + cleanupcharge: Float + coverage: Float + dailyfreekm: Float + dailyrate: Float + damagewaiver: Float + excesskmrate: Float + federaltax: Float + kmend: Float + kmstart: Float + localtax: Float + refuelcharge: Float + statetax: Float +} + +# order by var_samp() on columns of table "cccontracts" +input cccontracts_var_samp_order_by { + actax: order_by + agreementnumber: order_by + cleanupcharge: order_by + coverage: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + excesskmrate: order_by + federaltax: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + statetax: order_by +} + +# aggregate variance on columns +type cccontracts_variance_fields { + actax: Float + agreementnumber: Float + cleanupcharge: Float + coverage: Float + dailyfreekm: Float + dailyrate: Float + damagewaiver: Float + excesskmrate: Float + federaltax: Float + kmend: Float + kmstart: Float + localtax: Float + refuelcharge: Float + statetax: Float +} + +# order by variance() on columns of table "cccontracts" +input cccontracts_variance_order_by { + actax: order_by + agreementnumber: order_by + cleanupcharge: order_by + coverage: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + excesskmrate: order_by + federaltax: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + statetax: order_by +} + +# columns and relationships of "conversations" +type conversations { + # An object relationship + bodyshop: bodyshops! + bodyshopid: uuid! + created_at: timestamptz! + id: uuid! + + # An array relationship + job_conversations( + # distinct select on columns + distinct_on: [job_conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [job_conversations_order_by!] + + # filter the rows returned + where: job_conversations_bool_exp + ): [job_conversations!]! + + # An aggregated array relationship + job_conversations_aggregate( + # distinct select on columns + distinct_on: [job_conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [job_conversations_order_by!] + + # filter the rows returned + where: job_conversations_bool_exp + ): job_conversations_aggregate! + + # An array relationship + messages( + # distinct select on columns + distinct_on: [messages_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [messages_order_by!] + + # filter the rows returned + where: messages_bool_exp + ): [messages!]! + + # An aggregated array relationship + messages_aggregate( + # distinct select on columns + distinct_on: [messages_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [messages_order_by!] + + # filter the rows returned + where: messages_bool_exp + ): messages_aggregate! + phone_num: String! + updated_at: timestamptz! +} + +# aggregated selection of "conversations" +type conversations_aggregate { + aggregate: conversations_aggregate_fields + nodes: [conversations!]! +} + +# aggregate fields of "conversations" +type conversations_aggregate_fields { + count(columns: [conversations_select_column!], distinct: Boolean): Int + max: conversations_max_fields + min: conversations_min_fields +} + +# order by aggregate values of table "conversations" +input conversations_aggregate_order_by { + count: order_by + max: conversations_max_order_by + min: conversations_min_order_by +} + +# input type for inserting array relation for remote table "conversations" +input conversations_arr_rel_insert_input { + data: [conversations_insert_input!]! + on_conflict: conversations_on_conflict +} + +# Boolean expression to filter rows from the table "conversations". All fields are combined with a logical 'AND'. +input conversations_bool_exp { + _and: [conversations_bool_exp] + _not: conversations_bool_exp + _or: [conversations_bool_exp] + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + created_at: timestamptz_comparison_exp + id: uuid_comparison_exp + job_conversations: job_conversations_bool_exp + messages: messages_bool_exp + phone_num: String_comparison_exp + updated_at: timestamptz_comparison_exp +} + +# unique or primary key constraints on table "conversations" +enum conversations_constraint { + # unique or primary key constraint + conversations_pkey +} + +# input type for inserting data into table "conversations" +input conversations_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + created_at: timestamptz + id: uuid + job_conversations: job_conversations_arr_rel_insert_input + messages: messages_arr_rel_insert_input + phone_num: String + updated_at: timestamptz +} + +# aggregate max on columns +type conversations_max_fields { + bodyshopid: uuid + created_at: timestamptz + id: uuid + phone_num: String + updated_at: timestamptz +} + +# order by max() on columns of table "conversations" +input conversations_max_order_by { + bodyshopid: order_by + created_at: order_by + id: order_by + phone_num: order_by + updated_at: order_by +} + +# aggregate min on columns +type conversations_min_fields { + bodyshopid: uuid + created_at: timestamptz + id: uuid + phone_num: String + updated_at: timestamptz +} + +# order by min() on columns of table "conversations" +input conversations_min_order_by { + bodyshopid: order_by + created_at: order_by + id: order_by + phone_num: order_by + updated_at: order_by +} + +# response of any mutation on the table "conversations" +type conversations_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [conversations!]! +} + +# input type for inserting object relation for remote table "conversations" +input conversations_obj_rel_insert_input { + data: conversations_insert_input! + on_conflict: conversations_on_conflict +} + +# on conflict condition type for table "conversations" +input conversations_on_conflict { + constraint: conversations_constraint! + update_columns: [conversations_update_column!]! + where: conversations_bool_exp +} + +# ordering options when selecting data from "conversations" +input conversations_order_by { + bodyshop: bodyshops_order_by + bodyshopid: order_by + created_at: order_by + id: order_by + job_conversations_aggregate: job_conversations_aggregate_order_by + messages_aggregate: messages_aggregate_order_by + phone_num: order_by + updated_at: order_by +} + +# primary key columns input for table: "conversations" +input conversations_pk_columns_input { + id: uuid! +} + +# select columns of table "conversations" +enum conversations_select_column { + # column name + bodyshopid + + # column name + created_at + + # column name + id + + # column name + phone_num + + # column name + updated_at +} + +# input type for updating data in table "conversations" +input conversations_set_input { + bodyshopid: uuid + created_at: timestamptz + id: uuid + phone_num: String + updated_at: timestamptz +} + +# update columns of table "conversations" +enum conversations_update_column { + # column name + bodyshopid + + # column name + created_at + + # column name + id + + # column name + phone_num + + # column name + updated_at +} + +# columns and relationships of "counters" +type counters { + # An object relationship + bodyshop: bodyshops! + count: Int! + countertype: String! + id: uuid! + prefix: String + shopid: uuid! + updated_at: timestamptz! +} + +# aggregated selection of "counters" +type counters_aggregate { + aggregate: counters_aggregate_fields + nodes: [counters!]! +} + +# aggregate fields of "counters" +type counters_aggregate_fields { + avg: counters_avg_fields + count(columns: [counters_select_column!], distinct: Boolean): Int + max: counters_max_fields + min: counters_min_fields + stddev: counters_stddev_fields + stddev_pop: counters_stddev_pop_fields + stddev_samp: counters_stddev_samp_fields + sum: counters_sum_fields + var_pop: counters_var_pop_fields + var_samp: counters_var_samp_fields + variance: counters_variance_fields +} + +# order by aggregate values of table "counters" +input counters_aggregate_order_by { + avg: counters_avg_order_by + count: order_by + max: counters_max_order_by + min: counters_min_order_by + stddev: counters_stddev_order_by + stddev_pop: counters_stddev_pop_order_by + stddev_samp: counters_stddev_samp_order_by + sum: counters_sum_order_by + var_pop: counters_var_pop_order_by + var_samp: counters_var_samp_order_by + variance: counters_variance_order_by +} + +# input type for inserting array relation for remote table "counters" +input counters_arr_rel_insert_input { + data: [counters_insert_input!]! + on_conflict: counters_on_conflict +} + +# aggregate avg on columns +type counters_avg_fields { + count: Float +} + +# order by avg() on columns of table "counters" +input counters_avg_order_by { + count: order_by +} + +# Boolean expression to filter rows from the table "counters". All fields are combined with a logical 'AND'. +input counters_bool_exp { + _and: [counters_bool_exp] + _not: counters_bool_exp + _or: [counters_bool_exp] + bodyshop: bodyshops_bool_exp + count: Int_comparison_exp + countertype: String_comparison_exp + id: uuid_comparison_exp + prefix: String_comparison_exp + shopid: uuid_comparison_exp + updated_at: timestamptz_comparison_exp +} + +# unique or primary key constraints on table "counters" +enum counters_constraint { + # unique or primary key constraint + counters_pkey +} + +# input type for incrementing integer column in table "counters" +input counters_inc_input { + count: Int +} + +# input type for inserting data into table "counters" +input counters_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + count: Int + countertype: String + id: uuid + prefix: String + shopid: uuid + updated_at: timestamptz +} + +# aggregate max on columns +type counters_max_fields { + count: Int + countertype: String + id: uuid + prefix: String + shopid: uuid + updated_at: timestamptz +} + +# order by max() on columns of table "counters" +input counters_max_order_by { + count: order_by + countertype: order_by + id: order_by + prefix: order_by + shopid: order_by + updated_at: order_by +} + +# aggregate min on columns +type counters_min_fields { + count: Int + countertype: String + id: uuid + prefix: String + shopid: uuid + updated_at: timestamptz +} + +# order by min() on columns of table "counters" +input counters_min_order_by { + count: order_by + countertype: order_by + id: order_by + prefix: order_by + shopid: order_by + updated_at: order_by +} + +# response of any mutation on the table "counters" +type counters_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [counters!]! +} + +# input type for inserting object relation for remote table "counters" +input counters_obj_rel_insert_input { + data: counters_insert_input! + on_conflict: counters_on_conflict +} + +# on conflict condition type for table "counters" +input counters_on_conflict { + constraint: counters_constraint! + update_columns: [counters_update_column!]! + where: counters_bool_exp +} + +# ordering options when selecting data from "counters" +input counters_order_by { + bodyshop: bodyshops_order_by + count: order_by + countertype: order_by + id: order_by + prefix: order_by + shopid: order_by + updated_at: order_by +} + +# primary key columns input for table: "counters" +input counters_pk_columns_input { + id: uuid! +} + +# select columns of table "counters" +enum counters_select_column { + # column name + count + + # column name + countertype + + # column name + id + + # column name + prefix + + # column name + shopid + + # column name + updated_at +} + +# input type for updating data in table "counters" +input counters_set_input { + count: Int + countertype: String + id: uuid + prefix: String + shopid: uuid + updated_at: timestamptz +} + +# aggregate stddev on columns +type counters_stddev_fields { + count: Float +} + +# order by stddev() on columns of table "counters" +input counters_stddev_order_by { + count: order_by +} + +# aggregate stddev_pop on columns +type counters_stddev_pop_fields { + count: Float +} + +# order by stddev_pop() on columns of table "counters" +input counters_stddev_pop_order_by { + count: order_by +} + +# aggregate stddev_samp on columns +type counters_stddev_samp_fields { + count: Float +} + +# order by stddev_samp() on columns of table "counters" +input counters_stddev_samp_order_by { + count: order_by +} + +# aggregate sum on columns +type counters_sum_fields { + count: Int +} + +# order by sum() on columns of table "counters" +input counters_sum_order_by { + count: order_by +} + +# update columns of table "counters" +enum counters_update_column { + # column name + count + + # column name + countertype + + # column name + id + + # column name + prefix + + # column name + shopid + + # column name + updated_at +} + +# aggregate var_pop on columns +type counters_var_pop_fields { + count: Float +} + +# order by var_pop() on columns of table "counters" +input counters_var_pop_order_by { + count: order_by +} + +# aggregate var_samp on columns +type counters_var_samp_fields { + count: Float +} + +# order by var_samp() on columns of table "counters" +input counters_var_samp_order_by { + count: order_by +} + +# aggregate variance on columns +type counters_variance_fields { + count: Float +} + +# order by variance() on columns of table "counters" +input counters_variance_order_by { + count: order_by +} + +# columns and relationships of "courtesycars" +type courtesycars { + # An object relationship + bodyshop: bodyshops! + bodyshopid: uuid! + + # An array relationship + cccontracts( + # distinct select on columns + distinct_on: [cccontracts_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [cccontracts_order_by!] + + # filter the rows returned + where: cccontracts_bool_exp + ): [cccontracts!]! + + # An aggregated array relationship + cccontracts_aggregate( + # distinct select on columns + distinct_on: [cccontracts_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [cccontracts_order_by!] + + # filter the rows returned + where: cccontracts_bool_exp + ): cccontracts_aggregate! + color: String! + created_at: timestamptz! + dailycost: numeric! + damage: String + fleetnumber: String + fuel: numeric! + id: uuid! + insuranceexpires: date + leaseenddate: date + make: String! + mileage: numeric! + model: String! + nextservicedate: date + nextservicekm: numeric! + notes: String + plate: String! + purchasedate: date + registrationexpires: date + serviceenddate: date + servicestartdate: date + status: String! + updated_at: timestamptz! + vin: String! + year: String! +} + +# aggregated selection of "courtesycars" +type courtesycars_aggregate { + aggregate: courtesycars_aggregate_fields + nodes: [courtesycars!]! +} + +# aggregate fields of "courtesycars" +type courtesycars_aggregate_fields { + avg: courtesycars_avg_fields + count(columns: [courtesycars_select_column!], distinct: Boolean): Int + max: courtesycars_max_fields + min: courtesycars_min_fields + stddev: courtesycars_stddev_fields + stddev_pop: courtesycars_stddev_pop_fields + stddev_samp: courtesycars_stddev_samp_fields + sum: courtesycars_sum_fields + var_pop: courtesycars_var_pop_fields + var_samp: courtesycars_var_samp_fields + variance: courtesycars_variance_fields +} + +# order by aggregate values of table "courtesycars" +input courtesycars_aggregate_order_by { + avg: courtesycars_avg_order_by + count: order_by + max: courtesycars_max_order_by + min: courtesycars_min_order_by + stddev: courtesycars_stddev_order_by + stddev_pop: courtesycars_stddev_pop_order_by + stddev_samp: courtesycars_stddev_samp_order_by + sum: courtesycars_sum_order_by + var_pop: courtesycars_var_pop_order_by + var_samp: courtesycars_var_samp_order_by + variance: courtesycars_variance_order_by +} + +# input type for inserting array relation for remote table "courtesycars" +input courtesycars_arr_rel_insert_input { + data: [courtesycars_insert_input!]! + on_conflict: courtesycars_on_conflict +} + +# aggregate avg on columns +type courtesycars_avg_fields { + dailycost: Float + fuel: Float + mileage: Float + nextservicekm: Float +} + +# order by avg() on columns of table "courtesycars" +input courtesycars_avg_order_by { + dailycost: order_by + fuel: order_by + mileage: order_by + nextservicekm: order_by +} + +# Boolean expression to filter rows from the table "courtesycars". All fields are combined with a logical 'AND'. +input courtesycars_bool_exp { + _and: [courtesycars_bool_exp] + _not: courtesycars_bool_exp + _or: [courtesycars_bool_exp] + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + cccontracts: cccontracts_bool_exp + color: String_comparison_exp + created_at: timestamptz_comparison_exp + dailycost: numeric_comparison_exp + damage: String_comparison_exp + fleetnumber: String_comparison_exp + fuel: numeric_comparison_exp + id: uuid_comparison_exp + insuranceexpires: date_comparison_exp + leaseenddate: date_comparison_exp + make: String_comparison_exp + mileage: numeric_comparison_exp + model: String_comparison_exp + nextservicedate: date_comparison_exp + nextservicekm: numeric_comparison_exp + notes: String_comparison_exp + plate: String_comparison_exp + purchasedate: date_comparison_exp + registrationexpires: date_comparison_exp + serviceenddate: date_comparison_exp + servicestartdate: date_comparison_exp + status: String_comparison_exp + updated_at: timestamptz_comparison_exp + vin: String_comparison_exp + year: String_comparison_exp +} + +# unique or primary key constraints on table "courtesycars" +enum courtesycars_constraint { + # unique or primary key constraint + courtesycars_pkey +} + +# input type for incrementing integer column in table "courtesycars" +input courtesycars_inc_input { + dailycost: numeric + fuel: numeric + mileage: numeric + nextservicekm: numeric +} + +# input type for inserting data into table "courtesycars" +input courtesycars_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + cccontracts: cccontracts_arr_rel_insert_input + color: String + created_at: timestamptz + dailycost: numeric + damage: String + fleetnumber: String + fuel: numeric + id: uuid + insuranceexpires: date + leaseenddate: date + make: String + mileage: numeric + model: String + nextservicedate: date + nextservicekm: numeric + notes: String + plate: String + purchasedate: date + registrationexpires: date + serviceenddate: date + servicestartdate: date + status: String + updated_at: timestamptz + vin: String + year: String +} + +# aggregate max on columns +type courtesycars_max_fields { + bodyshopid: uuid + color: String + created_at: timestamptz + dailycost: numeric + damage: String + fleetnumber: String + fuel: numeric + id: uuid + insuranceexpires: date + leaseenddate: date + make: String + mileage: numeric + model: String + nextservicedate: date + nextservicekm: numeric + notes: String + plate: String + purchasedate: date + registrationexpires: date + serviceenddate: date + servicestartdate: date + status: String + updated_at: timestamptz + vin: String + year: String +} + +# order by max() on columns of table "courtesycars" +input courtesycars_max_order_by { + bodyshopid: order_by + color: order_by + created_at: order_by + dailycost: order_by + damage: order_by + fleetnumber: order_by + fuel: order_by + id: order_by + insuranceexpires: order_by + leaseenddate: order_by + make: order_by + mileage: order_by + model: order_by + nextservicedate: order_by + nextservicekm: order_by + notes: order_by + plate: order_by + purchasedate: order_by + registrationexpires: order_by + serviceenddate: order_by + servicestartdate: order_by + status: order_by + updated_at: order_by + vin: order_by + year: order_by +} + +# aggregate min on columns +type courtesycars_min_fields { + bodyshopid: uuid + color: String + created_at: timestamptz + dailycost: numeric + damage: String + fleetnumber: String + fuel: numeric + id: uuid + insuranceexpires: date + leaseenddate: date + make: String + mileage: numeric + model: String + nextservicedate: date + nextservicekm: numeric + notes: String + plate: String + purchasedate: date + registrationexpires: date + serviceenddate: date + servicestartdate: date + status: String + updated_at: timestamptz + vin: String + year: String +} + +# order by min() on columns of table "courtesycars" +input courtesycars_min_order_by { + bodyshopid: order_by + color: order_by + created_at: order_by + dailycost: order_by + damage: order_by + fleetnumber: order_by + fuel: order_by + id: order_by + insuranceexpires: order_by + leaseenddate: order_by + make: order_by + mileage: order_by + model: order_by + nextservicedate: order_by + nextservicekm: order_by + notes: order_by + plate: order_by + purchasedate: order_by + registrationexpires: order_by + serviceenddate: order_by + servicestartdate: order_by + status: order_by + updated_at: order_by + vin: order_by + year: order_by +} + +# response of any mutation on the table "courtesycars" +type courtesycars_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [courtesycars!]! +} + +# input type for inserting object relation for remote table "courtesycars" +input courtesycars_obj_rel_insert_input { + data: courtesycars_insert_input! + on_conflict: courtesycars_on_conflict +} + +# on conflict condition type for table "courtesycars" +input courtesycars_on_conflict { + constraint: courtesycars_constraint! + update_columns: [courtesycars_update_column!]! + where: courtesycars_bool_exp +} + +# ordering options when selecting data from "courtesycars" +input courtesycars_order_by { + bodyshop: bodyshops_order_by + bodyshopid: order_by + cccontracts_aggregate: cccontracts_aggregate_order_by + color: order_by + created_at: order_by + dailycost: order_by + damage: order_by + fleetnumber: order_by + fuel: order_by + id: order_by + insuranceexpires: order_by + leaseenddate: order_by + make: order_by + mileage: order_by + model: order_by + nextservicedate: order_by + nextservicekm: order_by + notes: order_by + plate: order_by + purchasedate: order_by + registrationexpires: order_by + serviceenddate: order_by + servicestartdate: order_by + status: order_by + updated_at: order_by + vin: order_by + year: order_by +} + +# primary key columns input for table: "courtesycars" +input courtesycars_pk_columns_input { + id: uuid! +} + +# select columns of table "courtesycars" +enum courtesycars_select_column { + # column name + bodyshopid + + # column name + color + + # column name + created_at + + # column name + dailycost + + # column name + damage + + # column name + fleetnumber + + # column name + fuel + + # column name + id + + # column name + insuranceexpires + + # column name + leaseenddate + + # column name + make + + # column name + mileage + + # column name + model + + # column name + nextservicedate + + # column name + nextservicekm + + # column name + notes + + # column name + plate + + # column name + purchasedate + + # column name + registrationexpires + + # column name + serviceenddate + + # column name + servicestartdate + + # column name + status + + # column name + updated_at + + # column name + vin + + # column name + year +} + +# input type for updating data in table "courtesycars" +input courtesycars_set_input { + bodyshopid: uuid + color: String + created_at: timestamptz + dailycost: numeric + damage: String + fleetnumber: String + fuel: numeric + id: uuid + insuranceexpires: date + leaseenddate: date + make: String + mileage: numeric + model: String + nextservicedate: date + nextservicekm: numeric + notes: String + plate: String + purchasedate: date + registrationexpires: date + serviceenddate: date + servicestartdate: date + status: String + updated_at: timestamptz + vin: String + year: String +} + +# aggregate stddev on columns +type courtesycars_stddev_fields { + dailycost: Float + fuel: Float + mileage: Float + nextservicekm: Float +} + +# order by stddev() on columns of table "courtesycars" +input courtesycars_stddev_order_by { + dailycost: order_by + fuel: order_by + mileage: order_by + nextservicekm: order_by +} + +# aggregate stddev_pop on columns +type courtesycars_stddev_pop_fields { + dailycost: Float + fuel: Float + mileage: Float + nextservicekm: Float +} + +# order by stddev_pop() on columns of table "courtesycars" +input courtesycars_stddev_pop_order_by { + dailycost: order_by + fuel: order_by + mileage: order_by + nextservicekm: order_by +} + +# aggregate stddev_samp on columns +type courtesycars_stddev_samp_fields { + dailycost: Float + fuel: Float + mileage: Float + nextservicekm: Float +} + +# order by stddev_samp() on columns of table "courtesycars" +input courtesycars_stddev_samp_order_by { + dailycost: order_by + fuel: order_by + mileage: order_by + nextservicekm: order_by +} + +# aggregate sum on columns +type courtesycars_sum_fields { + dailycost: numeric + fuel: numeric + mileage: numeric + nextservicekm: numeric +} + +# order by sum() on columns of table "courtesycars" +input courtesycars_sum_order_by { + dailycost: order_by + fuel: order_by + mileage: order_by + nextservicekm: order_by +} + +# update columns of table "courtesycars" +enum courtesycars_update_column { + # column name + bodyshopid + + # column name + color + + # column name + created_at + + # column name + dailycost + + # column name + damage + + # column name + fleetnumber + + # column name + fuel + + # column name + id + + # column name + insuranceexpires + + # column name + leaseenddate + + # column name + make + + # column name + mileage + + # column name + model + + # column name + nextservicedate + + # column name + nextservicekm + + # column name + notes + + # column name + plate + + # column name + purchasedate + + # column name + registrationexpires + + # column name + serviceenddate + + # column name + servicestartdate + + # column name + status + + # column name + updated_at + + # column name + vin + + # column name + year +} + +# aggregate var_pop on columns +type courtesycars_var_pop_fields { + dailycost: Float + fuel: Float + mileage: Float + nextservicekm: Float +} + +# order by var_pop() on columns of table "courtesycars" +input courtesycars_var_pop_order_by { + dailycost: order_by + fuel: order_by + mileage: order_by + nextservicekm: order_by +} + +# aggregate var_samp on columns +type courtesycars_var_samp_fields { + dailycost: Float + fuel: Float + mileage: Float + nextservicekm: Float +} + +# order by var_samp() on columns of table "courtesycars" +input courtesycars_var_samp_order_by { + dailycost: order_by + fuel: order_by + mileage: order_by + nextservicekm: order_by +} + +# aggregate variance on columns +type courtesycars_variance_fields { + dailycost: Float + fuel: Float + mileage: Float + nextservicekm: Float +} + +# order by variance() on columns of table "courtesycars" +input courtesycars_variance_order_by { + dailycost: order_by + fuel: order_by + mileage: order_by + nextservicekm: order_by +} + +# columns and relationships of "csi" +type csi { + # An object relationship + bodyshop: bodyshops! + bodyshopid: uuid! + completedon: timestamptz + created_at: timestamptz! + + # An object relationship + csiquestion: csiquestions + id: uuid! + + # An object relationship + job: jobs! + jobid: uuid! + questionset: uuid + relateddata( + # JSON select path + path: String + ): jsonb + response( + # JSON select path + path: String + ): jsonb + updated_at: timestamptz! + valid: Boolean! + validuntil: date +} + +# aggregated selection of "csi" +type csi_aggregate { + aggregate: csi_aggregate_fields + nodes: [csi!]! +} + +# aggregate fields of "csi" +type csi_aggregate_fields { + count(columns: [csi_select_column!], distinct: Boolean): Int + max: csi_max_fields + min: csi_min_fields +} + +# order by aggregate values of table "csi" +input csi_aggregate_order_by { + count: order_by + max: csi_max_order_by + min: csi_min_order_by +} + +# append existing jsonb value of filtered columns with new jsonb value +input csi_append_input { + relateddata: jsonb + response: jsonb +} + +# input type for inserting array relation for remote table "csi" +input csi_arr_rel_insert_input { + data: [csi_insert_input!]! + on_conflict: csi_on_conflict +} + +# Boolean expression to filter rows from the table "csi". All fields are combined with a logical 'AND'. +input csi_bool_exp { + _and: [csi_bool_exp] + _not: csi_bool_exp + _or: [csi_bool_exp] + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + completedon: timestamptz_comparison_exp + created_at: timestamptz_comparison_exp + csiquestion: csiquestions_bool_exp + id: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + questionset: uuid_comparison_exp + relateddata: jsonb_comparison_exp + response: jsonb_comparison_exp + updated_at: timestamptz_comparison_exp + valid: Boolean_comparison_exp + validuntil: date_comparison_exp +} + +# unique or primary key constraints on table "csi" +enum csi_constraint { + # unique or primary key constraint + csiinvites_pkey +} + +# delete the field or element with specified path (for JSON arrays, negative integers count from the end) +input csi_delete_at_path_input { + relateddata: [String] + response: [String] +} + +# delete the array element with specified index (negative integers count from the +# end). throws an error if top level container is not an array +input csi_delete_elem_input { + relateddata: Int + response: Int +} + +# delete key/value pair or string element. key/value pairs are matched based on their key value +input csi_delete_key_input { + relateddata: String + response: String +} + +# input type for inserting data into table "csi" +input csi_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + completedon: timestamptz + created_at: timestamptz + csiquestion: csiquestions_obj_rel_insert_input + id: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + questionset: uuid + relateddata: jsonb + response: jsonb + updated_at: timestamptz + valid: Boolean + validuntil: date +} + +# aggregate max on columns +type csi_max_fields { + bodyshopid: uuid + completedon: timestamptz + created_at: timestamptz + id: uuid + jobid: uuid + questionset: uuid + updated_at: timestamptz + validuntil: date +} + +# order by max() on columns of table "csi" +input csi_max_order_by { + bodyshopid: order_by + completedon: order_by + created_at: order_by + id: order_by + jobid: order_by + questionset: order_by + updated_at: order_by + validuntil: order_by +} + +# aggregate min on columns +type csi_min_fields { + bodyshopid: uuid + completedon: timestamptz + created_at: timestamptz + id: uuid + jobid: uuid + questionset: uuid + updated_at: timestamptz + validuntil: date +} + +# order by min() on columns of table "csi" +input csi_min_order_by { + bodyshopid: order_by + completedon: order_by + created_at: order_by + id: order_by + jobid: order_by + questionset: order_by + updated_at: order_by + validuntil: order_by +} + +# response of any mutation on the table "csi" +type csi_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [csi!]! +} + +# input type for inserting object relation for remote table "csi" +input csi_obj_rel_insert_input { + data: csi_insert_input! + on_conflict: csi_on_conflict +} + +# on conflict condition type for table "csi" +input csi_on_conflict { + constraint: csi_constraint! + update_columns: [csi_update_column!]! + where: csi_bool_exp +} + +# ordering options when selecting data from "csi" +input csi_order_by { + bodyshop: bodyshops_order_by + bodyshopid: order_by + completedon: order_by + created_at: order_by + csiquestion: csiquestions_order_by + id: order_by + job: jobs_order_by + jobid: order_by + questionset: order_by + relateddata: order_by + response: order_by + updated_at: order_by + valid: order_by + validuntil: order_by +} + +# primary key columns input for table: "csi" +input csi_pk_columns_input { + id: uuid! +} + +# prepend existing jsonb value of filtered columns with new jsonb value +input csi_prepend_input { + relateddata: jsonb + response: jsonb +} + +# select columns of table "csi" +enum csi_select_column { + # column name + bodyshopid + + # column name + completedon + + # column name + created_at + + # column name + id + + # column name + jobid + + # column name + questionset + + # column name + relateddata + + # column name + response + + # column name + updated_at + + # column name + valid + + # column name + validuntil +} + +# input type for updating data in table "csi" +input csi_set_input { + bodyshopid: uuid + completedon: timestamptz + created_at: timestamptz + id: uuid + jobid: uuid + questionset: uuid + relateddata: jsonb + response: jsonb + updated_at: timestamptz + valid: Boolean + validuntil: date +} + +# update columns of table "csi" +enum csi_update_column { + # column name + bodyshopid + + # column name + completedon + + # column name + created_at + + # column name + id + + # column name + jobid + + # column name + questionset + + # column name + relateddata + + # column name + response + + # column name + updated_at + + # column name + valid + + # column name + validuntil +} + +# columns and relationships of "csiquestions" +type csiquestions { + # An object relationship + bodyshop: bodyshops! + bodyshopid: uuid! + config( + # JSON select path + path: String + ): jsonb + created_at: timestamptz! + + # An array relationship + csis( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): [csi!]! + + # An aggregated array relationship + csis_aggregate( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): csi_aggregate! + current: Boolean! + id: uuid! + updated_at: timestamptz! +} + +# aggregated selection of "csiquestions" +type csiquestions_aggregate { + aggregate: csiquestions_aggregate_fields + nodes: [csiquestions!]! +} + +# aggregate fields of "csiquestions" +type csiquestions_aggregate_fields { + count(columns: [csiquestions_select_column!], distinct: Boolean): Int + max: csiquestions_max_fields + min: csiquestions_min_fields +} + +# order by aggregate values of table "csiquestions" +input csiquestions_aggregate_order_by { + count: order_by + max: csiquestions_max_order_by + min: csiquestions_min_order_by +} + +# append existing jsonb value of filtered columns with new jsonb value +input csiquestions_append_input { + config: jsonb +} + +# input type for inserting array relation for remote table "csiquestions" +input csiquestions_arr_rel_insert_input { + data: [csiquestions_insert_input!]! + on_conflict: csiquestions_on_conflict +} + +# Boolean expression to filter rows from the table "csiquestions". All fields are combined with a logical 'AND'. +input csiquestions_bool_exp { + _and: [csiquestions_bool_exp] + _not: csiquestions_bool_exp + _or: [csiquestions_bool_exp] + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + config: jsonb_comparison_exp + created_at: timestamptz_comparison_exp + csis: csi_bool_exp + current: Boolean_comparison_exp + id: uuid_comparison_exp + updated_at: timestamptz_comparison_exp +} + +# unique or primary key constraints on table "csiquestions" +enum csiquestions_constraint { + # unique or primary key constraint + csiquestion_pkey +} + +# delete the field or element with specified path (for JSON arrays, negative integers count from the end) +input csiquestions_delete_at_path_input { + config: [String] +} + +# delete the array element with specified index (negative integers count from the +# end). throws an error if top level container is not an array +input csiquestions_delete_elem_input { + config: Int +} + +# delete key/value pair or string element. key/value pairs are matched based on their key value +input csiquestions_delete_key_input { + config: String +} + +# input type for inserting data into table "csiquestions" +input csiquestions_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + config: jsonb + created_at: timestamptz + csis: csi_arr_rel_insert_input + current: Boolean + id: uuid + updated_at: timestamptz +} + +# aggregate max on columns +type csiquestions_max_fields { + bodyshopid: uuid + created_at: timestamptz + id: uuid + updated_at: timestamptz +} + +# order by max() on columns of table "csiquestions" +input csiquestions_max_order_by { + bodyshopid: order_by + created_at: order_by + id: order_by + updated_at: order_by +} + +# aggregate min on columns +type csiquestions_min_fields { + bodyshopid: uuid + created_at: timestamptz + id: uuid + updated_at: timestamptz +} + +# order by min() on columns of table "csiquestions" +input csiquestions_min_order_by { + bodyshopid: order_by + created_at: order_by + id: order_by + updated_at: order_by +} + +# response of any mutation on the table "csiquestions" +type csiquestions_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [csiquestions!]! +} + +# input type for inserting object relation for remote table "csiquestions" +input csiquestions_obj_rel_insert_input { + data: csiquestions_insert_input! + on_conflict: csiquestions_on_conflict +} + +# on conflict condition type for table "csiquestions" +input csiquestions_on_conflict { + constraint: csiquestions_constraint! + update_columns: [csiquestions_update_column!]! + where: csiquestions_bool_exp +} + +# ordering options when selecting data from "csiquestions" +input csiquestions_order_by { + bodyshop: bodyshops_order_by + bodyshopid: order_by + config: order_by + created_at: order_by + csis_aggregate: csi_aggregate_order_by + current: order_by + id: order_by + updated_at: order_by +} + +# primary key columns input for table: "csiquestions" +input csiquestions_pk_columns_input { + id: uuid! +} + +# prepend existing jsonb value of filtered columns with new jsonb value +input csiquestions_prepend_input { + config: jsonb +} + +# select columns of table "csiquestions" +enum csiquestions_select_column { + # column name + bodyshopid + + # column name + config + + # column name + created_at + + # column name + current + + # column name + id + + # column name + updated_at +} + +# input type for updating data in table "csiquestions" +input csiquestions_set_input { + bodyshopid: uuid + config: jsonb + created_at: timestamptz + current: Boolean + id: uuid + updated_at: timestamptz +} + +# update columns of table "csiquestions" +enum csiquestions_update_column { + # column name + bodyshopid + + # column name + config + + # column name + created_at + + # column name + current + + # column name + id + + # column name + updated_at +} + +scalar date + +# expression to compare columns of type date. All fields are combined with logical 'AND'. +input date_comparison_exp { + _eq: date + _gt: date + _gte: date + _in: [date!] + _is_null: Boolean + _lt: date + _lte: date + _neq: date + _nin: [date!] +} + +# columns and relationships of "documents" +type documents { + created_at: timestamptz! + id: uuid! + + # An object relationship + invoice: invoices + invoiceid: uuid + + # An object relationship + job: jobs! + jobid: uuid! + key: String! + name: String + type: String + updated_at: timestamptz! + uploaded_by: String! +} + +# aggregated selection of "documents" +type documents_aggregate { + aggregate: documents_aggregate_fields + nodes: [documents!]! +} + +# aggregate fields of "documents" +type documents_aggregate_fields { + count(columns: [documents_select_column!], distinct: Boolean): Int + max: documents_max_fields + min: documents_min_fields +} + +# order by aggregate values of table "documents" +input documents_aggregate_order_by { + count: order_by + max: documents_max_order_by + min: documents_min_order_by +} + +# input type for inserting array relation for remote table "documents" +input documents_arr_rel_insert_input { + data: [documents_insert_input!]! + on_conflict: documents_on_conflict +} + +# Boolean expression to filter rows from the table "documents". All fields are combined with a logical 'AND'. +input documents_bool_exp { + _and: [documents_bool_exp] + _not: documents_bool_exp + _or: [documents_bool_exp] + created_at: timestamptz_comparison_exp + id: uuid_comparison_exp + invoice: invoices_bool_exp + invoiceid: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + key: String_comparison_exp + name: String_comparison_exp + type: String_comparison_exp + updated_at: timestamptz_comparison_exp + uploaded_by: String_comparison_exp +} + +# unique or primary key constraints on table "documents" +enum documents_constraint { + # unique or primary key constraint + documents_pkey +} + +# input type for inserting data into table "documents" +input documents_insert_input { + created_at: timestamptz + id: uuid + invoice: invoices_obj_rel_insert_input + invoiceid: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + key: String + name: String + type: String + updated_at: timestamptz + uploaded_by: String +} + +# aggregate max on columns +type documents_max_fields { + created_at: timestamptz + id: uuid + invoiceid: uuid + jobid: uuid + key: String + name: String + type: String + updated_at: timestamptz + uploaded_by: String +} + +# order by max() on columns of table "documents" +input documents_max_order_by { + created_at: order_by + id: order_by + invoiceid: order_by + jobid: order_by + key: order_by + name: order_by + type: order_by + updated_at: order_by + uploaded_by: order_by +} + +# aggregate min on columns +type documents_min_fields { + created_at: timestamptz + id: uuid + invoiceid: uuid + jobid: uuid + key: String + name: String + type: String + updated_at: timestamptz + uploaded_by: String +} + +# order by min() on columns of table "documents" +input documents_min_order_by { + created_at: order_by + id: order_by + invoiceid: order_by + jobid: order_by + key: order_by + name: order_by + type: order_by + updated_at: order_by + uploaded_by: order_by +} + +# response of any mutation on the table "documents" +type documents_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [documents!]! +} + +# input type for inserting object relation for remote table "documents" +input documents_obj_rel_insert_input { + data: documents_insert_input! + on_conflict: documents_on_conflict +} + +# on conflict condition type for table "documents" +input documents_on_conflict { + constraint: documents_constraint! + update_columns: [documents_update_column!]! + where: documents_bool_exp +} + +# ordering options when selecting data from "documents" +input documents_order_by { + created_at: order_by + id: order_by + invoice: invoices_order_by + invoiceid: order_by + job: jobs_order_by + jobid: order_by + key: order_by + name: order_by + type: order_by + updated_at: order_by + uploaded_by: order_by +} + +# primary key columns input for table: "documents" +input documents_pk_columns_input { + id: uuid! +} + +# select columns of table "documents" +enum documents_select_column { + # column name + created_at + + # column name + id + + # column name + invoiceid + + # column name + jobid + + # column name + key + + # column name + name + + # column name + type + + # column name + updated_at + + # column name + uploaded_by +} + +# input type for updating data in table "documents" +input documents_set_input { + created_at: timestamptz + id: uuid + invoiceid: uuid + jobid: uuid + key: String + name: String + type: String + updated_at: timestamptz + uploaded_by: String +} + +# update columns of table "documents" +enum documents_update_column { + # column name + created_at + + # column name + id + + # column name + invoiceid + + # column name + jobid + + # column name + key + + # column name + name + + # column name + type + + # column name + updated_at + + # column name + uploaded_by +} + +# columns and relationships of "employees" +type employees { + active: Boolean! + + # An array relationship + allocations( + # distinct select on columns + distinct_on: [allocations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [allocations_order_by!] + + # filter the rows returned + where: allocations_bool_exp + ): [allocations!]! + + # An aggregated array relationship + allocations_aggregate( + # distinct select on columns + distinct_on: [allocations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [allocations_order_by!] + + # filter the rows returned + where: allocations_bool_exp + ): allocations_aggregate! + base_rate: numeric! + + # An object relationship + bodyshop: bodyshops! + cost_center: String! + created_at: timestamptz! + employee_number: String + first_name: String! + flat_rate: Boolean! + hire_date: date + id: uuid! + + # An array relationship + jobs( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # An array relationship + jobsByEmployeePrep( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # An aggregated array relationship + jobsByEmployeePrep_aggregate( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + + # An array relationship + jobsByEmployeeRefinish( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # An aggregated array relationship + jobsByEmployeeRefinish_aggregate( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + + # An aggregated array relationship + jobs_aggregate( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + last_name: String! + pin: String + shopid: uuid! + termination_date: date + + # An array relationship + timetickets( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): [timetickets!]! + + # An aggregated array relationship + timetickets_aggregate( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): timetickets_aggregate! + updated_at: timestamptz! + + # An object relationship + user: users + user_email: String +} + +# aggregated selection of "employees" +type employees_aggregate { + aggregate: employees_aggregate_fields + nodes: [employees!]! +} + +# aggregate fields of "employees" +type employees_aggregate_fields { + avg: employees_avg_fields + count(columns: [employees_select_column!], distinct: Boolean): Int + max: employees_max_fields + min: employees_min_fields + stddev: employees_stddev_fields + stddev_pop: employees_stddev_pop_fields + stddev_samp: employees_stddev_samp_fields + sum: employees_sum_fields + var_pop: employees_var_pop_fields + var_samp: employees_var_samp_fields + variance: employees_variance_fields +} + +# order by aggregate values of table "employees" +input employees_aggregate_order_by { + avg: employees_avg_order_by + count: order_by + max: employees_max_order_by + min: employees_min_order_by + stddev: employees_stddev_order_by + stddev_pop: employees_stddev_pop_order_by + stddev_samp: employees_stddev_samp_order_by + sum: employees_sum_order_by + var_pop: employees_var_pop_order_by + var_samp: employees_var_samp_order_by + variance: employees_variance_order_by +} + +# input type for inserting array relation for remote table "employees" +input employees_arr_rel_insert_input { + data: [employees_insert_input!]! + on_conflict: employees_on_conflict +} + +# aggregate avg on columns +type employees_avg_fields { + base_rate: Float +} + +# order by avg() on columns of table "employees" +input employees_avg_order_by { + base_rate: order_by +} + +# Boolean expression to filter rows from the table "employees". All fields are combined with a logical 'AND'. +input employees_bool_exp { + _and: [employees_bool_exp] + _not: employees_bool_exp + _or: [employees_bool_exp] + active: Boolean_comparison_exp + allocations: allocations_bool_exp + base_rate: numeric_comparison_exp + bodyshop: bodyshops_bool_exp + cost_center: String_comparison_exp + created_at: timestamptz_comparison_exp + employee_number: String_comparison_exp + first_name: String_comparison_exp + flat_rate: Boolean_comparison_exp + hire_date: date_comparison_exp + id: uuid_comparison_exp + jobs: jobs_bool_exp + jobsByEmployeePrep: jobs_bool_exp + jobsByEmployeeRefinish: jobs_bool_exp + last_name: String_comparison_exp + pin: String_comparison_exp + shopid: uuid_comparison_exp + termination_date: date_comparison_exp + timetickets: timetickets_bool_exp + updated_at: timestamptz_comparison_exp + user: users_bool_exp + user_email: String_comparison_exp +} + +# unique or primary key constraints on table "employees" +enum employees_constraint { + # unique or primary key constraint + employees_pkey + + # unique or primary key constraint + employees_user_email_key +} + +# input type for incrementing integer column in table "employees" +input employees_inc_input { + base_rate: numeric +} + +# input type for inserting data into table "employees" +input employees_insert_input { + active: Boolean + allocations: allocations_arr_rel_insert_input + base_rate: numeric + bodyshop: bodyshops_obj_rel_insert_input + cost_center: String + created_at: timestamptz + employee_number: String + first_name: String + flat_rate: Boolean + hire_date: date + id: uuid + jobs: jobs_arr_rel_insert_input + jobsByEmployeePrep: jobs_arr_rel_insert_input + jobsByEmployeeRefinish: jobs_arr_rel_insert_input + last_name: String + pin: String + shopid: uuid + termination_date: date + timetickets: timetickets_arr_rel_insert_input + updated_at: timestamptz + user: users_obj_rel_insert_input + user_email: String +} + +# aggregate max on columns +type employees_max_fields { + base_rate: numeric + cost_center: String + created_at: timestamptz + employee_number: String + first_name: String + hire_date: date + id: uuid + last_name: String + pin: String + shopid: uuid + termination_date: date + updated_at: timestamptz + user_email: String +} + +# order by max() on columns of table "employees" +input employees_max_order_by { + base_rate: order_by + cost_center: order_by + created_at: order_by + employee_number: order_by + first_name: order_by + hire_date: order_by + id: order_by + last_name: order_by + pin: order_by + shopid: order_by + termination_date: order_by + updated_at: order_by + user_email: order_by +} + +# aggregate min on columns +type employees_min_fields { + base_rate: numeric + cost_center: String + created_at: timestamptz + employee_number: String + first_name: String + hire_date: date + id: uuid + last_name: String + pin: String + shopid: uuid + termination_date: date + updated_at: timestamptz + user_email: String +} + +# order by min() on columns of table "employees" +input employees_min_order_by { + base_rate: order_by + cost_center: order_by + created_at: order_by + employee_number: order_by + first_name: order_by + hire_date: order_by + id: order_by + last_name: order_by + pin: order_by + shopid: order_by + termination_date: order_by + updated_at: order_by + user_email: order_by +} + +# response of any mutation on the table "employees" +type employees_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [employees!]! +} + +# input type for inserting object relation for remote table "employees" +input employees_obj_rel_insert_input { + data: employees_insert_input! + on_conflict: employees_on_conflict +} + +# on conflict condition type for table "employees" +input employees_on_conflict { + constraint: employees_constraint! + update_columns: [employees_update_column!]! + where: employees_bool_exp +} + +# ordering options when selecting data from "employees" +input employees_order_by { + active: order_by + allocations_aggregate: allocations_aggregate_order_by + base_rate: order_by + bodyshop: bodyshops_order_by + cost_center: order_by + created_at: order_by + employee_number: order_by + first_name: order_by + flat_rate: order_by + hire_date: order_by + id: order_by + jobsByEmployeePrep_aggregate: jobs_aggregate_order_by + jobsByEmployeeRefinish_aggregate: jobs_aggregate_order_by + jobs_aggregate: jobs_aggregate_order_by + last_name: order_by + pin: order_by + shopid: order_by + termination_date: order_by + timetickets_aggregate: timetickets_aggregate_order_by + updated_at: order_by + user: users_order_by + user_email: order_by +} + +# primary key columns input for table: "employees" +input employees_pk_columns_input { + id: uuid! +} + +# select columns of table "employees" +enum employees_select_column { + # column name + active + + # column name + base_rate + + # column name + cost_center + + # column name + created_at + + # column name + employee_number + + # column name + first_name + + # column name + flat_rate + + # column name + hire_date + + # column name + id + + # column name + last_name + + # column name + pin + + # column name + shopid + + # column name + termination_date + + # column name + updated_at + + # column name + user_email +} + +# input type for updating data in table "employees" +input employees_set_input { + active: Boolean + base_rate: numeric + cost_center: String + created_at: timestamptz + employee_number: String + first_name: String + flat_rate: Boolean + hire_date: date + id: uuid + last_name: String + pin: String + shopid: uuid + termination_date: date + updated_at: timestamptz + user_email: String +} + +# aggregate stddev on columns +type employees_stddev_fields { + base_rate: Float +} + +# order by stddev() on columns of table "employees" +input employees_stddev_order_by { + base_rate: order_by +} + +# aggregate stddev_pop on columns +type employees_stddev_pop_fields { + base_rate: Float +} + +# order by stddev_pop() on columns of table "employees" +input employees_stddev_pop_order_by { + base_rate: order_by +} + +# aggregate stddev_samp on columns +type employees_stddev_samp_fields { + base_rate: Float +} + +# order by stddev_samp() on columns of table "employees" +input employees_stddev_samp_order_by { + base_rate: order_by +} + +# aggregate sum on columns +type employees_sum_fields { + base_rate: numeric +} + +# order by sum() on columns of table "employees" +input employees_sum_order_by { + base_rate: order_by +} + +# update columns of table "employees" +enum employees_update_column { + # column name + active + + # column name + base_rate + + # column name + cost_center + + # column name + created_at + + # column name + employee_number + + # column name + first_name + + # column name + flat_rate + + # column name + hire_date + + # column name + id + + # column name + last_name + + # column name + pin + + # column name + shopid + + # column name + termination_date + + # column name + updated_at + + # column name + user_email +} + +# aggregate var_pop on columns +type employees_var_pop_fields { + base_rate: Float +} + +# order by var_pop() on columns of table "employees" +input employees_var_pop_order_by { + base_rate: order_by +} + +# aggregate var_samp on columns +type employees_var_samp_fields { + base_rate: Float +} + +# order by var_samp() on columns of table "employees" +input employees_var_samp_order_by { + base_rate: order_by +} + +# aggregate variance on columns +type employees_variance_fields { + base_rate: Float +} + +# order by variance() on columns of table "employees" +input employees_variance_order_by { + base_rate: order_by +} + +# expression to compare columns of type Int. All fields are combined with logical 'AND'. +input Int_comparison_exp { + _eq: Int + _gt: Int + _gte: Int + _in: [Int!] + _is_null: Boolean + _lt: Int + _lte: Int + _neq: Int + _nin: [Int!] +} + +# columns and relationships of "invoicelines" +type invoicelines { + actual_cost: numeric! + actual_price: numeric! + applicable_taxes( + # JSON select path + path: String + ): jsonb + cost_center: String! + created_at: timestamptz! + id: uuid! + + # An object relationship + invoice: invoices! + invoiceid: uuid! + joblineid: uuid + line_desc: String + quantity: Int! + updated_at: timestamptz! +} + +# aggregated selection of "invoicelines" +type invoicelines_aggregate { + aggregate: invoicelines_aggregate_fields + nodes: [invoicelines!]! +} + +# aggregate fields of "invoicelines" +type invoicelines_aggregate_fields { + avg: invoicelines_avg_fields + count(columns: [invoicelines_select_column!], distinct: Boolean): Int + max: invoicelines_max_fields + min: invoicelines_min_fields + stddev: invoicelines_stddev_fields + stddev_pop: invoicelines_stddev_pop_fields + stddev_samp: invoicelines_stddev_samp_fields + sum: invoicelines_sum_fields + var_pop: invoicelines_var_pop_fields + var_samp: invoicelines_var_samp_fields + variance: invoicelines_variance_fields +} + +# order by aggregate values of table "invoicelines" +input invoicelines_aggregate_order_by { + avg: invoicelines_avg_order_by + count: order_by + max: invoicelines_max_order_by + min: invoicelines_min_order_by + stddev: invoicelines_stddev_order_by + stddev_pop: invoicelines_stddev_pop_order_by + stddev_samp: invoicelines_stddev_samp_order_by + sum: invoicelines_sum_order_by + var_pop: invoicelines_var_pop_order_by + var_samp: invoicelines_var_samp_order_by + variance: invoicelines_variance_order_by +} + +# append existing jsonb value of filtered columns with new jsonb value +input invoicelines_append_input { + applicable_taxes: jsonb +} + +# input type for inserting array relation for remote table "invoicelines" +input invoicelines_arr_rel_insert_input { + data: [invoicelines_insert_input!]! + on_conflict: invoicelines_on_conflict +} + +# aggregate avg on columns +type invoicelines_avg_fields { + actual_cost: Float + actual_price: Float + quantity: Float +} + +# order by avg() on columns of table "invoicelines" +input invoicelines_avg_order_by { + actual_cost: order_by + actual_price: order_by + quantity: order_by +} + +# Boolean expression to filter rows from the table "invoicelines". All fields are combined with a logical 'AND'. +input invoicelines_bool_exp { + _and: [invoicelines_bool_exp] + _not: invoicelines_bool_exp + _or: [invoicelines_bool_exp] + actual_cost: numeric_comparison_exp + actual_price: numeric_comparison_exp + applicable_taxes: jsonb_comparison_exp + cost_center: String_comparison_exp + created_at: timestamptz_comparison_exp + id: uuid_comparison_exp + invoice: invoices_bool_exp + invoiceid: uuid_comparison_exp + joblineid: uuid_comparison_exp + line_desc: String_comparison_exp + quantity: Int_comparison_exp + updated_at: timestamptz_comparison_exp +} + +# unique or primary key constraints on table "invoicelines" +enum invoicelines_constraint { + # unique or primary key constraint + invoicelines_pkey +} + +# delete the field or element with specified path (for JSON arrays, negative integers count from the end) +input invoicelines_delete_at_path_input { + applicable_taxes: [String] +} + +# delete the array element with specified index (negative integers count from the +# end). throws an error if top level container is not an array +input invoicelines_delete_elem_input { + applicable_taxes: Int +} + +# delete key/value pair or string element. key/value pairs are matched based on their key value +input invoicelines_delete_key_input { + applicable_taxes: String +} + +# input type for incrementing integer column in table "invoicelines" +input invoicelines_inc_input { + actual_cost: numeric + actual_price: numeric + quantity: Int +} + +# input type for inserting data into table "invoicelines" +input invoicelines_insert_input { + actual_cost: numeric + actual_price: numeric + applicable_taxes: jsonb + cost_center: String + created_at: timestamptz + id: uuid + invoice: invoices_obj_rel_insert_input + invoiceid: uuid + joblineid: uuid + line_desc: String + quantity: Int + updated_at: timestamptz +} + +# aggregate max on columns +type invoicelines_max_fields { + actual_cost: numeric + actual_price: numeric + cost_center: String + created_at: timestamptz + id: uuid + invoiceid: uuid + joblineid: uuid + line_desc: String + quantity: Int + updated_at: timestamptz +} + +# order by max() on columns of table "invoicelines" +input invoicelines_max_order_by { + actual_cost: order_by + actual_price: order_by + cost_center: order_by + created_at: order_by + id: order_by + invoiceid: order_by + joblineid: order_by + line_desc: order_by + quantity: order_by + updated_at: order_by +} + +# aggregate min on columns +type invoicelines_min_fields { + actual_cost: numeric + actual_price: numeric + cost_center: String + created_at: timestamptz + id: uuid + invoiceid: uuid + joblineid: uuid + line_desc: String + quantity: Int + updated_at: timestamptz +} + +# order by min() on columns of table "invoicelines" +input invoicelines_min_order_by { + actual_cost: order_by + actual_price: order_by + cost_center: order_by + created_at: order_by + id: order_by + invoiceid: order_by + joblineid: order_by + line_desc: order_by + quantity: order_by + updated_at: order_by +} + +# response of any mutation on the table "invoicelines" +type invoicelines_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [invoicelines!]! +} + +# input type for inserting object relation for remote table "invoicelines" +input invoicelines_obj_rel_insert_input { + data: invoicelines_insert_input! + on_conflict: invoicelines_on_conflict +} + +# on conflict condition type for table "invoicelines" +input invoicelines_on_conflict { + constraint: invoicelines_constraint! + update_columns: [invoicelines_update_column!]! + where: invoicelines_bool_exp +} + +# ordering options when selecting data from "invoicelines" +input invoicelines_order_by { + actual_cost: order_by + actual_price: order_by + applicable_taxes: order_by + cost_center: order_by + created_at: order_by + id: order_by + invoice: invoices_order_by + invoiceid: order_by + joblineid: order_by + line_desc: order_by + quantity: order_by + updated_at: order_by +} + +# primary key columns input for table: "invoicelines" +input invoicelines_pk_columns_input { + id: uuid! +} + +# prepend existing jsonb value of filtered columns with new jsonb value +input invoicelines_prepend_input { + applicable_taxes: jsonb +} + +# select columns of table "invoicelines" +enum invoicelines_select_column { + # column name + actual_cost + + # column name + actual_price + + # column name + applicable_taxes + + # column name + cost_center + + # column name + created_at + + # column name + id + + # column name + invoiceid + + # column name + joblineid + + # column name + line_desc + + # column name + quantity + + # column name + updated_at +} + +# input type for updating data in table "invoicelines" +input invoicelines_set_input { + actual_cost: numeric + actual_price: numeric + applicable_taxes: jsonb + cost_center: String + created_at: timestamptz + id: uuid + invoiceid: uuid + joblineid: uuid + line_desc: String + quantity: Int + updated_at: timestamptz +} + +# aggregate stddev on columns +type invoicelines_stddev_fields { + actual_cost: Float + actual_price: Float + quantity: Float +} + +# order by stddev() on columns of table "invoicelines" +input invoicelines_stddev_order_by { + actual_cost: order_by + actual_price: order_by + quantity: order_by +} + +# aggregate stddev_pop on columns +type invoicelines_stddev_pop_fields { + actual_cost: Float + actual_price: Float + quantity: Float +} + +# order by stddev_pop() on columns of table "invoicelines" +input invoicelines_stddev_pop_order_by { + actual_cost: order_by + actual_price: order_by + quantity: order_by +} + +# aggregate stddev_samp on columns +type invoicelines_stddev_samp_fields { + actual_cost: Float + actual_price: Float + quantity: Float +} + +# order by stddev_samp() on columns of table "invoicelines" +input invoicelines_stddev_samp_order_by { + actual_cost: order_by + actual_price: order_by + quantity: order_by +} + +# aggregate sum on columns +type invoicelines_sum_fields { + actual_cost: numeric + actual_price: numeric + quantity: Int +} + +# order by sum() on columns of table "invoicelines" +input invoicelines_sum_order_by { + actual_cost: order_by + actual_price: order_by + quantity: order_by +} + +# update columns of table "invoicelines" +enum invoicelines_update_column { + # column name + actual_cost + + # column name + actual_price + + # column name + applicable_taxes + + # column name + cost_center + + # column name + created_at + + # column name + id + + # column name + invoiceid + + # column name + joblineid + + # column name + line_desc + + # column name + quantity + + # column name + updated_at +} + +# aggregate var_pop on columns +type invoicelines_var_pop_fields { + actual_cost: Float + actual_price: Float + quantity: Float +} + +# order by var_pop() on columns of table "invoicelines" +input invoicelines_var_pop_order_by { + actual_cost: order_by + actual_price: order_by + quantity: order_by +} + +# aggregate var_samp on columns +type invoicelines_var_samp_fields { + actual_cost: Float + actual_price: Float + quantity: Float +} + +# order by var_samp() on columns of table "invoicelines" +input invoicelines_var_samp_order_by { + actual_cost: order_by + actual_price: order_by + quantity: order_by +} + +# aggregate variance on columns +type invoicelines_variance_fields { + actual_cost: Float + actual_price: Float + quantity: Float +} + +# order by variance() on columns of table "invoicelines" +input invoicelines_variance_order_by { + actual_cost: order_by + actual_price: order_by + quantity: order_by +} + +# columns and relationships of "invoices" +type invoices { + created_at: timestamptz! + date: date! + + # An array relationship + documents( + # distinct select on columns + distinct_on: [documents_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [documents_order_by!] + + # filter the rows returned + where: documents_bool_exp + ): [documents!]! + + # An aggregated array relationship + documents_aggregate( + # distinct select on columns + distinct_on: [documents_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [documents_order_by!] + + # filter the rows returned + where: documents_bool_exp + ): documents_aggregate! + due_date: date + exported: Boolean! + exported_at: timestamptz + federal_tax_rate: numeric! + id: uuid! + invoice_number: String! + + # An array relationship + invoicelines( + # distinct select on columns + distinct_on: [invoicelines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoicelines_order_by!] + + # filter the rows returned + where: invoicelines_bool_exp + ): [invoicelines!]! + + # An aggregated array relationship + invoicelines_aggregate( + # distinct select on columns + distinct_on: [invoicelines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoicelines_order_by!] + + # filter the rows returned + where: invoicelines_bool_exp + ): invoicelines_aggregate! + is_credit_memo: Boolean! + + # An object relationship + job: jobs! + jobid: uuid! + local_tax_rate: numeric! + + # An array relationship + parts_orders( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): [parts_orders!]! + + # An aggregated array relationship + parts_orders_aggregate( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): parts_orders_aggregate! + state_tax_rate: numeric! + total: numeric! + updated_at: timestamptz! + + # An object relationship + vendor: vendors! + vendorid: uuid! +} + +# aggregated selection of "invoices" +type invoices_aggregate { + aggregate: invoices_aggregate_fields + nodes: [invoices!]! +} + +# aggregate fields of "invoices" +type invoices_aggregate_fields { + avg: invoices_avg_fields + count(columns: [invoices_select_column!], distinct: Boolean): Int + max: invoices_max_fields + min: invoices_min_fields + stddev: invoices_stddev_fields + stddev_pop: invoices_stddev_pop_fields + stddev_samp: invoices_stddev_samp_fields + sum: invoices_sum_fields + var_pop: invoices_var_pop_fields + var_samp: invoices_var_samp_fields + variance: invoices_variance_fields +} + +# order by aggregate values of table "invoices" +input invoices_aggregate_order_by { + avg: invoices_avg_order_by + count: order_by + max: invoices_max_order_by + min: invoices_min_order_by + stddev: invoices_stddev_order_by + stddev_pop: invoices_stddev_pop_order_by + stddev_samp: invoices_stddev_samp_order_by + sum: invoices_sum_order_by + var_pop: invoices_var_pop_order_by + var_samp: invoices_var_samp_order_by + variance: invoices_variance_order_by +} + +# input type for inserting array relation for remote table "invoices" +input invoices_arr_rel_insert_input { + data: [invoices_insert_input!]! + on_conflict: invoices_on_conflict +} + +# aggregate avg on columns +type invoices_avg_fields { + federal_tax_rate: Float + local_tax_rate: Float + state_tax_rate: Float + total: Float +} + +# order by avg() on columns of table "invoices" +input invoices_avg_order_by { + federal_tax_rate: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by +} + +# Boolean expression to filter rows from the table "invoices". All fields are combined with a logical 'AND'. +input invoices_bool_exp { + _and: [invoices_bool_exp] + _not: invoices_bool_exp + _or: [invoices_bool_exp] + created_at: timestamptz_comparison_exp + date: date_comparison_exp + documents: documents_bool_exp + due_date: date_comparison_exp + exported: Boolean_comparison_exp + exported_at: timestamptz_comparison_exp + federal_tax_rate: numeric_comparison_exp + id: uuid_comparison_exp + invoice_number: String_comparison_exp + invoicelines: invoicelines_bool_exp + is_credit_memo: Boolean_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + local_tax_rate: numeric_comparison_exp + parts_orders: parts_orders_bool_exp + state_tax_rate: numeric_comparison_exp + total: numeric_comparison_exp + updated_at: timestamptz_comparison_exp + vendor: vendors_bool_exp + vendorid: uuid_comparison_exp +} + +# unique or primary key constraints on table "invoices" +enum invoices_constraint { + # unique or primary key constraint + invoices_pkey +} + +# input type for incrementing integer column in table "invoices" +input invoices_inc_input { + federal_tax_rate: numeric + local_tax_rate: numeric + state_tax_rate: numeric + total: numeric +} + +# input type for inserting data into table "invoices" +input invoices_insert_input { + created_at: timestamptz + date: date + documents: documents_arr_rel_insert_input + due_date: date + exported: Boolean + exported_at: timestamptz + federal_tax_rate: numeric + id: uuid + invoice_number: String + invoicelines: invoicelines_arr_rel_insert_input + is_credit_memo: Boolean + job: jobs_obj_rel_insert_input + jobid: uuid + local_tax_rate: numeric + parts_orders: parts_orders_arr_rel_insert_input + state_tax_rate: numeric + total: numeric + updated_at: timestamptz + vendor: vendors_obj_rel_insert_input + vendorid: uuid +} + +# aggregate max on columns +type invoices_max_fields { + created_at: timestamptz + date: date + due_date: date + exported_at: timestamptz + federal_tax_rate: numeric + id: uuid + invoice_number: String + jobid: uuid + local_tax_rate: numeric + state_tax_rate: numeric + total: numeric + updated_at: timestamptz + vendorid: uuid +} + +# order by max() on columns of table "invoices" +input invoices_max_order_by { + created_at: order_by + date: order_by + due_date: order_by + exported_at: order_by + federal_tax_rate: order_by + id: order_by + invoice_number: order_by + jobid: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by + updated_at: order_by + vendorid: order_by +} + +# aggregate min on columns +type invoices_min_fields { + created_at: timestamptz + date: date + due_date: date + exported_at: timestamptz + federal_tax_rate: numeric + id: uuid + invoice_number: String + jobid: uuid + local_tax_rate: numeric + state_tax_rate: numeric + total: numeric + updated_at: timestamptz + vendorid: uuid +} + +# order by min() on columns of table "invoices" +input invoices_min_order_by { + created_at: order_by + date: order_by + due_date: order_by + exported_at: order_by + federal_tax_rate: order_by + id: order_by + invoice_number: order_by + jobid: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by + updated_at: order_by + vendorid: order_by +} + +# response of any mutation on the table "invoices" +type invoices_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [invoices!]! +} + +# input type for inserting object relation for remote table "invoices" +input invoices_obj_rel_insert_input { + data: invoices_insert_input! + on_conflict: invoices_on_conflict +} + +# on conflict condition type for table "invoices" +input invoices_on_conflict { + constraint: invoices_constraint! + update_columns: [invoices_update_column!]! + where: invoices_bool_exp +} + +# ordering options when selecting data from "invoices" +input invoices_order_by { + created_at: order_by + date: order_by + documents_aggregate: documents_aggregate_order_by + due_date: order_by + exported: order_by + exported_at: order_by + federal_tax_rate: order_by + id: order_by + invoice_number: order_by + invoicelines_aggregate: invoicelines_aggregate_order_by + is_credit_memo: order_by + job: jobs_order_by + jobid: order_by + local_tax_rate: order_by + parts_orders_aggregate: parts_orders_aggregate_order_by + state_tax_rate: order_by + total: order_by + updated_at: order_by + vendor: vendors_order_by + vendorid: order_by +} + +# primary key columns input for table: "invoices" +input invoices_pk_columns_input { + id: uuid! +} + +# select columns of table "invoices" +enum invoices_select_column { + # column name + created_at + + # column name + date + + # column name + due_date + + # column name + exported + + # column name + exported_at + + # column name + federal_tax_rate + + # column name + id + + # column name + invoice_number + + # column name + is_credit_memo + + # column name + jobid + + # column name + local_tax_rate + + # column name + state_tax_rate + + # column name + total + + # column name + updated_at + + # column name + vendorid +} + +# input type for updating data in table "invoices" +input invoices_set_input { + created_at: timestamptz + date: date + due_date: date + exported: Boolean + exported_at: timestamptz + federal_tax_rate: numeric + id: uuid + invoice_number: String + is_credit_memo: Boolean + jobid: uuid + local_tax_rate: numeric + state_tax_rate: numeric + total: numeric + updated_at: timestamptz + vendorid: uuid +} + +# aggregate stddev on columns +type invoices_stddev_fields { + federal_tax_rate: Float + local_tax_rate: Float + state_tax_rate: Float + total: Float +} + +# order by stddev() on columns of table "invoices" +input invoices_stddev_order_by { + federal_tax_rate: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by +} + +# aggregate stddev_pop on columns +type invoices_stddev_pop_fields { + federal_tax_rate: Float + local_tax_rate: Float + state_tax_rate: Float + total: Float +} + +# order by stddev_pop() on columns of table "invoices" +input invoices_stddev_pop_order_by { + federal_tax_rate: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by +} + +# aggregate stddev_samp on columns +type invoices_stddev_samp_fields { + federal_tax_rate: Float + local_tax_rate: Float + state_tax_rate: Float + total: Float +} + +# order by stddev_samp() on columns of table "invoices" +input invoices_stddev_samp_order_by { + federal_tax_rate: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by +} + +# aggregate sum on columns +type invoices_sum_fields { + federal_tax_rate: numeric + local_tax_rate: numeric + state_tax_rate: numeric + total: numeric +} + +# order by sum() on columns of table "invoices" +input invoices_sum_order_by { + federal_tax_rate: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by +} + +# update columns of table "invoices" +enum invoices_update_column { + # column name + created_at + + # column name + date + + # column name + due_date + + # column name + exported + + # column name + exported_at + + # column name + federal_tax_rate + + # column name + id + + # column name + invoice_number + + # column name + is_credit_memo + + # column name + jobid + + # column name + local_tax_rate + + # column name + state_tax_rate + + # column name + total + + # column name + updated_at + + # column name + vendorid +} + +# aggregate var_pop on columns +type invoices_var_pop_fields { + federal_tax_rate: Float + local_tax_rate: Float + state_tax_rate: Float + total: Float +} + +# order by var_pop() on columns of table "invoices" +input invoices_var_pop_order_by { + federal_tax_rate: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by +} + +# aggregate var_samp on columns +type invoices_var_samp_fields { + federal_tax_rate: Float + local_tax_rate: Float + state_tax_rate: Float + total: Float +} + +# order by var_samp() on columns of table "invoices" +input invoices_var_samp_order_by { + federal_tax_rate: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by +} + +# aggregate variance on columns +type invoices_variance_fields { + federal_tax_rate: Float + local_tax_rate: Float + state_tax_rate: Float + total: Float +} + +# order by variance() on columns of table "invoices" +input invoices_variance_order_by { + federal_tax_rate: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by +} + +# columns and relationships of "job_conversations" +type job_conversations { + # An object relationship + conversation: conversations! + conversationid: uuid! + + # An object relationship + job: jobs! + jobid: uuid! +} + +# aggregated selection of "job_conversations" +type job_conversations_aggregate { + aggregate: job_conversations_aggregate_fields + nodes: [job_conversations!]! +} + +# aggregate fields of "job_conversations" +type job_conversations_aggregate_fields { + count(columns: [job_conversations_select_column!], distinct: Boolean): Int + max: job_conversations_max_fields + min: job_conversations_min_fields +} + +# order by aggregate values of table "job_conversations" +input job_conversations_aggregate_order_by { + count: order_by + max: job_conversations_max_order_by + min: job_conversations_min_order_by +} + +# input type for inserting array relation for remote table "job_conversations" +input job_conversations_arr_rel_insert_input { + data: [job_conversations_insert_input!]! + on_conflict: job_conversations_on_conflict +} + +# Boolean expression to filter rows from the table "job_conversations". All fields are combined with a logical 'AND'. +input job_conversations_bool_exp { + _and: [job_conversations_bool_exp] + _not: job_conversations_bool_exp + _or: [job_conversations_bool_exp] + conversation: conversations_bool_exp + conversationid: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp +} + +# unique or primary key constraints on table "job_conversations" +enum job_conversations_constraint { + # unique or primary key constraint + job_conversations_pkey +} + +# input type for inserting data into table "job_conversations" +input job_conversations_insert_input { + conversation: conversations_obj_rel_insert_input + conversationid: uuid + job: jobs_obj_rel_insert_input + jobid: uuid +} + +# aggregate max on columns +type job_conversations_max_fields { + conversationid: uuid + jobid: uuid +} + +# order by max() on columns of table "job_conversations" +input job_conversations_max_order_by { + conversationid: order_by + jobid: order_by +} + +# aggregate min on columns +type job_conversations_min_fields { + conversationid: uuid + jobid: uuid +} + +# order by min() on columns of table "job_conversations" +input job_conversations_min_order_by { + conversationid: order_by + jobid: order_by +} + +# response of any mutation on the table "job_conversations" +type job_conversations_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [job_conversations!]! +} + +# input type for inserting object relation for remote table "job_conversations" +input job_conversations_obj_rel_insert_input { + data: job_conversations_insert_input! + on_conflict: job_conversations_on_conflict +} + +# on conflict condition type for table "job_conversations" +input job_conversations_on_conflict { + constraint: job_conversations_constraint! + update_columns: [job_conversations_update_column!]! + where: job_conversations_bool_exp +} + +# ordering options when selecting data from "job_conversations" +input job_conversations_order_by { + conversation: conversations_order_by + conversationid: order_by + job: jobs_order_by + jobid: order_by +} + +# primary key columns input for table: "job_conversations" +input job_conversations_pk_columns_input { + conversationid: uuid! + jobid: uuid! +} + +# select columns of table "job_conversations" +enum job_conversations_select_column { + # column name + conversationid + + # column name + jobid +} + +# input type for updating data in table "job_conversations" +input job_conversations_set_input { + conversationid: uuid + jobid: uuid +} + +# update columns of table "job_conversations" +enum job_conversations_update_column { + # column name + conversationid + + # column name + jobid +} + +# columns and relationships of "joblines" +type joblines { + act_price: numeric + + # An array relationship + allocations( + # distinct select on columns + distinct_on: [allocations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [allocations_order_by!] + + # filter the rows returned + where: allocations_bool_exp + ): [allocations!]! + + # An aggregated array relationship + allocations_aggregate( + # distinct select on columns + distinct_on: [allocations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [allocations_order_by!] + + # filter the rows returned + where: allocations_bool_exp + ): allocations_aggregate! + alt_co_id: String + alt_overrd: Boolean + alt_part_i: Boolean + alt_partm: String + alt_partno: String + bett_amt: numeric + bett_pctg: numeric + bett_tax: Boolean + bett_type: String + cert_part: Boolean + created_at: timestamptz! + db_hrs: numeric + db_price: numeric + db_ref: String + est_seq: Int + glass_flag: Boolean + id: uuid! + + # An object relationship + job: jobs! + jobid: uuid! + lbr_amt: numeric + lbr_hrs_j: Boolean + lbr_inc: Boolean + lbr_op: String + lbr_op_j: Boolean + lbr_tax: Boolean + lbr_typ_j: Boolean + line_desc: String + line_ind: String + line_no: Int + line_ref: numeric + location: String + misc_amt: numeric + misc_sublt: Boolean + misc_tax: Boolean + mod_lb_hrs: numeric + mod_lbr_ty: String + notes: String + oem_partno: String + op_code_desc: String + paint_stg: Int + paint_tone: Int + part_qty: Int + part_type: String + + # An array relationship + parts_order_lines( + # distinct select on columns + distinct_on: [parts_order_lines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_order_lines_order_by!] + + # filter the rows returned + where: parts_order_lines_bool_exp + ): [parts_order_lines!]! + + # An aggregated array relationship + parts_order_lines_aggregate( + # distinct select on columns + distinct_on: [parts_order_lines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_order_lines_order_by!] + + # filter the rows returned + where: parts_order_lines_bool_exp + ): parts_order_lines_aggregate! + price_inc: Boolean + price_j: Boolean + prt_dsmk_m: numeric + prt_dsmk_p: numeric + removed: Boolean! + status: String + tax_part: Boolean! + unq_seq: Int + updated_at: timestamptz! +} + +# aggregated selection of "joblines" +type joblines_aggregate { + aggregate: joblines_aggregate_fields + nodes: [joblines!]! +} + +# aggregate fields of "joblines" +type joblines_aggregate_fields { + avg: joblines_avg_fields + count(columns: [joblines_select_column!], distinct: Boolean): Int + max: joblines_max_fields + min: joblines_min_fields + stddev: joblines_stddev_fields + stddev_pop: joblines_stddev_pop_fields + stddev_samp: joblines_stddev_samp_fields + sum: joblines_sum_fields + var_pop: joblines_var_pop_fields + var_samp: joblines_var_samp_fields + variance: joblines_variance_fields +} + +# order by aggregate values of table "joblines" +input joblines_aggregate_order_by { + avg: joblines_avg_order_by + count: order_by + max: joblines_max_order_by + min: joblines_min_order_by + stddev: joblines_stddev_order_by + stddev_pop: joblines_stddev_pop_order_by + stddev_samp: joblines_stddev_samp_order_by + sum: joblines_sum_order_by + var_pop: joblines_var_pop_order_by + var_samp: joblines_var_samp_order_by + variance: joblines_variance_order_by +} + +# input type for inserting array relation for remote table "joblines" +input joblines_arr_rel_insert_input { + data: [joblines_insert_input!]! + on_conflict: joblines_on_conflict +} + +# aggregate avg on columns +type joblines_avg_fields { + act_price: Float + bett_amt: Float + bett_pctg: Float + db_hrs: Float + db_price: Float + est_seq: Float + lbr_amt: Float + line_no: Float + line_ref: Float + misc_amt: Float + mod_lb_hrs: Float + paint_stg: Float + paint_tone: Float + part_qty: Float + prt_dsmk_m: Float + prt_dsmk_p: Float + unq_seq: Float +} + +# order by avg() on columns of table "joblines" +input joblines_avg_order_by { + act_price: order_by + bett_amt: order_by + bett_pctg: order_by + db_hrs: order_by + db_price: order_by + est_seq: order_by + lbr_amt: order_by + line_no: order_by + line_ref: order_by + misc_amt: order_by + mod_lb_hrs: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + unq_seq: order_by +} + +# Boolean expression to filter rows from the table "joblines". All fields are combined with a logical 'AND'. +input joblines_bool_exp { + _and: [joblines_bool_exp] + _not: joblines_bool_exp + _or: [joblines_bool_exp] + act_price: numeric_comparison_exp + allocations: allocations_bool_exp + alt_co_id: String_comparison_exp + alt_overrd: Boolean_comparison_exp + alt_part_i: Boolean_comparison_exp + alt_partm: String_comparison_exp + alt_partno: String_comparison_exp + bett_amt: numeric_comparison_exp + bett_pctg: numeric_comparison_exp + bett_tax: Boolean_comparison_exp + bett_type: String_comparison_exp + cert_part: Boolean_comparison_exp + created_at: timestamptz_comparison_exp + db_hrs: numeric_comparison_exp + db_price: numeric_comparison_exp + db_ref: String_comparison_exp + est_seq: Int_comparison_exp + glass_flag: Boolean_comparison_exp + id: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + lbr_amt: numeric_comparison_exp + lbr_hrs_j: Boolean_comparison_exp + lbr_inc: Boolean_comparison_exp + lbr_op: String_comparison_exp + lbr_op_j: Boolean_comparison_exp + lbr_tax: Boolean_comparison_exp + lbr_typ_j: Boolean_comparison_exp + line_desc: String_comparison_exp + line_ind: String_comparison_exp + line_no: Int_comparison_exp + line_ref: numeric_comparison_exp + location: String_comparison_exp + misc_amt: numeric_comparison_exp + misc_sublt: Boolean_comparison_exp + misc_tax: Boolean_comparison_exp + mod_lb_hrs: numeric_comparison_exp + mod_lbr_ty: String_comparison_exp + notes: String_comparison_exp + oem_partno: String_comparison_exp + op_code_desc: String_comparison_exp + paint_stg: Int_comparison_exp + paint_tone: Int_comparison_exp + part_qty: Int_comparison_exp + part_type: String_comparison_exp + parts_order_lines: parts_order_lines_bool_exp + price_inc: Boolean_comparison_exp + price_j: Boolean_comparison_exp + prt_dsmk_m: numeric_comparison_exp + prt_dsmk_p: numeric_comparison_exp + removed: Boolean_comparison_exp + status: String_comparison_exp + tax_part: Boolean_comparison_exp + unq_seq: Int_comparison_exp + updated_at: timestamptz_comparison_exp +} + +# unique or primary key constraints on table "joblines" +enum joblines_constraint { + # unique or primary key constraint + joblines_pkey +} + +# input type for incrementing integer column in table "joblines" +input joblines_inc_input { + act_price: numeric + bett_amt: numeric + bett_pctg: numeric + db_hrs: numeric + db_price: numeric + est_seq: Int + lbr_amt: numeric + line_no: Int + line_ref: numeric + misc_amt: numeric + mod_lb_hrs: numeric + paint_stg: Int + paint_tone: Int + part_qty: Int + prt_dsmk_m: numeric + prt_dsmk_p: numeric + unq_seq: Int +} + +# input type for inserting data into table "joblines" +input joblines_insert_input { + act_price: numeric + allocations: allocations_arr_rel_insert_input + alt_co_id: String + alt_overrd: Boolean + alt_part_i: Boolean + alt_partm: String + alt_partno: String + bett_amt: numeric + bett_pctg: numeric + bett_tax: Boolean + bett_type: String + cert_part: Boolean + created_at: timestamptz + db_hrs: numeric + db_price: numeric + db_ref: String + est_seq: Int + glass_flag: Boolean + id: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + lbr_amt: numeric + lbr_hrs_j: Boolean + lbr_inc: Boolean + lbr_op: String + lbr_op_j: Boolean + lbr_tax: Boolean + lbr_typ_j: Boolean + line_desc: String + line_ind: String + line_no: Int + line_ref: numeric + location: String + misc_amt: numeric + misc_sublt: Boolean + misc_tax: Boolean + mod_lb_hrs: numeric + mod_lbr_ty: String + notes: String + oem_partno: String + op_code_desc: String + paint_stg: Int + paint_tone: Int + part_qty: Int + part_type: String + parts_order_lines: parts_order_lines_arr_rel_insert_input + price_inc: Boolean + price_j: Boolean + prt_dsmk_m: numeric + prt_dsmk_p: numeric + removed: Boolean + status: String + tax_part: Boolean + unq_seq: Int + updated_at: timestamptz +} + +# aggregate max on columns +type joblines_max_fields { + act_price: numeric + alt_co_id: String + alt_partm: String + alt_partno: String + bett_amt: numeric + bett_pctg: numeric + bett_type: String + created_at: timestamptz + db_hrs: numeric + db_price: numeric + db_ref: String + est_seq: Int + id: uuid + jobid: uuid + lbr_amt: numeric + lbr_op: String + line_desc: String + line_ind: String + line_no: Int + line_ref: numeric + location: String + misc_amt: numeric + mod_lb_hrs: numeric + mod_lbr_ty: String + notes: String + oem_partno: String + op_code_desc: String + paint_stg: Int + paint_tone: Int + part_qty: Int + part_type: String + prt_dsmk_m: numeric + prt_dsmk_p: numeric + status: String + unq_seq: Int + updated_at: timestamptz +} + +# order by max() on columns of table "joblines" +input joblines_max_order_by { + act_price: order_by + alt_co_id: order_by + alt_partm: order_by + alt_partno: order_by + bett_amt: order_by + bett_pctg: order_by + bett_type: order_by + created_at: order_by + db_hrs: order_by + db_price: order_by + db_ref: order_by + est_seq: order_by + id: order_by + jobid: order_by + lbr_amt: order_by + lbr_op: order_by + line_desc: order_by + line_ind: order_by + line_no: order_by + line_ref: order_by + location: order_by + misc_amt: order_by + mod_lb_hrs: order_by + mod_lbr_ty: order_by + notes: order_by + oem_partno: order_by + op_code_desc: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + part_type: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + status: order_by + unq_seq: order_by + updated_at: order_by +} + +# aggregate min on columns +type joblines_min_fields { + act_price: numeric + alt_co_id: String + alt_partm: String + alt_partno: String + bett_amt: numeric + bett_pctg: numeric + bett_type: String + created_at: timestamptz + db_hrs: numeric + db_price: numeric + db_ref: String + est_seq: Int + id: uuid + jobid: uuid + lbr_amt: numeric + lbr_op: String + line_desc: String + line_ind: String + line_no: Int + line_ref: numeric + location: String + misc_amt: numeric + mod_lb_hrs: numeric + mod_lbr_ty: String + notes: String + oem_partno: String + op_code_desc: String + paint_stg: Int + paint_tone: Int + part_qty: Int + part_type: String + prt_dsmk_m: numeric + prt_dsmk_p: numeric + status: String + unq_seq: Int + updated_at: timestamptz +} + +# order by min() on columns of table "joblines" +input joblines_min_order_by { + act_price: order_by + alt_co_id: order_by + alt_partm: order_by + alt_partno: order_by + bett_amt: order_by + bett_pctg: order_by + bett_type: order_by + created_at: order_by + db_hrs: order_by + db_price: order_by + db_ref: order_by + est_seq: order_by + id: order_by + jobid: order_by + lbr_amt: order_by + lbr_op: order_by + line_desc: order_by + line_ind: order_by + line_no: order_by + line_ref: order_by + location: order_by + misc_amt: order_by + mod_lb_hrs: order_by + mod_lbr_ty: order_by + notes: order_by + oem_partno: order_by + op_code_desc: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + part_type: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + status: order_by + unq_seq: order_by + updated_at: order_by +} + +# response of any mutation on the table "joblines" +type joblines_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [joblines!]! +} + +# input type for inserting object relation for remote table "joblines" +input joblines_obj_rel_insert_input { + data: joblines_insert_input! + on_conflict: joblines_on_conflict +} + +# on conflict condition type for table "joblines" +input joblines_on_conflict { + constraint: joblines_constraint! + update_columns: [joblines_update_column!]! + where: joblines_bool_exp +} + +# ordering options when selecting data from "joblines" +input joblines_order_by { + act_price: order_by + allocations_aggregate: allocations_aggregate_order_by + alt_co_id: order_by + alt_overrd: order_by + alt_part_i: order_by + alt_partm: order_by + alt_partno: order_by + bett_amt: order_by + bett_pctg: order_by + bett_tax: order_by + bett_type: order_by + cert_part: order_by + created_at: order_by + db_hrs: order_by + db_price: order_by + db_ref: order_by + est_seq: order_by + glass_flag: order_by + id: order_by + job: jobs_order_by + jobid: order_by + lbr_amt: order_by + lbr_hrs_j: order_by + lbr_inc: order_by + lbr_op: order_by + lbr_op_j: order_by + lbr_tax: order_by + lbr_typ_j: order_by + line_desc: order_by + line_ind: order_by + line_no: order_by + line_ref: order_by + location: order_by + misc_amt: order_by + misc_sublt: order_by + misc_tax: order_by + mod_lb_hrs: order_by + mod_lbr_ty: order_by + notes: order_by + oem_partno: order_by + op_code_desc: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + part_type: order_by + parts_order_lines_aggregate: parts_order_lines_aggregate_order_by + price_inc: order_by + price_j: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + removed: order_by + status: order_by + tax_part: order_by + unq_seq: order_by + updated_at: order_by +} + +# primary key columns input for table: "joblines" +input joblines_pk_columns_input { + id: uuid! +} + +# select columns of table "joblines" +enum joblines_select_column { + # column name + act_price + + # column name + alt_co_id + + # column name + alt_overrd + + # column name + alt_part_i + + # column name + alt_partm + + # column name + alt_partno + + # column name + bett_amt + + # column name + bett_pctg + + # column name + bett_tax + + # column name + bett_type + + # column name + cert_part + + # column name + created_at + + # column name + db_hrs + + # column name + db_price + + # column name + db_ref + + # column name + est_seq + + # column name + glass_flag + + # column name + id + + # column name + jobid + + # column name + lbr_amt + + # column name + lbr_hrs_j + + # column name + lbr_inc + + # column name + lbr_op + + # column name + lbr_op_j + + # column name + lbr_tax + + # column name + lbr_typ_j + + # column name + line_desc + + # column name + line_ind + + # column name + line_no + + # column name + line_ref + + # column name + location + + # column name + misc_amt + + # column name + misc_sublt + + # column name + misc_tax + + # column name + mod_lb_hrs + + # column name + mod_lbr_ty + + # column name + notes + + # column name + oem_partno + + # column name + op_code_desc + + # column name + paint_stg + + # column name + paint_tone + + # column name + part_qty + + # column name + part_type + + # column name + price_inc + + # column name + price_j + + # column name + prt_dsmk_m + + # column name + prt_dsmk_p + + # column name + removed + + # column name + status + + # column name + tax_part + + # column name + unq_seq + + # column name + updated_at +} + +# input type for updating data in table "joblines" +input joblines_set_input { + act_price: numeric + alt_co_id: String + alt_overrd: Boolean + alt_part_i: Boolean + alt_partm: String + alt_partno: String + bett_amt: numeric + bett_pctg: numeric + bett_tax: Boolean + bett_type: String + cert_part: Boolean + created_at: timestamptz + db_hrs: numeric + db_price: numeric + db_ref: String + est_seq: Int + glass_flag: Boolean + id: uuid + jobid: uuid + lbr_amt: numeric + lbr_hrs_j: Boolean + lbr_inc: Boolean + lbr_op: String + lbr_op_j: Boolean + lbr_tax: Boolean + lbr_typ_j: Boolean + line_desc: String + line_ind: String + line_no: Int + line_ref: numeric + location: String + misc_amt: numeric + misc_sublt: Boolean + misc_tax: Boolean + mod_lb_hrs: numeric + mod_lbr_ty: String + notes: String + oem_partno: String + op_code_desc: String + paint_stg: Int + paint_tone: Int + part_qty: Int + part_type: String + price_inc: Boolean + price_j: Boolean + prt_dsmk_m: numeric + prt_dsmk_p: numeric + removed: Boolean + status: String + tax_part: Boolean + unq_seq: Int + updated_at: timestamptz +} + +# columns and relationships of "joblines_status" +type joblines_status { + count: bigint + + # An object relationship + job: jobs + jobid: uuid + part_type: String + status: String +} + +# aggregated selection of "joblines_status" +type joblines_status_aggregate { + aggregate: joblines_status_aggregate_fields + nodes: [joblines_status!]! +} + +# aggregate fields of "joblines_status" +type joblines_status_aggregate_fields { + avg: joblines_status_avg_fields + count(columns: [joblines_status_select_column!], distinct: Boolean): Int + max: joblines_status_max_fields + min: joblines_status_min_fields + stddev: joblines_status_stddev_fields + stddev_pop: joblines_status_stddev_pop_fields + stddev_samp: joblines_status_stddev_samp_fields + sum: joblines_status_sum_fields + var_pop: joblines_status_var_pop_fields + var_samp: joblines_status_var_samp_fields + variance: joblines_status_variance_fields +} + +# order by aggregate values of table "joblines_status" +input joblines_status_aggregate_order_by { + avg: joblines_status_avg_order_by + count: order_by + max: joblines_status_max_order_by + min: joblines_status_min_order_by + stddev: joblines_status_stddev_order_by + stddev_pop: joblines_status_stddev_pop_order_by + stddev_samp: joblines_status_stddev_samp_order_by + sum: joblines_status_sum_order_by + var_pop: joblines_status_var_pop_order_by + var_samp: joblines_status_var_samp_order_by + variance: joblines_status_variance_order_by +} + +# aggregate avg on columns +type joblines_status_avg_fields { + count: Float +} + +# order by avg() on columns of table "joblines_status" +input joblines_status_avg_order_by { + count: order_by +} + +# Boolean expression to filter rows from the table "joblines_status". All fields are combined with a logical 'AND'. +input joblines_status_bool_exp { + _and: [joblines_status_bool_exp] + _not: joblines_status_bool_exp + _or: [joblines_status_bool_exp] + count: bigint_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + part_type: String_comparison_exp + status: String_comparison_exp +} + +# aggregate max on columns +type joblines_status_max_fields { + count: bigint + jobid: uuid + part_type: String + status: String +} + +# order by max() on columns of table "joblines_status" +input joblines_status_max_order_by { + count: order_by + jobid: order_by + part_type: order_by + status: order_by +} + +# aggregate min on columns +type joblines_status_min_fields { + count: bigint + jobid: uuid + part_type: String + status: String +} + +# order by min() on columns of table "joblines_status" +input joblines_status_min_order_by { + count: order_by + jobid: order_by + part_type: order_by + status: order_by +} + +# ordering options when selecting data from "joblines_status" +input joblines_status_order_by { + count: order_by + job: jobs_order_by + jobid: order_by + part_type: order_by + status: order_by +} + +# select columns of table "joblines_status" +enum joblines_status_select_column { + # column name + count + + # column name + jobid + + # column name + part_type + + # column name + status +} + +# aggregate stddev on columns +type joblines_status_stddev_fields { + count: Float +} + +# order by stddev() on columns of table "joblines_status" +input joblines_status_stddev_order_by { + count: order_by +} + +# aggregate stddev_pop on columns +type joblines_status_stddev_pop_fields { + count: Float +} + +# order by stddev_pop() on columns of table "joblines_status" +input joblines_status_stddev_pop_order_by { + count: order_by +} + +# aggregate stddev_samp on columns +type joblines_status_stddev_samp_fields { + count: Float +} + +# order by stddev_samp() on columns of table "joblines_status" +input joblines_status_stddev_samp_order_by { + count: order_by +} + +# aggregate sum on columns +type joblines_status_sum_fields { + count: bigint +} + +# order by sum() on columns of table "joblines_status" +input joblines_status_sum_order_by { + count: order_by +} + +# aggregate var_pop on columns +type joblines_status_var_pop_fields { + count: Float +} + +# order by var_pop() on columns of table "joblines_status" +input joblines_status_var_pop_order_by { + count: order_by +} + +# aggregate var_samp on columns +type joblines_status_var_samp_fields { + count: Float +} + +# order by var_samp() on columns of table "joblines_status" +input joblines_status_var_samp_order_by { + count: order_by +} + +# aggregate variance on columns +type joblines_status_variance_fields { + count: Float +} + +# order by variance() on columns of table "joblines_status" +input joblines_status_variance_order_by { + count: order_by +} + +# aggregate stddev on columns +type joblines_stddev_fields { + act_price: Float + bett_amt: Float + bett_pctg: Float + db_hrs: Float + db_price: Float + est_seq: Float + lbr_amt: Float + line_no: Float + line_ref: Float + misc_amt: Float + mod_lb_hrs: Float + paint_stg: Float + paint_tone: Float + part_qty: Float + prt_dsmk_m: Float + prt_dsmk_p: Float + unq_seq: Float +} + +# order by stddev() on columns of table "joblines" +input joblines_stddev_order_by { + act_price: order_by + bett_amt: order_by + bett_pctg: order_by + db_hrs: order_by + db_price: order_by + est_seq: order_by + lbr_amt: order_by + line_no: order_by + line_ref: order_by + misc_amt: order_by + mod_lb_hrs: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + unq_seq: order_by +} + +# aggregate stddev_pop on columns +type joblines_stddev_pop_fields { + act_price: Float + bett_amt: Float + bett_pctg: Float + db_hrs: Float + db_price: Float + est_seq: Float + lbr_amt: Float + line_no: Float + line_ref: Float + misc_amt: Float + mod_lb_hrs: Float + paint_stg: Float + paint_tone: Float + part_qty: Float + prt_dsmk_m: Float + prt_dsmk_p: Float + unq_seq: Float +} + +# order by stddev_pop() on columns of table "joblines" +input joblines_stddev_pop_order_by { + act_price: order_by + bett_amt: order_by + bett_pctg: order_by + db_hrs: order_by + db_price: order_by + est_seq: order_by + lbr_amt: order_by + line_no: order_by + line_ref: order_by + misc_amt: order_by + mod_lb_hrs: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + unq_seq: order_by +} + +# aggregate stddev_samp on columns +type joblines_stddev_samp_fields { + act_price: Float + bett_amt: Float + bett_pctg: Float + db_hrs: Float + db_price: Float + est_seq: Float + lbr_amt: Float + line_no: Float + line_ref: Float + misc_amt: Float + mod_lb_hrs: Float + paint_stg: Float + paint_tone: Float + part_qty: Float + prt_dsmk_m: Float + prt_dsmk_p: Float + unq_seq: Float +} + +# order by stddev_samp() on columns of table "joblines" +input joblines_stddev_samp_order_by { + act_price: order_by + bett_amt: order_by + bett_pctg: order_by + db_hrs: order_by + db_price: order_by + est_seq: order_by + lbr_amt: order_by + line_no: order_by + line_ref: order_by + misc_amt: order_by + mod_lb_hrs: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + unq_seq: order_by +} + +# aggregate sum on columns +type joblines_sum_fields { + act_price: numeric + bett_amt: numeric + bett_pctg: numeric + db_hrs: numeric + db_price: numeric + est_seq: Int + lbr_amt: numeric + line_no: Int + line_ref: numeric + misc_amt: numeric + mod_lb_hrs: numeric + paint_stg: Int + paint_tone: Int + part_qty: Int + prt_dsmk_m: numeric + prt_dsmk_p: numeric + unq_seq: Int +} + +# order by sum() on columns of table "joblines" +input joblines_sum_order_by { + act_price: order_by + bett_amt: order_by + bett_pctg: order_by + db_hrs: order_by + db_price: order_by + est_seq: order_by + lbr_amt: order_by + line_no: order_by + line_ref: order_by + misc_amt: order_by + mod_lb_hrs: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + unq_seq: order_by +} + +# update columns of table "joblines" +enum joblines_update_column { + # column name + act_price + + # column name + alt_co_id + + # column name + alt_overrd + + # column name + alt_part_i + + # column name + alt_partm + + # column name + alt_partno + + # column name + bett_amt + + # column name + bett_pctg + + # column name + bett_tax + + # column name + bett_type + + # column name + cert_part + + # column name + created_at + + # column name + db_hrs + + # column name + db_price + + # column name + db_ref + + # column name + est_seq + + # column name + glass_flag + + # column name + id + + # column name + jobid + + # column name + lbr_amt + + # column name + lbr_hrs_j + + # column name + lbr_inc + + # column name + lbr_op + + # column name + lbr_op_j + + # column name + lbr_tax + + # column name + lbr_typ_j + + # column name + line_desc + + # column name + line_ind + + # column name + line_no + + # column name + line_ref + + # column name + location + + # column name + misc_amt + + # column name + misc_sublt + + # column name + misc_tax + + # column name + mod_lb_hrs + + # column name + mod_lbr_ty + + # column name + notes + + # column name + oem_partno + + # column name + op_code_desc + + # column name + paint_stg + + # column name + paint_tone + + # column name + part_qty + + # column name + part_type + + # column name + price_inc + + # column name + price_j + + # column name + prt_dsmk_m + + # column name + prt_dsmk_p + + # column name + removed + + # column name + status + + # column name + tax_part + + # column name + unq_seq + + # column name + updated_at +} + +# aggregate var_pop on columns +type joblines_var_pop_fields { + act_price: Float + bett_amt: Float + bett_pctg: Float + db_hrs: Float + db_price: Float + est_seq: Float + lbr_amt: Float + line_no: Float + line_ref: Float + misc_amt: Float + mod_lb_hrs: Float + paint_stg: Float + paint_tone: Float + part_qty: Float + prt_dsmk_m: Float + prt_dsmk_p: Float + unq_seq: Float +} + +# order by var_pop() on columns of table "joblines" +input joblines_var_pop_order_by { + act_price: order_by + bett_amt: order_by + bett_pctg: order_by + db_hrs: order_by + db_price: order_by + est_seq: order_by + lbr_amt: order_by + line_no: order_by + line_ref: order_by + misc_amt: order_by + mod_lb_hrs: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + unq_seq: order_by +} + +# aggregate var_samp on columns +type joblines_var_samp_fields { + act_price: Float + bett_amt: Float + bett_pctg: Float + db_hrs: Float + db_price: Float + est_seq: Float + lbr_amt: Float + line_no: Float + line_ref: Float + misc_amt: Float + mod_lb_hrs: Float + paint_stg: Float + paint_tone: Float + part_qty: Float + prt_dsmk_m: Float + prt_dsmk_p: Float + unq_seq: Float +} + +# order by var_samp() on columns of table "joblines" +input joblines_var_samp_order_by { + act_price: order_by + bett_amt: order_by + bett_pctg: order_by + db_hrs: order_by + db_price: order_by + est_seq: order_by + lbr_amt: order_by + line_no: order_by + line_ref: order_by + misc_amt: order_by + mod_lb_hrs: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + unq_seq: order_by +} + +# aggregate variance on columns +type joblines_variance_fields { + act_price: Float + bett_amt: Float + bett_pctg: Float + db_hrs: Float + db_price: Float + est_seq: Float + lbr_amt: Float + line_no: Float + line_ref: Float + misc_amt: Float + mod_lb_hrs: Float + paint_stg: Float + paint_tone: Float + part_qty: Float + prt_dsmk_m: Float + prt_dsmk_p: Float + unq_seq: Float +} + +# order by variance() on columns of table "joblines" +input joblines_variance_order_by { + act_price: order_by + bett_amt: order_by + bett_pctg: order_by + db_hrs: order_by + db_price: order_by + est_seq: order_by + lbr_amt: order_by + line_no: order_by + line_ref: order_by + misc_amt: order_by + mod_lb_hrs: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + unq_seq: order_by +} + +# columns and relationships of "jobs" +type jobs { + actual_completion: timestamptz + actual_delivery: timestamptz + actual_in: timestamptz + adj_g_disc: numeric + adj_strdis: numeric + adj_towdis: numeric + adjustment_bottom_line: numeric + agt_addr1: String + agt_addr2: String + agt_city: String + agt_co_id: String + agt_co_nm: String + agt_ct_fn: String + agt_ct_ln: String + agt_ct_ph: String + agt_ct_phx: String + agt_ctry: String + agt_ea: String + agt_fax: String + agt_faxx: String + agt_lic_no: String + agt_ph1: String + agt_ph1x: String + agt_ph2: String + agt_ph2x: String + agt_st: String + agt_zip: String + + # An array relationship + appointments( + # distinct select on columns + distinct_on: [appointments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [appointments_order_by!] + + # filter the rows returned + where: appointments_bool_exp + ): [appointments!]! + + # An aggregated array relationship + appointments_aggregate( + # distinct select on columns + distinct_on: [appointments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [appointments_order_by!] + + # filter the rows returned + where: appointments_bool_exp + ): appointments_aggregate! + area_of_damage( + # JSON select path + path: String + ): jsonb + asgn_date: date + asgn_no: String + asgn_type: String + + # An array relationship + available_jobs( + # distinct select on columns + distinct_on: [available_jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [available_jobs_order_by!] + + # filter the rows returned + where: available_jobs_bool_exp + ): [available_jobs!]! + + # An aggregated array relationship + available_jobs_aggregate( + # distinct select on columns + distinct_on: [available_jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [available_jobs_order_by!] + + # filter the rows returned + where: available_jobs_bool_exp + ): available_jobs_aggregate! + + # An object relationship + bodyshop: bodyshops! + cat_no: String + category: String + + # An array relationship + cccontracts( + # distinct select on columns + distinct_on: [cccontracts_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [cccontracts_order_by!] + + # filter the rows returned + where: cccontracts_bool_exp + ): [cccontracts!]! + + # An aggregated array relationship + cccontracts_aggregate( + # distinct select on columns + distinct_on: [cccontracts_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [cccontracts_order_by!] + + # filter the rows returned + where: cccontracts_bool_exp + ): cccontracts_aggregate! + cieca_stl( + # JSON select path + path: String + ): jsonb + cieca_ttl( + # JSON select path + path: String + ): jsonb + ciecaid: String + class: String + clm_addr1: String + clm_addr2: String + clm_city: String + clm_ct_fn: String + clm_ct_ln: String + clm_ct_ph: String + clm_ct_phx: String + clm_ctry: String + clm_ea: String + clm_fax: String + clm_faxx: String + clm_no: String + clm_ofc_id: String + clm_ofc_nm: String + clm_ph1: String + clm_ph1x: String + clm_ph2: String + clm_ph2x: String + clm_st: String + clm_title: String + clm_total: numeric + clm_zip: String + converted: Boolean! + created_at: timestamptz! + + # An array relationship + csiinvites( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): [csi!]! + + # An aggregated array relationship + csiinvites_aggregate( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): csi_aggregate! + csr: String + cust_pr: String + date_closed: timestamptz + date_estimated: timestamptz + date_exported: timestamptz + date_invoiced: timestamptz + date_open: timestamptz + date_scheduled: timestamptz + ded_amt: numeric + ded_status: String + deliverchecklist( + # JSON select path + path: String + ): jsonb + depreciation_taxes: numeric + + # An array relationship + documents( + # distinct select on columns + distinct_on: [documents_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [documents_order_by!] + + # filter the rows returned + where: documents_bool_exp + ): [documents!]! + + # An aggregated array relationship + documents_aggregate( + # distinct select on columns + distinct_on: [documents_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [documents_order_by!] + + # filter the rows returned + where: documents_bool_exp + ): documents_aggregate! + employee_body: uuid + + # An object relationship + employee_body_rel: employees + employee_prep: uuid + + # An object relationship + employee_prep_rel: employees + employee_refinish: uuid + + # An object relationship + employee_refinish_rel: employees + est_addr1: String + est_addr2: String + est_city: String + est_co_nm: String + est_ct_fn: String + est_ct_ln: String + est_ctry: String + est_ea: String + est_number: bigint! + est_ph1: String + est_st: String + est_zip: String + federal_tax_payable: numeric + federal_tax_rate: numeric + g_bett_amt: numeric + id: uuid! + inproduction: Boolean! + ins_addr1: String + ins_addr2: String + ins_city: String + ins_co_id: String + ins_co_nm: String + ins_ct_fn: String + ins_ct_ln: String + ins_ct_ph: String + ins_ct_phx: String + ins_ctry: String + ins_ea: String + ins_fax: String + ins_faxx: String + ins_memo: String + ins_ph1: String + ins_ph1x: String + ins_ph2: String + ins_ph2x: String + ins_st: String + ins_title: String + ins_zip: String + insd_addr1: String + insd_addr2: String + insd_city: String + insd_co_nm: String + insd_ctry: String + insd_ea: String + insd_fax: String + insd_faxx: String + insd_fn: String + insd_ln: String + insd_ph1: String + insd_ph1x: String + insd_ph2: String + insd_ph2x: String + insd_st: String + insd_title: String + insd_zip: String + intakechecklist( + # JSON select path + path: String + ): jsonb + + # An object relationship + invoice: invoices + invoice_allocation( + # JSON select path + path: String + ): jsonb + invoice_date: date + + # An array relationship + invoices( + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): [invoices!]! + + # An aggregated array relationship + invoices_aggregate( + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): invoices_aggregate! + + # An array relationship + job_conversations( + # distinct select on columns + distinct_on: [job_conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [job_conversations_order_by!] + + # filter the rows returned + where: job_conversations_bool_exp + ): [job_conversations!]! + + # An aggregated array relationship + job_conversations_aggregate( + # distinct select on columns + distinct_on: [job_conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [job_conversations_order_by!] + + # filter the rows returned + where: job_conversations_bool_exp + ): job_conversations_aggregate! + job_totals( + # JSON select path + path: String + ): jsonb + + # An array relationship + joblines( + # distinct select on columns + distinct_on: [joblines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_order_by!] + + # filter the rows returned + where: joblines_bool_exp + ): [joblines!]! + + # An aggregated array relationship + joblines_aggregate( + # distinct select on columns + distinct_on: [joblines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_order_by!] + + # filter the rows returned + where: joblines_bool_exp + ): joblines_aggregate! + + # An array relationship + joblines_status( + # distinct select on columns + distinct_on: [joblines_status_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_status_order_by!] + + # filter the rows returned + where: joblines_status_bool_exp + ): [joblines_status!]! + + # An aggregated array relationship + joblines_status_aggregate( + # distinct select on columns + distinct_on: [joblines_status_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_status_order_by!] + + # filter the rows returned + where: joblines_status_bool_exp + ): joblines_status_aggregate! + kanbanparent: String + kmin: Int + kmout: Int + labor_rate_desc: String + labor_rate_id: String + local_tax_rate: numeric + loss_cat: String + loss_date: date + loss_desc: String + loss_type: String + + # An array relationship + notes( + # distinct select on columns + distinct_on: [notes_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [notes_order_by!] + + # filter the rows returned + where: notes_bool_exp + ): [notes!]! + + # An aggregated array relationship + notes_aggregate( + # distinct select on columns + distinct_on: [notes_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [notes_order_by!] + + # filter the rows returned + where: notes_bool_exp + ): notes_aggregate! + other_amount_payable: numeric + + # An object relationship + owner: owners + owner_owing: numeric + ownerid: uuid + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fax: String + ownr_faxx: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph1x: String + ownr_ph2: String + ownr_ph2x: String + ownr_st: String + ownr_title: String + ownr_zip: String + + # An array relationship + parts_orders( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): [parts_orders!]! + + # An aggregated array relationship + parts_orders_aggregate( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): parts_orders_aggregate! + parts_tax_rates( + # JSON select path + path: String + ): jsonb + pay_amt: numeric + pay_chknm: String + pay_date: date + pay_type: String + payee_nms: String + + # An array relationship + payments( + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): [payments!]! + + # An aggregated array relationship + payments_aggregate( + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): payments_aggregate! + plate_no: String + plate_st: String + po_number: String + policy_no: String + production_vars( + # JSON select path + path: String + ): jsonb + rate_atp: numeric + rate_la1: numeric + rate_la2: numeric + rate_la3: numeric + rate_la4: numeric + rate_laa: numeric + rate_lab: numeric + rate_lad: numeric + rate_lae: numeric + rate_laf: numeric + rate_lag: numeric + rate_lam: numeric + rate_lar: numeric + rate_las: numeric + rate_lau: numeric + rate_ma2s: numeric + rate_ma2t: numeric + rate_ma3s: numeric + rate_mabl: numeric + rate_macs: numeric + rate_mahw: numeric + rate_mapa: numeric + rate_mash: numeric + rate_matd: numeric + referral_source: String + regie_number: String + ro_number: String + scheduled_completion: timestamptz + scheduled_delivery: timestamptz + scheduled_in: timestamptz + + # An array relationship + scoreboards( + # distinct select on columns + distinct_on: [scoreboard_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [scoreboard_order_by!] + + # filter the rows returned + where: scoreboard_bool_exp + ): [scoreboard!]! + + # An aggregated array relationship + scoreboards_aggregate( + # distinct select on columns + distinct_on: [scoreboard_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [scoreboard_order_by!] + + # filter the rows returned + where: scoreboard_bool_exp + ): scoreboard_aggregate! + selling_dealer: String + selling_dealer_contact: String + servicing_dealer: String + servicing_dealer_contact: String + shopid: uuid! + special_coverage_policy: Boolean! + state_tax_rate: numeric + status: String! + storage_payable: numeric + tax_lbr_rt: numeric + tax_levies_rt: numeric + tax_paint_mat_rt: numeric + tax_predis: numeric + tax_prethr: numeric + + # Parts Tax Rate + tax_pstthr: numeric + tax_registration_number: String + tax_str_rt: numeric + + # Sublet Tax Rate + tax_sub_rt: numeric + tax_thramt: numeric + + # Towing Tax Rate + tax_tow_rt: numeric + theft_ind: Boolean + + # An array relationship + timetickets( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): [timetickets!]! + + # An aggregated array relationship + timetickets_aggregate( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): timetickets_aggregate! + tlos_ind: Boolean + towing_payable: numeric + unit_number: String + updated_at: timestamptz! + v_color: String + v_make_desc: String + v_model_desc: String + v_model_yr: String + v_vin: String + + # An object relationship + vehicle: vehicles + vehicleid: uuid +} + +# aggregated selection of "jobs" +type jobs_aggregate { + aggregate: jobs_aggregate_fields + nodes: [jobs!]! +} + +# aggregate fields of "jobs" +type jobs_aggregate_fields { + avg: jobs_avg_fields + count(columns: [jobs_select_column!], distinct: Boolean): Int + max: jobs_max_fields + min: jobs_min_fields + stddev: jobs_stddev_fields + stddev_pop: jobs_stddev_pop_fields + stddev_samp: jobs_stddev_samp_fields + sum: jobs_sum_fields + var_pop: jobs_var_pop_fields + var_samp: jobs_var_samp_fields + variance: jobs_variance_fields +} + +# order by aggregate values of table "jobs" +input jobs_aggregate_order_by { + avg: jobs_avg_order_by + count: order_by + max: jobs_max_order_by + min: jobs_min_order_by + stddev: jobs_stddev_order_by + stddev_pop: jobs_stddev_pop_order_by + stddev_samp: jobs_stddev_samp_order_by + sum: jobs_sum_order_by + var_pop: jobs_var_pop_order_by + var_samp: jobs_var_samp_order_by + variance: jobs_variance_order_by +} + +# append existing jsonb value of filtered columns with new jsonb value +input jobs_append_input { + area_of_damage: jsonb + cieca_stl: jsonb + cieca_ttl: jsonb + deliverchecklist: jsonb + intakechecklist: jsonb + invoice_allocation: jsonb + job_totals: jsonb + parts_tax_rates: jsonb + production_vars: jsonb +} + +# input type for inserting array relation for remote table "jobs" +input jobs_arr_rel_insert_input { + data: [jobs_insert_input!]! + on_conflict: jobs_on_conflict +} + +# aggregate avg on columns +type jobs_avg_fields { + adj_g_disc: Float + adj_strdis: Float + adj_towdis: Float + adjustment_bottom_line: Float + clm_total: Float + ded_amt: Float + depreciation_taxes: Float + est_number: Float + federal_tax_payable: Float + federal_tax_rate: Float + g_bett_amt: Float + kmin: Float + kmout: Float + local_tax_rate: Float + other_amount_payable: Float + owner_owing: Float + pay_amt: Float + rate_atp: Float + rate_la1: Float + rate_la2: Float + rate_la3: Float + rate_la4: Float + rate_laa: Float + rate_lab: Float + rate_lad: Float + rate_lae: Float + rate_laf: Float + rate_lag: Float + rate_lam: Float + rate_lar: Float + rate_las: Float + rate_lau: Float + rate_ma2s: Float + rate_ma2t: Float + rate_ma3s: Float + rate_mabl: Float + rate_macs: Float + rate_mahw: Float + rate_mapa: Float + rate_mash: Float + rate_matd: Float + state_tax_rate: Float + storage_payable: Float + tax_lbr_rt: Float + tax_levies_rt: Float + tax_paint_mat_rt: Float + tax_predis: Float + tax_prethr: Float + tax_pstthr: Float + tax_str_rt: Float + tax_sub_rt: Float + tax_thramt: Float + tax_tow_rt: Float + towing_payable: Float +} + +# order by avg() on columns of table "jobs" +input jobs_avg_order_by { + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + clm_total: order_by + ded_amt: order_by + depreciation_taxes: order_by + est_number: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + kmin: order_by + kmout: order_by + local_tax_rate: order_by + other_amount_payable: order_by + owner_owing: order_by + pay_amt: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + state_tax_rate: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by +} + +# Boolean expression to filter rows from the table "jobs". All fields are combined with a logical 'AND'. +input jobs_bool_exp { + _and: [jobs_bool_exp] + _not: jobs_bool_exp + _or: [jobs_bool_exp] + actual_completion: timestamptz_comparison_exp + actual_delivery: timestamptz_comparison_exp + actual_in: timestamptz_comparison_exp + adj_g_disc: numeric_comparison_exp + adj_strdis: numeric_comparison_exp + adj_towdis: numeric_comparison_exp + adjustment_bottom_line: numeric_comparison_exp + agt_addr1: String_comparison_exp + agt_addr2: String_comparison_exp + agt_city: String_comparison_exp + agt_co_id: String_comparison_exp + agt_co_nm: String_comparison_exp + agt_ct_fn: String_comparison_exp + agt_ct_ln: String_comparison_exp + agt_ct_ph: String_comparison_exp + agt_ct_phx: String_comparison_exp + agt_ctry: String_comparison_exp + agt_ea: String_comparison_exp + agt_fax: String_comparison_exp + agt_faxx: String_comparison_exp + agt_lic_no: String_comparison_exp + agt_ph1: String_comparison_exp + agt_ph1x: String_comparison_exp + agt_ph2: String_comparison_exp + agt_ph2x: String_comparison_exp + agt_st: String_comparison_exp + agt_zip: String_comparison_exp + appointments: appointments_bool_exp + area_of_damage: jsonb_comparison_exp + asgn_date: date_comparison_exp + asgn_no: String_comparison_exp + asgn_type: String_comparison_exp + available_jobs: available_jobs_bool_exp + bodyshop: bodyshops_bool_exp + cat_no: String_comparison_exp + category: String_comparison_exp + cccontracts: cccontracts_bool_exp + cieca_stl: jsonb_comparison_exp + cieca_ttl: jsonb_comparison_exp + ciecaid: String_comparison_exp + class: String_comparison_exp + clm_addr1: String_comparison_exp + clm_addr2: String_comparison_exp + clm_city: String_comparison_exp + clm_ct_fn: String_comparison_exp + clm_ct_ln: String_comparison_exp + clm_ct_ph: String_comparison_exp + clm_ct_phx: String_comparison_exp + clm_ctry: String_comparison_exp + clm_ea: String_comparison_exp + clm_fax: String_comparison_exp + clm_faxx: String_comparison_exp + clm_no: String_comparison_exp + clm_ofc_id: String_comparison_exp + clm_ofc_nm: String_comparison_exp + clm_ph1: String_comparison_exp + clm_ph1x: String_comparison_exp + clm_ph2: String_comparison_exp + clm_ph2x: String_comparison_exp + clm_st: String_comparison_exp + clm_title: String_comparison_exp + clm_total: numeric_comparison_exp + clm_zip: String_comparison_exp + converted: Boolean_comparison_exp + created_at: timestamptz_comparison_exp + csiinvites: csi_bool_exp + csr: String_comparison_exp + cust_pr: String_comparison_exp + date_closed: timestamptz_comparison_exp + date_estimated: timestamptz_comparison_exp + date_exported: timestamptz_comparison_exp + date_invoiced: timestamptz_comparison_exp + date_open: timestamptz_comparison_exp + date_scheduled: timestamptz_comparison_exp + ded_amt: numeric_comparison_exp + ded_status: String_comparison_exp + deliverchecklist: jsonb_comparison_exp + depreciation_taxes: numeric_comparison_exp + documents: documents_bool_exp + employee_body: uuid_comparison_exp + employee_body_rel: employees_bool_exp + employee_prep: uuid_comparison_exp + employee_prep_rel: employees_bool_exp + employee_refinish: uuid_comparison_exp + employee_refinish_rel: employees_bool_exp + est_addr1: String_comparison_exp + est_addr2: String_comparison_exp + est_city: String_comparison_exp + est_co_nm: String_comparison_exp + est_ct_fn: String_comparison_exp + est_ct_ln: String_comparison_exp + est_ctry: String_comparison_exp + est_ea: String_comparison_exp + est_number: bigint_comparison_exp + est_ph1: String_comparison_exp + est_st: String_comparison_exp + est_zip: String_comparison_exp + federal_tax_payable: numeric_comparison_exp + federal_tax_rate: numeric_comparison_exp + g_bett_amt: numeric_comparison_exp + id: uuid_comparison_exp + inproduction: Boolean_comparison_exp + ins_addr1: String_comparison_exp + ins_addr2: String_comparison_exp + ins_city: String_comparison_exp + ins_co_id: String_comparison_exp + ins_co_nm: String_comparison_exp + ins_ct_fn: String_comparison_exp + ins_ct_ln: String_comparison_exp + ins_ct_ph: String_comparison_exp + ins_ct_phx: String_comparison_exp + ins_ctry: String_comparison_exp + ins_ea: String_comparison_exp + ins_fax: String_comparison_exp + ins_faxx: String_comparison_exp + ins_memo: String_comparison_exp + ins_ph1: String_comparison_exp + ins_ph1x: String_comparison_exp + ins_ph2: String_comparison_exp + ins_ph2x: String_comparison_exp + ins_st: String_comparison_exp + ins_title: String_comparison_exp + ins_zip: String_comparison_exp + insd_addr1: String_comparison_exp + insd_addr2: String_comparison_exp + insd_city: String_comparison_exp + insd_co_nm: String_comparison_exp + insd_ctry: String_comparison_exp + insd_ea: String_comparison_exp + insd_fax: String_comparison_exp + insd_faxx: String_comparison_exp + insd_fn: String_comparison_exp + insd_ln: String_comparison_exp + insd_ph1: String_comparison_exp + insd_ph1x: String_comparison_exp + insd_ph2: String_comparison_exp + insd_ph2x: String_comparison_exp + insd_st: String_comparison_exp + insd_title: String_comparison_exp + insd_zip: String_comparison_exp + intakechecklist: jsonb_comparison_exp + invoice: invoices_bool_exp + invoice_allocation: jsonb_comparison_exp + invoice_date: date_comparison_exp + invoices: invoices_bool_exp + job_conversations: job_conversations_bool_exp + job_totals: jsonb_comparison_exp + joblines: joblines_bool_exp + joblines_status: joblines_status_bool_exp + kanbanparent: String_comparison_exp + kmin: Int_comparison_exp + kmout: Int_comparison_exp + labor_rate_desc: String_comparison_exp + labor_rate_id: String_comparison_exp + local_tax_rate: numeric_comparison_exp + loss_cat: String_comparison_exp + loss_date: date_comparison_exp + loss_desc: String_comparison_exp + loss_type: String_comparison_exp + notes: notes_bool_exp + other_amount_payable: numeric_comparison_exp + owner: owners_bool_exp + owner_owing: numeric_comparison_exp + ownerid: uuid_comparison_exp + ownr_addr1: String_comparison_exp + ownr_addr2: String_comparison_exp + ownr_city: String_comparison_exp + ownr_co_nm: String_comparison_exp + ownr_ctry: String_comparison_exp + ownr_ea: String_comparison_exp + ownr_fax: String_comparison_exp + ownr_faxx: String_comparison_exp + ownr_fn: String_comparison_exp + ownr_ln: String_comparison_exp + ownr_ph1: String_comparison_exp + ownr_ph1x: String_comparison_exp + ownr_ph2: String_comparison_exp + ownr_ph2x: String_comparison_exp + ownr_st: String_comparison_exp + ownr_title: String_comparison_exp + ownr_zip: String_comparison_exp + parts_orders: parts_orders_bool_exp + parts_tax_rates: jsonb_comparison_exp + pay_amt: numeric_comparison_exp + pay_chknm: String_comparison_exp + pay_date: date_comparison_exp + pay_type: String_comparison_exp + payee_nms: String_comparison_exp + payments: payments_bool_exp + plate_no: String_comparison_exp + plate_st: String_comparison_exp + po_number: String_comparison_exp + policy_no: String_comparison_exp + production_vars: jsonb_comparison_exp + rate_atp: numeric_comparison_exp + rate_la1: numeric_comparison_exp + rate_la2: numeric_comparison_exp + rate_la3: numeric_comparison_exp + rate_la4: numeric_comparison_exp + rate_laa: numeric_comparison_exp + rate_lab: numeric_comparison_exp + rate_lad: numeric_comparison_exp + rate_lae: numeric_comparison_exp + rate_laf: numeric_comparison_exp + rate_lag: numeric_comparison_exp + rate_lam: numeric_comparison_exp + rate_lar: numeric_comparison_exp + rate_las: numeric_comparison_exp + rate_lau: numeric_comparison_exp + rate_ma2s: numeric_comparison_exp + rate_ma2t: numeric_comparison_exp + rate_ma3s: numeric_comparison_exp + rate_mabl: numeric_comparison_exp + rate_macs: numeric_comparison_exp + rate_mahw: numeric_comparison_exp + rate_mapa: numeric_comparison_exp + rate_mash: numeric_comparison_exp + rate_matd: numeric_comparison_exp + referral_source: String_comparison_exp + regie_number: String_comparison_exp + ro_number: String_comparison_exp + scheduled_completion: timestamptz_comparison_exp + scheduled_delivery: timestamptz_comparison_exp + scheduled_in: timestamptz_comparison_exp + scoreboards: scoreboard_bool_exp + selling_dealer: String_comparison_exp + selling_dealer_contact: String_comparison_exp + servicing_dealer: String_comparison_exp + servicing_dealer_contact: String_comparison_exp + shopid: uuid_comparison_exp + special_coverage_policy: Boolean_comparison_exp + state_tax_rate: numeric_comparison_exp + status: String_comparison_exp + storage_payable: numeric_comparison_exp + tax_lbr_rt: numeric_comparison_exp + tax_levies_rt: numeric_comparison_exp + tax_paint_mat_rt: numeric_comparison_exp + tax_predis: numeric_comparison_exp + tax_prethr: numeric_comparison_exp + tax_pstthr: numeric_comparison_exp + tax_registration_number: String_comparison_exp + tax_str_rt: numeric_comparison_exp + tax_sub_rt: numeric_comparison_exp + tax_thramt: numeric_comparison_exp + tax_tow_rt: numeric_comparison_exp + theft_ind: Boolean_comparison_exp + timetickets: timetickets_bool_exp + tlos_ind: Boolean_comparison_exp + towing_payable: numeric_comparison_exp + unit_number: String_comparison_exp + updated_at: timestamptz_comparison_exp + v_color: String_comparison_exp + v_make_desc: String_comparison_exp + v_model_desc: String_comparison_exp + v_model_yr: String_comparison_exp + v_vin: String_comparison_exp + vehicle: vehicles_bool_exp + vehicleid: uuid_comparison_exp +} + +# unique or primary key constraints on table "jobs" +enum jobs_constraint { + # unique or primary key constraint + jobs_pkey +} + +# delete the field or element with specified path (for JSON arrays, negative integers count from the end) +input jobs_delete_at_path_input { + area_of_damage: [String] + cieca_stl: [String] + cieca_ttl: [String] + deliverchecklist: [String] + intakechecklist: [String] + invoice_allocation: [String] + job_totals: [String] + parts_tax_rates: [String] + production_vars: [String] +} + +# delete the array element with specified index (negative integers count from the +# end). throws an error if top level container is not an array +input jobs_delete_elem_input { + area_of_damage: Int + cieca_stl: Int + cieca_ttl: Int + deliverchecklist: Int + intakechecklist: Int + invoice_allocation: Int + job_totals: Int + parts_tax_rates: Int + production_vars: Int +} + +# delete key/value pair or string element. key/value pairs are matched based on their key value +input jobs_delete_key_input { + area_of_damage: String + cieca_stl: String + cieca_ttl: String + deliverchecklist: String + intakechecklist: String + invoice_allocation: String + job_totals: String + parts_tax_rates: String + production_vars: String +} + +# input type for incrementing integer column in table "jobs" +input jobs_inc_input { + adj_g_disc: numeric + adj_strdis: numeric + adj_towdis: numeric + adjustment_bottom_line: numeric + clm_total: numeric + ded_amt: numeric + depreciation_taxes: numeric + est_number: bigint + federal_tax_payable: numeric + federal_tax_rate: numeric + g_bett_amt: numeric + kmin: Int + kmout: Int + local_tax_rate: numeric + other_amount_payable: numeric + owner_owing: numeric + pay_amt: numeric + rate_atp: numeric + rate_la1: numeric + rate_la2: numeric + rate_la3: numeric + rate_la4: numeric + rate_laa: numeric + rate_lab: numeric + rate_lad: numeric + rate_lae: numeric + rate_laf: numeric + rate_lag: numeric + rate_lam: numeric + rate_lar: numeric + rate_las: numeric + rate_lau: numeric + rate_ma2s: numeric + rate_ma2t: numeric + rate_ma3s: numeric + rate_mabl: numeric + rate_macs: numeric + rate_mahw: numeric + rate_mapa: numeric + rate_mash: numeric + rate_matd: numeric + state_tax_rate: numeric + storage_payable: numeric + tax_lbr_rt: numeric + tax_levies_rt: numeric + tax_paint_mat_rt: numeric + tax_predis: numeric + tax_prethr: numeric + tax_pstthr: numeric + tax_str_rt: numeric + tax_sub_rt: numeric + tax_thramt: numeric + tax_tow_rt: numeric + towing_payable: numeric +} + +# input type for inserting data into table "jobs" +input jobs_insert_input { + actual_completion: timestamptz + actual_delivery: timestamptz + actual_in: timestamptz + adj_g_disc: numeric + adj_strdis: numeric + adj_towdis: numeric + adjustment_bottom_line: numeric + agt_addr1: String + agt_addr2: String + agt_city: String + agt_co_id: String + agt_co_nm: String + agt_ct_fn: String + agt_ct_ln: String + agt_ct_ph: String + agt_ct_phx: String + agt_ctry: String + agt_ea: String + agt_fax: String + agt_faxx: String + agt_lic_no: String + agt_ph1: String + agt_ph1x: String + agt_ph2: String + agt_ph2x: String + agt_st: String + agt_zip: String + appointments: appointments_arr_rel_insert_input + area_of_damage: jsonb + asgn_date: date + asgn_no: String + asgn_type: String + available_jobs: available_jobs_arr_rel_insert_input + bodyshop: bodyshops_obj_rel_insert_input + cat_no: String + category: String + cccontracts: cccontracts_arr_rel_insert_input + cieca_stl: jsonb + cieca_ttl: jsonb + ciecaid: String + class: String + clm_addr1: String + clm_addr2: String + clm_city: String + clm_ct_fn: String + clm_ct_ln: String + clm_ct_ph: String + clm_ct_phx: String + clm_ctry: String + clm_ea: String + clm_fax: String + clm_faxx: String + clm_no: String + clm_ofc_id: String + clm_ofc_nm: String + clm_ph1: String + clm_ph1x: String + clm_ph2: String + clm_ph2x: String + clm_st: String + clm_title: String + clm_total: numeric + clm_zip: String + converted: Boolean + created_at: timestamptz + csiinvites: csi_arr_rel_insert_input + csr: String + cust_pr: String + date_closed: timestamptz + date_estimated: timestamptz + date_exported: timestamptz + date_invoiced: timestamptz + date_open: timestamptz + date_scheduled: timestamptz + ded_amt: numeric + ded_status: String + deliverchecklist: jsonb + depreciation_taxes: numeric + documents: documents_arr_rel_insert_input + employee_body: uuid + employee_body_rel: employees_obj_rel_insert_input + employee_prep: uuid + employee_prep_rel: employees_obj_rel_insert_input + employee_refinish: uuid + employee_refinish_rel: employees_obj_rel_insert_input + est_addr1: String + est_addr2: String + est_city: String + est_co_nm: String + est_ct_fn: String + est_ct_ln: String + est_ctry: String + est_ea: String + est_number: bigint + est_ph1: String + est_st: String + est_zip: String + federal_tax_payable: numeric + federal_tax_rate: numeric + g_bett_amt: numeric + id: uuid + inproduction: Boolean + ins_addr1: String + ins_addr2: String + ins_city: String + ins_co_id: String + ins_co_nm: String + ins_ct_fn: String + ins_ct_ln: String + ins_ct_ph: String + ins_ct_phx: String + ins_ctry: String + ins_ea: String + ins_fax: String + ins_faxx: String + ins_memo: String + ins_ph1: String + ins_ph1x: String + ins_ph2: String + ins_ph2x: String + ins_st: String + ins_title: String + ins_zip: String + insd_addr1: String + insd_addr2: String + insd_city: String + insd_co_nm: String + insd_ctry: String + insd_ea: String + insd_fax: String + insd_faxx: String + insd_fn: String + insd_ln: String + insd_ph1: String + insd_ph1x: String + insd_ph2: String + insd_ph2x: String + insd_st: String + insd_title: String + insd_zip: String + intakechecklist: jsonb + invoice: invoices_obj_rel_insert_input + invoice_allocation: jsonb + invoice_date: date + invoices: invoices_arr_rel_insert_input + job_conversations: job_conversations_arr_rel_insert_input + job_totals: jsonb + joblines: joblines_arr_rel_insert_input + kanbanparent: String + kmin: Int + kmout: Int + labor_rate_desc: String + labor_rate_id: String + local_tax_rate: numeric + loss_cat: String + loss_date: date + loss_desc: String + loss_type: String + notes: notes_arr_rel_insert_input + other_amount_payable: numeric + owner: owners_obj_rel_insert_input + owner_owing: numeric + ownerid: uuid + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fax: String + ownr_faxx: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph1x: String + ownr_ph2: String + ownr_ph2x: String + ownr_st: String + ownr_title: String + ownr_zip: String + parts_orders: parts_orders_arr_rel_insert_input + parts_tax_rates: jsonb + pay_amt: numeric + pay_chknm: String + pay_date: date + pay_type: String + payee_nms: String + payments: payments_arr_rel_insert_input + plate_no: String + plate_st: String + po_number: String + policy_no: String + production_vars: jsonb + rate_atp: numeric + rate_la1: numeric + rate_la2: numeric + rate_la3: numeric + rate_la4: numeric + rate_laa: numeric + rate_lab: numeric + rate_lad: numeric + rate_lae: numeric + rate_laf: numeric + rate_lag: numeric + rate_lam: numeric + rate_lar: numeric + rate_las: numeric + rate_lau: numeric + rate_ma2s: numeric + rate_ma2t: numeric + rate_ma3s: numeric + rate_mabl: numeric + rate_macs: numeric + rate_mahw: numeric + rate_mapa: numeric + rate_mash: numeric + rate_matd: numeric + referral_source: String + regie_number: String + ro_number: String + scheduled_completion: timestamptz + scheduled_delivery: timestamptz + scheduled_in: timestamptz + scoreboards: scoreboard_arr_rel_insert_input + selling_dealer: String + selling_dealer_contact: String + servicing_dealer: String + servicing_dealer_contact: String + shopid: uuid + special_coverage_policy: Boolean + state_tax_rate: numeric + status: String + storage_payable: numeric + tax_lbr_rt: numeric + tax_levies_rt: numeric + tax_paint_mat_rt: numeric + tax_predis: numeric + tax_prethr: numeric + tax_pstthr: numeric + tax_registration_number: String + tax_str_rt: numeric + tax_sub_rt: numeric + tax_thramt: numeric + tax_tow_rt: numeric + theft_ind: Boolean + timetickets: timetickets_arr_rel_insert_input + tlos_ind: Boolean + towing_payable: numeric + unit_number: String + updated_at: timestamptz + v_color: String + v_make_desc: String + v_model_desc: String + v_model_yr: String + v_vin: String + vehicle: vehicles_obj_rel_insert_input + vehicleid: uuid +} + +# aggregate max on columns +type jobs_max_fields { + actual_completion: timestamptz + actual_delivery: timestamptz + actual_in: timestamptz + adj_g_disc: numeric + adj_strdis: numeric + adj_towdis: numeric + adjustment_bottom_line: numeric + agt_addr1: String + agt_addr2: String + agt_city: String + agt_co_id: String + agt_co_nm: String + agt_ct_fn: String + agt_ct_ln: String + agt_ct_ph: String + agt_ct_phx: String + agt_ctry: String + agt_ea: String + agt_fax: String + agt_faxx: String + agt_lic_no: String + agt_ph1: String + agt_ph1x: String + agt_ph2: String + agt_ph2x: String + agt_st: String + agt_zip: String + asgn_date: date + asgn_no: String + asgn_type: String + cat_no: String + category: String + ciecaid: String + class: String + clm_addr1: String + clm_addr2: String + clm_city: String + clm_ct_fn: String + clm_ct_ln: String + clm_ct_ph: String + clm_ct_phx: String + clm_ctry: String + clm_ea: String + clm_fax: String + clm_faxx: String + clm_no: String + clm_ofc_id: String + clm_ofc_nm: String + clm_ph1: String + clm_ph1x: String + clm_ph2: String + clm_ph2x: String + clm_st: String + clm_title: String + clm_total: numeric + clm_zip: String + created_at: timestamptz + csr: String + cust_pr: String + date_closed: timestamptz + date_estimated: timestamptz + date_exported: timestamptz + date_invoiced: timestamptz + date_open: timestamptz + date_scheduled: timestamptz + ded_amt: numeric + ded_status: String + depreciation_taxes: numeric + employee_body: uuid + employee_prep: uuid + employee_refinish: uuid + est_addr1: String + est_addr2: String + est_city: String + est_co_nm: String + est_ct_fn: String + est_ct_ln: String + est_ctry: String + est_ea: String + est_number: bigint + est_ph1: String + est_st: String + est_zip: String + federal_tax_payable: numeric + federal_tax_rate: numeric + g_bett_amt: numeric + id: uuid + ins_addr1: String + ins_addr2: String + ins_city: String + ins_co_id: String + ins_co_nm: String + ins_ct_fn: String + ins_ct_ln: String + ins_ct_ph: String + ins_ct_phx: String + ins_ctry: String + ins_ea: String + ins_fax: String + ins_faxx: String + ins_memo: String + ins_ph1: String + ins_ph1x: String + ins_ph2: String + ins_ph2x: String + ins_st: String + ins_title: String + ins_zip: String + insd_addr1: String + insd_addr2: String + insd_city: String + insd_co_nm: String + insd_ctry: String + insd_ea: String + insd_fax: String + insd_faxx: String + insd_fn: String + insd_ln: String + insd_ph1: String + insd_ph1x: String + insd_ph2: String + insd_ph2x: String + insd_st: String + insd_title: String + insd_zip: String + invoice_date: date + kanbanparent: String + kmin: Int + kmout: Int + labor_rate_desc: String + labor_rate_id: String + local_tax_rate: numeric + loss_cat: String + loss_date: date + loss_desc: String + loss_type: String + other_amount_payable: numeric + owner_owing: numeric + ownerid: uuid + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fax: String + ownr_faxx: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph1x: String + ownr_ph2: String + ownr_ph2x: String + ownr_st: String + ownr_title: String + ownr_zip: String + pay_amt: numeric + pay_chknm: String + pay_date: date + pay_type: String + payee_nms: String + plate_no: String + plate_st: String + po_number: String + policy_no: String + rate_atp: numeric + rate_la1: numeric + rate_la2: numeric + rate_la3: numeric + rate_la4: numeric + rate_laa: numeric + rate_lab: numeric + rate_lad: numeric + rate_lae: numeric + rate_laf: numeric + rate_lag: numeric + rate_lam: numeric + rate_lar: numeric + rate_las: numeric + rate_lau: numeric + rate_ma2s: numeric + rate_ma2t: numeric + rate_ma3s: numeric + rate_mabl: numeric + rate_macs: numeric + rate_mahw: numeric + rate_mapa: numeric + rate_mash: numeric + rate_matd: numeric + referral_source: String + regie_number: String + ro_number: String + scheduled_completion: timestamptz + scheduled_delivery: timestamptz + scheduled_in: timestamptz + selling_dealer: String + selling_dealer_contact: String + servicing_dealer: String + servicing_dealer_contact: String + shopid: uuid + state_tax_rate: numeric + status: String + storage_payable: numeric + tax_lbr_rt: numeric + tax_levies_rt: numeric + tax_paint_mat_rt: numeric + tax_predis: numeric + tax_prethr: numeric + tax_pstthr: numeric + tax_registration_number: String + tax_str_rt: numeric + tax_sub_rt: numeric + tax_thramt: numeric + tax_tow_rt: numeric + towing_payable: numeric + unit_number: String + updated_at: timestamptz + v_color: String + v_make_desc: String + v_model_desc: String + v_model_yr: String + v_vin: String + vehicleid: uuid +} + +# order by max() on columns of table "jobs" +input jobs_max_order_by { + actual_completion: order_by + actual_delivery: order_by + actual_in: order_by + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + agt_addr1: order_by + agt_addr2: order_by + agt_city: order_by + agt_co_id: order_by + agt_co_nm: order_by + agt_ct_fn: order_by + agt_ct_ln: order_by + agt_ct_ph: order_by + agt_ct_phx: order_by + agt_ctry: order_by + agt_ea: order_by + agt_fax: order_by + agt_faxx: order_by + agt_lic_no: order_by + agt_ph1: order_by + agt_ph1x: order_by + agt_ph2: order_by + agt_ph2x: order_by + agt_st: order_by + agt_zip: order_by + asgn_date: order_by + asgn_no: order_by + asgn_type: order_by + cat_no: order_by + category: order_by + ciecaid: order_by + class: order_by + clm_addr1: order_by + clm_addr2: order_by + clm_city: order_by + clm_ct_fn: order_by + clm_ct_ln: order_by + clm_ct_ph: order_by + clm_ct_phx: order_by + clm_ctry: order_by + clm_ea: order_by + clm_fax: order_by + clm_faxx: order_by + clm_no: order_by + clm_ofc_id: order_by + clm_ofc_nm: order_by + clm_ph1: order_by + clm_ph1x: order_by + clm_ph2: order_by + clm_ph2x: order_by + clm_st: order_by + clm_title: order_by + clm_total: order_by + clm_zip: order_by + created_at: order_by + csr: order_by + cust_pr: order_by + date_closed: order_by + date_estimated: order_by + date_exported: order_by + date_invoiced: order_by + date_open: order_by + date_scheduled: order_by + ded_amt: order_by + ded_status: order_by + depreciation_taxes: order_by + employee_body: order_by + employee_prep: order_by + employee_refinish: order_by + est_addr1: order_by + est_addr2: order_by + est_city: order_by + est_co_nm: order_by + est_ct_fn: order_by + est_ct_ln: order_by + est_ctry: order_by + est_ea: order_by + est_number: order_by + est_ph1: order_by + est_st: order_by + est_zip: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + id: order_by + ins_addr1: order_by + ins_addr2: order_by + ins_city: order_by + ins_co_id: order_by + ins_co_nm: order_by + ins_ct_fn: order_by + ins_ct_ln: order_by + ins_ct_ph: order_by + ins_ct_phx: order_by + ins_ctry: order_by + ins_ea: order_by + ins_fax: order_by + ins_faxx: order_by + ins_memo: order_by + ins_ph1: order_by + ins_ph1x: order_by + ins_ph2: order_by + ins_ph2x: order_by + ins_st: order_by + ins_title: order_by + ins_zip: order_by + insd_addr1: order_by + insd_addr2: order_by + insd_city: order_by + insd_co_nm: order_by + insd_ctry: order_by + insd_ea: order_by + insd_fax: order_by + insd_faxx: order_by + insd_fn: order_by + insd_ln: order_by + insd_ph1: order_by + insd_ph1x: order_by + insd_ph2: order_by + insd_ph2x: order_by + insd_st: order_by + insd_title: order_by + insd_zip: order_by + invoice_date: order_by + kanbanparent: order_by + kmin: order_by + kmout: order_by + labor_rate_desc: order_by + labor_rate_id: order_by + local_tax_rate: order_by + loss_cat: order_by + loss_date: order_by + loss_desc: order_by + loss_type: order_by + other_amount_payable: order_by + owner_owing: order_by + ownerid: order_by + ownr_addr1: order_by + ownr_addr2: order_by + ownr_city: order_by + ownr_co_nm: order_by + ownr_ctry: order_by + ownr_ea: order_by + ownr_fax: order_by + ownr_faxx: order_by + ownr_fn: order_by + ownr_ln: order_by + ownr_ph1: order_by + ownr_ph1x: order_by + ownr_ph2: order_by + ownr_ph2x: order_by + ownr_st: order_by + ownr_title: order_by + ownr_zip: order_by + pay_amt: order_by + pay_chknm: order_by + pay_date: order_by + pay_type: order_by + payee_nms: order_by + plate_no: order_by + plate_st: order_by + po_number: order_by + policy_no: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + referral_source: order_by + regie_number: order_by + ro_number: order_by + scheduled_completion: order_by + scheduled_delivery: order_by + scheduled_in: order_by + selling_dealer: order_by + selling_dealer_contact: order_by + servicing_dealer: order_by + servicing_dealer_contact: order_by + shopid: order_by + state_tax_rate: order_by + status: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_registration_number: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by + unit_number: order_by + updated_at: order_by + v_color: order_by + v_make_desc: order_by + v_model_desc: order_by + v_model_yr: order_by + v_vin: order_by + vehicleid: order_by +} + +# aggregate min on columns +type jobs_min_fields { + actual_completion: timestamptz + actual_delivery: timestamptz + actual_in: timestamptz + adj_g_disc: numeric + adj_strdis: numeric + adj_towdis: numeric + adjustment_bottom_line: numeric + agt_addr1: String + agt_addr2: String + agt_city: String + agt_co_id: String + agt_co_nm: String + agt_ct_fn: String + agt_ct_ln: String + agt_ct_ph: String + agt_ct_phx: String + agt_ctry: String + agt_ea: String + agt_fax: String + agt_faxx: String + agt_lic_no: String + agt_ph1: String + agt_ph1x: String + agt_ph2: String + agt_ph2x: String + agt_st: String + agt_zip: String + asgn_date: date + asgn_no: String + asgn_type: String + cat_no: String + category: String + ciecaid: String + class: String + clm_addr1: String + clm_addr2: String + clm_city: String + clm_ct_fn: String + clm_ct_ln: String + clm_ct_ph: String + clm_ct_phx: String + clm_ctry: String + clm_ea: String + clm_fax: String + clm_faxx: String + clm_no: String + clm_ofc_id: String + clm_ofc_nm: String + clm_ph1: String + clm_ph1x: String + clm_ph2: String + clm_ph2x: String + clm_st: String + clm_title: String + clm_total: numeric + clm_zip: String + created_at: timestamptz + csr: String + cust_pr: String + date_closed: timestamptz + date_estimated: timestamptz + date_exported: timestamptz + date_invoiced: timestamptz + date_open: timestamptz + date_scheduled: timestamptz + ded_amt: numeric + ded_status: String + depreciation_taxes: numeric + employee_body: uuid + employee_prep: uuid + employee_refinish: uuid + est_addr1: String + est_addr2: String + est_city: String + est_co_nm: String + est_ct_fn: String + est_ct_ln: String + est_ctry: String + est_ea: String + est_number: bigint + est_ph1: String + est_st: String + est_zip: String + federal_tax_payable: numeric + federal_tax_rate: numeric + g_bett_amt: numeric + id: uuid + ins_addr1: String + ins_addr2: String + ins_city: String + ins_co_id: String + ins_co_nm: String + ins_ct_fn: String + ins_ct_ln: String + ins_ct_ph: String + ins_ct_phx: String + ins_ctry: String + ins_ea: String + ins_fax: String + ins_faxx: String + ins_memo: String + ins_ph1: String + ins_ph1x: String + ins_ph2: String + ins_ph2x: String + ins_st: String + ins_title: String + ins_zip: String + insd_addr1: String + insd_addr2: String + insd_city: String + insd_co_nm: String + insd_ctry: String + insd_ea: String + insd_fax: String + insd_faxx: String + insd_fn: String + insd_ln: String + insd_ph1: String + insd_ph1x: String + insd_ph2: String + insd_ph2x: String + insd_st: String + insd_title: String + insd_zip: String + invoice_date: date + kanbanparent: String + kmin: Int + kmout: Int + labor_rate_desc: String + labor_rate_id: String + local_tax_rate: numeric + loss_cat: String + loss_date: date + loss_desc: String + loss_type: String + other_amount_payable: numeric + owner_owing: numeric + ownerid: uuid + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fax: String + ownr_faxx: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph1x: String + ownr_ph2: String + ownr_ph2x: String + ownr_st: String + ownr_title: String + ownr_zip: String + pay_amt: numeric + pay_chknm: String + pay_date: date + pay_type: String + payee_nms: String + plate_no: String + plate_st: String + po_number: String + policy_no: String + rate_atp: numeric + rate_la1: numeric + rate_la2: numeric + rate_la3: numeric + rate_la4: numeric + rate_laa: numeric + rate_lab: numeric + rate_lad: numeric + rate_lae: numeric + rate_laf: numeric + rate_lag: numeric + rate_lam: numeric + rate_lar: numeric + rate_las: numeric + rate_lau: numeric + rate_ma2s: numeric + rate_ma2t: numeric + rate_ma3s: numeric + rate_mabl: numeric + rate_macs: numeric + rate_mahw: numeric + rate_mapa: numeric + rate_mash: numeric + rate_matd: numeric + referral_source: String + regie_number: String + ro_number: String + scheduled_completion: timestamptz + scheduled_delivery: timestamptz + scheduled_in: timestamptz + selling_dealer: String + selling_dealer_contact: String + servicing_dealer: String + servicing_dealer_contact: String + shopid: uuid + state_tax_rate: numeric + status: String + storage_payable: numeric + tax_lbr_rt: numeric + tax_levies_rt: numeric + tax_paint_mat_rt: numeric + tax_predis: numeric + tax_prethr: numeric + tax_pstthr: numeric + tax_registration_number: String + tax_str_rt: numeric + tax_sub_rt: numeric + tax_thramt: numeric + tax_tow_rt: numeric + towing_payable: numeric + unit_number: String + updated_at: timestamptz + v_color: String + v_make_desc: String + v_model_desc: String + v_model_yr: String + v_vin: String + vehicleid: uuid +} + +# order by min() on columns of table "jobs" +input jobs_min_order_by { + actual_completion: order_by + actual_delivery: order_by + actual_in: order_by + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + agt_addr1: order_by + agt_addr2: order_by + agt_city: order_by + agt_co_id: order_by + agt_co_nm: order_by + agt_ct_fn: order_by + agt_ct_ln: order_by + agt_ct_ph: order_by + agt_ct_phx: order_by + agt_ctry: order_by + agt_ea: order_by + agt_fax: order_by + agt_faxx: order_by + agt_lic_no: order_by + agt_ph1: order_by + agt_ph1x: order_by + agt_ph2: order_by + agt_ph2x: order_by + agt_st: order_by + agt_zip: order_by + asgn_date: order_by + asgn_no: order_by + asgn_type: order_by + cat_no: order_by + category: order_by + ciecaid: order_by + class: order_by + clm_addr1: order_by + clm_addr2: order_by + clm_city: order_by + clm_ct_fn: order_by + clm_ct_ln: order_by + clm_ct_ph: order_by + clm_ct_phx: order_by + clm_ctry: order_by + clm_ea: order_by + clm_fax: order_by + clm_faxx: order_by + clm_no: order_by + clm_ofc_id: order_by + clm_ofc_nm: order_by + clm_ph1: order_by + clm_ph1x: order_by + clm_ph2: order_by + clm_ph2x: order_by + clm_st: order_by + clm_title: order_by + clm_total: order_by + clm_zip: order_by + created_at: order_by + csr: order_by + cust_pr: order_by + date_closed: order_by + date_estimated: order_by + date_exported: order_by + date_invoiced: order_by + date_open: order_by + date_scheduled: order_by + ded_amt: order_by + ded_status: order_by + depreciation_taxes: order_by + employee_body: order_by + employee_prep: order_by + employee_refinish: order_by + est_addr1: order_by + est_addr2: order_by + est_city: order_by + est_co_nm: order_by + est_ct_fn: order_by + est_ct_ln: order_by + est_ctry: order_by + est_ea: order_by + est_number: order_by + est_ph1: order_by + est_st: order_by + est_zip: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + id: order_by + ins_addr1: order_by + ins_addr2: order_by + ins_city: order_by + ins_co_id: order_by + ins_co_nm: order_by + ins_ct_fn: order_by + ins_ct_ln: order_by + ins_ct_ph: order_by + ins_ct_phx: order_by + ins_ctry: order_by + ins_ea: order_by + ins_fax: order_by + ins_faxx: order_by + ins_memo: order_by + ins_ph1: order_by + ins_ph1x: order_by + ins_ph2: order_by + ins_ph2x: order_by + ins_st: order_by + ins_title: order_by + ins_zip: order_by + insd_addr1: order_by + insd_addr2: order_by + insd_city: order_by + insd_co_nm: order_by + insd_ctry: order_by + insd_ea: order_by + insd_fax: order_by + insd_faxx: order_by + insd_fn: order_by + insd_ln: order_by + insd_ph1: order_by + insd_ph1x: order_by + insd_ph2: order_by + insd_ph2x: order_by + insd_st: order_by + insd_title: order_by + insd_zip: order_by + invoice_date: order_by + kanbanparent: order_by + kmin: order_by + kmout: order_by + labor_rate_desc: order_by + labor_rate_id: order_by + local_tax_rate: order_by + loss_cat: order_by + loss_date: order_by + loss_desc: order_by + loss_type: order_by + other_amount_payable: order_by + owner_owing: order_by + ownerid: order_by + ownr_addr1: order_by + ownr_addr2: order_by + ownr_city: order_by + ownr_co_nm: order_by + ownr_ctry: order_by + ownr_ea: order_by + ownr_fax: order_by + ownr_faxx: order_by + ownr_fn: order_by + ownr_ln: order_by + ownr_ph1: order_by + ownr_ph1x: order_by + ownr_ph2: order_by + ownr_ph2x: order_by + ownr_st: order_by + ownr_title: order_by + ownr_zip: order_by + pay_amt: order_by + pay_chknm: order_by + pay_date: order_by + pay_type: order_by + payee_nms: order_by + plate_no: order_by + plate_st: order_by + po_number: order_by + policy_no: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + referral_source: order_by + regie_number: order_by + ro_number: order_by + scheduled_completion: order_by + scheduled_delivery: order_by + scheduled_in: order_by + selling_dealer: order_by + selling_dealer_contact: order_by + servicing_dealer: order_by + servicing_dealer_contact: order_by + shopid: order_by + state_tax_rate: order_by + status: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_registration_number: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by + unit_number: order_by + updated_at: order_by + v_color: order_by + v_make_desc: order_by + v_model_desc: order_by + v_model_yr: order_by + v_vin: order_by + vehicleid: order_by +} + +# response of any mutation on the table "jobs" +type jobs_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [jobs!]! +} + +# input type for inserting object relation for remote table "jobs" +input jobs_obj_rel_insert_input { + data: jobs_insert_input! + on_conflict: jobs_on_conflict +} + +# on conflict condition type for table "jobs" +input jobs_on_conflict { + constraint: jobs_constraint! + update_columns: [jobs_update_column!]! + where: jobs_bool_exp +} + +# ordering options when selecting data from "jobs" +input jobs_order_by { + actual_completion: order_by + actual_delivery: order_by + actual_in: order_by + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + agt_addr1: order_by + agt_addr2: order_by + agt_city: order_by + agt_co_id: order_by + agt_co_nm: order_by + agt_ct_fn: order_by + agt_ct_ln: order_by + agt_ct_ph: order_by + agt_ct_phx: order_by + agt_ctry: order_by + agt_ea: order_by + agt_fax: order_by + agt_faxx: order_by + agt_lic_no: order_by + agt_ph1: order_by + agt_ph1x: order_by + agt_ph2: order_by + agt_ph2x: order_by + agt_st: order_by + agt_zip: order_by + appointments_aggregate: appointments_aggregate_order_by + area_of_damage: order_by + asgn_date: order_by + asgn_no: order_by + asgn_type: order_by + available_jobs_aggregate: available_jobs_aggregate_order_by + bodyshop: bodyshops_order_by + cat_no: order_by + category: order_by + cccontracts_aggregate: cccontracts_aggregate_order_by + cieca_stl: order_by + cieca_ttl: order_by + ciecaid: order_by + class: order_by + clm_addr1: order_by + clm_addr2: order_by + clm_city: order_by + clm_ct_fn: order_by + clm_ct_ln: order_by + clm_ct_ph: order_by + clm_ct_phx: order_by + clm_ctry: order_by + clm_ea: order_by + clm_fax: order_by + clm_faxx: order_by + clm_no: order_by + clm_ofc_id: order_by + clm_ofc_nm: order_by + clm_ph1: order_by + clm_ph1x: order_by + clm_ph2: order_by + clm_ph2x: order_by + clm_st: order_by + clm_title: order_by + clm_total: order_by + clm_zip: order_by + converted: order_by + created_at: order_by + csiinvites_aggregate: csi_aggregate_order_by + csr: order_by + cust_pr: order_by + date_closed: order_by + date_estimated: order_by + date_exported: order_by + date_invoiced: order_by + date_open: order_by + date_scheduled: order_by + ded_amt: order_by + ded_status: order_by + deliverchecklist: order_by + depreciation_taxes: order_by + documents_aggregate: documents_aggregate_order_by + employee_body: order_by + employee_body_rel: employees_order_by + employee_prep: order_by + employee_prep_rel: employees_order_by + employee_refinish: order_by + employee_refinish_rel: employees_order_by + est_addr1: order_by + est_addr2: order_by + est_city: order_by + est_co_nm: order_by + est_ct_fn: order_by + est_ct_ln: order_by + est_ctry: order_by + est_ea: order_by + est_number: order_by + est_ph1: order_by + est_st: order_by + est_zip: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + id: order_by + inproduction: order_by + ins_addr1: order_by + ins_addr2: order_by + ins_city: order_by + ins_co_id: order_by + ins_co_nm: order_by + ins_ct_fn: order_by + ins_ct_ln: order_by + ins_ct_ph: order_by + ins_ct_phx: order_by + ins_ctry: order_by + ins_ea: order_by + ins_fax: order_by + ins_faxx: order_by + ins_memo: order_by + ins_ph1: order_by + ins_ph1x: order_by + ins_ph2: order_by + ins_ph2x: order_by + ins_st: order_by + ins_title: order_by + ins_zip: order_by + insd_addr1: order_by + insd_addr2: order_by + insd_city: order_by + insd_co_nm: order_by + insd_ctry: order_by + insd_ea: order_by + insd_fax: order_by + insd_faxx: order_by + insd_fn: order_by + insd_ln: order_by + insd_ph1: order_by + insd_ph1x: order_by + insd_ph2: order_by + insd_ph2x: order_by + insd_st: order_by + insd_title: order_by + insd_zip: order_by + intakechecklist: order_by + invoice: invoices_order_by + invoice_allocation: order_by + invoice_date: order_by + invoices_aggregate: invoices_aggregate_order_by + job_conversations_aggregate: job_conversations_aggregate_order_by + job_totals: order_by + joblines_aggregate: joblines_aggregate_order_by + joblines_status_aggregate: joblines_status_aggregate_order_by + kanbanparent: order_by + kmin: order_by + kmout: order_by + labor_rate_desc: order_by + labor_rate_id: order_by + local_tax_rate: order_by + loss_cat: order_by + loss_date: order_by + loss_desc: order_by + loss_type: order_by + notes_aggregate: notes_aggregate_order_by + other_amount_payable: order_by + owner: owners_order_by + owner_owing: order_by + ownerid: order_by + ownr_addr1: order_by + ownr_addr2: order_by + ownr_city: order_by + ownr_co_nm: order_by + ownr_ctry: order_by + ownr_ea: order_by + ownr_fax: order_by + ownr_faxx: order_by + ownr_fn: order_by + ownr_ln: order_by + ownr_ph1: order_by + ownr_ph1x: order_by + ownr_ph2: order_by + ownr_ph2x: order_by + ownr_st: order_by + ownr_title: order_by + ownr_zip: order_by + parts_orders_aggregate: parts_orders_aggregate_order_by + parts_tax_rates: order_by + pay_amt: order_by + pay_chknm: order_by + pay_date: order_by + pay_type: order_by + payee_nms: order_by + payments_aggregate: payments_aggregate_order_by + plate_no: order_by + plate_st: order_by + po_number: order_by + policy_no: order_by + production_vars: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + referral_source: order_by + regie_number: order_by + ro_number: order_by + scheduled_completion: order_by + scheduled_delivery: order_by + scheduled_in: order_by + scoreboards_aggregate: scoreboard_aggregate_order_by + selling_dealer: order_by + selling_dealer_contact: order_by + servicing_dealer: order_by + servicing_dealer_contact: order_by + shopid: order_by + special_coverage_policy: order_by + state_tax_rate: order_by + status: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_registration_number: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + theft_ind: order_by + timetickets_aggregate: timetickets_aggregate_order_by + tlos_ind: order_by + towing_payable: order_by + unit_number: order_by + updated_at: order_by + v_color: order_by + v_make_desc: order_by + v_model_desc: order_by + v_model_yr: order_by + v_vin: order_by + vehicle: vehicles_order_by + vehicleid: order_by +} + +# primary key columns input for table: "jobs" +input jobs_pk_columns_input { + id: uuid! +} + +# prepend existing jsonb value of filtered columns with new jsonb value +input jobs_prepend_input { + area_of_damage: jsonb + cieca_stl: jsonb + cieca_ttl: jsonb + deliverchecklist: jsonb + intakechecklist: jsonb + invoice_allocation: jsonb + job_totals: jsonb + parts_tax_rates: jsonb + production_vars: jsonb +} + +# select columns of table "jobs" +enum jobs_select_column { + # column name + actual_completion + + # column name + actual_delivery + + # column name + actual_in + + # column name + adj_g_disc + + # column name + adj_strdis + + # column name + adj_towdis + + # column name + adjustment_bottom_line + + # column name + agt_addr1 + + # column name + agt_addr2 + + # column name + agt_city + + # column name + agt_co_id + + # column name + agt_co_nm + + # column name + agt_ct_fn + + # column name + agt_ct_ln + + # column name + agt_ct_ph + + # column name + agt_ct_phx + + # column name + agt_ctry + + # column name + agt_ea + + # column name + agt_fax + + # column name + agt_faxx + + # column name + agt_lic_no + + # column name + agt_ph1 + + # column name + agt_ph1x + + # column name + agt_ph2 + + # column name + agt_ph2x + + # column name + agt_st + + # column name + agt_zip + + # column name + area_of_damage + + # column name + asgn_date + + # column name + asgn_no + + # column name + asgn_type + + # column name + cat_no + + # column name + category + + # column name + cieca_stl + + # column name + cieca_ttl + + # column name + ciecaid + + # column name + class + + # column name + clm_addr1 + + # column name + clm_addr2 + + # column name + clm_city + + # column name + clm_ct_fn + + # column name + clm_ct_ln + + # column name + clm_ct_ph + + # column name + clm_ct_phx + + # column name + clm_ctry + + # column name + clm_ea + + # column name + clm_fax + + # column name + clm_faxx + + # column name + clm_no + + # column name + clm_ofc_id + + # column name + clm_ofc_nm + + # column name + clm_ph1 + + # column name + clm_ph1x + + # column name + clm_ph2 + + # column name + clm_ph2x + + # column name + clm_st + + # column name + clm_title + + # column name + clm_total + + # column name + clm_zip + + # column name + converted + + # column name + created_at + + # column name + csr + + # column name + cust_pr + + # column name + date_closed + + # column name + date_estimated + + # column name + date_exported + + # column name + date_invoiced + + # column name + date_open + + # column name + date_scheduled + + # column name + ded_amt + + # column name + ded_status + + # column name + deliverchecklist + + # column name + depreciation_taxes + + # column name + employee_body + + # column name + employee_prep + + # column name + employee_refinish + + # column name + est_addr1 + + # column name + est_addr2 + + # column name + est_city + + # column name + est_co_nm + + # column name + est_ct_fn + + # column name + est_ct_ln + + # column name + est_ctry + + # column name + est_ea + + # column name + est_number + + # column name + est_ph1 + + # column name + est_st + + # column name + est_zip + + # column name + federal_tax_payable + + # column name + federal_tax_rate + + # column name + g_bett_amt + + # column name + id + + # column name + inproduction + + # column name + ins_addr1 + + # column name + ins_addr2 + + # column name + ins_city + + # column name + ins_co_id + + # column name + ins_co_nm + + # column name + ins_ct_fn + + # column name + ins_ct_ln + + # column name + ins_ct_ph + + # column name + ins_ct_phx + + # column name + ins_ctry + + # column name + ins_ea + + # column name + ins_fax + + # column name + ins_faxx + + # column name + ins_memo + + # column name + ins_ph1 + + # column name + ins_ph1x + + # column name + ins_ph2 + + # column name + ins_ph2x + + # column name + ins_st + + # column name + ins_title + + # column name + ins_zip + + # column name + insd_addr1 + + # column name + insd_addr2 + + # column name + insd_city + + # column name + insd_co_nm + + # column name + insd_ctry + + # column name + insd_ea + + # column name + insd_fax + + # column name + insd_faxx + + # column name + insd_fn + + # column name + insd_ln + + # column name + insd_ph1 + + # column name + insd_ph1x + + # column name + insd_ph2 + + # column name + insd_ph2x + + # column name + insd_st + + # column name + insd_title + + # column name + insd_zip + + # column name + intakechecklist + + # column name + invoice_allocation + + # column name + invoice_date + + # column name + job_totals + + # column name + kanbanparent + + # column name + kmin + + # column name + kmout + + # column name + labor_rate_desc + + # column name + labor_rate_id + + # column name + local_tax_rate + + # column name + loss_cat + + # column name + loss_date + + # column name + loss_desc + + # column name + loss_type + + # column name + other_amount_payable + + # column name + owner_owing + + # column name + ownerid + + # column name + ownr_addr1 + + # column name + ownr_addr2 + + # column name + ownr_city + + # column name + ownr_co_nm + + # column name + ownr_ctry + + # column name + ownr_ea + + # column name + ownr_fax + + # column name + ownr_faxx + + # column name + ownr_fn + + # column name + ownr_ln + + # column name + ownr_ph1 + + # column name + ownr_ph1x + + # column name + ownr_ph2 + + # column name + ownr_ph2x + + # column name + ownr_st + + # column name + ownr_title + + # column name + ownr_zip + + # column name + parts_tax_rates + + # column name + pay_amt + + # column name + pay_chknm + + # column name + pay_date + + # column name + pay_type + + # column name + payee_nms + + # column name + plate_no + + # column name + plate_st + + # column name + po_number + + # column name + policy_no + + # column name + production_vars + + # column name + rate_atp + + # column name + rate_la1 + + # column name + rate_la2 + + # column name + rate_la3 + + # column name + rate_la4 + + # column name + rate_laa + + # column name + rate_lab + + # column name + rate_lad + + # column name + rate_lae + + # column name + rate_laf + + # column name + rate_lag + + # column name + rate_lam + + # column name + rate_lar + + # column name + rate_las + + # column name + rate_lau + + # column name + rate_ma2s + + # column name + rate_ma2t + + # column name + rate_ma3s + + # column name + rate_mabl + + # column name + rate_macs + + # column name + rate_mahw + + # column name + rate_mapa + + # column name + rate_mash + + # column name + rate_matd + + # column name + referral_source + + # column name + regie_number + + # column name + ro_number + + # column name + scheduled_completion + + # column name + scheduled_delivery + + # column name + scheduled_in + + # column name + selling_dealer + + # column name + selling_dealer_contact + + # column name + servicing_dealer + + # column name + servicing_dealer_contact + + # column name + shopid + + # column name + special_coverage_policy + + # column name + state_tax_rate + + # column name + status + + # column name + storage_payable + + # column name + tax_lbr_rt + + # column name + tax_levies_rt + + # column name + tax_paint_mat_rt + + # column name + tax_predis + + # column name + tax_prethr + + # column name + tax_pstthr + + # column name + tax_registration_number + + # column name + tax_str_rt + + # column name + tax_sub_rt + + # column name + tax_thramt + + # column name + tax_tow_rt + + # column name + theft_ind + + # column name + tlos_ind + + # column name + towing_payable + + # column name + unit_number + + # column name + updated_at + + # column name + v_color + + # column name + v_make_desc + + # column name + v_model_desc + + # column name + v_model_yr + + # column name + v_vin + + # column name + vehicleid +} + +# input type for updating data in table "jobs" +input jobs_set_input { + actual_completion: timestamptz + actual_delivery: timestamptz + actual_in: timestamptz + adj_g_disc: numeric + adj_strdis: numeric + adj_towdis: numeric + adjustment_bottom_line: numeric + agt_addr1: String + agt_addr2: String + agt_city: String + agt_co_id: String + agt_co_nm: String + agt_ct_fn: String + agt_ct_ln: String + agt_ct_ph: String + agt_ct_phx: String + agt_ctry: String + agt_ea: String + agt_fax: String + agt_faxx: String + agt_lic_no: String + agt_ph1: String + agt_ph1x: String + agt_ph2: String + agt_ph2x: String + agt_st: String + agt_zip: String + area_of_damage: jsonb + asgn_date: date + asgn_no: String + asgn_type: String + cat_no: String + category: String + cieca_stl: jsonb + cieca_ttl: jsonb + ciecaid: String + class: String + clm_addr1: String + clm_addr2: String + clm_city: String + clm_ct_fn: String + clm_ct_ln: String + clm_ct_ph: String + clm_ct_phx: String + clm_ctry: String + clm_ea: String + clm_fax: String + clm_faxx: String + clm_no: String + clm_ofc_id: String + clm_ofc_nm: String + clm_ph1: String + clm_ph1x: String + clm_ph2: String + clm_ph2x: String + clm_st: String + clm_title: String + clm_total: numeric + clm_zip: String + converted: Boolean + created_at: timestamptz + csr: String + cust_pr: String + date_closed: timestamptz + date_estimated: timestamptz + date_exported: timestamptz + date_invoiced: timestamptz + date_open: timestamptz + date_scheduled: timestamptz + ded_amt: numeric + ded_status: String + deliverchecklist: jsonb + depreciation_taxes: numeric + employee_body: uuid + employee_prep: uuid + employee_refinish: uuid + est_addr1: String + est_addr2: String + est_city: String + est_co_nm: String + est_ct_fn: String + est_ct_ln: String + est_ctry: String + est_ea: String + est_number: bigint + est_ph1: String + est_st: String + est_zip: String + federal_tax_payable: numeric + federal_tax_rate: numeric + g_bett_amt: numeric + id: uuid + inproduction: Boolean + ins_addr1: String + ins_addr2: String + ins_city: String + ins_co_id: String + ins_co_nm: String + ins_ct_fn: String + ins_ct_ln: String + ins_ct_ph: String + ins_ct_phx: String + ins_ctry: String + ins_ea: String + ins_fax: String + ins_faxx: String + ins_memo: String + ins_ph1: String + ins_ph1x: String + ins_ph2: String + ins_ph2x: String + ins_st: String + ins_title: String + ins_zip: String + insd_addr1: String + insd_addr2: String + insd_city: String + insd_co_nm: String + insd_ctry: String + insd_ea: String + insd_fax: String + insd_faxx: String + insd_fn: String + insd_ln: String + insd_ph1: String + insd_ph1x: String + insd_ph2: String + insd_ph2x: String + insd_st: String + insd_title: String + insd_zip: String + intakechecklist: jsonb + invoice_allocation: jsonb + invoice_date: date + job_totals: jsonb + kanbanparent: String + kmin: Int + kmout: Int + labor_rate_desc: String + labor_rate_id: String + local_tax_rate: numeric + loss_cat: String + loss_date: date + loss_desc: String + loss_type: String + other_amount_payable: numeric + owner_owing: numeric + ownerid: uuid + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fax: String + ownr_faxx: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph1x: String + ownr_ph2: String + ownr_ph2x: String + ownr_st: String + ownr_title: String + ownr_zip: String + parts_tax_rates: jsonb + pay_amt: numeric + pay_chknm: String + pay_date: date + pay_type: String + payee_nms: String + plate_no: String + plate_st: String + po_number: String + policy_no: String + production_vars: jsonb + rate_atp: numeric + rate_la1: numeric + rate_la2: numeric + rate_la3: numeric + rate_la4: numeric + rate_laa: numeric + rate_lab: numeric + rate_lad: numeric + rate_lae: numeric + rate_laf: numeric + rate_lag: numeric + rate_lam: numeric + rate_lar: numeric + rate_las: numeric + rate_lau: numeric + rate_ma2s: numeric + rate_ma2t: numeric + rate_ma3s: numeric + rate_mabl: numeric + rate_macs: numeric + rate_mahw: numeric + rate_mapa: numeric + rate_mash: numeric + rate_matd: numeric + referral_source: String + regie_number: String + ro_number: String + scheduled_completion: timestamptz + scheduled_delivery: timestamptz + scheduled_in: timestamptz + selling_dealer: String + selling_dealer_contact: String + servicing_dealer: String + servicing_dealer_contact: String + shopid: uuid + special_coverage_policy: Boolean + state_tax_rate: numeric + status: String + storage_payable: numeric + tax_lbr_rt: numeric + tax_levies_rt: numeric + tax_paint_mat_rt: numeric + tax_predis: numeric + tax_prethr: numeric + tax_pstthr: numeric + tax_registration_number: String + tax_str_rt: numeric + tax_sub_rt: numeric + tax_thramt: numeric + tax_tow_rt: numeric + theft_ind: Boolean + tlos_ind: Boolean + towing_payable: numeric + unit_number: String + updated_at: timestamptz + v_color: String + v_make_desc: String + v_model_desc: String + v_model_yr: String + v_vin: String + vehicleid: uuid +} + +# aggregate stddev on columns +type jobs_stddev_fields { + adj_g_disc: Float + adj_strdis: Float + adj_towdis: Float + adjustment_bottom_line: Float + clm_total: Float + ded_amt: Float + depreciation_taxes: Float + est_number: Float + federal_tax_payable: Float + federal_tax_rate: Float + g_bett_amt: Float + kmin: Float + kmout: Float + local_tax_rate: Float + other_amount_payable: Float + owner_owing: Float + pay_amt: Float + rate_atp: Float + rate_la1: Float + rate_la2: Float + rate_la3: Float + rate_la4: Float + rate_laa: Float + rate_lab: Float + rate_lad: Float + rate_lae: Float + rate_laf: Float + rate_lag: Float + rate_lam: Float + rate_lar: Float + rate_las: Float + rate_lau: Float + rate_ma2s: Float + rate_ma2t: Float + rate_ma3s: Float + rate_mabl: Float + rate_macs: Float + rate_mahw: Float + rate_mapa: Float + rate_mash: Float + rate_matd: Float + state_tax_rate: Float + storage_payable: Float + tax_lbr_rt: Float + tax_levies_rt: Float + tax_paint_mat_rt: Float + tax_predis: Float + tax_prethr: Float + tax_pstthr: Float + tax_str_rt: Float + tax_sub_rt: Float + tax_thramt: Float + tax_tow_rt: Float + towing_payable: Float +} + +# order by stddev() on columns of table "jobs" +input jobs_stddev_order_by { + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + clm_total: order_by + ded_amt: order_by + depreciation_taxes: order_by + est_number: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + kmin: order_by + kmout: order_by + local_tax_rate: order_by + other_amount_payable: order_by + owner_owing: order_by + pay_amt: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + state_tax_rate: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by +} + +# aggregate stddev_pop on columns +type jobs_stddev_pop_fields { + adj_g_disc: Float + adj_strdis: Float + adj_towdis: Float + adjustment_bottom_line: Float + clm_total: Float + ded_amt: Float + depreciation_taxes: Float + est_number: Float + federal_tax_payable: Float + federal_tax_rate: Float + g_bett_amt: Float + kmin: Float + kmout: Float + local_tax_rate: Float + other_amount_payable: Float + owner_owing: Float + pay_amt: Float + rate_atp: Float + rate_la1: Float + rate_la2: Float + rate_la3: Float + rate_la4: Float + rate_laa: Float + rate_lab: Float + rate_lad: Float + rate_lae: Float + rate_laf: Float + rate_lag: Float + rate_lam: Float + rate_lar: Float + rate_las: Float + rate_lau: Float + rate_ma2s: Float + rate_ma2t: Float + rate_ma3s: Float + rate_mabl: Float + rate_macs: Float + rate_mahw: Float + rate_mapa: Float + rate_mash: Float + rate_matd: Float + state_tax_rate: Float + storage_payable: Float + tax_lbr_rt: Float + tax_levies_rt: Float + tax_paint_mat_rt: Float + tax_predis: Float + tax_prethr: Float + tax_pstthr: Float + tax_str_rt: Float + tax_sub_rt: Float + tax_thramt: Float + tax_tow_rt: Float + towing_payable: Float +} + +# order by stddev_pop() on columns of table "jobs" +input jobs_stddev_pop_order_by { + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + clm_total: order_by + ded_amt: order_by + depreciation_taxes: order_by + est_number: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + kmin: order_by + kmout: order_by + local_tax_rate: order_by + other_amount_payable: order_by + owner_owing: order_by + pay_amt: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + state_tax_rate: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by +} + +# aggregate stddev_samp on columns +type jobs_stddev_samp_fields { + adj_g_disc: Float + adj_strdis: Float + adj_towdis: Float + adjustment_bottom_line: Float + clm_total: Float + ded_amt: Float + depreciation_taxes: Float + est_number: Float + federal_tax_payable: Float + federal_tax_rate: Float + g_bett_amt: Float + kmin: Float + kmout: Float + local_tax_rate: Float + other_amount_payable: Float + owner_owing: Float + pay_amt: Float + rate_atp: Float + rate_la1: Float + rate_la2: Float + rate_la3: Float + rate_la4: Float + rate_laa: Float + rate_lab: Float + rate_lad: Float + rate_lae: Float + rate_laf: Float + rate_lag: Float + rate_lam: Float + rate_lar: Float + rate_las: Float + rate_lau: Float + rate_ma2s: Float + rate_ma2t: Float + rate_ma3s: Float + rate_mabl: Float + rate_macs: Float + rate_mahw: Float + rate_mapa: Float + rate_mash: Float + rate_matd: Float + state_tax_rate: Float + storage_payable: Float + tax_lbr_rt: Float + tax_levies_rt: Float + tax_paint_mat_rt: Float + tax_predis: Float + tax_prethr: Float + tax_pstthr: Float + tax_str_rt: Float + tax_sub_rt: Float + tax_thramt: Float + tax_tow_rt: Float + towing_payable: Float +} + +# order by stddev_samp() on columns of table "jobs" +input jobs_stddev_samp_order_by { + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + clm_total: order_by + ded_amt: order_by + depreciation_taxes: order_by + est_number: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + kmin: order_by + kmout: order_by + local_tax_rate: order_by + other_amount_payable: order_by + owner_owing: order_by + pay_amt: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + state_tax_rate: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by +} + +# aggregate sum on columns +type jobs_sum_fields { + adj_g_disc: numeric + adj_strdis: numeric + adj_towdis: numeric + adjustment_bottom_line: numeric + clm_total: numeric + ded_amt: numeric + depreciation_taxes: numeric + est_number: bigint + federal_tax_payable: numeric + federal_tax_rate: numeric + g_bett_amt: numeric + kmin: Int + kmout: Int + local_tax_rate: numeric + other_amount_payable: numeric + owner_owing: numeric + pay_amt: numeric + rate_atp: numeric + rate_la1: numeric + rate_la2: numeric + rate_la3: numeric + rate_la4: numeric + rate_laa: numeric + rate_lab: numeric + rate_lad: numeric + rate_lae: numeric + rate_laf: numeric + rate_lag: numeric + rate_lam: numeric + rate_lar: numeric + rate_las: numeric + rate_lau: numeric + rate_ma2s: numeric + rate_ma2t: numeric + rate_ma3s: numeric + rate_mabl: numeric + rate_macs: numeric + rate_mahw: numeric + rate_mapa: numeric + rate_mash: numeric + rate_matd: numeric + state_tax_rate: numeric + storage_payable: numeric + tax_lbr_rt: numeric + tax_levies_rt: numeric + tax_paint_mat_rt: numeric + tax_predis: numeric + tax_prethr: numeric + tax_pstthr: numeric + tax_str_rt: numeric + tax_sub_rt: numeric + tax_thramt: numeric + tax_tow_rt: numeric + towing_payable: numeric +} + +# order by sum() on columns of table "jobs" +input jobs_sum_order_by { + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + clm_total: order_by + ded_amt: order_by + depreciation_taxes: order_by + est_number: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + kmin: order_by + kmout: order_by + local_tax_rate: order_by + other_amount_payable: order_by + owner_owing: order_by + pay_amt: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + state_tax_rate: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by +} + +# update columns of table "jobs" +enum jobs_update_column { + # column name + actual_completion + + # column name + actual_delivery + + # column name + actual_in + + # column name + adj_g_disc + + # column name + adj_strdis + + # column name + adj_towdis + + # column name + adjustment_bottom_line + + # column name + agt_addr1 + + # column name + agt_addr2 + + # column name + agt_city + + # column name + agt_co_id + + # column name + agt_co_nm + + # column name + agt_ct_fn + + # column name + agt_ct_ln + + # column name + agt_ct_ph + + # column name + agt_ct_phx + + # column name + agt_ctry + + # column name + agt_ea + + # column name + agt_fax + + # column name + agt_faxx + + # column name + agt_lic_no + + # column name + agt_ph1 + + # column name + agt_ph1x + + # column name + agt_ph2 + + # column name + agt_ph2x + + # column name + agt_st + + # column name + agt_zip + + # column name + area_of_damage + + # column name + asgn_date + + # column name + asgn_no + + # column name + asgn_type + + # column name + cat_no + + # column name + category + + # column name + cieca_stl + + # column name + cieca_ttl + + # column name + ciecaid + + # column name + class + + # column name + clm_addr1 + + # column name + clm_addr2 + + # column name + clm_city + + # column name + clm_ct_fn + + # column name + clm_ct_ln + + # column name + clm_ct_ph + + # column name + clm_ct_phx + + # column name + clm_ctry + + # column name + clm_ea + + # column name + clm_fax + + # column name + clm_faxx + + # column name + clm_no + + # column name + clm_ofc_id + + # column name + clm_ofc_nm + + # column name + clm_ph1 + + # column name + clm_ph1x + + # column name + clm_ph2 + + # column name + clm_ph2x + + # column name + clm_st + + # column name + clm_title + + # column name + clm_total + + # column name + clm_zip + + # column name + converted + + # column name + created_at + + # column name + csr + + # column name + cust_pr + + # column name + date_closed + + # column name + date_estimated + + # column name + date_exported + + # column name + date_invoiced + + # column name + date_open + + # column name + date_scheduled + + # column name + ded_amt + + # column name + ded_status + + # column name + deliverchecklist + + # column name + depreciation_taxes + + # column name + employee_body + + # column name + employee_prep + + # column name + employee_refinish + + # column name + est_addr1 + + # column name + est_addr2 + + # column name + est_city + + # column name + est_co_nm + + # column name + est_ct_fn + + # column name + est_ct_ln + + # column name + est_ctry + + # column name + est_ea + + # column name + est_number + + # column name + est_ph1 + + # column name + est_st + + # column name + est_zip + + # column name + federal_tax_payable + + # column name + federal_tax_rate + + # column name + g_bett_amt + + # column name + id + + # column name + inproduction + + # column name + ins_addr1 + + # column name + ins_addr2 + + # column name + ins_city + + # column name + ins_co_id + + # column name + ins_co_nm + + # column name + ins_ct_fn + + # column name + ins_ct_ln + + # column name + ins_ct_ph + + # column name + ins_ct_phx + + # column name + ins_ctry + + # column name + ins_ea + + # column name + ins_fax + + # column name + ins_faxx + + # column name + ins_memo + + # column name + ins_ph1 + + # column name + ins_ph1x + + # column name + ins_ph2 + + # column name + ins_ph2x + + # column name + ins_st + + # column name + ins_title + + # column name + ins_zip + + # column name + insd_addr1 + + # column name + insd_addr2 + + # column name + insd_city + + # column name + insd_co_nm + + # column name + insd_ctry + + # column name + insd_ea + + # column name + insd_fax + + # column name + insd_faxx + + # column name + insd_fn + + # column name + insd_ln + + # column name + insd_ph1 + + # column name + insd_ph1x + + # column name + insd_ph2 + + # column name + insd_ph2x + + # column name + insd_st + + # column name + insd_title + + # column name + insd_zip + + # column name + intakechecklist + + # column name + invoice_allocation + + # column name + invoice_date + + # column name + job_totals + + # column name + kanbanparent + + # column name + kmin + + # column name + kmout + + # column name + labor_rate_desc + + # column name + labor_rate_id + + # column name + local_tax_rate + + # column name + loss_cat + + # column name + loss_date + + # column name + loss_desc + + # column name + loss_type + + # column name + other_amount_payable + + # column name + owner_owing + + # column name + ownerid + + # column name + ownr_addr1 + + # column name + ownr_addr2 + + # column name + ownr_city + + # column name + ownr_co_nm + + # column name + ownr_ctry + + # column name + ownr_ea + + # column name + ownr_fax + + # column name + ownr_faxx + + # column name + ownr_fn + + # column name + ownr_ln + + # column name + ownr_ph1 + + # column name + ownr_ph1x + + # column name + ownr_ph2 + + # column name + ownr_ph2x + + # column name + ownr_st + + # column name + ownr_title + + # column name + ownr_zip + + # column name + parts_tax_rates + + # column name + pay_amt + + # column name + pay_chknm + + # column name + pay_date + + # column name + pay_type + + # column name + payee_nms + + # column name + plate_no + + # column name + plate_st + + # column name + po_number + + # column name + policy_no + + # column name + production_vars + + # column name + rate_atp + + # column name + rate_la1 + + # column name + rate_la2 + + # column name + rate_la3 + + # column name + rate_la4 + + # column name + rate_laa + + # column name + rate_lab + + # column name + rate_lad + + # column name + rate_lae + + # column name + rate_laf + + # column name + rate_lag + + # column name + rate_lam + + # column name + rate_lar + + # column name + rate_las + + # column name + rate_lau + + # column name + rate_ma2s + + # column name + rate_ma2t + + # column name + rate_ma3s + + # column name + rate_mabl + + # column name + rate_macs + + # column name + rate_mahw + + # column name + rate_mapa + + # column name + rate_mash + + # column name + rate_matd + + # column name + referral_source + + # column name + regie_number + + # column name + ro_number + + # column name + scheduled_completion + + # column name + scheduled_delivery + + # column name + scheduled_in + + # column name + selling_dealer + + # column name + selling_dealer_contact + + # column name + servicing_dealer + + # column name + servicing_dealer_contact + + # column name + shopid + + # column name + special_coverage_policy + + # column name + state_tax_rate + + # column name + status + + # column name + storage_payable + + # column name + tax_lbr_rt + + # column name + tax_levies_rt + + # column name + tax_paint_mat_rt + + # column name + tax_predis + + # column name + tax_prethr + + # column name + tax_pstthr + + # column name + tax_registration_number + + # column name + tax_str_rt + + # column name + tax_sub_rt + + # column name + tax_thramt + + # column name + tax_tow_rt + + # column name + theft_ind + + # column name + tlos_ind + + # column name + towing_payable + + # column name + unit_number + + # column name + updated_at + + # column name + v_color + + # column name + v_make_desc + + # column name + v_model_desc + + # column name + v_model_yr + + # column name + v_vin + + # column name + vehicleid +} + +# aggregate var_pop on columns +type jobs_var_pop_fields { + adj_g_disc: Float + adj_strdis: Float + adj_towdis: Float + adjustment_bottom_line: Float + clm_total: Float + ded_amt: Float + depreciation_taxes: Float + est_number: Float + federal_tax_payable: Float + federal_tax_rate: Float + g_bett_amt: Float + kmin: Float + kmout: Float + local_tax_rate: Float + other_amount_payable: Float + owner_owing: Float + pay_amt: Float + rate_atp: Float + rate_la1: Float + rate_la2: Float + rate_la3: Float + rate_la4: Float + rate_laa: Float + rate_lab: Float + rate_lad: Float + rate_lae: Float + rate_laf: Float + rate_lag: Float + rate_lam: Float + rate_lar: Float + rate_las: Float + rate_lau: Float + rate_ma2s: Float + rate_ma2t: Float + rate_ma3s: Float + rate_mabl: Float + rate_macs: Float + rate_mahw: Float + rate_mapa: Float + rate_mash: Float + rate_matd: Float + state_tax_rate: Float + storage_payable: Float + tax_lbr_rt: Float + tax_levies_rt: Float + tax_paint_mat_rt: Float + tax_predis: Float + tax_prethr: Float + tax_pstthr: Float + tax_str_rt: Float + tax_sub_rt: Float + tax_thramt: Float + tax_tow_rt: Float + towing_payable: Float +} + +# order by var_pop() on columns of table "jobs" +input jobs_var_pop_order_by { + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + clm_total: order_by + ded_amt: order_by + depreciation_taxes: order_by + est_number: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + kmin: order_by + kmout: order_by + local_tax_rate: order_by + other_amount_payable: order_by + owner_owing: order_by + pay_amt: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + state_tax_rate: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by +} + +# aggregate var_samp on columns +type jobs_var_samp_fields { + adj_g_disc: Float + adj_strdis: Float + adj_towdis: Float + adjustment_bottom_line: Float + clm_total: Float + ded_amt: Float + depreciation_taxes: Float + est_number: Float + federal_tax_payable: Float + federal_tax_rate: Float + g_bett_amt: Float + kmin: Float + kmout: Float + local_tax_rate: Float + other_amount_payable: Float + owner_owing: Float + pay_amt: Float + rate_atp: Float + rate_la1: Float + rate_la2: Float + rate_la3: Float + rate_la4: Float + rate_laa: Float + rate_lab: Float + rate_lad: Float + rate_lae: Float + rate_laf: Float + rate_lag: Float + rate_lam: Float + rate_lar: Float + rate_las: Float + rate_lau: Float + rate_ma2s: Float + rate_ma2t: Float + rate_ma3s: Float + rate_mabl: Float + rate_macs: Float + rate_mahw: Float + rate_mapa: Float + rate_mash: Float + rate_matd: Float + state_tax_rate: Float + storage_payable: Float + tax_lbr_rt: Float + tax_levies_rt: Float + tax_paint_mat_rt: Float + tax_predis: Float + tax_prethr: Float + tax_pstthr: Float + tax_str_rt: Float + tax_sub_rt: Float + tax_thramt: Float + tax_tow_rt: Float + towing_payable: Float +} + +# order by var_samp() on columns of table "jobs" +input jobs_var_samp_order_by { + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + clm_total: order_by + ded_amt: order_by + depreciation_taxes: order_by + est_number: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + kmin: order_by + kmout: order_by + local_tax_rate: order_by + other_amount_payable: order_by + owner_owing: order_by + pay_amt: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + state_tax_rate: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by +} + +# aggregate variance on columns +type jobs_variance_fields { + adj_g_disc: Float + adj_strdis: Float + adj_towdis: Float + adjustment_bottom_line: Float + clm_total: Float + ded_amt: Float + depreciation_taxes: Float + est_number: Float + federal_tax_payable: Float + federal_tax_rate: Float + g_bett_amt: Float + kmin: Float + kmout: Float + local_tax_rate: Float + other_amount_payable: Float + owner_owing: Float + pay_amt: Float + rate_atp: Float + rate_la1: Float + rate_la2: Float + rate_la3: Float + rate_la4: Float + rate_laa: Float + rate_lab: Float + rate_lad: Float + rate_lae: Float + rate_laf: Float + rate_lag: Float + rate_lam: Float + rate_lar: Float + rate_las: Float + rate_lau: Float + rate_ma2s: Float + rate_ma2t: Float + rate_ma3s: Float + rate_mabl: Float + rate_macs: Float + rate_mahw: Float + rate_mapa: Float + rate_mash: Float + rate_matd: Float + state_tax_rate: Float + storage_payable: Float + tax_lbr_rt: Float + tax_levies_rt: Float + tax_paint_mat_rt: Float + tax_predis: Float + tax_prethr: Float + tax_pstthr: Float + tax_str_rt: Float + tax_sub_rt: Float + tax_thramt: Float + tax_tow_rt: Float + towing_payable: Float +} + +# order by variance() on columns of table "jobs" +input jobs_variance_order_by { + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + clm_total: order_by + ded_amt: order_by + depreciation_taxes: order_by + est_number: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + kmin: order_by + kmout: order_by + local_tax_rate: order_by + other_amount_payable: order_by + owner_owing: order_by + pay_amt: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + state_tax_rate: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by +} + +scalar json + +# expression to compare columns of type json. All fields are combined with logical 'AND'. +input json_comparison_exp { + _eq: json + _gt: json + _gte: json + _in: [json!] + _is_null: Boolean + _lt: json + _lte: json + _neq: json + _nin: [json!] +} + +scalar jsonb + +# expression to compare columns of type jsonb. All fields are combined with logical 'AND'. +input jsonb_comparison_exp { + # is the column contained in the given json value + _contained_in: jsonb + + # does the column contain the given json value at the top level + _contains: jsonb + _eq: jsonb + _gt: jsonb + _gte: jsonb + + # does the string exist as a top-level key in the column + _has_key: String + + # do all of these strings exist as top-level keys in the column + _has_keys_all: [String!] + + # do any of these strings exist as top-level keys in the column + _has_keys_any: [String!] + _in: [jsonb!] + _is_null: Boolean + _lt: jsonb + _lte: jsonb + _neq: jsonb + _nin: [jsonb!] +} + +# columns and relationships of "masterdata" +type masterdata { + key: String! + value: String! +} + +# aggregated selection of "masterdata" +type masterdata_aggregate { + aggregate: masterdata_aggregate_fields + nodes: [masterdata!]! +} + +# aggregate fields of "masterdata" +type masterdata_aggregate_fields { + count(columns: [masterdata_select_column!], distinct: Boolean): Int + max: masterdata_max_fields + min: masterdata_min_fields +} + +# order by aggregate values of table "masterdata" +input masterdata_aggregate_order_by { + count: order_by + max: masterdata_max_order_by + min: masterdata_min_order_by +} + +# input type for inserting array relation for remote table "masterdata" +input masterdata_arr_rel_insert_input { + data: [masterdata_insert_input!]! + on_conflict: masterdata_on_conflict +} + +# Boolean expression to filter rows from the table "masterdata". All fields are combined with a logical 'AND'. +input masterdata_bool_exp { + _and: [masterdata_bool_exp] + _not: masterdata_bool_exp + _or: [masterdata_bool_exp] + key: String_comparison_exp + value: String_comparison_exp +} + +# unique or primary key constraints on table "masterdata" +enum masterdata_constraint { + # unique or primary key constraint + masterdata_pkey +} + +# input type for inserting data into table "masterdata" +input masterdata_insert_input { + key: String + value: String +} + +# aggregate max on columns +type masterdata_max_fields { + key: String + value: String +} + +# order by max() on columns of table "masterdata" +input masterdata_max_order_by { + key: order_by + value: order_by +} + +# aggregate min on columns +type masterdata_min_fields { + key: String + value: String +} + +# order by min() on columns of table "masterdata" +input masterdata_min_order_by { + key: order_by + value: order_by +} + +# response of any mutation on the table "masterdata" +type masterdata_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [masterdata!]! +} + +# input type for inserting object relation for remote table "masterdata" +input masterdata_obj_rel_insert_input { + data: masterdata_insert_input! + on_conflict: masterdata_on_conflict +} + +# on conflict condition type for table "masterdata" +input masterdata_on_conflict { + constraint: masterdata_constraint! + update_columns: [masterdata_update_column!]! + where: masterdata_bool_exp +} + +# ordering options when selecting data from "masterdata" +input masterdata_order_by { + key: order_by + value: order_by +} + +# primary key columns input for table: "masterdata" +input masterdata_pk_columns_input { + key: String! +} + +# select columns of table "masterdata" +enum masterdata_select_column { + # column name + key + + # column name + value +} + +# input type for updating data in table "masterdata" +input masterdata_set_input { + key: String + value: String +} + +# update columns of table "masterdata" +enum masterdata_update_column { + # column name + key + + # column name + value +} + +# columns and relationships of "messages" +type messages { + # An object relationship + conversation: conversations! + conversationid: uuid! + created_at: timestamptz! + id: uuid! + image: Boolean! + image_path: String + isoutbound: Boolean! + msid: String! + read: Boolean! + status: String! + text: String + updated_at: timestamptz! +} + +# aggregated selection of "messages" +type messages_aggregate { + aggregate: messages_aggregate_fields + nodes: [messages!]! +} + +# aggregate fields of "messages" +type messages_aggregate_fields { + count(columns: [messages_select_column!], distinct: Boolean): Int + max: messages_max_fields + min: messages_min_fields +} + +# order by aggregate values of table "messages" +input messages_aggregate_order_by { + count: order_by + max: messages_max_order_by + min: messages_min_order_by +} + +# input type for inserting array relation for remote table "messages" +input messages_arr_rel_insert_input { + data: [messages_insert_input!]! + on_conflict: messages_on_conflict +} + +# Boolean expression to filter rows from the table "messages". All fields are combined with a logical 'AND'. +input messages_bool_exp { + _and: [messages_bool_exp] + _not: messages_bool_exp + _or: [messages_bool_exp] + conversation: conversations_bool_exp + conversationid: uuid_comparison_exp + created_at: timestamptz_comparison_exp + id: uuid_comparison_exp + image: Boolean_comparison_exp + image_path: String_comparison_exp + isoutbound: Boolean_comparison_exp + msid: String_comparison_exp + read: Boolean_comparison_exp + status: String_comparison_exp + text: String_comparison_exp + updated_at: timestamptz_comparison_exp +} + +# unique or primary key constraints on table "messages" +enum messages_constraint { + # unique or primary key constraint + messages_msid_key + + # unique or primary key constraint + messages_pkey +} + +# input type for inserting data into table "messages" +input messages_insert_input { + conversation: conversations_obj_rel_insert_input + conversationid: uuid + created_at: timestamptz + id: uuid + image: Boolean + image_path: String + isoutbound: Boolean + msid: String + read: Boolean + status: String + text: String + updated_at: timestamptz +} + +# aggregate max on columns +type messages_max_fields { + conversationid: uuid + created_at: timestamptz + id: uuid + image_path: String + msid: String + status: String + text: String + updated_at: timestamptz +} + +# order by max() on columns of table "messages" +input messages_max_order_by { + conversationid: order_by + created_at: order_by + id: order_by + image_path: order_by + msid: order_by + status: order_by + text: order_by + updated_at: order_by +} + +# aggregate min on columns +type messages_min_fields { + conversationid: uuid + created_at: timestamptz + id: uuid + image_path: String + msid: String + status: String + text: String + updated_at: timestamptz +} + +# order by min() on columns of table "messages" +input messages_min_order_by { + conversationid: order_by + created_at: order_by + id: order_by + image_path: order_by + msid: order_by + status: order_by + text: order_by + updated_at: order_by +} + +# response of any mutation on the table "messages" +type messages_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [messages!]! +} + +# input type for inserting object relation for remote table "messages" +input messages_obj_rel_insert_input { + data: messages_insert_input! + on_conflict: messages_on_conflict +} + +# on conflict condition type for table "messages" +input messages_on_conflict { + constraint: messages_constraint! + update_columns: [messages_update_column!]! + where: messages_bool_exp +} + +# ordering options when selecting data from "messages" +input messages_order_by { + conversation: conversations_order_by + conversationid: order_by + created_at: order_by + id: order_by + image: order_by + image_path: order_by + isoutbound: order_by + msid: order_by + read: order_by + status: order_by + text: order_by + updated_at: order_by +} + +# primary key columns input for table: "messages" +input messages_pk_columns_input { + id: uuid! +} + +# select columns of table "messages" +enum messages_select_column { + # column name + conversationid + + # column name + created_at + + # column name + id + + # column name + image + + # column name + image_path + + # column name + isoutbound + + # column name + msid + + # column name + read + + # column name + status + + # column name + text + + # column name + updated_at +} + +# input type for updating data in table "messages" +input messages_set_input { + conversationid: uuid + created_at: timestamptz + id: uuid + image: Boolean + image_path: String + isoutbound: Boolean + msid: String + read: Boolean + status: String + text: String + updated_at: timestamptz +} + +# update columns of table "messages" +enum messages_update_column { + # column name + conversationid + + # column name + created_at + + # column name + id + + # column name + image + + # column name + image_path + + # column name + isoutbound + + # column name + msid + + # column name + read + + # column name + status + + # column name + text + + # column name + updated_at +} + +# mutation root +type mutation_root { + # delete data from the table: "allocations" + delete_allocations( + # filter the rows which have to be deleted + where: allocations_bool_exp! + ): allocations_mutation_response + + # delete single row from the table: "allocations" + delete_allocations_by_pk(id: uuid!): allocations + + # delete data from the table: "appointments" + delete_appointments( + # filter the rows which have to be deleted + where: appointments_bool_exp! + ): appointments_mutation_response + + # delete single row from the table: "appointments" + delete_appointments_by_pk(id: uuid!): appointments + + # delete data from the table: "associations" + delete_associations( + # filter the rows which have to be deleted + where: associations_bool_exp! + ): associations_mutation_response + + # delete single row from the table: "associations" + delete_associations_by_pk(id: uuid!): associations + + # delete data from the table: "audit_trail" + delete_audit_trail( + # filter the rows which have to be deleted + where: audit_trail_bool_exp! + ): audit_trail_mutation_response + + # delete single row from the table: "audit_trail" + delete_audit_trail_by_pk(id: Int!): audit_trail + + # delete data from the table: "available_jobs" + delete_available_jobs( + # filter the rows which have to be deleted + where: available_jobs_bool_exp! + ): available_jobs_mutation_response + + # delete single row from the table: "available_jobs" + delete_available_jobs_by_pk(id: uuid!): available_jobs + + # delete data from the table: "bodyshops" + delete_bodyshops( + # filter the rows which have to be deleted + where: bodyshops_bool_exp! + ): bodyshops_mutation_response + + # delete single row from the table: "bodyshops" + delete_bodyshops_by_pk(id: uuid!): bodyshops + + # delete data from the table: "cccontracts" + delete_cccontracts( + # filter the rows which have to be deleted + where: cccontracts_bool_exp! + ): cccontracts_mutation_response + + # delete single row from the table: "cccontracts" + delete_cccontracts_by_pk(id: uuid!): cccontracts + + # delete data from the table: "conversations" + delete_conversations( + # filter the rows which have to be deleted + where: conversations_bool_exp! + ): conversations_mutation_response + + # delete single row from the table: "conversations" + delete_conversations_by_pk(id: uuid!): conversations + + # delete data from the table: "counters" + delete_counters( + # filter the rows which have to be deleted + where: counters_bool_exp! + ): counters_mutation_response + + # delete single row from the table: "counters" + delete_counters_by_pk(id: uuid!): counters + + # delete data from the table: "courtesycars" + delete_courtesycars( + # filter the rows which have to be deleted + where: courtesycars_bool_exp! + ): courtesycars_mutation_response + + # delete single row from the table: "courtesycars" + delete_courtesycars_by_pk(id: uuid!): courtesycars + + # delete data from the table: "csi" + delete_csi( + # filter the rows which have to be deleted + where: csi_bool_exp! + ): csi_mutation_response + + # delete single row from the table: "csi" + delete_csi_by_pk(id: uuid!): csi + + # delete data from the table: "csiquestions" + delete_csiquestions( + # filter the rows which have to be deleted + where: csiquestions_bool_exp! + ): csiquestions_mutation_response + + # delete single row from the table: "csiquestions" + delete_csiquestions_by_pk(id: uuid!): csiquestions + + # delete data from the table: "documents" + delete_documents( + # filter the rows which have to be deleted + where: documents_bool_exp! + ): documents_mutation_response + + # delete single row from the table: "documents" + delete_documents_by_pk(id: uuid!): documents + + # delete data from the table: "employees" + delete_employees( + # filter the rows which have to be deleted + where: employees_bool_exp! + ): employees_mutation_response + + # delete single row from the table: "employees" + delete_employees_by_pk(id: uuid!): employees + + # delete data from the table: "invoicelines" + delete_invoicelines( + # filter the rows which have to be deleted + where: invoicelines_bool_exp! + ): invoicelines_mutation_response + + # delete single row from the table: "invoicelines" + delete_invoicelines_by_pk(id: uuid!): invoicelines + + # delete data from the table: "invoices" + delete_invoices( + # filter the rows which have to be deleted + where: invoices_bool_exp! + ): invoices_mutation_response + + # delete single row from the table: "invoices" + delete_invoices_by_pk(id: uuid!): invoices + + # delete data from the table: "job_conversations" + delete_job_conversations( + # filter the rows which have to be deleted + where: job_conversations_bool_exp! + ): job_conversations_mutation_response + + # delete single row from the table: "job_conversations" + delete_job_conversations_by_pk(conversationid: uuid!, jobid: uuid!): job_conversations + + # delete data from the table: "joblines" + delete_joblines( + # filter the rows which have to be deleted + where: joblines_bool_exp! + ): joblines_mutation_response + + # delete single row from the table: "joblines" + delete_joblines_by_pk(id: uuid!): joblines + + # delete data from the table: "jobs" + delete_jobs( + # filter the rows which have to be deleted + where: jobs_bool_exp! + ): jobs_mutation_response + + # delete single row from the table: "jobs" + delete_jobs_by_pk(id: uuid!): jobs + + # delete data from the table: "masterdata" + delete_masterdata( + # filter the rows which have to be deleted + where: masterdata_bool_exp! + ): masterdata_mutation_response + + # delete single row from the table: "masterdata" + delete_masterdata_by_pk(key: String!): masterdata + + # delete data from the table: "messages" + delete_messages( + # filter the rows which have to be deleted + where: messages_bool_exp! + ): messages_mutation_response + + # delete single row from the table: "messages" + delete_messages_by_pk(id: uuid!): messages + + # delete data from the table: "notes" + delete_notes( + # filter the rows which have to be deleted + where: notes_bool_exp! + ): notes_mutation_response + + # delete single row from the table: "notes" + delete_notes_by_pk(id: uuid!): notes + + # delete data from the table: "owners" + delete_owners( + # filter the rows which have to be deleted + where: owners_bool_exp! + ): owners_mutation_response + + # delete single row from the table: "owners" + delete_owners_by_pk(id: uuid!): owners + + # delete data from the table: "parts_order_lines" + delete_parts_order_lines( + # filter the rows which have to be deleted + where: parts_order_lines_bool_exp! + ): parts_order_lines_mutation_response + + # delete single row from the table: "parts_order_lines" + delete_parts_order_lines_by_pk(id: uuid!): parts_order_lines + + # delete data from the table: "parts_orders" + delete_parts_orders( + # filter the rows which have to be deleted + where: parts_orders_bool_exp! + ): parts_orders_mutation_response + + # delete single row from the table: "parts_orders" + delete_parts_orders_by_pk(id: uuid!): parts_orders + + # delete data from the table: "payments" + delete_payments( + # filter the rows which have to be deleted + where: payments_bool_exp! + ): payments_mutation_response + + # delete single row from the table: "payments" + delete_payments_by_pk(id: uuid!): payments + + # delete data from the table: "scoreboard" + delete_scoreboard( + # filter the rows which have to be deleted + where: scoreboard_bool_exp! + ): scoreboard_mutation_response + + # delete single row from the table: "scoreboard" + delete_scoreboard_by_pk(id: uuid!): scoreboard + + # delete data from the table: "templates" + delete_templates( + # filter the rows which have to be deleted + where: templates_bool_exp! + ): templates_mutation_response + + # delete single row from the table: "templates" + delete_templates_by_pk(id: uuid!): templates + + # delete data from the table: "timetickets" + delete_timetickets( + # filter the rows which have to be deleted + where: timetickets_bool_exp! + ): timetickets_mutation_response + + # delete single row from the table: "timetickets" + delete_timetickets_by_pk(id: uuid!): timetickets + + # delete data from the table: "users" + delete_users( + # filter the rows which have to be deleted + where: users_bool_exp! + ): users_mutation_response + + # delete single row from the table: "users" + delete_users_by_pk(email: String!): users + + # delete data from the table: "vehicles" + delete_vehicles( + # filter the rows which have to be deleted + where: vehicles_bool_exp! + ): vehicles_mutation_response + + # delete single row from the table: "vehicles" + delete_vehicles_by_pk(id: uuid!): vehicles + + # delete data from the table: "vendors" + delete_vendors( + # filter the rows which have to be deleted + where: vendors_bool_exp! + ): vendors_mutation_response + + # delete single row from the table: "vendors" + delete_vendors_by_pk(id: uuid!): vendors + + # insert data into the table: "allocations" + insert_allocations( + # the rows to be inserted + objects: [allocations_insert_input!]! + + # on conflict condition + on_conflict: allocations_on_conflict + ): allocations_mutation_response + + # insert a single row into the table: "allocations" + insert_allocations_one( + # the row to be inserted + object: allocations_insert_input! + + # on conflict condition + on_conflict: allocations_on_conflict + ): allocations + + # insert data into the table: "appointments" + insert_appointments( + # the rows to be inserted + objects: [appointments_insert_input!]! + + # on conflict condition + on_conflict: appointments_on_conflict + ): appointments_mutation_response + + # insert a single row into the table: "appointments" + insert_appointments_one( + # the row to be inserted + object: appointments_insert_input! + + # on conflict condition + on_conflict: appointments_on_conflict + ): appointments + + # insert data into the table: "associations" + insert_associations( + # the rows to be inserted + objects: [associations_insert_input!]! + + # on conflict condition + on_conflict: associations_on_conflict + ): associations_mutation_response + + # insert a single row into the table: "associations" + insert_associations_one( + # the row to be inserted + object: associations_insert_input! + + # on conflict condition + on_conflict: associations_on_conflict + ): associations + + # insert data into the table: "audit_trail" + insert_audit_trail( + # the rows to be inserted + objects: [audit_trail_insert_input!]! + + # on conflict condition + on_conflict: audit_trail_on_conflict + ): audit_trail_mutation_response + + # insert a single row into the table: "audit_trail" + insert_audit_trail_one( + # the row to be inserted + object: audit_trail_insert_input! + + # on conflict condition + on_conflict: audit_trail_on_conflict + ): audit_trail + + # insert data into the table: "available_jobs" + insert_available_jobs( + # the rows to be inserted + objects: [available_jobs_insert_input!]! + + # on conflict condition + on_conflict: available_jobs_on_conflict + ): available_jobs_mutation_response + + # insert a single row into the table: "available_jobs" + insert_available_jobs_one( + # the row to be inserted + object: available_jobs_insert_input! + + # on conflict condition + on_conflict: available_jobs_on_conflict + ): available_jobs + + # insert data into the table: "bodyshops" + insert_bodyshops( + # the rows to be inserted + objects: [bodyshops_insert_input!]! + + # on conflict condition + on_conflict: bodyshops_on_conflict + ): bodyshops_mutation_response + + # insert a single row into the table: "bodyshops" + insert_bodyshops_one( + # the row to be inserted + object: bodyshops_insert_input! + + # on conflict condition + on_conflict: bodyshops_on_conflict + ): bodyshops + + # insert data into the table: "cccontracts" + insert_cccontracts( + # the rows to be inserted + objects: [cccontracts_insert_input!]! + + # on conflict condition + on_conflict: cccontracts_on_conflict + ): cccontracts_mutation_response + + # insert a single row into the table: "cccontracts" + insert_cccontracts_one( + # the row to be inserted + object: cccontracts_insert_input! + + # on conflict condition + on_conflict: cccontracts_on_conflict + ): cccontracts + + # insert data into the table: "conversations" + insert_conversations( + # the rows to be inserted + objects: [conversations_insert_input!]! + + # on conflict condition + on_conflict: conversations_on_conflict + ): conversations_mutation_response + + # insert a single row into the table: "conversations" + insert_conversations_one( + # the row to be inserted + object: conversations_insert_input! + + # on conflict condition + on_conflict: conversations_on_conflict + ): conversations + + # insert data into the table: "counters" + insert_counters( + # the rows to be inserted + objects: [counters_insert_input!]! + + # on conflict condition + on_conflict: counters_on_conflict + ): counters_mutation_response + + # insert a single row into the table: "counters" + insert_counters_one( + # the row to be inserted + object: counters_insert_input! + + # on conflict condition + on_conflict: counters_on_conflict + ): counters + + # insert data into the table: "courtesycars" + insert_courtesycars( + # the rows to be inserted + objects: [courtesycars_insert_input!]! + + # on conflict condition + on_conflict: courtesycars_on_conflict + ): courtesycars_mutation_response + + # insert a single row into the table: "courtesycars" + insert_courtesycars_one( + # the row to be inserted + object: courtesycars_insert_input! + + # on conflict condition + on_conflict: courtesycars_on_conflict + ): courtesycars + + # insert data into the table: "csi" + insert_csi( + # the rows to be inserted + objects: [csi_insert_input!]! + + # on conflict condition + on_conflict: csi_on_conflict + ): csi_mutation_response + + # insert a single row into the table: "csi" + insert_csi_one( + # the row to be inserted + object: csi_insert_input! + + # on conflict condition + on_conflict: csi_on_conflict + ): csi + + # insert data into the table: "csiquestions" + insert_csiquestions( + # the rows to be inserted + objects: [csiquestions_insert_input!]! + + # on conflict condition + on_conflict: csiquestions_on_conflict + ): csiquestions_mutation_response + + # insert a single row into the table: "csiquestions" + insert_csiquestions_one( + # the row to be inserted + object: csiquestions_insert_input! + + # on conflict condition + on_conflict: csiquestions_on_conflict + ): csiquestions + + # insert data into the table: "documents" + insert_documents( + # the rows to be inserted + objects: [documents_insert_input!]! + + # on conflict condition + on_conflict: documents_on_conflict + ): documents_mutation_response + + # insert a single row into the table: "documents" + insert_documents_one( + # the row to be inserted + object: documents_insert_input! + + # on conflict condition + on_conflict: documents_on_conflict + ): documents + + # insert data into the table: "employees" + insert_employees( + # the rows to be inserted + objects: [employees_insert_input!]! + + # on conflict condition + on_conflict: employees_on_conflict + ): employees_mutation_response + + # insert a single row into the table: "employees" + insert_employees_one( + # the row to be inserted + object: employees_insert_input! + + # on conflict condition + on_conflict: employees_on_conflict + ): employees + + # insert data into the table: "invoicelines" + insert_invoicelines( + # the rows to be inserted + objects: [invoicelines_insert_input!]! + + # on conflict condition + on_conflict: invoicelines_on_conflict + ): invoicelines_mutation_response + + # insert a single row into the table: "invoicelines" + insert_invoicelines_one( + # the row to be inserted + object: invoicelines_insert_input! + + # on conflict condition + on_conflict: invoicelines_on_conflict + ): invoicelines + + # insert data into the table: "invoices" + insert_invoices( + # the rows to be inserted + objects: [invoices_insert_input!]! + + # on conflict condition + on_conflict: invoices_on_conflict + ): invoices_mutation_response + + # insert a single row into the table: "invoices" + insert_invoices_one( + # the row to be inserted + object: invoices_insert_input! + + # on conflict condition + on_conflict: invoices_on_conflict + ): invoices + + # insert data into the table: "job_conversations" + insert_job_conversations( + # the rows to be inserted + objects: [job_conversations_insert_input!]! + + # on conflict condition + on_conflict: job_conversations_on_conflict + ): job_conversations_mutation_response + + # insert a single row into the table: "job_conversations" + insert_job_conversations_one( + # the row to be inserted + object: job_conversations_insert_input! + + # on conflict condition + on_conflict: job_conversations_on_conflict + ): job_conversations + + # insert data into the table: "joblines" + insert_joblines( + # the rows to be inserted + objects: [joblines_insert_input!]! + + # on conflict condition + on_conflict: joblines_on_conflict + ): joblines_mutation_response + + # insert a single row into the table: "joblines" + insert_joblines_one( + # the row to be inserted + object: joblines_insert_input! + + # on conflict condition + on_conflict: joblines_on_conflict + ): joblines + + # insert data into the table: "jobs" + insert_jobs( + # the rows to be inserted + objects: [jobs_insert_input!]! + + # on conflict condition + on_conflict: jobs_on_conflict + ): jobs_mutation_response + + # insert a single row into the table: "jobs" + insert_jobs_one( + # the row to be inserted + object: jobs_insert_input! + + # on conflict condition + on_conflict: jobs_on_conflict + ): jobs + + # insert data into the table: "masterdata" + insert_masterdata( + # the rows to be inserted + objects: [masterdata_insert_input!]! + + # on conflict condition + on_conflict: masterdata_on_conflict + ): masterdata_mutation_response + + # insert a single row into the table: "masterdata" + insert_masterdata_one( + # the row to be inserted + object: masterdata_insert_input! + + # on conflict condition + on_conflict: masterdata_on_conflict + ): masterdata + + # insert data into the table: "messages" + insert_messages( + # the rows to be inserted + objects: [messages_insert_input!]! + + # on conflict condition + on_conflict: messages_on_conflict + ): messages_mutation_response + + # insert a single row into the table: "messages" + insert_messages_one( + # the row to be inserted + object: messages_insert_input! + + # on conflict condition + on_conflict: messages_on_conflict + ): messages + + # insert data into the table: "notes" + insert_notes( + # the rows to be inserted + objects: [notes_insert_input!]! + + # on conflict condition + on_conflict: notes_on_conflict + ): notes_mutation_response + + # insert a single row into the table: "notes" + insert_notes_one( + # the row to be inserted + object: notes_insert_input! + + # on conflict condition + on_conflict: notes_on_conflict + ): notes + + # insert data into the table: "owners" + insert_owners( + # the rows to be inserted + objects: [owners_insert_input!]! + + # on conflict condition + on_conflict: owners_on_conflict + ): owners_mutation_response + + # insert a single row into the table: "owners" + insert_owners_one( + # the row to be inserted + object: owners_insert_input! + + # on conflict condition + on_conflict: owners_on_conflict + ): owners + + # insert data into the table: "parts_order_lines" + insert_parts_order_lines( + # the rows to be inserted + objects: [parts_order_lines_insert_input!]! + + # on conflict condition + on_conflict: parts_order_lines_on_conflict + ): parts_order_lines_mutation_response + + # insert a single row into the table: "parts_order_lines" + insert_parts_order_lines_one( + # the row to be inserted + object: parts_order_lines_insert_input! + + # on conflict condition + on_conflict: parts_order_lines_on_conflict + ): parts_order_lines + + # insert data into the table: "parts_orders" + insert_parts_orders( + # the rows to be inserted + objects: [parts_orders_insert_input!]! + + # on conflict condition + on_conflict: parts_orders_on_conflict + ): parts_orders_mutation_response + + # insert a single row into the table: "parts_orders" + insert_parts_orders_one( + # the row to be inserted + object: parts_orders_insert_input! + + # on conflict condition + on_conflict: parts_orders_on_conflict + ): parts_orders + + # insert data into the table: "payments" + insert_payments( + # the rows to be inserted + objects: [payments_insert_input!]! + + # on conflict condition + on_conflict: payments_on_conflict + ): payments_mutation_response + + # insert a single row into the table: "payments" + insert_payments_one( + # the row to be inserted + object: payments_insert_input! + + # on conflict condition + on_conflict: payments_on_conflict + ): payments + + # insert data into the table: "scoreboard" + insert_scoreboard( + # the rows to be inserted + objects: [scoreboard_insert_input!]! + + # on conflict condition + on_conflict: scoreboard_on_conflict + ): scoreboard_mutation_response + + # insert a single row into the table: "scoreboard" + insert_scoreboard_one( + # the row to be inserted + object: scoreboard_insert_input! + + # on conflict condition + on_conflict: scoreboard_on_conflict + ): scoreboard + + # insert data into the table: "templates" + insert_templates( + # the rows to be inserted + objects: [templates_insert_input!]! + + # on conflict condition + on_conflict: templates_on_conflict + ): templates_mutation_response + + # insert a single row into the table: "templates" + insert_templates_one( + # the row to be inserted + object: templates_insert_input! + + # on conflict condition + on_conflict: templates_on_conflict + ): templates + + # insert data into the table: "timetickets" + insert_timetickets( + # the rows to be inserted + objects: [timetickets_insert_input!]! + + # on conflict condition + on_conflict: timetickets_on_conflict + ): timetickets_mutation_response + + # insert a single row into the table: "timetickets" + insert_timetickets_one( + # the row to be inserted + object: timetickets_insert_input! + + # on conflict condition + on_conflict: timetickets_on_conflict + ): timetickets + + # insert data into the table: "users" + insert_users( + # the rows to be inserted + objects: [users_insert_input!]! + + # on conflict condition + on_conflict: users_on_conflict + ): users_mutation_response + + # insert a single row into the table: "users" + insert_users_one( + # the row to be inserted + object: users_insert_input! + + # on conflict condition + on_conflict: users_on_conflict + ): users + + # insert data into the table: "vehicles" + insert_vehicles( + # the rows to be inserted + objects: [vehicles_insert_input!]! + + # on conflict condition + on_conflict: vehicles_on_conflict + ): vehicles_mutation_response + + # insert a single row into the table: "vehicles" + insert_vehicles_one( + # the row to be inserted + object: vehicles_insert_input! + + # on conflict condition + on_conflict: vehicles_on_conflict + ): vehicles + + # insert data into the table: "vendors" + insert_vendors( + # the rows to be inserted + objects: [vendors_insert_input!]! + + # on conflict condition + on_conflict: vendors_on_conflict + ): vendors_mutation_response + + # insert a single row into the table: "vendors" + insert_vendors_one( + # the row to be inserted + object: vendors_insert_input! + + # on conflict condition + on_conflict: vendors_on_conflict + ): vendors + + # update data of the table: "allocations" + update_allocations( + # increments the integer columns with given value of the filtered values + _inc: allocations_inc_input + + # sets the columns of the filtered rows to the given values + _set: allocations_set_input + + # filter the rows which have to be updated + where: allocations_bool_exp! + ): allocations_mutation_response + + # update single row of the table: "allocations" + update_allocations_by_pk( + # increments the integer columns with given value of the filtered values + _inc: allocations_inc_input + + # sets the columns of the filtered rows to the given values + _set: allocations_set_input + pk_columns: allocations_pk_columns_input! + ): allocations + + # update data of the table: "appointments" + update_appointments( + # sets the columns of the filtered rows to the given values + _set: appointments_set_input + + # filter the rows which have to be updated + where: appointments_bool_exp! + ): appointments_mutation_response + + # update single row of the table: "appointments" + update_appointments_by_pk( + # sets the columns of the filtered rows to the given values + _set: appointments_set_input + pk_columns: appointments_pk_columns_input! + ): appointments + + # update data of the table: "associations" + update_associations( + # increments the integer columns with given value of the filtered values + _inc: associations_inc_input + + # sets the columns of the filtered rows to the given values + _set: associations_set_input + + # filter the rows which have to be updated + where: associations_bool_exp! + ): associations_mutation_response + + # update single row of the table: "associations" + update_associations_by_pk( + # increments the integer columns with given value of the filtered values + _inc: associations_inc_input + + # sets the columns of the filtered rows to the given values + _set: associations_set_input + pk_columns: associations_pk_columns_input! + ): associations + + # update data of the table: "audit_trail" + update_audit_trail( + # increments the integer columns with given value of the filtered values + _inc: audit_trail_inc_input + + # sets the columns of the filtered rows to the given values + _set: audit_trail_set_input + + # filter the rows which have to be updated + where: audit_trail_bool_exp! + ): audit_trail_mutation_response + + # update single row of the table: "audit_trail" + update_audit_trail_by_pk( + # increments the integer columns with given value of the filtered values + _inc: audit_trail_inc_input + + # sets the columns of the filtered rows to the given values + _set: audit_trail_set_input + pk_columns: audit_trail_pk_columns_input! + ): audit_trail + + # update data of the table: "available_jobs" + update_available_jobs( + # append existing jsonb value of filtered columns with new jsonb value + _append: available_jobs_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: available_jobs_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: available_jobs_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: available_jobs_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: available_jobs_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: available_jobs_prepend_input + + # sets the columns of the filtered rows to the given values + _set: available_jobs_set_input + + # filter the rows which have to be updated + where: available_jobs_bool_exp! + ): available_jobs_mutation_response + + # update single row of the table: "available_jobs" + update_available_jobs_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: available_jobs_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: available_jobs_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: available_jobs_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: available_jobs_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: available_jobs_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: available_jobs_prepend_input + + # sets the columns of the filtered rows to the given values + _set: available_jobs_set_input + pk_columns: available_jobs_pk_columns_input! + ): available_jobs + + # update data of the table: "bodyshops" + update_bodyshops( + # append existing jsonb value of filtered columns with new jsonb value + _append: bodyshops_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: bodyshops_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: bodyshops_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: bodyshops_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: bodyshops_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: bodyshops_prepend_input + + # sets the columns of the filtered rows to the given values + _set: bodyshops_set_input + + # filter the rows which have to be updated + where: bodyshops_bool_exp! + ): bodyshops_mutation_response + + # update single row of the table: "bodyshops" + update_bodyshops_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: bodyshops_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: bodyshops_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: bodyshops_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: bodyshops_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: bodyshops_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: bodyshops_prepend_input + + # sets the columns of the filtered rows to the given values + _set: bodyshops_set_input + pk_columns: bodyshops_pk_columns_input! + ): bodyshops + + # update data of the table: "cccontracts" + update_cccontracts( + # increments the integer columns with given value of the filtered values + _inc: cccontracts_inc_input + + # sets the columns of the filtered rows to the given values + _set: cccontracts_set_input + + # filter the rows which have to be updated + where: cccontracts_bool_exp! + ): cccontracts_mutation_response + + # update single row of the table: "cccontracts" + update_cccontracts_by_pk( + # increments the integer columns with given value of the filtered values + _inc: cccontracts_inc_input + + # sets the columns of the filtered rows to the given values + _set: cccontracts_set_input + pk_columns: cccontracts_pk_columns_input! + ): cccontracts + + # update data of the table: "conversations" + update_conversations( + # sets the columns of the filtered rows to the given values + _set: conversations_set_input + + # filter the rows which have to be updated + where: conversations_bool_exp! + ): conversations_mutation_response + + # update single row of the table: "conversations" + update_conversations_by_pk( + # sets the columns of the filtered rows to the given values + _set: conversations_set_input + pk_columns: conversations_pk_columns_input! + ): conversations + + # update data of the table: "counters" + update_counters( + # increments the integer columns with given value of the filtered values + _inc: counters_inc_input + + # sets the columns of the filtered rows to the given values + _set: counters_set_input + + # filter the rows which have to be updated + where: counters_bool_exp! + ): counters_mutation_response + + # update single row of the table: "counters" + update_counters_by_pk( + # increments the integer columns with given value of the filtered values + _inc: counters_inc_input + + # sets the columns of the filtered rows to the given values + _set: counters_set_input + pk_columns: counters_pk_columns_input! + ): counters + + # update data of the table: "courtesycars" + update_courtesycars( + # increments the integer columns with given value of the filtered values + _inc: courtesycars_inc_input + + # sets the columns of the filtered rows to the given values + _set: courtesycars_set_input + + # filter the rows which have to be updated + where: courtesycars_bool_exp! + ): courtesycars_mutation_response + + # update single row of the table: "courtesycars" + update_courtesycars_by_pk( + # increments the integer columns with given value of the filtered values + _inc: courtesycars_inc_input + + # sets the columns of the filtered rows to the given values + _set: courtesycars_set_input + pk_columns: courtesycars_pk_columns_input! + ): courtesycars + + # update data of the table: "csi" + update_csi( + # append existing jsonb value of filtered columns with new jsonb value + _append: csi_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: csi_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: csi_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: csi_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: csi_prepend_input + + # sets the columns of the filtered rows to the given values + _set: csi_set_input + + # filter the rows which have to be updated + where: csi_bool_exp! + ): csi_mutation_response + + # update single row of the table: "csi" + update_csi_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: csi_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: csi_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: csi_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: csi_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: csi_prepend_input + + # sets the columns of the filtered rows to the given values + _set: csi_set_input + pk_columns: csi_pk_columns_input! + ): csi + + # update data of the table: "csiquestions" + update_csiquestions( + # append existing jsonb value of filtered columns with new jsonb value + _append: csiquestions_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: csiquestions_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: csiquestions_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: csiquestions_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: csiquestions_prepend_input + + # sets the columns of the filtered rows to the given values + _set: csiquestions_set_input + + # filter the rows which have to be updated + where: csiquestions_bool_exp! + ): csiquestions_mutation_response + + # update single row of the table: "csiquestions" + update_csiquestions_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: csiquestions_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: csiquestions_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: csiquestions_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: csiquestions_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: csiquestions_prepend_input + + # sets the columns of the filtered rows to the given values + _set: csiquestions_set_input + pk_columns: csiquestions_pk_columns_input! + ): csiquestions + + # update data of the table: "documents" + update_documents( + # sets the columns of the filtered rows to the given values + _set: documents_set_input + + # filter the rows which have to be updated + where: documents_bool_exp! + ): documents_mutation_response + + # update single row of the table: "documents" + update_documents_by_pk( + # sets the columns of the filtered rows to the given values + _set: documents_set_input + pk_columns: documents_pk_columns_input! + ): documents + + # update data of the table: "employees" + update_employees( + # increments the integer columns with given value of the filtered values + _inc: employees_inc_input + + # sets the columns of the filtered rows to the given values + _set: employees_set_input + + # filter the rows which have to be updated + where: employees_bool_exp! + ): employees_mutation_response + + # update single row of the table: "employees" + update_employees_by_pk( + # increments the integer columns with given value of the filtered values + _inc: employees_inc_input + + # sets the columns of the filtered rows to the given values + _set: employees_set_input + pk_columns: employees_pk_columns_input! + ): employees + + # update data of the table: "invoicelines" + update_invoicelines( + # append existing jsonb value of filtered columns with new jsonb value + _append: invoicelines_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: invoicelines_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: invoicelines_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: invoicelines_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: invoicelines_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: invoicelines_prepend_input + + # sets the columns of the filtered rows to the given values + _set: invoicelines_set_input + + # filter the rows which have to be updated + where: invoicelines_bool_exp! + ): invoicelines_mutation_response + + # update single row of the table: "invoicelines" + update_invoicelines_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: invoicelines_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: invoicelines_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: invoicelines_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: invoicelines_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: invoicelines_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: invoicelines_prepend_input + + # sets the columns of the filtered rows to the given values + _set: invoicelines_set_input + pk_columns: invoicelines_pk_columns_input! + ): invoicelines + + # update data of the table: "invoices" + update_invoices( + # increments the integer columns with given value of the filtered values + _inc: invoices_inc_input + + # sets the columns of the filtered rows to the given values + _set: invoices_set_input + + # filter the rows which have to be updated + where: invoices_bool_exp! + ): invoices_mutation_response + + # update single row of the table: "invoices" + update_invoices_by_pk( + # increments the integer columns with given value of the filtered values + _inc: invoices_inc_input + + # sets the columns of the filtered rows to the given values + _set: invoices_set_input + pk_columns: invoices_pk_columns_input! + ): invoices + + # update data of the table: "job_conversations" + update_job_conversations( + # sets the columns of the filtered rows to the given values + _set: job_conversations_set_input + + # filter the rows which have to be updated + where: job_conversations_bool_exp! + ): job_conversations_mutation_response + + # update single row of the table: "job_conversations" + update_job_conversations_by_pk( + # sets the columns of the filtered rows to the given values + _set: job_conversations_set_input + pk_columns: job_conversations_pk_columns_input! + ): job_conversations + + # update data of the table: "joblines" + update_joblines( + # increments the integer columns with given value of the filtered values + _inc: joblines_inc_input + + # sets the columns of the filtered rows to the given values + _set: joblines_set_input + + # filter the rows which have to be updated + where: joblines_bool_exp! + ): joblines_mutation_response + + # update single row of the table: "joblines" + update_joblines_by_pk( + # increments the integer columns with given value of the filtered values + _inc: joblines_inc_input + + # sets the columns of the filtered rows to the given values + _set: joblines_set_input + pk_columns: joblines_pk_columns_input! + ): joblines + + # update data of the table: "jobs" + update_jobs( + # append existing jsonb value of filtered columns with new jsonb value + _append: jobs_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: jobs_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: jobs_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: jobs_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: jobs_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: jobs_prepend_input + + # sets the columns of the filtered rows to the given values + _set: jobs_set_input + + # filter the rows which have to be updated + where: jobs_bool_exp! + ): jobs_mutation_response + + # update single row of the table: "jobs" + update_jobs_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: jobs_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: jobs_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: jobs_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: jobs_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: jobs_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: jobs_prepend_input + + # sets the columns of the filtered rows to the given values + _set: jobs_set_input + pk_columns: jobs_pk_columns_input! + ): jobs + + # update data of the table: "masterdata" + update_masterdata( + # sets the columns of the filtered rows to the given values + _set: masterdata_set_input + + # filter the rows which have to be updated + where: masterdata_bool_exp! + ): masterdata_mutation_response + + # update single row of the table: "masterdata" + update_masterdata_by_pk( + # sets the columns of the filtered rows to the given values + _set: masterdata_set_input + pk_columns: masterdata_pk_columns_input! + ): masterdata + + # update data of the table: "messages" + update_messages( + # sets the columns of the filtered rows to the given values + _set: messages_set_input + + # filter the rows which have to be updated + where: messages_bool_exp! + ): messages_mutation_response + + # update single row of the table: "messages" + update_messages_by_pk( + # sets the columns of the filtered rows to the given values + _set: messages_set_input + pk_columns: messages_pk_columns_input! + ): messages + + # update data of the table: "notes" + update_notes( + # sets the columns of the filtered rows to the given values + _set: notes_set_input + + # filter the rows which have to be updated + where: notes_bool_exp! + ): notes_mutation_response + + # update single row of the table: "notes" + update_notes_by_pk( + # sets the columns of the filtered rows to the given values + _set: notes_set_input + pk_columns: notes_pk_columns_input! + ): notes + + # update data of the table: "owners" + update_owners( + # increments the integer columns with given value of the filtered values + _inc: owners_inc_input + + # sets the columns of the filtered rows to the given values + _set: owners_set_input + + # filter the rows which have to be updated + where: owners_bool_exp! + ): owners_mutation_response + + # update single row of the table: "owners" + update_owners_by_pk( + # increments the integer columns with given value of the filtered values + _inc: owners_inc_input + + # sets the columns of the filtered rows to the given values + _set: owners_set_input + pk_columns: owners_pk_columns_input! + ): owners + + # update data of the table: "parts_order_lines" + update_parts_order_lines( + # increments the integer columns with given value of the filtered values + _inc: parts_order_lines_inc_input + + # sets the columns of the filtered rows to the given values + _set: parts_order_lines_set_input + + # filter the rows which have to be updated + where: parts_order_lines_bool_exp! + ): parts_order_lines_mutation_response + + # update single row of the table: "parts_order_lines" + update_parts_order_lines_by_pk( + # increments the integer columns with given value of the filtered values + _inc: parts_order_lines_inc_input + + # sets the columns of the filtered rows to the given values + _set: parts_order_lines_set_input + pk_columns: parts_order_lines_pk_columns_input! + ): parts_order_lines + + # update data of the table: "parts_orders" + update_parts_orders( + # increments the integer columns with given value of the filtered values + _inc: parts_orders_inc_input + + # sets the columns of the filtered rows to the given values + _set: parts_orders_set_input + + # filter the rows which have to be updated + where: parts_orders_bool_exp! + ): parts_orders_mutation_response + + # update single row of the table: "parts_orders" + update_parts_orders_by_pk( + # increments the integer columns with given value of the filtered values + _inc: parts_orders_inc_input + + # sets the columns of the filtered rows to the given values + _set: parts_orders_set_input + pk_columns: parts_orders_pk_columns_input! + ): parts_orders + + # update data of the table: "payments" + update_payments( + # increments the integer columns with given value of the filtered values + _inc: payments_inc_input + + # sets the columns of the filtered rows to the given values + _set: payments_set_input + + # filter the rows which have to be updated + where: payments_bool_exp! + ): payments_mutation_response + + # update single row of the table: "payments" + update_payments_by_pk( + # increments the integer columns with given value of the filtered values + _inc: payments_inc_input + + # sets the columns of the filtered rows to the given values + _set: payments_set_input + pk_columns: payments_pk_columns_input! + ): payments + + # update data of the table: "scoreboard" + update_scoreboard( + # increments the integer columns with given value of the filtered values + _inc: scoreboard_inc_input + + # sets the columns of the filtered rows to the given values + _set: scoreboard_set_input + + # filter the rows which have to be updated + where: scoreboard_bool_exp! + ): scoreboard_mutation_response + + # update single row of the table: "scoreboard" + update_scoreboard_by_pk( + # increments the integer columns with given value of the filtered values + _inc: scoreboard_inc_input + + # sets the columns of the filtered rows to the given values + _set: scoreboard_set_input + pk_columns: scoreboard_pk_columns_input! + ): scoreboard + + # update data of the table: "templates" + update_templates( + # append existing jsonb value of filtered columns with new jsonb value + _append: templates_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: templates_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: templates_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: templates_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: templates_prepend_input + + # sets the columns of the filtered rows to the given values + _set: templates_set_input + + # filter the rows which have to be updated + where: templates_bool_exp! + ): templates_mutation_response + + # update single row of the table: "templates" + update_templates_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: templates_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: templates_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: templates_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: templates_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: templates_prepend_input + + # sets the columns of the filtered rows to the given values + _set: templates_set_input + pk_columns: templates_pk_columns_input! + ): templates + + # update data of the table: "timetickets" + update_timetickets( + # increments the integer columns with given value of the filtered values + _inc: timetickets_inc_input + + # sets the columns of the filtered rows to the given values + _set: timetickets_set_input + + # filter the rows which have to be updated + where: timetickets_bool_exp! + ): timetickets_mutation_response + + # update single row of the table: "timetickets" + update_timetickets_by_pk( + # increments the integer columns with given value of the filtered values + _inc: timetickets_inc_input + + # sets the columns of the filtered rows to the given values + _set: timetickets_set_input + pk_columns: timetickets_pk_columns_input! + ): timetickets + + # update data of the table: "users" + update_users( + # append existing jsonb value of filtered columns with new jsonb value + _append: users_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: users_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: users_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: users_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: users_prepend_input + + # sets the columns of the filtered rows to the given values + _set: users_set_input + + # filter the rows which have to be updated + where: users_bool_exp! + ): users_mutation_response + + # update single row of the table: "users" + update_users_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: users_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: users_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: users_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: users_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: users_prepend_input + + # sets the columns of the filtered rows to the given values + _set: users_set_input + pk_columns: users_pk_columns_input! + ): users + + # update data of the table: "vehicles" + update_vehicles( + # append existing jsonb value of filtered columns with new jsonb value + _append: vehicles_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: vehicles_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: vehicles_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: vehicles_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: vehicles_prepend_input + + # sets the columns of the filtered rows to the given values + _set: vehicles_set_input + + # filter the rows which have to be updated + where: vehicles_bool_exp! + ): vehicles_mutation_response + + # update single row of the table: "vehicles" + update_vehicles_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: vehicles_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: vehicles_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: vehicles_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: vehicles_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: vehicles_prepend_input + + # sets the columns of the filtered rows to the given values + _set: vehicles_set_input + pk_columns: vehicles_pk_columns_input! + ): vehicles + + # update data of the table: "vendors" + update_vendors( + # append existing jsonb value of filtered columns with new jsonb value + _append: vendors_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: vendors_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: vendors_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: vendors_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: vendors_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: vendors_prepend_input + + # sets the columns of the filtered rows to the given values + _set: vendors_set_input + + # filter the rows which have to be updated + where: vendors_bool_exp! + ): vendors_mutation_response + + # update single row of the table: "vendors" + update_vendors_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: vendors_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: vendors_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: vendors_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: vendors_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: vendors_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: vendors_prepend_input + + # sets the columns of the filtered rows to the given values + _set: vendors_set_input + pk_columns: vendors_pk_columns_input! + ): vendors +} + +# columns and relationships of "notes" +type notes { + created_at: timestamptz! + created_by: String! + critical: Boolean! + id: uuid! + + # An object relationship + job: jobs! + jobid: uuid! + private: Boolean! + text: String + updated_at: timestamptz! + + # An object relationship + user: users! +} + +# aggregated selection of "notes" +type notes_aggregate { + aggregate: notes_aggregate_fields + nodes: [notes!]! +} + +# aggregate fields of "notes" +type notes_aggregate_fields { + count(columns: [notes_select_column!], distinct: Boolean): Int + max: notes_max_fields + min: notes_min_fields +} + +# order by aggregate values of table "notes" +input notes_aggregate_order_by { + count: order_by + max: notes_max_order_by + min: notes_min_order_by +} + +# input type for inserting array relation for remote table "notes" +input notes_arr_rel_insert_input { + data: [notes_insert_input!]! + on_conflict: notes_on_conflict +} + +# Boolean expression to filter rows from the table "notes". All fields are combined with a logical 'AND'. +input notes_bool_exp { + _and: [notes_bool_exp] + _not: notes_bool_exp + _or: [notes_bool_exp] + created_at: timestamptz_comparison_exp + created_by: String_comparison_exp + critical: Boolean_comparison_exp + id: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + private: Boolean_comparison_exp + text: String_comparison_exp + updated_at: timestamptz_comparison_exp + user: users_bool_exp +} + +# unique or primary key constraints on table "notes" +enum notes_constraint { + # unique or primary key constraint + notes_pkey +} + +# input type for inserting data into table "notes" +input notes_insert_input { + created_at: timestamptz + created_by: String + critical: Boolean + id: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + private: Boolean + text: String + updated_at: timestamptz + user: users_obj_rel_insert_input +} + +# aggregate max on columns +type notes_max_fields { + created_at: timestamptz + created_by: String + id: uuid + jobid: uuid + text: String + updated_at: timestamptz +} + +# order by max() on columns of table "notes" +input notes_max_order_by { + created_at: order_by + created_by: order_by + id: order_by + jobid: order_by + text: order_by + updated_at: order_by +} + +# aggregate min on columns +type notes_min_fields { + created_at: timestamptz + created_by: String + id: uuid + jobid: uuid + text: String + updated_at: timestamptz +} + +# order by min() on columns of table "notes" +input notes_min_order_by { + created_at: order_by + created_by: order_by + id: order_by + jobid: order_by + text: order_by + updated_at: order_by +} + +# response of any mutation on the table "notes" +type notes_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [notes!]! +} + +# input type for inserting object relation for remote table "notes" +input notes_obj_rel_insert_input { + data: notes_insert_input! + on_conflict: notes_on_conflict +} + +# on conflict condition type for table "notes" +input notes_on_conflict { + constraint: notes_constraint! + update_columns: [notes_update_column!]! + where: notes_bool_exp +} + +# ordering options when selecting data from "notes" +input notes_order_by { + created_at: order_by + created_by: order_by + critical: order_by + id: order_by + job: jobs_order_by + jobid: order_by + private: order_by + text: order_by + updated_at: order_by + user: users_order_by +} + +# primary key columns input for table: "notes" +input notes_pk_columns_input { + id: uuid! +} + +# select columns of table "notes" +enum notes_select_column { + # column name + created_at + + # column name + created_by + + # column name + critical + + # column name + id + + # column name + jobid + + # column name + private + + # column name + text + + # column name + updated_at +} + +# input type for updating data in table "notes" +input notes_set_input { + created_at: timestamptz + created_by: String + critical: Boolean + id: uuid + jobid: uuid + private: Boolean + text: String + updated_at: timestamptz +} + +# update columns of table "notes" +enum notes_update_column { + # column name + created_at + + # column name + created_by + + # column name + critical + + # column name + id + + # column name + jobid + + # column name + private + + # column name + text + + # column name + updated_at +} + +scalar numeric + +# expression to compare columns of type numeric. All fields are combined with logical 'AND'. +input numeric_comparison_exp { + _eq: numeric + _gt: numeric + _gte: numeric + _in: [numeric!] + _is_null: Boolean + _lt: numeric + _lte: numeric + _neq: numeric + _nin: [numeric!] +} + +# column ordering options +enum order_by { + # in the ascending order, nulls last + asc + + # in the ascending order, nulls first + asc_nulls_first + + # in the ascending order, nulls last + asc_nulls_last + + # in the descending order, nulls first + desc + + # in the descending order, nulls first + desc_nulls_first + + # in the descending order, nulls last + desc_nulls_last +} + +# columns and relationships of "owners" +type owners { + accountingid: bigint! + allow_text_message: Boolean! + + # An object relationship + bodyshop: bodyshops! + created_at: timestamptz! + id: uuid! + + # An array relationship + jobs( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # An aggregated array relationship + jobs_aggregate( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph2: String + ownr_st: String + ownr_title: String + ownr_zip: String + preferred_contact: String + shopid: uuid! + updated_at: timestamptz! +} + +# aggregated selection of "owners" +type owners_aggregate { + aggregate: owners_aggregate_fields + nodes: [owners!]! +} + +# aggregate fields of "owners" +type owners_aggregate_fields { + avg: owners_avg_fields + count(columns: [owners_select_column!], distinct: Boolean): Int + max: owners_max_fields + min: owners_min_fields + stddev: owners_stddev_fields + stddev_pop: owners_stddev_pop_fields + stddev_samp: owners_stddev_samp_fields + sum: owners_sum_fields + var_pop: owners_var_pop_fields + var_samp: owners_var_samp_fields + variance: owners_variance_fields +} + +# order by aggregate values of table "owners" +input owners_aggregate_order_by { + avg: owners_avg_order_by + count: order_by + max: owners_max_order_by + min: owners_min_order_by + stddev: owners_stddev_order_by + stddev_pop: owners_stddev_pop_order_by + stddev_samp: owners_stddev_samp_order_by + sum: owners_sum_order_by + var_pop: owners_var_pop_order_by + var_samp: owners_var_samp_order_by + variance: owners_variance_order_by +} + +# input type for inserting array relation for remote table "owners" +input owners_arr_rel_insert_input { + data: [owners_insert_input!]! + on_conflict: owners_on_conflict +} + +# aggregate avg on columns +type owners_avg_fields { + accountingid: Float +} + +# order by avg() on columns of table "owners" +input owners_avg_order_by { + accountingid: order_by +} + +# Boolean expression to filter rows from the table "owners". All fields are combined with a logical 'AND'. +input owners_bool_exp { + _and: [owners_bool_exp] + _not: owners_bool_exp + _or: [owners_bool_exp] + accountingid: bigint_comparison_exp + allow_text_message: Boolean_comparison_exp + bodyshop: bodyshops_bool_exp + created_at: timestamptz_comparison_exp + id: uuid_comparison_exp + jobs: jobs_bool_exp + ownr_addr1: String_comparison_exp + ownr_addr2: String_comparison_exp + ownr_city: String_comparison_exp + ownr_co_nm: String_comparison_exp + ownr_ctry: String_comparison_exp + ownr_ea: String_comparison_exp + ownr_fn: String_comparison_exp + ownr_ln: String_comparison_exp + ownr_ph1: String_comparison_exp + ownr_ph2: String_comparison_exp + ownr_st: String_comparison_exp + ownr_title: String_comparison_exp + ownr_zip: String_comparison_exp + preferred_contact: String_comparison_exp + shopid: uuid_comparison_exp + updated_at: timestamptz_comparison_exp +} + +# unique or primary key constraints on table "owners" +enum owners_constraint { + # unique or primary key constraint + owners_pkey +} + +# input type for incrementing integer column in table "owners" +input owners_inc_input { + accountingid: bigint +} + +# input type for inserting data into table "owners" +input owners_insert_input { + accountingid: bigint + allow_text_message: Boolean + bodyshop: bodyshops_obj_rel_insert_input + created_at: timestamptz + id: uuid + jobs: jobs_arr_rel_insert_input + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph2: String + ownr_st: String + ownr_title: String + ownr_zip: String + preferred_contact: String + shopid: uuid + updated_at: timestamptz +} + +# aggregate max on columns +type owners_max_fields { + accountingid: bigint + created_at: timestamptz + id: uuid + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph2: String + ownr_st: String + ownr_title: String + ownr_zip: String + preferred_contact: String + shopid: uuid + updated_at: timestamptz +} + +# order by max() on columns of table "owners" +input owners_max_order_by { + accountingid: order_by + created_at: order_by + id: order_by + ownr_addr1: order_by + ownr_addr2: order_by + ownr_city: order_by + ownr_co_nm: order_by + ownr_ctry: order_by + ownr_ea: order_by + ownr_fn: order_by + ownr_ln: order_by + ownr_ph1: order_by + ownr_ph2: order_by + ownr_st: order_by + ownr_title: order_by + ownr_zip: order_by + preferred_contact: order_by + shopid: order_by + updated_at: order_by +} + +# aggregate min on columns +type owners_min_fields { + accountingid: bigint + created_at: timestamptz + id: uuid + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph2: String + ownr_st: String + ownr_title: String + ownr_zip: String + preferred_contact: String + shopid: uuid + updated_at: timestamptz +} + +# order by min() on columns of table "owners" +input owners_min_order_by { + accountingid: order_by + created_at: order_by + id: order_by + ownr_addr1: order_by + ownr_addr2: order_by + ownr_city: order_by + ownr_co_nm: order_by + ownr_ctry: order_by + ownr_ea: order_by + ownr_fn: order_by + ownr_ln: order_by + ownr_ph1: order_by + ownr_ph2: order_by + ownr_st: order_by + ownr_title: order_by + ownr_zip: order_by + preferred_contact: order_by + shopid: order_by + updated_at: order_by +} + +# response of any mutation on the table "owners" +type owners_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [owners!]! +} + +# input type for inserting object relation for remote table "owners" +input owners_obj_rel_insert_input { + data: owners_insert_input! + on_conflict: owners_on_conflict +} + +# on conflict condition type for table "owners" +input owners_on_conflict { + constraint: owners_constraint! + update_columns: [owners_update_column!]! + where: owners_bool_exp +} + +# ordering options when selecting data from "owners" +input owners_order_by { + accountingid: order_by + allow_text_message: order_by + bodyshop: bodyshops_order_by + created_at: order_by + id: order_by + jobs_aggregate: jobs_aggregate_order_by + ownr_addr1: order_by + ownr_addr2: order_by + ownr_city: order_by + ownr_co_nm: order_by + ownr_ctry: order_by + ownr_ea: order_by + ownr_fn: order_by + ownr_ln: order_by + ownr_ph1: order_by + ownr_ph2: order_by + ownr_st: order_by + ownr_title: order_by + ownr_zip: order_by + preferred_contact: order_by + shopid: order_by + updated_at: order_by +} + +# primary key columns input for table: "owners" +input owners_pk_columns_input { + id: uuid! +} + +# select columns of table "owners" +enum owners_select_column { + # column name + accountingid + + # column name + allow_text_message + + # column name + created_at + + # column name + id + + # column name + ownr_addr1 + + # column name + ownr_addr2 + + # column name + ownr_city + + # column name + ownr_co_nm + + # column name + ownr_ctry + + # column name + ownr_ea + + # column name + ownr_fn + + # column name + ownr_ln + + # column name + ownr_ph1 + + # column name + ownr_ph2 + + # column name + ownr_st + + # column name + ownr_title + + # column name + ownr_zip + + # column name + preferred_contact + + # column name + shopid + + # column name + updated_at +} + +# input type for updating data in table "owners" +input owners_set_input { + accountingid: bigint + allow_text_message: Boolean + created_at: timestamptz + id: uuid + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph2: String + ownr_st: String + ownr_title: String + ownr_zip: String + preferred_contact: String + shopid: uuid + updated_at: timestamptz +} + +# aggregate stddev on columns +type owners_stddev_fields { + accountingid: Float +} + +# order by stddev() on columns of table "owners" +input owners_stddev_order_by { + accountingid: order_by +} + +# aggregate stddev_pop on columns +type owners_stddev_pop_fields { + accountingid: Float +} + +# order by stddev_pop() on columns of table "owners" +input owners_stddev_pop_order_by { + accountingid: order_by +} + +# aggregate stddev_samp on columns +type owners_stddev_samp_fields { + accountingid: Float +} + +# order by stddev_samp() on columns of table "owners" +input owners_stddev_samp_order_by { + accountingid: order_by +} + +# aggregate sum on columns +type owners_sum_fields { + accountingid: bigint +} + +# order by sum() on columns of table "owners" +input owners_sum_order_by { + accountingid: order_by +} + +# update columns of table "owners" +enum owners_update_column { + # column name + accountingid + + # column name + allow_text_message + + # column name + created_at + + # column name + id + + # column name + ownr_addr1 + + # column name + ownr_addr2 + + # column name + ownr_city + + # column name + ownr_co_nm + + # column name + ownr_ctry + + # column name + ownr_ea + + # column name + ownr_fn + + # column name + ownr_ln + + # column name + ownr_ph1 + + # column name + ownr_ph2 + + # column name + ownr_st + + # column name + ownr_title + + # column name + ownr_zip + + # column name + preferred_contact + + # column name + shopid + + # column name + updated_at +} + +# aggregate var_pop on columns +type owners_var_pop_fields { + accountingid: Float +} + +# order by var_pop() on columns of table "owners" +input owners_var_pop_order_by { + accountingid: order_by +} + +# aggregate var_samp on columns +type owners_var_samp_fields { + accountingid: Float +} + +# order by var_samp() on columns of table "owners" +input owners_var_samp_order_by { + accountingid: order_by +} + +# aggregate variance on columns +type owners_variance_fields { + accountingid: Float +} + +# order by variance() on columns of table "owners" +input owners_variance_order_by { + accountingid: order_by +} + +# columns and relationships of "parts_order_lines" +type parts_order_lines { + act_price: numeric + backordered_eta: date + backordered_on: date + created_at: timestamptz! + db_price: numeric + id: uuid! + job_line_id: uuid + + # An object relationship + jobline: joblines + line_desc: String + line_remarks: String + oem_partno: String + orderid: uuid! + + # An object relationship + parts_order: parts_orders! + quantity: numeric! + status: String! + updated_at: timestamptz! +} + +# aggregated selection of "parts_order_lines" +type parts_order_lines_aggregate { + aggregate: parts_order_lines_aggregate_fields + nodes: [parts_order_lines!]! +} + +# aggregate fields of "parts_order_lines" +type parts_order_lines_aggregate_fields { + avg: parts_order_lines_avg_fields + count(columns: [parts_order_lines_select_column!], distinct: Boolean): Int + max: parts_order_lines_max_fields + min: parts_order_lines_min_fields + stddev: parts_order_lines_stddev_fields + stddev_pop: parts_order_lines_stddev_pop_fields + stddev_samp: parts_order_lines_stddev_samp_fields + sum: parts_order_lines_sum_fields + var_pop: parts_order_lines_var_pop_fields + var_samp: parts_order_lines_var_samp_fields + variance: parts_order_lines_variance_fields +} + +# order by aggregate values of table "parts_order_lines" +input parts_order_lines_aggregate_order_by { + avg: parts_order_lines_avg_order_by + count: order_by + max: parts_order_lines_max_order_by + min: parts_order_lines_min_order_by + stddev: parts_order_lines_stddev_order_by + stddev_pop: parts_order_lines_stddev_pop_order_by + stddev_samp: parts_order_lines_stddev_samp_order_by + sum: parts_order_lines_sum_order_by + var_pop: parts_order_lines_var_pop_order_by + var_samp: parts_order_lines_var_samp_order_by + variance: parts_order_lines_variance_order_by +} + +# input type for inserting array relation for remote table "parts_order_lines" +input parts_order_lines_arr_rel_insert_input { + data: [parts_order_lines_insert_input!]! + on_conflict: parts_order_lines_on_conflict +} + +# aggregate avg on columns +type parts_order_lines_avg_fields { + act_price: Float + db_price: Float + quantity: Float +} + +# order by avg() on columns of table "parts_order_lines" +input parts_order_lines_avg_order_by { + act_price: order_by + db_price: order_by + quantity: order_by +} + +# Boolean expression to filter rows from the table "parts_order_lines". All fields are combined with a logical 'AND'. +input parts_order_lines_bool_exp { + _and: [parts_order_lines_bool_exp] + _not: parts_order_lines_bool_exp + _or: [parts_order_lines_bool_exp] + act_price: numeric_comparison_exp + backordered_eta: date_comparison_exp + backordered_on: date_comparison_exp + created_at: timestamptz_comparison_exp + db_price: numeric_comparison_exp + id: uuid_comparison_exp + job_line_id: uuid_comparison_exp + jobline: joblines_bool_exp + line_desc: String_comparison_exp + line_remarks: String_comparison_exp + oem_partno: String_comparison_exp + orderid: uuid_comparison_exp + parts_order: parts_orders_bool_exp + quantity: numeric_comparison_exp + status: String_comparison_exp + updated_at: timestamptz_comparison_exp +} + +# unique or primary key constraints on table "parts_order_lines" +enum parts_order_lines_constraint { + # unique or primary key constraint + parts_order_lines_pkey +} + +# input type for incrementing integer column in table "parts_order_lines" +input parts_order_lines_inc_input { + act_price: numeric + db_price: numeric + quantity: numeric +} + +# input type for inserting data into table "parts_order_lines" +input parts_order_lines_insert_input { + act_price: numeric + backordered_eta: date + backordered_on: date + created_at: timestamptz + db_price: numeric + id: uuid + job_line_id: uuid + jobline: joblines_obj_rel_insert_input + line_desc: String + line_remarks: String + oem_partno: String + orderid: uuid + parts_order: parts_orders_obj_rel_insert_input + quantity: numeric + status: String + updated_at: timestamptz +} + +# aggregate max on columns +type parts_order_lines_max_fields { + act_price: numeric + backordered_eta: date + backordered_on: date + created_at: timestamptz + db_price: numeric + id: uuid + job_line_id: uuid + line_desc: String + line_remarks: String + oem_partno: String + orderid: uuid + quantity: numeric + status: String + updated_at: timestamptz +} + +# order by max() on columns of table "parts_order_lines" +input parts_order_lines_max_order_by { + act_price: order_by + backordered_eta: order_by + backordered_on: order_by + created_at: order_by + db_price: order_by + id: order_by + job_line_id: order_by + line_desc: order_by + line_remarks: order_by + oem_partno: order_by + orderid: order_by + quantity: order_by + status: order_by + updated_at: order_by +} + +# aggregate min on columns +type parts_order_lines_min_fields { + act_price: numeric + backordered_eta: date + backordered_on: date + created_at: timestamptz + db_price: numeric + id: uuid + job_line_id: uuid + line_desc: String + line_remarks: String + oem_partno: String + orderid: uuid + quantity: numeric + status: String + updated_at: timestamptz +} + +# order by min() on columns of table "parts_order_lines" +input parts_order_lines_min_order_by { + act_price: order_by + backordered_eta: order_by + backordered_on: order_by + created_at: order_by + db_price: order_by + id: order_by + job_line_id: order_by + line_desc: order_by + line_remarks: order_by + oem_partno: order_by + orderid: order_by + quantity: order_by + status: order_by + updated_at: order_by +} + +# response of any mutation on the table "parts_order_lines" +type parts_order_lines_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [parts_order_lines!]! +} + +# input type for inserting object relation for remote table "parts_order_lines" +input parts_order_lines_obj_rel_insert_input { + data: parts_order_lines_insert_input! + on_conflict: parts_order_lines_on_conflict +} + +# on conflict condition type for table "parts_order_lines" +input parts_order_lines_on_conflict { + constraint: parts_order_lines_constraint! + update_columns: [parts_order_lines_update_column!]! + where: parts_order_lines_bool_exp +} + +# ordering options when selecting data from "parts_order_lines" +input parts_order_lines_order_by { + act_price: order_by + backordered_eta: order_by + backordered_on: order_by + created_at: order_by + db_price: order_by + id: order_by + job_line_id: order_by + jobline: joblines_order_by + line_desc: order_by + line_remarks: order_by + oem_partno: order_by + orderid: order_by + parts_order: parts_orders_order_by + quantity: order_by + status: order_by + updated_at: order_by +} + +# primary key columns input for table: "parts_order_lines" +input parts_order_lines_pk_columns_input { + id: uuid! +} + +# select columns of table "parts_order_lines" +enum parts_order_lines_select_column { + # column name + act_price + + # column name + backordered_eta + + # column name + backordered_on + + # column name + created_at + + # column name + db_price + + # column name + id + + # column name + job_line_id + + # column name + line_desc + + # column name + line_remarks + + # column name + oem_partno + + # column name + orderid + + # column name + quantity + + # column name + status + + # column name + updated_at +} + +# input type for updating data in table "parts_order_lines" +input parts_order_lines_set_input { + act_price: numeric + backordered_eta: date + backordered_on: date + created_at: timestamptz + db_price: numeric + id: uuid + job_line_id: uuid + line_desc: String + line_remarks: String + oem_partno: String + orderid: uuid + quantity: numeric + status: String + updated_at: timestamptz +} + +# aggregate stddev on columns +type parts_order_lines_stddev_fields { + act_price: Float + db_price: Float + quantity: Float +} + +# order by stddev() on columns of table "parts_order_lines" +input parts_order_lines_stddev_order_by { + act_price: order_by + db_price: order_by + quantity: order_by +} + +# aggregate stddev_pop on columns +type parts_order_lines_stddev_pop_fields { + act_price: Float + db_price: Float + quantity: Float +} + +# order by stddev_pop() on columns of table "parts_order_lines" +input parts_order_lines_stddev_pop_order_by { + act_price: order_by + db_price: order_by + quantity: order_by +} + +# aggregate stddev_samp on columns +type parts_order_lines_stddev_samp_fields { + act_price: Float + db_price: Float + quantity: Float +} + +# order by stddev_samp() on columns of table "parts_order_lines" +input parts_order_lines_stddev_samp_order_by { + act_price: order_by + db_price: order_by + quantity: order_by +} + +# aggregate sum on columns +type parts_order_lines_sum_fields { + act_price: numeric + db_price: numeric + quantity: numeric +} + +# order by sum() on columns of table "parts_order_lines" +input parts_order_lines_sum_order_by { + act_price: order_by + db_price: order_by + quantity: order_by +} + +# update columns of table "parts_order_lines" +enum parts_order_lines_update_column { + # column name + act_price + + # column name + backordered_eta + + # column name + backordered_on + + # column name + created_at + + # column name + db_price + + # column name + id + + # column name + job_line_id + + # column name + line_desc + + # column name + line_remarks + + # column name + oem_partno + + # column name + orderid + + # column name + quantity + + # column name + status + + # column name + updated_at +} + +# aggregate var_pop on columns +type parts_order_lines_var_pop_fields { + act_price: Float + db_price: Float + quantity: Float +} + +# order by var_pop() on columns of table "parts_order_lines" +input parts_order_lines_var_pop_order_by { + act_price: order_by + db_price: order_by + quantity: order_by +} + +# aggregate var_samp on columns +type parts_order_lines_var_samp_fields { + act_price: Float + db_price: Float + quantity: Float +} + +# order by var_samp() on columns of table "parts_order_lines" +input parts_order_lines_var_samp_order_by { + act_price: order_by + db_price: order_by + quantity: order_by +} + +# aggregate variance on columns +type parts_order_lines_variance_fields { + act_price: Float + db_price: Float + quantity: Float +} + +# order by variance() on columns of table "parts_order_lines" +input parts_order_lines_variance_order_by { + act_price: order_by + db_price: order_by + quantity: order_by +} + +# columns and relationships of "parts_orders" +type parts_orders { + created_at: timestamptz! + deliver_by: date + id: uuid! + + # An object relationship + invoice: invoices + + # An object relationship + job: jobs! + jobid: uuid! + order_date: date! + order_number: Int! + + # An array relationship + parts_order_lines( + # distinct select on columns + distinct_on: [parts_order_lines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_order_lines_order_by!] + + # filter the rows returned + where: parts_order_lines_bool_exp + ): [parts_order_lines!]! + + # An aggregated array relationship + parts_order_lines_aggregate( + # distinct select on columns + distinct_on: [parts_order_lines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_order_lines_order_by!] + + # filter the rows returned + where: parts_order_lines_bool_exp + ): parts_order_lines_aggregate! + return: Boolean! + returnfrominvoice: uuid + status: String! + updated_at: timestamptz! + + # An object relationship + user: users! + user_email: String! + + # An object relationship + vendor: vendors! + vendorid: uuid! +} + +# aggregated selection of "parts_orders" +type parts_orders_aggregate { + aggregate: parts_orders_aggregate_fields + nodes: [parts_orders!]! +} + +# aggregate fields of "parts_orders" +type parts_orders_aggregate_fields { + avg: parts_orders_avg_fields + count(columns: [parts_orders_select_column!], distinct: Boolean): Int + max: parts_orders_max_fields + min: parts_orders_min_fields + stddev: parts_orders_stddev_fields + stddev_pop: parts_orders_stddev_pop_fields + stddev_samp: parts_orders_stddev_samp_fields + sum: parts_orders_sum_fields + var_pop: parts_orders_var_pop_fields + var_samp: parts_orders_var_samp_fields + variance: parts_orders_variance_fields +} + +# order by aggregate values of table "parts_orders" +input parts_orders_aggregate_order_by { + avg: parts_orders_avg_order_by + count: order_by + max: parts_orders_max_order_by + min: parts_orders_min_order_by + stddev: parts_orders_stddev_order_by + stddev_pop: parts_orders_stddev_pop_order_by + stddev_samp: parts_orders_stddev_samp_order_by + sum: parts_orders_sum_order_by + var_pop: parts_orders_var_pop_order_by + var_samp: parts_orders_var_samp_order_by + variance: parts_orders_variance_order_by +} + +# input type for inserting array relation for remote table "parts_orders" +input parts_orders_arr_rel_insert_input { + data: [parts_orders_insert_input!]! + on_conflict: parts_orders_on_conflict +} + +# aggregate avg on columns +type parts_orders_avg_fields { + order_number: Float +} + +# order by avg() on columns of table "parts_orders" +input parts_orders_avg_order_by { + order_number: order_by +} + +# Boolean expression to filter rows from the table "parts_orders". All fields are combined with a logical 'AND'. +input parts_orders_bool_exp { + _and: [parts_orders_bool_exp] + _not: parts_orders_bool_exp + _or: [parts_orders_bool_exp] + created_at: timestamptz_comparison_exp + deliver_by: date_comparison_exp + id: uuid_comparison_exp + invoice: invoices_bool_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + order_date: date_comparison_exp + order_number: Int_comparison_exp + parts_order_lines: parts_order_lines_bool_exp + return: Boolean_comparison_exp + returnfrominvoice: uuid_comparison_exp + status: String_comparison_exp + updated_at: timestamptz_comparison_exp + user: users_bool_exp + user_email: String_comparison_exp + vendor: vendors_bool_exp + vendorid: uuid_comparison_exp +} + +# unique or primary key constraints on table "parts_orders" +enum parts_orders_constraint { + # unique or primary key constraint + parts_order_pkey +} + +# input type for incrementing integer column in table "parts_orders" +input parts_orders_inc_input { + order_number: Int +} + +# input type for inserting data into table "parts_orders" +input parts_orders_insert_input { + created_at: timestamptz + deliver_by: date + id: uuid + invoice: invoices_obj_rel_insert_input + job: jobs_obj_rel_insert_input + jobid: uuid + order_date: date + order_number: Int + parts_order_lines: parts_order_lines_arr_rel_insert_input + return: Boolean + returnfrominvoice: uuid + status: String + updated_at: timestamptz + user: users_obj_rel_insert_input + user_email: String + vendor: vendors_obj_rel_insert_input + vendorid: uuid +} + +# aggregate max on columns +type parts_orders_max_fields { + created_at: timestamptz + deliver_by: date + id: uuid + jobid: uuid + order_date: date + order_number: Int + returnfrominvoice: uuid + status: String + updated_at: timestamptz + user_email: String + vendorid: uuid +} + +# order by max() on columns of table "parts_orders" +input parts_orders_max_order_by { + created_at: order_by + deliver_by: order_by + id: order_by + jobid: order_by + order_date: order_by + order_number: order_by + returnfrominvoice: order_by + status: order_by + updated_at: order_by + user_email: order_by + vendorid: order_by +} + +# aggregate min on columns +type parts_orders_min_fields { + created_at: timestamptz + deliver_by: date + id: uuid + jobid: uuid + order_date: date + order_number: Int + returnfrominvoice: uuid + status: String + updated_at: timestamptz + user_email: String + vendorid: uuid +} + +# order by min() on columns of table "parts_orders" +input parts_orders_min_order_by { + created_at: order_by + deliver_by: order_by + id: order_by + jobid: order_by + order_date: order_by + order_number: order_by + returnfrominvoice: order_by + status: order_by + updated_at: order_by + user_email: order_by + vendorid: order_by +} + +# response of any mutation on the table "parts_orders" +type parts_orders_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [parts_orders!]! +} + +# input type for inserting object relation for remote table "parts_orders" +input parts_orders_obj_rel_insert_input { + data: parts_orders_insert_input! + on_conflict: parts_orders_on_conflict +} + +# on conflict condition type for table "parts_orders" +input parts_orders_on_conflict { + constraint: parts_orders_constraint! + update_columns: [parts_orders_update_column!]! + where: parts_orders_bool_exp +} + +# ordering options when selecting data from "parts_orders" +input parts_orders_order_by { + created_at: order_by + deliver_by: order_by + id: order_by + invoice: invoices_order_by + job: jobs_order_by + jobid: order_by + order_date: order_by + order_number: order_by + parts_order_lines_aggregate: parts_order_lines_aggregate_order_by + return: order_by + returnfrominvoice: order_by + status: order_by + updated_at: order_by + user: users_order_by + user_email: order_by + vendor: vendors_order_by + vendorid: order_by +} + +# primary key columns input for table: "parts_orders" +input parts_orders_pk_columns_input { + id: uuid! +} + +# select columns of table "parts_orders" +enum parts_orders_select_column { + # column name + created_at + + # column name + deliver_by + + # column name + id + + # column name + jobid + + # column name + order_date + + # column name + order_number + + # column name + return + + # column name + returnfrominvoice + + # column name + status + + # column name + updated_at + + # column name + user_email + + # column name + vendorid +} + +# input type for updating data in table "parts_orders" +input parts_orders_set_input { + created_at: timestamptz + deliver_by: date + id: uuid + jobid: uuid + order_date: date + order_number: Int + return: Boolean + returnfrominvoice: uuid + status: String + updated_at: timestamptz + user_email: String + vendorid: uuid +} + +# aggregate stddev on columns +type parts_orders_stddev_fields { + order_number: Float +} + +# order by stddev() on columns of table "parts_orders" +input parts_orders_stddev_order_by { + order_number: order_by +} + +# aggregate stddev_pop on columns +type parts_orders_stddev_pop_fields { + order_number: Float +} + +# order by stddev_pop() on columns of table "parts_orders" +input parts_orders_stddev_pop_order_by { + order_number: order_by +} + +# aggregate stddev_samp on columns +type parts_orders_stddev_samp_fields { + order_number: Float +} + +# order by stddev_samp() on columns of table "parts_orders" +input parts_orders_stddev_samp_order_by { + order_number: order_by +} + +# aggregate sum on columns +type parts_orders_sum_fields { + order_number: Int +} + +# order by sum() on columns of table "parts_orders" +input parts_orders_sum_order_by { + order_number: order_by +} + +# update columns of table "parts_orders" +enum parts_orders_update_column { + # column name + created_at + + # column name + deliver_by + + # column name + id + + # column name + jobid + + # column name + order_date + + # column name + order_number + + # column name + return + + # column name + returnfrominvoice + + # column name + status + + # column name + updated_at + + # column name + user_email + + # column name + vendorid +} + +# aggregate var_pop on columns +type parts_orders_var_pop_fields { + order_number: Float +} + +# order by var_pop() on columns of table "parts_orders" +input parts_orders_var_pop_order_by { + order_number: order_by +} + +# aggregate var_samp on columns +type parts_orders_var_samp_fields { + order_number: Float +} + +# order by var_samp() on columns of table "parts_orders" +input parts_orders_var_samp_order_by { + order_number: order_by +} + +# aggregate variance on columns +type parts_orders_variance_fields { + order_number: Float +} + +# order by variance() on columns of table "parts_orders" +input parts_orders_variance_order_by { + order_number: order_by +} + +# columns and relationships of "payments" +type payments { + amount: numeric! + created_at: timestamptz! + exportedat: timestamptz + id: uuid! + + # An object relationship + job: jobs! + jobid: uuid! + memo: String + payer: String + stripeid: String + transactionid: String + type: String + updated_at: timestamptz! +} + +# aggregated selection of "payments" +type payments_aggregate { + aggregate: payments_aggregate_fields + nodes: [payments!]! +} + +# aggregate fields of "payments" +type payments_aggregate_fields { + avg: payments_avg_fields + count(columns: [payments_select_column!], distinct: Boolean): Int + max: payments_max_fields + min: payments_min_fields + stddev: payments_stddev_fields + stddev_pop: payments_stddev_pop_fields + stddev_samp: payments_stddev_samp_fields + sum: payments_sum_fields + var_pop: payments_var_pop_fields + var_samp: payments_var_samp_fields + variance: payments_variance_fields +} + +# order by aggregate values of table "payments" +input payments_aggregate_order_by { + avg: payments_avg_order_by + count: order_by + max: payments_max_order_by + min: payments_min_order_by + stddev: payments_stddev_order_by + stddev_pop: payments_stddev_pop_order_by + stddev_samp: payments_stddev_samp_order_by + sum: payments_sum_order_by + var_pop: payments_var_pop_order_by + var_samp: payments_var_samp_order_by + variance: payments_variance_order_by +} + +# input type for inserting array relation for remote table "payments" +input payments_arr_rel_insert_input { + data: [payments_insert_input!]! + on_conflict: payments_on_conflict +} + +# aggregate avg on columns +type payments_avg_fields { + amount: Float +} + +# order by avg() on columns of table "payments" +input payments_avg_order_by { + amount: order_by +} + +# Boolean expression to filter rows from the table "payments". All fields are combined with a logical 'AND'. +input payments_bool_exp { + _and: [payments_bool_exp] + _not: payments_bool_exp + _or: [payments_bool_exp] + amount: numeric_comparison_exp + created_at: timestamptz_comparison_exp + exportedat: timestamptz_comparison_exp + id: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + memo: String_comparison_exp + payer: String_comparison_exp + stripeid: String_comparison_exp + transactionid: String_comparison_exp + type: String_comparison_exp + updated_at: timestamptz_comparison_exp +} + +# unique or primary key constraints on table "payments" +enum payments_constraint { + # unique or primary key constraint + payments_pkey +} + +# input type for incrementing integer column in table "payments" +input payments_inc_input { + amount: numeric +} + +# input type for inserting data into table "payments" +input payments_insert_input { + amount: numeric + created_at: timestamptz + exportedat: timestamptz + id: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + memo: String + payer: String + stripeid: String + transactionid: String + type: String + updated_at: timestamptz +} + +# aggregate max on columns +type payments_max_fields { + amount: numeric + created_at: timestamptz + exportedat: timestamptz + id: uuid + jobid: uuid + memo: String + payer: String + stripeid: String + transactionid: String + type: String + updated_at: timestamptz +} + +# order by max() on columns of table "payments" +input payments_max_order_by { + amount: order_by + created_at: order_by + exportedat: order_by + id: order_by + jobid: order_by + memo: order_by + payer: order_by + stripeid: order_by + transactionid: order_by + type: order_by + updated_at: order_by +} + +# aggregate min on columns +type payments_min_fields { + amount: numeric + created_at: timestamptz + exportedat: timestamptz + id: uuid + jobid: uuid + memo: String + payer: String + stripeid: String + transactionid: String + type: String + updated_at: timestamptz +} + +# order by min() on columns of table "payments" +input payments_min_order_by { + amount: order_by + created_at: order_by + exportedat: order_by + id: order_by + jobid: order_by + memo: order_by + payer: order_by + stripeid: order_by + transactionid: order_by + type: order_by + updated_at: order_by +} + +# response of any mutation on the table "payments" +type payments_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [payments!]! +} + +# input type for inserting object relation for remote table "payments" +input payments_obj_rel_insert_input { + data: payments_insert_input! + on_conflict: payments_on_conflict +} + +# on conflict condition type for table "payments" +input payments_on_conflict { + constraint: payments_constraint! + update_columns: [payments_update_column!]! + where: payments_bool_exp +} + +# ordering options when selecting data from "payments" +input payments_order_by { + amount: order_by + created_at: order_by + exportedat: order_by + id: order_by + job: jobs_order_by + jobid: order_by + memo: order_by + payer: order_by + stripeid: order_by + transactionid: order_by + type: order_by + updated_at: order_by +} + +# primary key columns input for table: "payments" +input payments_pk_columns_input { + id: uuid! +} + +# select columns of table "payments" +enum payments_select_column { + # column name + amount + + # column name + created_at + + # column name + exportedat + + # column name + id + + # column name + jobid + + # column name + memo + + # column name + payer + + # column name + stripeid + + # column name + transactionid + + # column name + type + + # column name + updated_at +} + +# input type for updating data in table "payments" +input payments_set_input { + amount: numeric + created_at: timestamptz + exportedat: timestamptz + id: uuid + jobid: uuid + memo: String + payer: String + stripeid: String + transactionid: String + type: String + updated_at: timestamptz +} + +# aggregate stddev on columns +type payments_stddev_fields { + amount: Float +} + +# order by stddev() on columns of table "payments" +input payments_stddev_order_by { + amount: order_by +} + +# aggregate stddev_pop on columns +type payments_stddev_pop_fields { + amount: Float +} + +# order by stddev_pop() on columns of table "payments" +input payments_stddev_pop_order_by { + amount: order_by +} + +# aggregate stddev_samp on columns +type payments_stddev_samp_fields { + amount: Float +} + +# order by stddev_samp() on columns of table "payments" +input payments_stddev_samp_order_by { + amount: order_by +} + +# aggregate sum on columns +type payments_sum_fields { + amount: numeric +} + +# order by sum() on columns of table "payments" +input payments_sum_order_by { + amount: order_by +} + +# update columns of table "payments" +enum payments_update_column { + # column name + amount + + # column name + created_at + + # column name + exportedat + + # column name + id + + # column name + jobid + + # column name + memo + + # column name + payer + + # column name + stripeid + + # column name + transactionid + + # column name + type + + # column name + updated_at +} + +# aggregate var_pop on columns +type payments_var_pop_fields { + amount: Float +} + +# order by var_pop() on columns of table "payments" +input payments_var_pop_order_by { + amount: order_by +} + +# aggregate var_samp on columns +type payments_var_samp_fields { + amount: Float +} + +# order by var_samp() on columns of table "payments" +input payments_var_samp_order_by { + amount: order_by +} + +# aggregate variance on columns +type payments_variance_fields { + amount: Float +} + +# order by variance() on columns of table "payments" +input payments_variance_order_by { + amount: order_by +} + +# query root +type query_root { + # fetch data from the table: "allocations" + allocations( + # distinct select on columns + distinct_on: [allocations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [allocations_order_by!] + + # filter the rows returned + where: allocations_bool_exp + ): [allocations!]! + + # fetch aggregated fields from the table: "allocations" + allocations_aggregate( + # distinct select on columns + distinct_on: [allocations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [allocations_order_by!] + + # filter the rows returned + where: allocations_bool_exp + ): allocations_aggregate! + + # fetch data from the table: "allocations" using primary key columns + allocations_by_pk(id: uuid!): allocations + + # fetch data from the table: "appointments" + appointments( + # distinct select on columns + distinct_on: [appointments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [appointments_order_by!] + + # filter the rows returned + where: appointments_bool_exp + ): [appointments!]! + + # fetch aggregated fields from the table: "appointments" + appointments_aggregate( + # distinct select on columns + distinct_on: [appointments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [appointments_order_by!] + + # filter the rows returned + where: appointments_bool_exp + ): appointments_aggregate! + + # fetch data from the table: "appointments" using primary key columns + appointments_by_pk(id: uuid!): appointments + + # fetch data from the table: "associations" + associations( + # distinct select on columns + distinct_on: [associations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [associations_order_by!] + + # filter the rows returned + where: associations_bool_exp + ): [associations!]! + + # fetch aggregated fields from the table: "associations" + associations_aggregate( + # distinct select on columns + distinct_on: [associations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [associations_order_by!] + + # filter the rows returned + where: associations_bool_exp + ): associations_aggregate! + + # fetch data from the table: "associations" using primary key columns + associations_by_pk(id: uuid!): associations + + # fetch data from the table: "audit_trail" + audit_trail( + # distinct select on columns + distinct_on: [audit_trail_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [audit_trail_order_by!] + + # filter the rows returned + where: audit_trail_bool_exp + ): [audit_trail!]! + + # fetch aggregated fields from the table: "audit_trail" + audit_trail_aggregate( + # distinct select on columns + distinct_on: [audit_trail_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [audit_trail_order_by!] + + # filter the rows returned + where: audit_trail_bool_exp + ): audit_trail_aggregate! + + # fetch data from the table: "audit_trail" using primary key columns + audit_trail_by_pk(id: Int!): audit_trail + + # fetch data from the table: "available_jobs" + available_jobs( + # distinct select on columns + distinct_on: [available_jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [available_jobs_order_by!] + + # filter the rows returned + where: available_jobs_bool_exp + ): [available_jobs!]! + + # fetch aggregated fields from the table: "available_jobs" + available_jobs_aggregate( + # distinct select on columns + distinct_on: [available_jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [available_jobs_order_by!] + + # filter the rows returned + where: available_jobs_bool_exp + ): available_jobs_aggregate! + + # fetch data from the table: "available_jobs" using primary key columns + available_jobs_by_pk(id: uuid!): available_jobs + + # fetch data from the table: "bodyshops" + bodyshops( + # distinct select on columns + distinct_on: [bodyshops_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [bodyshops_order_by!] + + # filter the rows returned + where: bodyshops_bool_exp + ): [bodyshops!]! + + # fetch aggregated fields from the table: "bodyshops" + bodyshops_aggregate( + # distinct select on columns + distinct_on: [bodyshops_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [bodyshops_order_by!] + + # filter the rows returned + where: bodyshops_bool_exp + ): bodyshops_aggregate! + + # fetch data from the table: "bodyshops" using primary key columns + bodyshops_by_pk(id: uuid!): bodyshops + + # fetch data from the table: "cccontracts" + cccontracts( + # distinct select on columns + distinct_on: [cccontracts_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [cccontracts_order_by!] + + # filter the rows returned + where: cccontracts_bool_exp + ): [cccontracts!]! + + # fetch aggregated fields from the table: "cccontracts" + cccontracts_aggregate( + # distinct select on columns + distinct_on: [cccontracts_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [cccontracts_order_by!] + + # filter the rows returned + where: cccontracts_bool_exp + ): cccontracts_aggregate! + + # fetch data from the table: "cccontracts" using primary key columns + cccontracts_by_pk(id: uuid!): cccontracts + + # fetch data from the table: "conversations" + conversations( + # distinct select on columns + distinct_on: [conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [conversations_order_by!] + + # filter the rows returned + where: conversations_bool_exp + ): [conversations!]! + + # fetch aggregated fields from the table: "conversations" + conversations_aggregate( + # distinct select on columns + distinct_on: [conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [conversations_order_by!] + + # filter the rows returned + where: conversations_bool_exp + ): conversations_aggregate! + + # fetch data from the table: "conversations" using primary key columns + conversations_by_pk(id: uuid!): conversations + + # fetch data from the table: "counters" + counters( + # distinct select on columns + distinct_on: [counters_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [counters_order_by!] + + # filter the rows returned + where: counters_bool_exp + ): [counters!]! + + # fetch aggregated fields from the table: "counters" + counters_aggregate( + # distinct select on columns + distinct_on: [counters_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [counters_order_by!] + + # filter the rows returned + where: counters_bool_exp + ): counters_aggregate! + + # fetch data from the table: "counters" using primary key columns + counters_by_pk(id: uuid!): counters + + # fetch data from the table: "courtesycars" + courtesycars( + # distinct select on columns + distinct_on: [courtesycars_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [courtesycars_order_by!] + + # filter the rows returned + where: courtesycars_bool_exp + ): [courtesycars!]! + + # fetch aggregated fields from the table: "courtesycars" + courtesycars_aggregate( + # distinct select on columns + distinct_on: [courtesycars_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [courtesycars_order_by!] + + # filter the rows returned + where: courtesycars_bool_exp + ): courtesycars_aggregate! + + # fetch data from the table: "courtesycars" using primary key columns + courtesycars_by_pk(id: uuid!): courtesycars + + # fetch data from the table: "csi" + csi( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): [csi!]! + + # fetch aggregated fields from the table: "csi" + csi_aggregate( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): csi_aggregate! + + # fetch data from the table: "csi" using primary key columns + csi_by_pk(id: uuid!): csi + + # fetch data from the table: "csiquestions" + csiquestions( + # distinct select on columns + distinct_on: [csiquestions_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csiquestions_order_by!] + + # filter the rows returned + where: csiquestions_bool_exp + ): [csiquestions!]! + + # fetch aggregated fields from the table: "csiquestions" + csiquestions_aggregate( + # distinct select on columns + distinct_on: [csiquestions_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csiquestions_order_by!] + + # filter the rows returned + where: csiquestions_bool_exp + ): csiquestions_aggregate! + + # fetch data from the table: "csiquestions" using primary key columns + csiquestions_by_pk(id: uuid!): csiquestions + + # fetch data from the table: "documents" + documents( + # distinct select on columns + distinct_on: [documents_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [documents_order_by!] + + # filter the rows returned + where: documents_bool_exp + ): [documents!]! + + # fetch aggregated fields from the table: "documents" + documents_aggregate( + # distinct select on columns + distinct_on: [documents_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [documents_order_by!] + + # filter the rows returned + where: documents_bool_exp + ): documents_aggregate! + + # fetch data from the table: "documents" using primary key columns + documents_by_pk(id: uuid!): documents + + # fetch data from the table: "employees" + employees( + # distinct select on columns + distinct_on: [employees_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [employees_order_by!] + + # filter the rows returned + where: employees_bool_exp + ): [employees!]! + + # fetch aggregated fields from the table: "employees" + employees_aggregate( + # distinct select on columns + distinct_on: [employees_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [employees_order_by!] + + # filter the rows returned + where: employees_bool_exp + ): employees_aggregate! + + # fetch data from the table: "employees" using primary key columns + employees_by_pk(id: uuid!): employees + + # fetch data from the table: "invoicelines" + invoicelines( + # distinct select on columns + distinct_on: [invoicelines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoicelines_order_by!] + + # filter the rows returned + where: invoicelines_bool_exp + ): [invoicelines!]! + + # fetch aggregated fields from the table: "invoicelines" + invoicelines_aggregate( + # distinct select on columns + distinct_on: [invoicelines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoicelines_order_by!] + + # filter the rows returned + where: invoicelines_bool_exp + ): invoicelines_aggregate! + + # fetch data from the table: "invoicelines" using primary key columns + invoicelines_by_pk(id: uuid!): invoicelines + + # fetch data from the table: "invoices" + invoices( + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): [invoices!]! + + # fetch aggregated fields from the table: "invoices" + invoices_aggregate( + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): invoices_aggregate! + + # fetch data from the table: "invoices" using primary key columns + invoices_by_pk(id: uuid!): invoices + + # fetch data from the table: "job_conversations" + job_conversations( + # distinct select on columns + distinct_on: [job_conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [job_conversations_order_by!] + + # filter the rows returned + where: job_conversations_bool_exp + ): [job_conversations!]! + + # fetch aggregated fields from the table: "job_conversations" + job_conversations_aggregate( + # distinct select on columns + distinct_on: [job_conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [job_conversations_order_by!] + + # filter the rows returned + where: job_conversations_bool_exp + ): job_conversations_aggregate! + + # fetch data from the table: "job_conversations" using primary key columns + job_conversations_by_pk(conversationid: uuid!, jobid: uuid!): job_conversations + + # fetch data from the table: "joblines" + joblines( + # distinct select on columns + distinct_on: [joblines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_order_by!] + + # filter the rows returned + where: joblines_bool_exp + ): [joblines!]! + + # fetch aggregated fields from the table: "joblines" + joblines_aggregate( + # distinct select on columns + distinct_on: [joblines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_order_by!] + + # filter the rows returned + where: joblines_bool_exp + ): joblines_aggregate! + + # fetch data from the table: "joblines" using primary key columns + joblines_by_pk(id: uuid!): joblines + + # fetch data from the table: "joblines_status" + joblines_status( + # distinct select on columns + distinct_on: [joblines_status_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_status_order_by!] + + # filter the rows returned + where: joblines_status_bool_exp + ): [joblines_status!]! + + # fetch aggregated fields from the table: "joblines_status" + joblines_status_aggregate( + # distinct select on columns + distinct_on: [joblines_status_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_status_order_by!] + + # filter the rows returned + where: joblines_status_bool_exp + ): joblines_status_aggregate! + + # fetch data from the table: "jobs" + jobs( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # fetch aggregated fields from the table: "jobs" + jobs_aggregate( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + + # fetch data from the table: "jobs" using primary key columns + jobs_by_pk(id: uuid!): jobs + + # fetch data from the table: "masterdata" + masterdata( + # distinct select on columns + distinct_on: [masterdata_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [masterdata_order_by!] + + # filter the rows returned + where: masterdata_bool_exp + ): [masterdata!]! + + # fetch aggregated fields from the table: "masterdata" + masterdata_aggregate( + # distinct select on columns + distinct_on: [masterdata_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [masterdata_order_by!] + + # filter the rows returned + where: masterdata_bool_exp + ): masterdata_aggregate! + + # fetch data from the table: "masterdata" using primary key columns + masterdata_by_pk(key: String!): masterdata + + # fetch data from the table: "messages" + messages( + # distinct select on columns + distinct_on: [messages_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [messages_order_by!] + + # filter the rows returned + where: messages_bool_exp + ): [messages!]! + + # fetch aggregated fields from the table: "messages" + messages_aggregate( + # distinct select on columns + distinct_on: [messages_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [messages_order_by!] + + # filter the rows returned + where: messages_bool_exp + ): messages_aggregate! + + # fetch data from the table: "messages" using primary key columns + messages_by_pk(id: uuid!): messages + + # fetch data from the table: "notes" + notes( + # distinct select on columns + distinct_on: [notes_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [notes_order_by!] + + # filter the rows returned + where: notes_bool_exp + ): [notes!]! + + # fetch aggregated fields from the table: "notes" + notes_aggregate( + # distinct select on columns + distinct_on: [notes_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [notes_order_by!] + + # filter the rows returned + where: notes_bool_exp + ): notes_aggregate! + + # fetch data from the table: "notes" using primary key columns + notes_by_pk(id: uuid!): notes + + # fetch data from the table: "owners" + owners( + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): [owners!]! + + # fetch aggregated fields from the table: "owners" + owners_aggregate( + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): owners_aggregate! + + # fetch data from the table: "owners" using primary key columns + owners_by_pk(id: uuid!): owners + + # fetch data from the table: "parts_order_lines" + parts_order_lines( + # distinct select on columns + distinct_on: [parts_order_lines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_order_lines_order_by!] + + # filter the rows returned + where: parts_order_lines_bool_exp + ): [parts_order_lines!]! + + # fetch aggregated fields from the table: "parts_order_lines" + parts_order_lines_aggregate( + # distinct select on columns + distinct_on: [parts_order_lines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_order_lines_order_by!] + + # filter the rows returned + where: parts_order_lines_bool_exp + ): parts_order_lines_aggregate! + + # fetch data from the table: "parts_order_lines" using primary key columns + parts_order_lines_by_pk(id: uuid!): parts_order_lines + + # fetch data from the table: "parts_orders" + parts_orders( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): [parts_orders!]! + + # fetch aggregated fields from the table: "parts_orders" + parts_orders_aggregate( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): parts_orders_aggregate! + + # fetch data from the table: "parts_orders" using primary key columns + parts_orders_by_pk(id: uuid!): parts_orders + + # fetch data from the table: "payments" + payments( + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): [payments!]! + + # fetch aggregated fields from the table: "payments" + payments_aggregate( + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): payments_aggregate! + + # fetch data from the table: "payments" using primary key columns + payments_by_pk(id: uuid!): payments + + # fetch data from the table: "scoreboard" + scoreboard( + # distinct select on columns + distinct_on: [scoreboard_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [scoreboard_order_by!] + + # filter the rows returned + where: scoreboard_bool_exp + ): [scoreboard!]! + + # fetch aggregated fields from the table: "scoreboard" + scoreboard_aggregate( + # distinct select on columns + distinct_on: [scoreboard_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [scoreboard_order_by!] + + # filter the rows returned + where: scoreboard_bool_exp + ): scoreboard_aggregate! + + # fetch data from the table: "scoreboard" using primary key columns + scoreboard_by_pk(id: uuid!): scoreboard + + # execute function "search_invoices" which returns "invoices" + search_invoices( + # input parameters for function "search_invoices" + args: search_invoices_args! + + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): [invoices!]! + + # execute function "search_invoices" and query aggregates on result of table type "invoices" + search_invoices_aggregate( + # input parameters for function "search_invoices" + args: search_invoices_args! + + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): invoices_aggregate! + + # execute function "search_jobs" which returns "jobs" + search_jobs( + # input parameters for function "search_jobs" + args: search_jobs_args! + + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # execute function "search_jobs" and query aggregates on result of table type "jobs" + search_jobs_aggregate( + # input parameters for function "search_jobs" + args: search_jobs_args! + + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + + # execute function "search_owners" which returns "owners" + search_owners( + # input parameters for function "search_owners" + args: search_owners_args! + + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): [owners!]! + + # execute function "search_owners" and query aggregates on result of table type "owners" + search_owners_aggregate( + # input parameters for function "search_owners" + args: search_owners_args! + + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): owners_aggregate! + + # execute function "search_payments" which returns "payments" + search_payments( + # input parameters for function "search_payments" + args: search_payments_args! + + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): [payments!]! + + # execute function "search_payments" and query aggregates on result of table type "payments" + search_payments_aggregate( + # input parameters for function "search_payments" + args: search_payments_args! + + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): payments_aggregate! + + # execute function "search_vehicles" which returns "vehicles" + search_vehicles( + # input parameters for function "search_vehicles" + args: search_vehicles_args! + + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): [vehicles!]! + + # execute function "search_vehicles" and query aggregates on result of table type "vehicles" + search_vehicles_aggregate( + # input parameters for function "search_vehicles" + args: search_vehicles_args! + + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): vehicles_aggregate! + + # fetch data from the table: "templates" + templates( + # distinct select on columns + distinct_on: [templates_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [templates_order_by!] + + # filter the rows returned + where: templates_bool_exp + ): [templates!]! + + # fetch aggregated fields from the table: "templates" + templates_aggregate( + # distinct select on columns + distinct_on: [templates_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [templates_order_by!] + + # filter the rows returned + where: templates_bool_exp + ): templates_aggregate! + + # fetch data from the table: "templates" using primary key columns + templates_by_pk(id: uuid!): templates + + # fetch data from the table: "timetickets" + timetickets( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): [timetickets!]! + + # fetch aggregated fields from the table: "timetickets" + timetickets_aggregate( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): timetickets_aggregate! + + # fetch data from the table: "timetickets" using primary key columns + timetickets_by_pk(id: uuid!): timetickets + + # fetch data from the table: "users" + users( + # distinct select on columns + distinct_on: [users_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [users_order_by!] + + # filter the rows returned + where: users_bool_exp + ): [users!]! + + # fetch aggregated fields from the table: "users" + users_aggregate( + # distinct select on columns + distinct_on: [users_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [users_order_by!] + + # filter the rows returned + where: users_bool_exp + ): users_aggregate! + + # fetch data from the table: "users" using primary key columns + users_by_pk(email: String!): users + + # fetch data from the table: "vehicles" + vehicles( + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): [vehicles!]! + + # fetch aggregated fields from the table: "vehicles" + vehicles_aggregate( + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): vehicles_aggregate! + + # fetch data from the table: "vehicles" using primary key columns + vehicles_by_pk(id: uuid!): vehicles + + # fetch data from the table: "vendors" + vendors( + # distinct select on columns + distinct_on: [vendors_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vendors_order_by!] + + # filter the rows returned + where: vendors_bool_exp + ): [vendors!]! + + # fetch aggregated fields from the table: "vendors" + vendors_aggregate( + # distinct select on columns + distinct_on: [vendors_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vendors_order_by!] + + # filter the rows returned + where: vendors_bool_exp + ): vendors_aggregate! + + # fetch data from the table: "vendors" using primary key columns + vendors_by_pk(id: uuid!): vendors +} + +# columns and relationships of "scoreboard" +type scoreboard { + bodyhrs: numeric! + date: date! + id: uuid! + + # An object relationship + job: jobs! + jobid: uuid! + painthrs: numeric! +} + +# aggregated selection of "scoreboard" +type scoreboard_aggregate { + aggregate: scoreboard_aggregate_fields + nodes: [scoreboard!]! +} + +# aggregate fields of "scoreboard" +type scoreboard_aggregate_fields { + avg: scoreboard_avg_fields + count(columns: [scoreboard_select_column!], distinct: Boolean): Int + max: scoreboard_max_fields + min: scoreboard_min_fields + stddev: scoreboard_stddev_fields + stddev_pop: scoreboard_stddev_pop_fields + stddev_samp: scoreboard_stddev_samp_fields + sum: scoreboard_sum_fields + var_pop: scoreboard_var_pop_fields + var_samp: scoreboard_var_samp_fields + variance: scoreboard_variance_fields +} + +# order by aggregate values of table "scoreboard" +input scoreboard_aggregate_order_by { + avg: scoreboard_avg_order_by + count: order_by + max: scoreboard_max_order_by + min: scoreboard_min_order_by + stddev: scoreboard_stddev_order_by + stddev_pop: scoreboard_stddev_pop_order_by + stddev_samp: scoreboard_stddev_samp_order_by + sum: scoreboard_sum_order_by + var_pop: scoreboard_var_pop_order_by + var_samp: scoreboard_var_samp_order_by + variance: scoreboard_variance_order_by +} + +# input type for inserting array relation for remote table "scoreboard" +input scoreboard_arr_rel_insert_input { + data: [scoreboard_insert_input!]! + on_conflict: scoreboard_on_conflict +} + +# aggregate avg on columns +type scoreboard_avg_fields { + bodyhrs: Float + painthrs: Float +} + +# order by avg() on columns of table "scoreboard" +input scoreboard_avg_order_by { + bodyhrs: order_by + painthrs: order_by +} + +# Boolean expression to filter rows from the table "scoreboard". All fields are combined with a logical 'AND'. +input scoreboard_bool_exp { + _and: [scoreboard_bool_exp] + _not: scoreboard_bool_exp + _or: [scoreboard_bool_exp] + bodyhrs: numeric_comparison_exp + date: date_comparison_exp + id: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + painthrs: numeric_comparison_exp +} + +# unique or primary key constraints on table "scoreboard" +enum scoreboard_constraint { + # unique or primary key constraint + scoreboard_pkey +} + +# input type for incrementing integer column in table "scoreboard" +input scoreboard_inc_input { + bodyhrs: numeric + painthrs: numeric +} + +# input type for inserting data into table "scoreboard" +input scoreboard_insert_input { + bodyhrs: numeric + date: date + id: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + painthrs: numeric +} + +# aggregate max on columns +type scoreboard_max_fields { + bodyhrs: numeric + date: date + id: uuid + jobid: uuid + painthrs: numeric +} + +# order by max() on columns of table "scoreboard" +input scoreboard_max_order_by { + bodyhrs: order_by + date: order_by + id: order_by + jobid: order_by + painthrs: order_by +} + +# aggregate min on columns +type scoreboard_min_fields { + bodyhrs: numeric + date: date + id: uuid + jobid: uuid + painthrs: numeric +} + +# order by min() on columns of table "scoreboard" +input scoreboard_min_order_by { + bodyhrs: order_by + date: order_by + id: order_by + jobid: order_by + painthrs: order_by +} + +# response of any mutation on the table "scoreboard" +type scoreboard_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [scoreboard!]! +} + +# input type for inserting object relation for remote table "scoreboard" +input scoreboard_obj_rel_insert_input { + data: scoreboard_insert_input! + on_conflict: scoreboard_on_conflict +} + +# on conflict condition type for table "scoreboard" +input scoreboard_on_conflict { + constraint: scoreboard_constraint! + update_columns: [scoreboard_update_column!]! + where: scoreboard_bool_exp +} + +# ordering options when selecting data from "scoreboard" +input scoreboard_order_by { + bodyhrs: order_by + date: order_by + id: order_by + job: jobs_order_by + jobid: order_by + painthrs: order_by +} + +# primary key columns input for table: "scoreboard" +input scoreboard_pk_columns_input { + id: uuid! +} + +# select columns of table "scoreboard" +enum scoreboard_select_column { + # column name + bodyhrs + + # column name + date + + # column name + id + + # column name + jobid + + # column name + painthrs +} + +# input type for updating data in table "scoreboard" +input scoreboard_set_input { + bodyhrs: numeric + date: date + id: uuid + jobid: uuid + painthrs: numeric +} + +# aggregate stddev on columns +type scoreboard_stddev_fields { + bodyhrs: Float + painthrs: Float +} + +# order by stddev() on columns of table "scoreboard" +input scoreboard_stddev_order_by { + bodyhrs: order_by + painthrs: order_by +} + +# aggregate stddev_pop on columns +type scoreboard_stddev_pop_fields { + bodyhrs: Float + painthrs: Float +} + +# order by stddev_pop() on columns of table "scoreboard" +input scoreboard_stddev_pop_order_by { + bodyhrs: order_by + painthrs: order_by +} + +# aggregate stddev_samp on columns +type scoreboard_stddev_samp_fields { + bodyhrs: Float + painthrs: Float +} + +# order by stddev_samp() on columns of table "scoreboard" +input scoreboard_stddev_samp_order_by { + bodyhrs: order_by + painthrs: order_by +} + +# aggregate sum on columns +type scoreboard_sum_fields { + bodyhrs: numeric + painthrs: numeric +} + +# order by sum() on columns of table "scoreboard" +input scoreboard_sum_order_by { + bodyhrs: order_by + painthrs: order_by +} + +# update columns of table "scoreboard" +enum scoreboard_update_column { + # column name + bodyhrs + + # column name + date + + # column name + id + + # column name + jobid + + # column name + painthrs +} + +# aggregate var_pop on columns +type scoreboard_var_pop_fields { + bodyhrs: Float + painthrs: Float +} + +# order by var_pop() on columns of table "scoreboard" +input scoreboard_var_pop_order_by { + bodyhrs: order_by + painthrs: order_by +} + +# aggregate var_samp on columns +type scoreboard_var_samp_fields { + bodyhrs: Float + painthrs: Float +} + +# order by var_samp() on columns of table "scoreboard" +input scoreboard_var_samp_order_by { + bodyhrs: order_by + painthrs: order_by +} + +# aggregate variance on columns +type scoreboard_variance_fields { + bodyhrs: Float + painthrs: Float +} + +# order by variance() on columns of table "scoreboard" +input scoreboard_variance_order_by { + bodyhrs: order_by + painthrs: order_by +} + +input search_invoices_args { + search: String +} + +input search_jobs_args { + search: String +} + +input search_owners_args { + search: String +} + +input search_payments_args { + search: String +} + +input search_vehicles_args { + search: String +} + +# expression to compare columns of type String. All fields are combined with logical 'AND'. +input String_comparison_exp { + _eq: String + _gt: String + _gte: String + _ilike: String + _in: [String!] + _is_null: Boolean + _like: String + _lt: String + _lte: String + _neq: String + _nilike: String + _nin: [String!] + _nlike: String + _nsimilar: String + _similar: String +} + +# subscription root +type subscription_root { + # fetch data from the table: "allocations" + allocations( + # distinct select on columns + distinct_on: [allocations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [allocations_order_by!] + + # filter the rows returned + where: allocations_bool_exp + ): [allocations!]! + + # fetch aggregated fields from the table: "allocations" + allocations_aggregate( + # distinct select on columns + distinct_on: [allocations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [allocations_order_by!] + + # filter the rows returned + where: allocations_bool_exp + ): allocations_aggregate! + + # fetch data from the table: "allocations" using primary key columns + allocations_by_pk(id: uuid!): allocations + + # fetch data from the table: "appointments" + appointments( + # distinct select on columns + distinct_on: [appointments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [appointments_order_by!] + + # filter the rows returned + where: appointments_bool_exp + ): [appointments!]! + + # fetch aggregated fields from the table: "appointments" + appointments_aggregate( + # distinct select on columns + distinct_on: [appointments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [appointments_order_by!] + + # filter the rows returned + where: appointments_bool_exp + ): appointments_aggregate! + + # fetch data from the table: "appointments" using primary key columns + appointments_by_pk(id: uuid!): appointments + + # fetch data from the table: "associations" + associations( + # distinct select on columns + distinct_on: [associations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [associations_order_by!] + + # filter the rows returned + where: associations_bool_exp + ): [associations!]! + + # fetch aggregated fields from the table: "associations" + associations_aggregate( + # distinct select on columns + distinct_on: [associations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [associations_order_by!] + + # filter the rows returned + where: associations_bool_exp + ): associations_aggregate! + + # fetch data from the table: "associations" using primary key columns + associations_by_pk(id: uuid!): associations + + # fetch data from the table: "audit_trail" + audit_trail( + # distinct select on columns + distinct_on: [audit_trail_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [audit_trail_order_by!] + + # filter the rows returned + where: audit_trail_bool_exp + ): [audit_trail!]! + + # fetch aggregated fields from the table: "audit_trail" + audit_trail_aggregate( + # distinct select on columns + distinct_on: [audit_trail_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [audit_trail_order_by!] + + # filter the rows returned + where: audit_trail_bool_exp + ): audit_trail_aggregate! + + # fetch data from the table: "audit_trail" using primary key columns + audit_trail_by_pk(id: Int!): audit_trail + + # fetch data from the table: "available_jobs" + available_jobs( + # distinct select on columns + distinct_on: [available_jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [available_jobs_order_by!] + + # filter the rows returned + where: available_jobs_bool_exp + ): [available_jobs!]! + + # fetch aggregated fields from the table: "available_jobs" + available_jobs_aggregate( + # distinct select on columns + distinct_on: [available_jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [available_jobs_order_by!] + + # filter the rows returned + where: available_jobs_bool_exp + ): available_jobs_aggregate! + + # fetch data from the table: "available_jobs" using primary key columns + available_jobs_by_pk(id: uuid!): available_jobs + + # fetch data from the table: "bodyshops" + bodyshops( + # distinct select on columns + distinct_on: [bodyshops_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [bodyshops_order_by!] + + # filter the rows returned + where: bodyshops_bool_exp + ): [bodyshops!]! + + # fetch aggregated fields from the table: "bodyshops" + bodyshops_aggregate( + # distinct select on columns + distinct_on: [bodyshops_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [bodyshops_order_by!] + + # filter the rows returned + where: bodyshops_bool_exp + ): bodyshops_aggregate! + + # fetch data from the table: "bodyshops" using primary key columns + bodyshops_by_pk(id: uuid!): bodyshops + + # fetch data from the table: "cccontracts" + cccontracts( + # distinct select on columns + distinct_on: [cccontracts_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [cccontracts_order_by!] + + # filter the rows returned + where: cccontracts_bool_exp + ): [cccontracts!]! + + # fetch aggregated fields from the table: "cccontracts" + cccontracts_aggregate( + # distinct select on columns + distinct_on: [cccontracts_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [cccontracts_order_by!] + + # filter the rows returned + where: cccontracts_bool_exp + ): cccontracts_aggregate! + + # fetch data from the table: "cccontracts" using primary key columns + cccontracts_by_pk(id: uuid!): cccontracts + + # fetch data from the table: "conversations" + conversations( + # distinct select on columns + distinct_on: [conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [conversations_order_by!] + + # filter the rows returned + where: conversations_bool_exp + ): [conversations!]! + + # fetch aggregated fields from the table: "conversations" + conversations_aggregate( + # distinct select on columns + distinct_on: [conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [conversations_order_by!] + + # filter the rows returned + where: conversations_bool_exp + ): conversations_aggregate! + + # fetch data from the table: "conversations" using primary key columns + conversations_by_pk(id: uuid!): conversations + + # fetch data from the table: "counters" + counters( + # distinct select on columns + distinct_on: [counters_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [counters_order_by!] + + # filter the rows returned + where: counters_bool_exp + ): [counters!]! + + # fetch aggregated fields from the table: "counters" + counters_aggregate( + # distinct select on columns + distinct_on: [counters_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [counters_order_by!] + + # filter the rows returned + where: counters_bool_exp + ): counters_aggregate! + + # fetch data from the table: "counters" using primary key columns + counters_by_pk(id: uuid!): counters + + # fetch data from the table: "courtesycars" + courtesycars( + # distinct select on columns + distinct_on: [courtesycars_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [courtesycars_order_by!] + + # filter the rows returned + where: courtesycars_bool_exp + ): [courtesycars!]! + + # fetch aggregated fields from the table: "courtesycars" + courtesycars_aggregate( + # distinct select on columns + distinct_on: [courtesycars_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [courtesycars_order_by!] + + # filter the rows returned + where: courtesycars_bool_exp + ): courtesycars_aggregate! + + # fetch data from the table: "courtesycars" using primary key columns + courtesycars_by_pk(id: uuid!): courtesycars + + # fetch data from the table: "csi" + csi( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): [csi!]! + + # fetch aggregated fields from the table: "csi" + csi_aggregate( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): csi_aggregate! + + # fetch data from the table: "csi" using primary key columns + csi_by_pk(id: uuid!): csi + + # fetch data from the table: "csiquestions" + csiquestions( + # distinct select on columns + distinct_on: [csiquestions_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csiquestions_order_by!] + + # filter the rows returned + where: csiquestions_bool_exp + ): [csiquestions!]! + + # fetch aggregated fields from the table: "csiquestions" + csiquestions_aggregate( + # distinct select on columns + distinct_on: [csiquestions_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csiquestions_order_by!] + + # filter the rows returned + where: csiquestions_bool_exp + ): csiquestions_aggregate! + + # fetch data from the table: "csiquestions" using primary key columns + csiquestions_by_pk(id: uuid!): csiquestions + + # fetch data from the table: "documents" + documents( + # distinct select on columns + distinct_on: [documents_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [documents_order_by!] + + # filter the rows returned + where: documents_bool_exp + ): [documents!]! + + # fetch aggregated fields from the table: "documents" + documents_aggregate( + # distinct select on columns + distinct_on: [documents_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [documents_order_by!] + + # filter the rows returned + where: documents_bool_exp + ): documents_aggregate! + + # fetch data from the table: "documents" using primary key columns + documents_by_pk(id: uuid!): documents + + # fetch data from the table: "employees" + employees( + # distinct select on columns + distinct_on: [employees_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [employees_order_by!] + + # filter the rows returned + where: employees_bool_exp + ): [employees!]! + + # fetch aggregated fields from the table: "employees" + employees_aggregate( + # distinct select on columns + distinct_on: [employees_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [employees_order_by!] + + # filter the rows returned + where: employees_bool_exp + ): employees_aggregate! + + # fetch data from the table: "employees" using primary key columns + employees_by_pk(id: uuid!): employees + + # fetch data from the table: "invoicelines" + invoicelines( + # distinct select on columns + distinct_on: [invoicelines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoicelines_order_by!] + + # filter the rows returned + where: invoicelines_bool_exp + ): [invoicelines!]! + + # fetch aggregated fields from the table: "invoicelines" + invoicelines_aggregate( + # distinct select on columns + distinct_on: [invoicelines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoicelines_order_by!] + + # filter the rows returned + where: invoicelines_bool_exp + ): invoicelines_aggregate! + + # fetch data from the table: "invoicelines" using primary key columns + invoicelines_by_pk(id: uuid!): invoicelines + + # fetch data from the table: "invoices" + invoices( + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): [invoices!]! + + # fetch aggregated fields from the table: "invoices" + invoices_aggregate( + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): invoices_aggregate! + + # fetch data from the table: "invoices" using primary key columns + invoices_by_pk(id: uuid!): invoices + + # fetch data from the table: "job_conversations" + job_conversations( + # distinct select on columns + distinct_on: [job_conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [job_conversations_order_by!] + + # filter the rows returned + where: job_conversations_bool_exp + ): [job_conversations!]! + + # fetch aggregated fields from the table: "job_conversations" + job_conversations_aggregate( + # distinct select on columns + distinct_on: [job_conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [job_conversations_order_by!] + + # filter the rows returned + where: job_conversations_bool_exp + ): job_conversations_aggregate! + + # fetch data from the table: "job_conversations" using primary key columns + job_conversations_by_pk(conversationid: uuid!, jobid: uuid!): job_conversations + + # fetch data from the table: "joblines" + joblines( + # distinct select on columns + distinct_on: [joblines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_order_by!] + + # filter the rows returned + where: joblines_bool_exp + ): [joblines!]! + + # fetch aggregated fields from the table: "joblines" + joblines_aggregate( + # distinct select on columns + distinct_on: [joblines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_order_by!] + + # filter the rows returned + where: joblines_bool_exp + ): joblines_aggregate! + + # fetch data from the table: "joblines" using primary key columns + joblines_by_pk(id: uuid!): joblines + + # fetch data from the table: "joblines_status" + joblines_status( + # distinct select on columns + distinct_on: [joblines_status_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_status_order_by!] + + # filter the rows returned + where: joblines_status_bool_exp + ): [joblines_status!]! + + # fetch aggregated fields from the table: "joblines_status" + joblines_status_aggregate( + # distinct select on columns + distinct_on: [joblines_status_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_status_order_by!] + + # filter the rows returned + where: joblines_status_bool_exp + ): joblines_status_aggregate! + + # fetch data from the table: "jobs" + jobs( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # fetch aggregated fields from the table: "jobs" + jobs_aggregate( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + + # fetch data from the table: "jobs" using primary key columns + jobs_by_pk(id: uuid!): jobs + + # fetch data from the table: "masterdata" + masterdata( + # distinct select on columns + distinct_on: [masterdata_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [masterdata_order_by!] + + # filter the rows returned + where: masterdata_bool_exp + ): [masterdata!]! + + # fetch aggregated fields from the table: "masterdata" + masterdata_aggregate( + # distinct select on columns + distinct_on: [masterdata_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [masterdata_order_by!] + + # filter the rows returned + where: masterdata_bool_exp + ): masterdata_aggregate! + + # fetch data from the table: "masterdata" using primary key columns + masterdata_by_pk(key: String!): masterdata + + # fetch data from the table: "messages" + messages( + # distinct select on columns + distinct_on: [messages_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [messages_order_by!] + + # filter the rows returned + where: messages_bool_exp + ): [messages!]! + + # fetch aggregated fields from the table: "messages" + messages_aggregate( + # distinct select on columns + distinct_on: [messages_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [messages_order_by!] + + # filter the rows returned + where: messages_bool_exp + ): messages_aggregate! + + # fetch data from the table: "messages" using primary key columns + messages_by_pk(id: uuid!): messages + + # fetch data from the table: "notes" + notes( + # distinct select on columns + distinct_on: [notes_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [notes_order_by!] + + # filter the rows returned + where: notes_bool_exp + ): [notes!]! + + # fetch aggregated fields from the table: "notes" + notes_aggregate( + # distinct select on columns + distinct_on: [notes_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [notes_order_by!] + + # filter the rows returned + where: notes_bool_exp + ): notes_aggregate! + + # fetch data from the table: "notes" using primary key columns + notes_by_pk(id: uuid!): notes + + # fetch data from the table: "owners" + owners( + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): [owners!]! + + # fetch aggregated fields from the table: "owners" + owners_aggregate( + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): owners_aggregate! + + # fetch data from the table: "owners" using primary key columns + owners_by_pk(id: uuid!): owners + + # fetch data from the table: "parts_order_lines" + parts_order_lines( + # distinct select on columns + distinct_on: [parts_order_lines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_order_lines_order_by!] + + # filter the rows returned + where: parts_order_lines_bool_exp + ): [parts_order_lines!]! + + # fetch aggregated fields from the table: "parts_order_lines" + parts_order_lines_aggregate( + # distinct select on columns + distinct_on: [parts_order_lines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_order_lines_order_by!] + + # filter the rows returned + where: parts_order_lines_bool_exp + ): parts_order_lines_aggregate! + + # fetch data from the table: "parts_order_lines" using primary key columns + parts_order_lines_by_pk(id: uuid!): parts_order_lines + + # fetch data from the table: "parts_orders" + parts_orders( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): [parts_orders!]! + + # fetch aggregated fields from the table: "parts_orders" + parts_orders_aggregate( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): parts_orders_aggregate! + + # fetch data from the table: "parts_orders" using primary key columns + parts_orders_by_pk(id: uuid!): parts_orders + + # fetch data from the table: "payments" + payments( + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): [payments!]! + + # fetch aggregated fields from the table: "payments" + payments_aggregate( + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): payments_aggregate! + + # fetch data from the table: "payments" using primary key columns + payments_by_pk(id: uuid!): payments + + # fetch data from the table: "scoreboard" + scoreboard( + # distinct select on columns + distinct_on: [scoreboard_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [scoreboard_order_by!] + + # filter the rows returned + where: scoreboard_bool_exp + ): [scoreboard!]! + + # fetch aggregated fields from the table: "scoreboard" + scoreboard_aggregate( + # distinct select on columns + distinct_on: [scoreboard_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [scoreboard_order_by!] + + # filter the rows returned + where: scoreboard_bool_exp + ): scoreboard_aggregate! + + # fetch data from the table: "scoreboard" using primary key columns + scoreboard_by_pk(id: uuid!): scoreboard + + # execute function "search_invoices" which returns "invoices" + search_invoices( + # input parameters for function "search_invoices" + args: search_invoices_args! + + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): [invoices!]! + + # execute function "search_invoices" and query aggregates on result of table type "invoices" + search_invoices_aggregate( + # input parameters for function "search_invoices" + args: search_invoices_args! + + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): invoices_aggregate! + + # execute function "search_jobs" which returns "jobs" + search_jobs( + # input parameters for function "search_jobs" + args: search_jobs_args! + + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # execute function "search_jobs" and query aggregates on result of table type "jobs" + search_jobs_aggregate( + # input parameters for function "search_jobs" + args: search_jobs_args! + + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + + # execute function "search_owners" which returns "owners" + search_owners( + # input parameters for function "search_owners" + args: search_owners_args! + + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): [owners!]! + + # execute function "search_owners" and query aggregates on result of table type "owners" + search_owners_aggregate( + # input parameters for function "search_owners" + args: search_owners_args! + + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): owners_aggregate! + + # execute function "search_payments" which returns "payments" + search_payments( + # input parameters for function "search_payments" + args: search_payments_args! + + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): [payments!]! + + # execute function "search_payments" and query aggregates on result of table type "payments" + search_payments_aggregate( + # input parameters for function "search_payments" + args: search_payments_args! + + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): payments_aggregate! + + # execute function "search_vehicles" which returns "vehicles" + search_vehicles( + # input parameters for function "search_vehicles" + args: search_vehicles_args! + + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): [vehicles!]! + + # execute function "search_vehicles" and query aggregates on result of table type "vehicles" + search_vehicles_aggregate( + # input parameters for function "search_vehicles" + args: search_vehicles_args! + + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): vehicles_aggregate! + + # fetch data from the table: "templates" + templates( + # distinct select on columns + distinct_on: [templates_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [templates_order_by!] + + # filter the rows returned + where: templates_bool_exp + ): [templates!]! + + # fetch aggregated fields from the table: "templates" + templates_aggregate( + # distinct select on columns + distinct_on: [templates_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [templates_order_by!] + + # filter the rows returned + where: templates_bool_exp + ): templates_aggregate! + + # fetch data from the table: "templates" using primary key columns + templates_by_pk(id: uuid!): templates + + # fetch data from the table: "timetickets" + timetickets( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): [timetickets!]! + + # fetch aggregated fields from the table: "timetickets" + timetickets_aggregate( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): timetickets_aggregate! + + # fetch data from the table: "timetickets" using primary key columns + timetickets_by_pk(id: uuid!): timetickets + + # fetch data from the table: "users" + users( + # distinct select on columns + distinct_on: [users_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [users_order_by!] + + # filter the rows returned + where: users_bool_exp + ): [users!]! + + # fetch aggregated fields from the table: "users" + users_aggregate( + # distinct select on columns + distinct_on: [users_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [users_order_by!] + + # filter the rows returned + where: users_bool_exp + ): users_aggregate! + + # fetch data from the table: "users" using primary key columns + users_by_pk(email: String!): users + + # fetch data from the table: "vehicles" + vehicles( + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): [vehicles!]! + + # fetch aggregated fields from the table: "vehicles" + vehicles_aggregate( + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): vehicles_aggregate! + + # fetch data from the table: "vehicles" using primary key columns + vehicles_by_pk(id: uuid!): vehicles + + # fetch data from the table: "vendors" + vendors( + # distinct select on columns + distinct_on: [vendors_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vendors_order_by!] + + # filter the rows returned + where: vendors_bool_exp + ): [vendors!]! + + # fetch aggregated fields from the table: "vendors" + vendors_aggregate( + # distinct select on columns + distinct_on: [vendors_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vendors_order_by!] + + # filter the rows returned + where: vendors_bool_exp + ): vendors_aggregate! + + # fetch data from the table: "vendors" using primary key columns + vendors_by_pk(id: uuid!): vendors +} + +# columns and relationships of "templates" +type templates { + # An object relationship + bodyshop: bodyshops + bodyshopid: uuid + created_at: timestamptz! + html: String! + id: uuid! + jsontemplate( + # JSON select path + path: String + ): jsonb + name: String! + query: String! + updated_at: timestamptz! +} + +# aggregated selection of "templates" +type templates_aggregate { + aggregate: templates_aggregate_fields + nodes: [templates!]! +} + +# aggregate fields of "templates" +type templates_aggregate_fields { + count(columns: [templates_select_column!], distinct: Boolean): Int + max: templates_max_fields + min: templates_min_fields +} + +# order by aggregate values of table "templates" +input templates_aggregate_order_by { + count: order_by + max: templates_max_order_by + min: templates_min_order_by +} + +# append existing jsonb value of filtered columns with new jsonb value +input templates_append_input { + jsontemplate: jsonb +} + +# input type for inserting array relation for remote table "templates" +input templates_arr_rel_insert_input { + data: [templates_insert_input!]! + on_conflict: templates_on_conflict +} + +# Boolean expression to filter rows from the table "templates". All fields are combined with a logical 'AND'. +input templates_bool_exp { + _and: [templates_bool_exp] + _not: templates_bool_exp + _or: [templates_bool_exp] + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + created_at: timestamptz_comparison_exp + html: String_comparison_exp + id: uuid_comparison_exp + jsontemplate: jsonb_comparison_exp + name: String_comparison_exp + query: String_comparison_exp + updated_at: timestamptz_comparison_exp +} + +# unique or primary key constraints on table "templates" +enum templates_constraint { + # unique or primary key constraint + templates_pkey +} + +# delete the field or element with specified path (for JSON arrays, negative integers count from the end) +input templates_delete_at_path_input { + jsontemplate: [String] +} + +# delete the array element with specified index (negative integers count from the +# end). throws an error if top level container is not an array +input templates_delete_elem_input { + jsontemplate: Int +} + +# delete key/value pair or string element. key/value pairs are matched based on their key value +input templates_delete_key_input { + jsontemplate: String +} + +# input type for inserting data into table "templates" +input templates_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + created_at: timestamptz + html: String + id: uuid + jsontemplate: jsonb + name: String + query: String + updated_at: timestamptz +} + +# aggregate max on columns +type templates_max_fields { + bodyshopid: uuid + created_at: timestamptz + html: String + id: uuid + name: String + query: String + updated_at: timestamptz +} + +# order by max() on columns of table "templates" +input templates_max_order_by { + bodyshopid: order_by + created_at: order_by + html: order_by + id: order_by + name: order_by + query: order_by + updated_at: order_by +} + +# aggregate min on columns +type templates_min_fields { + bodyshopid: uuid + created_at: timestamptz + html: String + id: uuid + name: String + query: String + updated_at: timestamptz +} + +# order by min() on columns of table "templates" +input templates_min_order_by { + bodyshopid: order_by + created_at: order_by + html: order_by + id: order_by + name: order_by + query: order_by + updated_at: order_by +} + +# response of any mutation on the table "templates" +type templates_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [templates!]! +} + +# input type for inserting object relation for remote table "templates" +input templates_obj_rel_insert_input { + data: templates_insert_input! + on_conflict: templates_on_conflict +} + +# on conflict condition type for table "templates" +input templates_on_conflict { + constraint: templates_constraint! + update_columns: [templates_update_column!]! + where: templates_bool_exp +} + +# ordering options when selecting data from "templates" +input templates_order_by { + bodyshop: bodyshops_order_by + bodyshopid: order_by + created_at: order_by + html: order_by + id: order_by + jsontemplate: order_by + name: order_by + query: order_by + updated_at: order_by +} + +# primary key columns input for table: "templates" +input templates_pk_columns_input { + id: uuid! +} + +# prepend existing jsonb value of filtered columns with new jsonb value +input templates_prepend_input { + jsontemplate: jsonb +} + +# select columns of table "templates" +enum templates_select_column { + # column name + bodyshopid + + # column name + created_at + + # column name + html + + # column name + id + + # column name + jsontemplate + + # column name + name + + # column name + query + + # column name + updated_at +} + +# input type for updating data in table "templates" +input templates_set_input { + bodyshopid: uuid + created_at: timestamptz + html: String + id: uuid + jsontemplate: jsonb + name: String + query: String + updated_at: timestamptz +} + +# update columns of table "templates" +enum templates_update_column { + # column name + bodyshopid + + # column name + created_at + + # column name + html + + # column name + id + + # column name + jsontemplate + + # column name + name + + # column name + query + + # column name + updated_at +} + +scalar timestamp + +# expression to compare columns of type timestamp. All fields are combined with logical 'AND'. +input timestamp_comparison_exp { + _eq: timestamp + _gt: timestamp + _gte: timestamp + _in: [timestamp!] + _is_null: Boolean + _lt: timestamp + _lte: timestamp + _neq: timestamp + _nin: [timestamp!] +} + +scalar timestamptz + +# expression to compare columns of type timestamptz. All fields are combined with logical 'AND'. +input timestamptz_comparison_exp { + _eq: timestamptz + _gt: timestamptz + _gte: timestamptz + _in: [timestamptz!] + _is_null: Boolean + _lt: timestamptz + _lte: timestamptz + _neq: timestamptz + _nin: [timestamptz!] +} + +# columns and relationships of "timetickets" +type timetickets { + actualhrs: numeric! + + # An object relationship + bodyshop: bodyshops! + bodyshopid: uuid! + ciecacode: String + clockoff: timestamptz + clockon: timestamptz + cost_center: String! + created_at: timestamptz! + date: date! + + # An object relationship + employee: employees! + employeeid: uuid! + id: uuid! + + # An object relationship + job: jobs + jobid: uuid + memo: String + productivehrs: numeric! + rate: numeric! + updated_at: timestamptz! +} + +# aggregated selection of "timetickets" +type timetickets_aggregate { + aggregate: timetickets_aggregate_fields + nodes: [timetickets!]! +} + +# aggregate fields of "timetickets" +type timetickets_aggregate_fields { + avg: timetickets_avg_fields + count(columns: [timetickets_select_column!], distinct: Boolean): Int + max: timetickets_max_fields + min: timetickets_min_fields + stddev: timetickets_stddev_fields + stddev_pop: timetickets_stddev_pop_fields + stddev_samp: timetickets_stddev_samp_fields + sum: timetickets_sum_fields + var_pop: timetickets_var_pop_fields + var_samp: timetickets_var_samp_fields + variance: timetickets_variance_fields +} + +# order by aggregate values of table "timetickets" +input timetickets_aggregate_order_by { + avg: timetickets_avg_order_by + count: order_by + max: timetickets_max_order_by + min: timetickets_min_order_by + stddev: timetickets_stddev_order_by + stddev_pop: timetickets_stddev_pop_order_by + stddev_samp: timetickets_stddev_samp_order_by + sum: timetickets_sum_order_by + var_pop: timetickets_var_pop_order_by + var_samp: timetickets_var_samp_order_by + variance: timetickets_variance_order_by +} + +# input type for inserting array relation for remote table "timetickets" +input timetickets_arr_rel_insert_input { + data: [timetickets_insert_input!]! + on_conflict: timetickets_on_conflict +} + +# aggregate avg on columns +type timetickets_avg_fields { + actualhrs: Float + productivehrs: Float + rate: Float +} + +# order by avg() on columns of table "timetickets" +input timetickets_avg_order_by { + actualhrs: order_by + productivehrs: order_by + rate: order_by +} + +# Boolean expression to filter rows from the table "timetickets". All fields are combined with a logical 'AND'. +input timetickets_bool_exp { + _and: [timetickets_bool_exp] + _not: timetickets_bool_exp + _or: [timetickets_bool_exp] + actualhrs: numeric_comparison_exp + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + ciecacode: String_comparison_exp + clockoff: timestamptz_comparison_exp + clockon: timestamptz_comparison_exp + cost_center: String_comparison_exp + created_at: timestamptz_comparison_exp + date: date_comparison_exp + employee: employees_bool_exp + employeeid: uuid_comparison_exp + id: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + memo: String_comparison_exp + productivehrs: numeric_comparison_exp + rate: numeric_comparison_exp + updated_at: timestamptz_comparison_exp +} + +# unique or primary key constraints on table "timetickets" +enum timetickets_constraint { + # unique or primary key constraint + timetickets_pkey +} + +# input type for incrementing integer column in table "timetickets" +input timetickets_inc_input { + actualhrs: numeric + productivehrs: numeric + rate: numeric +} + +# input type for inserting data into table "timetickets" +input timetickets_insert_input { + actualhrs: numeric + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + ciecacode: String + clockoff: timestamptz + clockon: timestamptz + cost_center: String + created_at: timestamptz + date: date + employee: employees_obj_rel_insert_input + employeeid: uuid + id: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + memo: String + productivehrs: numeric + rate: numeric + updated_at: timestamptz +} + +# aggregate max on columns +type timetickets_max_fields { + actualhrs: numeric + bodyshopid: uuid + ciecacode: String + clockoff: timestamptz + clockon: timestamptz + cost_center: String + created_at: timestamptz + date: date + employeeid: uuid + id: uuid + jobid: uuid + memo: String + productivehrs: numeric + rate: numeric + updated_at: timestamptz +} + +# order by max() on columns of table "timetickets" +input timetickets_max_order_by { + actualhrs: order_by + bodyshopid: order_by + ciecacode: order_by + clockoff: order_by + clockon: order_by + cost_center: order_by + created_at: order_by + date: order_by + employeeid: order_by + id: order_by + jobid: order_by + memo: order_by + productivehrs: order_by + rate: order_by + updated_at: order_by +} + +# aggregate min on columns +type timetickets_min_fields { + actualhrs: numeric + bodyshopid: uuid + ciecacode: String + clockoff: timestamptz + clockon: timestamptz + cost_center: String + created_at: timestamptz + date: date + employeeid: uuid + id: uuid + jobid: uuid + memo: String + productivehrs: numeric + rate: numeric + updated_at: timestamptz +} + +# order by min() on columns of table "timetickets" +input timetickets_min_order_by { + actualhrs: order_by + bodyshopid: order_by + ciecacode: order_by + clockoff: order_by + clockon: order_by + cost_center: order_by + created_at: order_by + date: order_by + employeeid: order_by + id: order_by + jobid: order_by + memo: order_by + productivehrs: order_by + rate: order_by + updated_at: order_by +} + +# response of any mutation on the table "timetickets" +type timetickets_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [timetickets!]! +} + +# input type for inserting object relation for remote table "timetickets" +input timetickets_obj_rel_insert_input { + data: timetickets_insert_input! + on_conflict: timetickets_on_conflict +} + +# on conflict condition type for table "timetickets" +input timetickets_on_conflict { + constraint: timetickets_constraint! + update_columns: [timetickets_update_column!]! + where: timetickets_bool_exp +} + +# ordering options when selecting data from "timetickets" +input timetickets_order_by { + actualhrs: order_by + bodyshop: bodyshops_order_by + bodyshopid: order_by + ciecacode: order_by + clockoff: order_by + clockon: order_by + cost_center: order_by + created_at: order_by + date: order_by + employee: employees_order_by + employeeid: order_by + id: order_by + job: jobs_order_by + jobid: order_by + memo: order_by + productivehrs: order_by + rate: order_by + updated_at: order_by +} + +# primary key columns input for table: "timetickets" +input timetickets_pk_columns_input { + id: uuid! +} + +# select columns of table "timetickets" +enum timetickets_select_column { + # column name + actualhrs + + # column name + bodyshopid + + # column name + ciecacode + + # column name + clockoff + + # column name + clockon + + # column name + cost_center + + # column name + created_at + + # column name + date + + # column name + employeeid + + # column name + id + + # column name + jobid + + # column name + memo + + # column name + productivehrs + + # column name + rate + + # column name + updated_at +} + +# input type for updating data in table "timetickets" +input timetickets_set_input { + actualhrs: numeric + bodyshopid: uuid + ciecacode: String + clockoff: timestamptz + clockon: timestamptz + cost_center: String + created_at: timestamptz + date: date + employeeid: uuid + id: uuid + jobid: uuid + memo: String + productivehrs: numeric + rate: numeric + updated_at: timestamptz +} + +# aggregate stddev on columns +type timetickets_stddev_fields { + actualhrs: Float + productivehrs: Float + rate: Float +} + +# order by stddev() on columns of table "timetickets" +input timetickets_stddev_order_by { + actualhrs: order_by + productivehrs: order_by + rate: order_by +} + +# aggregate stddev_pop on columns +type timetickets_stddev_pop_fields { + actualhrs: Float + productivehrs: Float + rate: Float +} + +# order by stddev_pop() on columns of table "timetickets" +input timetickets_stddev_pop_order_by { + actualhrs: order_by + productivehrs: order_by + rate: order_by +} + +# aggregate stddev_samp on columns +type timetickets_stddev_samp_fields { + actualhrs: Float + productivehrs: Float + rate: Float +} + +# order by stddev_samp() on columns of table "timetickets" +input timetickets_stddev_samp_order_by { + actualhrs: order_by + productivehrs: order_by + rate: order_by +} + +# aggregate sum on columns +type timetickets_sum_fields { + actualhrs: numeric + productivehrs: numeric + rate: numeric +} + +# order by sum() on columns of table "timetickets" +input timetickets_sum_order_by { + actualhrs: order_by + productivehrs: order_by + rate: order_by +} + +# update columns of table "timetickets" +enum timetickets_update_column { + # column name + actualhrs + + # column name + bodyshopid + + # column name + ciecacode + + # column name + clockoff + + # column name + clockon + + # column name + cost_center + + # column name + created_at + + # column name + date + + # column name + employeeid + + # column name + id + + # column name + jobid + + # column name + memo + + # column name + productivehrs + + # column name + rate + + # column name + updated_at +} + +# aggregate var_pop on columns +type timetickets_var_pop_fields { + actualhrs: Float + productivehrs: Float + rate: Float +} + +# order by var_pop() on columns of table "timetickets" +input timetickets_var_pop_order_by { + actualhrs: order_by + productivehrs: order_by + rate: order_by +} + +# aggregate var_samp on columns +type timetickets_var_samp_fields { + actualhrs: Float + productivehrs: Float + rate: Float +} + +# order by var_samp() on columns of table "timetickets" +input timetickets_var_samp_order_by { + actualhrs: order_by + productivehrs: order_by + rate: order_by +} + +# aggregate variance on columns +type timetickets_variance_fields { + actualhrs: Float + productivehrs: Float + rate: Float +} + +# order by variance() on columns of table "timetickets" +input timetickets_variance_order_by { + actualhrs: order_by + productivehrs: order_by + rate: order_by +} + +# columns and relationships of "users" +type users { + # An array relationship + associations( + # distinct select on columns + distinct_on: [associations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [associations_order_by!] + + # filter the rows returned + where: associations_bool_exp + ): [associations!]! + + # An aggregated array relationship + associations_aggregate( + # distinct select on columns + distinct_on: [associations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [associations_order_by!] + + # filter the rows returned + where: associations_bool_exp + ): associations_aggregate! + + # An array relationship + audit_trails( + # distinct select on columns + distinct_on: [audit_trail_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [audit_trail_order_by!] + + # filter the rows returned + where: audit_trail_bool_exp + ): [audit_trail!]! + + # An aggregated array relationship + audit_trails_aggregate( + # distinct select on columns + distinct_on: [audit_trail_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [audit_trail_order_by!] + + # filter the rows returned + where: audit_trail_bool_exp + ): audit_trail_aggregate! + authid: String! + created_at: timestamptz! + dashboardlayout( + # JSON select path + path: String + ): jsonb! + email: String! + + # An object relationship + employee: employees + fcmtokens( + # JSON select path + path: String + ): jsonb + + # An array relationship + notes( + # distinct select on columns + distinct_on: [notes_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [notes_order_by!] + + # filter the rows returned + where: notes_bool_exp + ): [notes!]! + + # An aggregated array relationship + notes_aggregate( + # distinct select on columns + distinct_on: [notes_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [notes_order_by!] + + # filter the rows returned + where: notes_bool_exp + ): notes_aggregate! + + # An array relationship + parts_orders( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): [parts_orders!]! + + # An aggregated array relationship + parts_orders_aggregate( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): parts_orders_aggregate! + updated_at: timestamptz! +} + +# aggregated selection of "users" +type users_aggregate { + aggregate: users_aggregate_fields + nodes: [users!]! +} + +# aggregate fields of "users" +type users_aggregate_fields { + count(columns: [users_select_column!], distinct: Boolean): Int + max: users_max_fields + min: users_min_fields +} + +# order by aggregate values of table "users" +input users_aggregate_order_by { + count: order_by + max: users_max_order_by + min: users_min_order_by +} + +# append existing jsonb value of filtered columns with new jsonb value +input users_append_input { + dashboardlayout: jsonb + fcmtokens: jsonb +} + +# input type for inserting array relation for remote table "users" +input users_arr_rel_insert_input { + data: [users_insert_input!]! + on_conflict: users_on_conflict +} + +# Boolean expression to filter rows from the table "users". All fields are combined with a logical 'AND'. +input users_bool_exp { + _and: [users_bool_exp] + _not: users_bool_exp + _or: [users_bool_exp] + associations: associations_bool_exp + audit_trails: audit_trail_bool_exp + authid: String_comparison_exp + created_at: timestamptz_comparison_exp + dashboardlayout: jsonb_comparison_exp + email: String_comparison_exp + employee: employees_bool_exp + fcmtokens: jsonb_comparison_exp + notes: notes_bool_exp + parts_orders: parts_orders_bool_exp + updated_at: timestamptz_comparison_exp +} + +# unique or primary key constraints on table "users" +enum users_constraint { + # unique or primary key constraint + users_pkey +} + +# delete the field or element with specified path (for JSON arrays, negative integers count from the end) +input users_delete_at_path_input { + dashboardlayout: [String] + fcmtokens: [String] +} + +# delete the array element with specified index (negative integers count from the +# end). throws an error if top level container is not an array +input users_delete_elem_input { + dashboardlayout: Int + fcmtokens: Int +} + +# delete key/value pair or string element. key/value pairs are matched based on their key value +input users_delete_key_input { + dashboardlayout: String + fcmtokens: String +} + +# input type for inserting data into table "users" +input users_insert_input { + associations: associations_arr_rel_insert_input + audit_trails: audit_trail_arr_rel_insert_input + authid: String + created_at: timestamptz + dashboardlayout: jsonb + email: String + employee: employees_obj_rel_insert_input + fcmtokens: jsonb + notes: notes_arr_rel_insert_input + parts_orders: parts_orders_arr_rel_insert_input + updated_at: timestamptz +} + +# aggregate max on columns +type users_max_fields { + authid: String + created_at: timestamptz + email: String + updated_at: timestamptz +} + +# order by max() on columns of table "users" +input users_max_order_by { + authid: order_by + created_at: order_by + email: order_by + updated_at: order_by +} + +# aggregate min on columns +type users_min_fields { + authid: String + created_at: timestamptz + email: String + updated_at: timestamptz +} + +# order by min() on columns of table "users" +input users_min_order_by { + authid: order_by + created_at: order_by + email: order_by + updated_at: order_by +} + +# response of any mutation on the table "users" +type users_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [users!]! +} + +# input type for inserting object relation for remote table "users" +input users_obj_rel_insert_input { + data: users_insert_input! + on_conflict: users_on_conflict +} + +# on conflict condition type for table "users" +input users_on_conflict { + constraint: users_constraint! + update_columns: [users_update_column!]! + where: users_bool_exp +} + +# ordering options when selecting data from "users" +input users_order_by { + associations_aggregate: associations_aggregate_order_by + audit_trails_aggregate: audit_trail_aggregate_order_by + authid: order_by + created_at: order_by + dashboardlayout: order_by + email: order_by + employee: employees_order_by + fcmtokens: order_by + notes_aggregate: notes_aggregate_order_by + parts_orders_aggregate: parts_orders_aggregate_order_by + updated_at: order_by +} + +# primary key columns input for table: "users" +input users_pk_columns_input { + email: String! +} + +# prepend existing jsonb value of filtered columns with new jsonb value +input users_prepend_input { + dashboardlayout: jsonb + fcmtokens: jsonb +} + +# select columns of table "users" +enum users_select_column { + # column name + authid + + # column name + created_at + + # column name + dashboardlayout + + # column name + email + + # column name + fcmtokens + + # column name + updated_at +} + +# input type for updating data in table "users" +input users_set_input { + authid: String + created_at: timestamptz + dashboardlayout: jsonb + email: String + fcmtokens: jsonb + updated_at: timestamptz +} + +# update columns of table "users" +enum users_update_column { + # column name + authid + + # column name + created_at + + # column name + dashboardlayout + + # column name + email + + # column name + fcmtokens + + # column name + updated_at +} + +scalar uuid + +# expression to compare columns of type uuid. All fields are combined with logical 'AND'. +input uuid_comparison_exp { + _eq: uuid + _gt: uuid + _gte: uuid + _in: [uuid!] + _is_null: Boolean + _lt: uuid + _lte: uuid + _neq: uuid + _nin: [uuid!] +} + +# columns and relationships of "vehicles" +type vehicles { + # An object relationship + bodyshop: bodyshops! + created_at: timestamptz! + db_v_code: String + id: uuid! + + # An array relationship + jobs( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # An aggregated array relationship + jobs_aggregate( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + plate_no: String + plate_st: String + shopid: uuid! + trim_color: String + updated_at: timestamptz! + v_bstyle: String + v_color: String + v_cond: String + v_engine: String + v_make_desc: String + v_makecode: String + v_mldgcode: String + v_model_desc: String + v_model_yr: String + v_options: String + v_paint_codes( + # JSON select path + path: String + ): jsonb + v_prod_dt: String + v_stage: String + v_tone: String + v_trimcode: String + v_type: String + v_vin: String! +} + +# aggregated selection of "vehicles" +type vehicles_aggregate { + aggregate: vehicles_aggregate_fields + nodes: [vehicles!]! +} + +# aggregate fields of "vehicles" +type vehicles_aggregate_fields { + count(columns: [vehicles_select_column!], distinct: Boolean): Int + max: vehicles_max_fields + min: vehicles_min_fields +} + +# order by aggregate values of table "vehicles" +input vehicles_aggregate_order_by { + count: order_by + max: vehicles_max_order_by + min: vehicles_min_order_by +} + +# append existing jsonb value of filtered columns with new jsonb value +input vehicles_append_input { + v_paint_codes: jsonb +} + +# input type for inserting array relation for remote table "vehicles" +input vehicles_arr_rel_insert_input { + data: [vehicles_insert_input!]! + on_conflict: vehicles_on_conflict +} + +# Boolean expression to filter rows from the table "vehicles". All fields are combined with a logical 'AND'. +input vehicles_bool_exp { + _and: [vehicles_bool_exp] + _not: vehicles_bool_exp + _or: [vehicles_bool_exp] + bodyshop: bodyshops_bool_exp + created_at: timestamptz_comparison_exp + db_v_code: String_comparison_exp + id: uuid_comparison_exp + jobs: jobs_bool_exp + plate_no: String_comparison_exp + plate_st: String_comparison_exp + shopid: uuid_comparison_exp + trim_color: String_comparison_exp + updated_at: timestamptz_comparison_exp + v_bstyle: String_comparison_exp + v_color: String_comparison_exp + v_cond: String_comparison_exp + v_engine: String_comparison_exp + v_make_desc: String_comparison_exp + v_makecode: String_comparison_exp + v_mldgcode: String_comparison_exp + v_model_desc: String_comparison_exp + v_model_yr: String_comparison_exp + v_options: String_comparison_exp + v_paint_codes: jsonb_comparison_exp + v_prod_dt: String_comparison_exp + v_stage: String_comparison_exp + v_tone: String_comparison_exp + v_trimcode: String_comparison_exp + v_type: String_comparison_exp + v_vin: String_comparison_exp +} + +# unique or primary key constraints on table "vehicles" +enum vehicles_constraint { + # unique or primary key constraint + vehicles_pkey + + # unique or primary key constraint + vehicles_v_vin_shopid_key +} + +# delete the field or element with specified path (for JSON arrays, negative integers count from the end) +input vehicles_delete_at_path_input { + v_paint_codes: [String] +} + +# delete the array element with specified index (negative integers count from the +# end). throws an error if top level container is not an array +input vehicles_delete_elem_input { + v_paint_codes: Int +} + +# delete key/value pair or string element. key/value pairs are matched based on their key value +input vehicles_delete_key_input { + v_paint_codes: String +} + +# input type for inserting data into table "vehicles" +input vehicles_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + created_at: timestamptz + db_v_code: String + id: uuid + jobs: jobs_arr_rel_insert_input + plate_no: String + plate_st: String + shopid: uuid + trim_color: String + updated_at: timestamptz + v_bstyle: String + v_color: String + v_cond: String + v_engine: String + v_make_desc: String + v_makecode: String + v_mldgcode: String + v_model_desc: String + v_model_yr: String + v_options: String + v_paint_codes: jsonb + v_prod_dt: String + v_stage: String + v_tone: String + v_trimcode: String + v_type: String + v_vin: String +} + +# aggregate max on columns +type vehicles_max_fields { + created_at: timestamptz + db_v_code: String + id: uuid + plate_no: String + plate_st: String + shopid: uuid + trim_color: String + updated_at: timestamptz + v_bstyle: String + v_color: String + v_cond: String + v_engine: String + v_make_desc: String + v_makecode: String + v_mldgcode: String + v_model_desc: String + v_model_yr: String + v_options: String + v_prod_dt: String + v_stage: String + v_tone: String + v_trimcode: String + v_type: String + v_vin: String +} + +# order by max() on columns of table "vehicles" +input vehicles_max_order_by { + created_at: order_by + db_v_code: order_by + id: order_by + plate_no: order_by + plate_st: order_by + shopid: order_by + trim_color: order_by + updated_at: order_by + v_bstyle: order_by + v_color: order_by + v_cond: order_by + v_engine: order_by + v_make_desc: order_by + v_makecode: order_by + v_mldgcode: order_by + v_model_desc: order_by + v_model_yr: order_by + v_options: order_by + v_prod_dt: order_by + v_stage: order_by + v_tone: order_by + v_trimcode: order_by + v_type: order_by + v_vin: order_by +} + +# aggregate min on columns +type vehicles_min_fields { + created_at: timestamptz + db_v_code: String + id: uuid + plate_no: String + plate_st: String + shopid: uuid + trim_color: String + updated_at: timestamptz + v_bstyle: String + v_color: String + v_cond: String + v_engine: String + v_make_desc: String + v_makecode: String + v_mldgcode: String + v_model_desc: String + v_model_yr: String + v_options: String + v_prod_dt: String + v_stage: String + v_tone: String + v_trimcode: String + v_type: String + v_vin: String +} + +# order by min() on columns of table "vehicles" +input vehicles_min_order_by { + created_at: order_by + db_v_code: order_by + id: order_by + plate_no: order_by + plate_st: order_by + shopid: order_by + trim_color: order_by + updated_at: order_by + v_bstyle: order_by + v_color: order_by + v_cond: order_by + v_engine: order_by + v_make_desc: order_by + v_makecode: order_by + v_mldgcode: order_by + v_model_desc: order_by + v_model_yr: order_by + v_options: order_by + v_prod_dt: order_by + v_stage: order_by + v_tone: order_by + v_trimcode: order_by + v_type: order_by + v_vin: order_by +} + +# response of any mutation on the table "vehicles" +type vehicles_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [vehicles!]! +} + +# input type for inserting object relation for remote table "vehicles" +input vehicles_obj_rel_insert_input { + data: vehicles_insert_input! + on_conflict: vehicles_on_conflict +} + +# on conflict condition type for table "vehicles" +input vehicles_on_conflict { + constraint: vehicles_constraint! + update_columns: [vehicles_update_column!]! + where: vehicles_bool_exp +} + +# ordering options when selecting data from "vehicles" +input vehicles_order_by { + bodyshop: bodyshops_order_by + created_at: order_by + db_v_code: order_by + id: order_by + jobs_aggregate: jobs_aggregate_order_by + plate_no: order_by + plate_st: order_by + shopid: order_by + trim_color: order_by + updated_at: order_by + v_bstyle: order_by + v_color: order_by + v_cond: order_by + v_engine: order_by + v_make_desc: order_by + v_makecode: order_by + v_mldgcode: order_by + v_model_desc: order_by + v_model_yr: order_by + v_options: order_by + v_paint_codes: order_by + v_prod_dt: order_by + v_stage: order_by + v_tone: order_by + v_trimcode: order_by + v_type: order_by + v_vin: order_by +} + +# primary key columns input for table: "vehicles" +input vehicles_pk_columns_input { + id: uuid! +} + +# prepend existing jsonb value of filtered columns with new jsonb value +input vehicles_prepend_input { + v_paint_codes: jsonb +} + +# select columns of table "vehicles" +enum vehicles_select_column { + # column name + created_at + + # column name + db_v_code + + # column name + id + + # column name + plate_no + + # column name + plate_st + + # column name + shopid + + # column name + trim_color + + # column name + updated_at + + # column name + v_bstyle + + # column name + v_color + + # column name + v_cond + + # column name + v_engine + + # column name + v_make_desc + + # column name + v_makecode + + # column name + v_mldgcode + + # column name + v_model_desc + + # column name + v_model_yr + + # column name + v_options + + # column name + v_paint_codes + + # column name + v_prod_dt + + # column name + v_stage + + # column name + v_tone + + # column name + v_trimcode + + # column name + v_type + + # column name + v_vin +} + +# input type for updating data in table "vehicles" +input vehicles_set_input { + created_at: timestamptz + db_v_code: String + id: uuid + plate_no: String + plate_st: String + shopid: uuid + trim_color: String + updated_at: timestamptz + v_bstyle: String + v_color: String + v_cond: String + v_engine: String + v_make_desc: String + v_makecode: String + v_mldgcode: String + v_model_desc: String + v_model_yr: String + v_options: String + v_paint_codes: jsonb + v_prod_dt: String + v_stage: String + v_tone: String + v_trimcode: String + v_type: String + v_vin: String +} + +# update columns of table "vehicles" +enum vehicles_update_column { + # column name + created_at + + # column name + db_v_code + + # column name + id + + # column name + plate_no + + # column name + plate_st + + # column name + shopid + + # column name + trim_color + + # column name + updated_at + + # column name + v_bstyle + + # column name + v_color + + # column name + v_cond + + # column name + v_engine + + # column name + v_make_desc + + # column name + v_makecode + + # column name + v_mldgcode + + # column name + v_model_desc + + # column name + v_model_yr + + # column name + v_options + + # column name + v_paint_codes + + # column name + v_prod_dt + + # column name + v_stage + + # column name + v_tone + + # column name + v_trimcode + + # column name + v_type + + # column name + v_vin +} + +# columns and relationships of "vendors" +type vendors { + # An object relationship + bodyshop: bodyshops! + bodyshopid: uuid! + city: String + cost_center: String! + country: String + created_at: timestamptz! + discount: numeric! + display_name: String + due_date: Int + email: String + favorite( + # JSON select path + path: String + ): jsonb + id: uuid! + + # An array relationship + invoices( + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): [invoices!]! + + # An aggregated array relationship + invoices_aggregate( + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): invoices_aggregate! + name: String! + + # An array relationship + parts_orders( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): [parts_orders!]! + + # An aggregated array relationship + parts_orders_aggregate( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): parts_orders_aggregate! + prompt_discount: numeric! + state: String + street1: String + street2: String + taxid: String + terms: String + updated_at: timestamptz! + zip: String +} + +# aggregated selection of "vendors" +type vendors_aggregate { + aggregate: vendors_aggregate_fields + nodes: [vendors!]! +} + +# aggregate fields of "vendors" +type vendors_aggregate_fields { + avg: vendors_avg_fields + count(columns: [vendors_select_column!], distinct: Boolean): Int + max: vendors_max_fields + min: vendors_min_fields + stddev: vendors_stddev_fields + stddev_pop: vendors_stddev_pop_fields + stddev_samp: vendors_stddev_samp_fields + sum: vendors_sum_fields + var_pop: vendors_var_pop_fields + var_samp: vendors_var_samp_fields + variance: vendors_variance_fields +} + +# order by aggregate values of table "vendors" +input vendors_aggregate_order_by { + avg: vendors_avg_order_by + count: order_by + max: vendors_max_order_by + min: vendors_min_order_by + stddev: vendors_stddev_order_by + stddev_pop: vendors_stddev_pop_order_by + stddev_samp: vendors_stddev_samp_order_by + sum: vendors_sum_order_by + var_pop: vendors_var_pop_order_by + var_samp: vendors_var_samp_order_by + variance: vendors_variance_order_by +} + +# append existing jsonb value of filtered columns with new jsonb value +input vendors_append_input { + favorite: jsonb +} + +# input type for inserting array relation for remote table "vendors" +input vendors_arr_rel_insert_input { + data: [vendors_insert_input!]! + on_conflict: vendors_on_conflict +} + +# aggregate avg on columns +type vendors_avg_fields { + discount: Float + due_date: Float + prompt_discount: Float +} + +# order by avg() on columns of table "vendors" +input vendors_avg_order_by { + discount: order_by + due_date: order_by + prompt_discount: order_by +} + +# Boolean expression to filter rows from the table "vendors". All fields are combined with a logical 'AND'. +input vendors_bool_exp { + _and: [vendors_bool_exp] + _not: vendors_bool_exp + _or: [vendors_bool_exp] + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + city: String_comparison_exp + cost_center: String_comparison_exp + country: String_comparison_exp + created_at: timestamptz_comparison_exp + discount: numeric_comparison_exp + display_name: String_comparison_exp + due_date: Int_comparison_exp + email: String_comparison_exp + favorite: jsonb_comparison_exp + id: uuid_comparison_exp + invoices: invoices_bool_exp + name: String_comparison_exp + parts_orders: parts_orders_bool_exp + prompt_discount: numeric_comparison_exp + state: String_comparison_exp + street1: String_comparison_exp + street2: String_comparison_exp + taxid: String_comparison_exp + terms: String_comparison_exp + updated_at: timestamptz_comparison_exp + zip: String_comparison_exp +} + +# unique or primary key constraints on table "vendors" +enum vendors_constraint { + # unique or primary key constraint + vendors_pkey +} + +# delete the field or element with specified path (for JSON arrays, negative integers count from the end) +input vendors_delete_at_path_input { + favorite: [String] +} + +# delete the array element with specified index (negative integers count from the +# end). throws an error if top level container is not an array +input vendors_delete_elem_input { + favorite: Int +} + +# delete key/value pair or string element. key/value pairs are matched based on their key value +input vendors_delete_key_input { + favorite: String +} + +# input type for incrementing integer column in table "vendors" +input vendors_inc_input { + discount: numeric + due_date: Int + prompt_discount: numeric +} + +# input type for inserting data into table "vendors" +input vendors_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + city: String + cost_center: String + country: String + created_at: timestamptz + discount: numeric + display_name: String + due_date: Int + email: String + favorite: jsonb + id: uuid + invoices: invoices_arr_rel_insert_input + name: String + parts_orders: parts_orders_arr_rel_insert_input + prompt_discount: numeric + state: String + street1: String + street2: String + taxid: String + terms: String + updated_at: timestamptz + zip: String +} + +# aggregate max on columns +type vendors_max_fields { + bodyshopid: uuid + city: String + cost_center: String + country: String + created_at: timestamptz + discount: numeric + display_name: String + due_date: Int + email: String + id: uuid + name: String + prompt_discount: numeric + state: String + street1: String + street2: String + taxid: String + terms: String + updated_at: timestamptz + zip: String +} + +# order by max() on columns of table "vendors" +input vendors_max_order_by { + bodyshopid: order_by + city: order_by + cost_center: order_by + country: order_by + created_at: order_by + discount: order_by + display_name: order_by + due_date: order_by + email: order_by + id: order_by + name: order_by + prompt_discount: order_by + state: order_by + street1: order_by + street2: order_by + taxid: order_by + terms: order_by + updated_at: order_by + zip: order_by +} + +# aggregate min on columns +type vendors_min_fields { + bodyshopid: uuid + city: String + cost_center: String + country: String + created_at: timestamptz + discount: numeric + display_name: String + due_date: Int + email: String + id: uuid + name: String + prompt_discount: numeric + state: String + street1: String + street2: String + taxid: String + terms: String + updated_at: timestamptz + zip: String +} + +# order by min() on columns of table "vendors" +input vendors_min_order_by { + bodyshopid: order_by + city: order_by + cost_center: order_by + country: order_by + created_at: order_by + discount: order_by + display_name: order_by + due_date: order_by + email: order_by + id: order_by + name: order_by + prompt_discount: order_by + state: order_by + street1: order_by + street2: order_by + taxid: order_by + terms: order_by + updated_at: order_by + zip: order_by +} + +# response of any mutation on the table "vendors" +type vendors_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [vendors!]! +} + +# input type for inserting object relation for remote table "vendors" +input vendors_obj_rel_insert_input { + data: vendors_insert_input! + on_conflict: vendors_on_conflict +} + +# on conflict condition type for table "vendors" +input vendors_on_conflict { + constraint: vendors_constraint! + update_columns: [vendors_update_column!]! + where: vendors_bool_exp +} + +# ordering options when selecting data from "vendors" +input vendors_order_by { + bodyshop: bodyshops_order_by + bodyshopid: order_by + city: order_by + cost_center: order_by + country: order_by + created_at: order_by + discount: order_by + display_name: order_by + due_date: order_by + email: order_by + favorite: order_by + id: order_by + invoices_aggregate: invoices_aggregate_order_by + name: order_by + parts_orders_aggregate: parts_orders_aggregate_order_by + prompt_discount: order_by + state: order_by + street1: order_by + street2: order_by + taxid: order_by + terms: order_by + updated_at: order_by + zip: order_by +} + +# primary key columns input for table: "vendors" +input vendors_pk_columns_input { + id: uuid! +} + +# prepend existing jsonb value of filtered columns with new jsonb value +input vendors_prepend_input { + favorite: jsonb +} + +# select columns of table "vendors" +enum vendors_select_column { + # column name + bodyshopid + + # column name + city + + # column name + cost_center + + # column name + country + + # column name + created_at + + # column name + discount + + # column name + display_name + + # column name + due_date + + # column name + email + + # column name + favorite + + # column name + id + + # column name + name + + # column name + prompt_discount + + # column name + state + + # column name + street1 + + # column name + street2 + + # column name + taxid + + # column name + terms + + # column name + updated_at + + # column name + zip +} + +# input type for updating data in table "vendors" +input vendors_set_input { + bodyshopid: uuid + city: String + cost_center: String + country: String + created_at: timestamptz + discount: numeric + display_name: String + due_date: Int + email: String + favorite: jsonb + id: uuid + name: String + prompt_discount: numeric + state: String + street1: String + street2: String + taxid: String + terms: String + updated_at: timestamptz + zip: String +} + +# aggregate stddev on columns +type vendors_stddev_fields { + discount: Float + due_date: Float + prompt_discount: Float +} + +# order by stddev() on columns of table "vendors" +input vendors_stddev_order_by { + discount: order_by + due_date: order_by + prompt_discount: order_by +} + +# aggregate stddev_pop on columns +type vendors_stddev_pop_fields { + discount: Float + due_date: Float + prompt_discount: Float +} + +# order by stddev_pop() on columns of table "vendors" +input vendors_stddev_pop_order_by { + discount: order_by + due_date: order_by + prompt_discount: order_by +} + +# aggregate stddev_samp on columns +type vendors_stddev_samp_fields { + discount: Float + due_date: Float + prompt_discount: Float +} + +# order by stddev_samp() on columns of table "vendors" +input vendors_stddev_samp_order_by { + discount: order_by + due_date: order_by + prompt_discount: order_by +} + +# aggregate sum on columns +type vendors_sum_fields { + discount: numeric + due_date: Int + prompt_discount: numeric +} + +# order by sum() on columns of table "vendors" +input vendors_sum_order_by { + discount: order_by + due_date: order_by + prompt_discount: order_by +} + +# update columns of table "vendors" +enum vendors_update_column { + # column name + bodyshopid + + # column name + city + + # column name + cost_center + + # column name + country + + # column name + created_at + + # column name + discount + + # column name + display_name + + # column name + due_date + + # column name + email + + # column name + favorite + + # column name + id + + # column name + name + + # column name + prompt_discount + + # column name + state + + # column name + street1 + + # column name + street2 + + # column name + taxid + + # column name + terms + + # column name + updated_at + + # column name + zip +} + +# aggregate var_pop on columns +type vendors_var_pop_fields { + discount: Float + due_date: Float + prompt_discount: Float +} + +# order by var_pop() on columns of table "vendors" +input vendors_var_pop_order_by { + discount: order_by + due_date: order_by + prompt_discount: order_by +} + +# aggregate var_samp on columns +type vendors_var_samp_fields { + discount: Float + due_date: Float + prompt_discount: Float +} + +# order by var_samp() on columns of table "vendors" +input vendors_var_samp_order_by { + discount: order_by + due_date: order_by + prompt_discount: order_by +} + +# aggregate variance on columns +type vendors_variance_fields { + discount: Float + due_date: Float + prompt_discount: Float +} + +# order by variance() on columns of table "vendors" +input vendors_variance_order_by { + discount: order_by + due_date: order_by + prompt_discount: order_by +} + diff --git a/client/src/graphql/schema.js b/client/src/graphql/schema.js new file mode 100644 index 000000000..a0a22895e --- /dev/null +++ b/client/src/graphql/schema.js @@ -0,0 +1,25132 @@ +import { gql } from "@apollo/client"; +import { buildSchema } from "graphql"; + +export default buildSchema(` + schema { + query: query_root + mutation: mutation_root + subscription: subscription_root + } + + # columns and relationships of "allocations" + type allocations { + created_at: timestamptz! + + # An object relationship + employee: employees! + employeeid: uuid! + hours: numeric! + id: uuid! + + # An object relationship + jobline: joblines! + joblineid: uuid! + updated_at: timestamptz! + } + + # aggregated selection of "allocations" + type allocations_aggregate { + aggregate: allocations_aggregate_fields + nodes: [allocations!]! + } + + # aggregate fields of "allocations" + type allocations_aggregate_fields { + avg: allocations_avg_fields + count(columns: [allocations_select_column!], distinct: Boolean): Int + max: allocations_max_fields + min: allocations_min_fields + stddev: allocations_stddev_fields + stddev_pop: allocations_stddev_pop_fields + stddev_samp: allocations_stddev_samp_fields + sum: allocations_sum_fields + var_pop: allocations_var_pop_fields + var_samp: allocations_var_samp_fields + variance: allocations_variance_fields + } + + # order by aggregate values of table "allocations" + input allocations_aggregate_order_by { + avg: allocations_avg_order_by + count: order_by + max: allocations_max_order_by + min: allocations_min_order_by + stddev: allocations_stddev_order_by + stddev_pop: allocations_stddev_pop_order_by + stddev_samp: allocations_stddev_samp_order_by + sum: allocations_sum_order_by + var_pop: allocations_var_pop_order_by + var_samp: allocations_var_samp_order_by + variance: allocations_variance_order_by + } + + # input type for inserting array relation for remote table "allocations" + input allocations_arr_rel_insert_input { + data: [allocations_insert_input!]! + on_conflict: allocations_on_conflict + } + + # aggregate avg on columns + type allocations_avg_fields { + hours: Float + } + + # order by avg() on columns of table "allocations" + input allocations_avg_order_by { + hours: order_by + } + + # Boolean expression to filter rows from the table "allocations". All fields are combined with a logical 'AND'. + input allocations_bool_exp { + _and: [allocations_bool_exp] + _not: allocations_bool_exp + _or: [allocations_bool_exp] + created_at: timestamptz_comparison_exp + employee: employees_bool_exp + employeeid: uuid_comparison_exp + hours: numeric_comparison_exp + id: uuid_comparison_exp + jobline: joblines_bool_exp + joblineid: uuid_comparison_exp + updated_at: timestamptz_comparison_exp + } + + # unique or primary key constraints on table "allocations" + enum allocations_constraint { + # unique or primary key constraint + allocations_pkey + } + + # input type for incrementing integer column in table "allocations" + input allocations_inc_input { + hours: numeric + } + + # input type for inserting data into table "allocations" + input allocations_insert_input { + created_at: timestamptz + employee: employees_obj_rel_insert_input + employeeid: uuid + hours: numeric + id: uuid + jobline: joblines_obj_rel_insert_input + joblineid: uuid + updated_at: timestamptz + } + + # aggregate max on columns + type allocations_max_fields { + created_at: timestamptz + employeeid: uuid + hours: numeric + id: uuid + joblineid: uuid + updated_at: timestamptz + } + + # order by max() on columns of table "allocations" + input allocations_max_order_by { + created_at: order_by + employeeid: order_by + hours: order_by + id: order_by + joblineid: order_by + updated_at: order_by + } + + # aggregate min on columns + type allocations_min_fields { + created_at: timestamptz + employeeid: uuid + hours: numeric + id: uuid + joblineid: uuid + updated_at: timestamptz + } + + # order by min() on columns of table "allocations" + input allocations_min_order_by { + created_at: order_by + employeeid: order_by + hours: order_by + id: order_by + joblineid: order_by + updated_at: order_by + } + + # response of any mutation on the table "allocations" + type allocations_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [allocations!]! + } + + # input type for inserting object relation for remote table "allocations" + input allocations_obj_rel_insert_input { + data: allocations_insert_input! + on_conflict: allocations_on_conflict + } + + # on conflict condition type for table "allocations" + input allocations_on_conflict { + constraint: allocations_constraint! + update_columns: [allocations_update_column!]! + where: allocations_bool_exp + } + + # ordering options when selecting data from "allocations" + input allocations_order_by { + created_at: order_by + employee: employees_order_by + employeeid: order_by + hours: order_by + id: order_by + jobline: joblines_order_by + joblineid: order_by + updated_at: order_by + } + + # primary key columns input for table: "allocations" + input allocations_pk_columns_input { + id: uuid! + } + + # select columns of table "allocations" + enum allocations_select_column { + # column name + created_at + + # column name + employeeid + + # column name + hours + + # column name + id + + # column name + joblineid + + # column name + updated_at + } + + # input type for updating data in table "allocations" + input allocations_set_input { + created_at: timestamptz + employeeid: uuid + hours: numeric + id: uuid + joblineid: uuid + updated_at: timestamptz + } + + # aggregate stddev on columns + type allocations_stddev_fields { + hours: Float + } + + # order by stddev() on columns of table "allocations" + input allocations_stddev_order_by { + hours: order_by + } + + # aggregate stddev_pop on columns + type allocations_stddev_pop_fields { + hours: Float + } + + # order by stddev_pop() on columns of table "allocations" + input allocations_stddev_pop_order_by { + hours: order_by + } + + # aggregate stddev_samp on columns + type allocations_stddev_samp_fields { + hours: Float + } + + # order by stddev_samp() on columns of table "allocations" + input allocations_stddev_samp_order_by { + hours: order_by + } + + # aggregate sum on columns + type allocations_sum_fields { + hours: numeric + } + + # order by sum() on columns of table "allocations" + input allocations_sum_order_by { + hours: order_by + } + + # update columns of table "allocations" + enum allocations_update_column { + # column name + created_at + + # column name + employeeid + + # column name + hours + + # column name + id + + # column name + joblineid + + # column name + updated_at + } + + # aggregate var_pop on columns + type allocations_var_pop_fields { + hours: Float + } + + # order by var_pop() on columns of table "allocations" + input allocations_var_pop_order_by { + hours: order_by + } + + # aggregate var_samp on columns + type allocations_var_samp_fields { + hours: Float + } + + # order by var_samp() on columns of table "allocations" + input allocations_var_samp_order_by { + hours: order_by + } + + # aggregate variance on columns + type allocations_variance_fields { + hours: Float + } + + # order by variance() on columns of table "allocations" + input allocations_variance_order_by { + hours: order_by + } + + # columns and relationships of "appointments" + type appointments { + arrived: Boolean! + block: Boolean! + + # An object relationship + bodyshop: bodyshops! + bodyshopid: uuid! + canceled: Boolean! + created_at: timestamptz! + end: timestamptz! + id: uuid! + isintake: Boolean! + + # An object relationship + job: jobs + jobid: uuid + start: timestamptz! + title: String + updated_at: timestamptz! + } + + # aggregated selection of "appointments" + type appointments_aggregate { + aggregate: appointments_aggregate_fields + nodes: [appointments!]! + } + + # aggregate fields of "appointments" + type appointments_aggregate_fields { + count(columns: [appointments_select_column!], distinct: Boolean): Int + max: appointments_max_fields + min: appointments_min_fields + } + + # order by aggregate values of table "appointments" + input appointments_aggregate_order_by { + count: order_by + max: appointments_max_order_by + min: appointments_min_order_by + } + + # input type for inserting array relation for remote table "appointments" + input appointments_arr_rel_insert_input { + data: [appointments_insert_input!]! + on_conflict: appointments_on_conflict + } + + # Boolean expression to filter rows from the table "appointments". All fields are combined with a logical 'AND'. + input appointments_bool_exp { + _and: [appointments_bool_exp] + _not: appointments_bool_exp + _or: [appointments_bool_exp] + arrived: Boolean_comparison_exp + block: Boolean_comparison_exp + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + canceled: Boolean_comparison_exp + created_at: timestamptz_comparison_exp + end: timestamptz_comparison_exp + id: uuid_comparison_exp + isintake: Boolean_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + start: timestamptz_comparison_exp + title: String_comparison_exp + updated_at: timestamptz_comparison_exp + } + + # unique or primary key constraints on table "appointments" + enum appointments_constraint { + # unique or primary key constraint + appointments_pkey + } + + # input type for inserting data into table "appointments" + input appointments_insert_input { + arrived: Boolean + block: Boolean + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + canceled: Boolean + created_at: timestamptz + end: timestamptz + id: uuid + isintake: Boolean + job: jobs_obj_rel_insert_input + jobid: uuid + start: timestamptz + title: String + updated_at: timestamptz + } + + # aggregate max on columns + type appointments_max_fields { + bodyshopid: uuid + created_at: timestamptz + end: timestamptz + id: uuid + jobid: uuid + start: timestamptz + title: String + updated_at: timestamptz + } + + # order by max() on columns of table "appointments" + input appointments_max_order_by { + bodyshopid: order_by + created_at: order_by + end: order_by + id: order_by + jobid: order_by + start: order_by + title: order_by + updated_at: order_by + } + + # aggregate min on columns + type appointments_min_fields { + bodyshopid: uuid + created_at: timestamptz + end: timestamptz + id: uuid + jobid: uuid + start: timestamptz + title: String + updated_at: timestamptz + } + + # order by min() on columns of table "appointments" + input appointments_min_order_by { + bodyshopid: order_by + created_at: order_by + end: order_by + id: order_by + jobid: order_by + start: order_by + title: order_by + updated_at: order_by + } + + # response of any mutation on the table "appointments" + type appointments_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [appointments!]! + } + + # input type for inserting object relation for remote table "appointments" + input appointments_obj_rel_insert_input { + data: appointments_insert_input! + on_conflict: appointments_on_conflict + } + + # on conflict condition type for table "appointments" + input appointments_on_conflict { + constraint: appointments_constraint! + update_columns: [appointments_update_column!]! + where: appointments_bool_exp + } + + # ordering options when selecting data from "appointments" + input appointments_order_by { + arrived: order_by + block: order_by + bodyshop: bodyshops_order_by + bodyshopid: order_by + canceled: order_by + created_at: order_by + end: order_by + id: order_by + isintake: order_by + job: jobs_order_by + jobid: order_by + start: order_by + title: order_by + updated_at: order_by + } + + # primary key columns input for table: "appointments" + input appointments_pk_columns_input { + id: uuid! + } + + # select columns of table "appointments" + enum appointments_select_column { + # column name + arrived + + # column name + block + + # column name + bodyshopid + + # column name + canceled + + # column name + created_at + + # column name + end + + # column name + id + + # column name + isintake + + # column name + jobid + + # column name + start + + # column name + title + + # column name + updated_at + } + + # input type for updating data in table "appointments" + input appointments_set_input { + arrived: Boolean + block: Boolean + bodyshopid: uuid + canceled: Boolean + created_at: timestamptz + end: timestamptz + id: uuid + isintake: Boolean + jobid: uuid + start: timestamptz + title: String + updated_at: timestamptz + } + + # update columns of table "appointments" + enum appointments_update_column { + # column name + arrived + + # column name + block + + # column name + bodyshopid + + # column name + canceled + + # column name + created_at + + # column name + end + + # column name + id + + # column name + isintake + + # column name + jobid + + # column name + start + + # column name + title + + # column name + updated_at + } + + # columns and relationships of "associations" + type associations { + active: Boolean! + authlevel: Int! + + # An object relationship + bodyshop: bodyshops! + id: uuid! + shopid: uuid! + + # An object relationship + user: users! + useremail: String! + } + + # aggregated selection of "associations" + type associations_aggregate { + aggregate: associations_aggregate_fields + nodes: [associations!]! + } + + # aggregate fields of "associations" + type associations_aggregate_fields { + avg: associations_avg_fields + count(columns: [associations_select_column!], distinct: Boolean): Int + max: associations_max_fields + min: associations_min_fields + stddev: associations_stddev_fields + stddev_pop: associations_stddev_pop_fields + stddev_samp: associations_stddev_samp_fields + sum: associations_sum_fields + var_pop: associations_var_pop_fields + var_samp: associations_var_samp_fields + variance: associations_variance_fields + } + + # order by aggregate values of table "associations" + input associations_aggregate_order_by { + avg: associations_avg_order_by + count: order_by + max: associations_max_order_by + min: associations_min_order_by + stddev: associations_stddev_order_by + stddev_pop: associations_stddev_pop_order_by + stddev_samp: associations_stddev_samp_order_by + sum: associations_sum_order_by + var_pop: associations_var_pop_order_by + var_samp: associations_var_samp_order_by + variance: associations_variance_order_by + } + + # input type for inserting array relation for remote table "associations" + input associations_arr_rel_insert_input { + data: [associations_insert_input!]! + on_conflict: associations_on_conflict + } + + # aggregate avg on columns + type associations_avg_fields { + authlevel: Float + } + + # order by avg() on columns of table "associations" + input associations_avg_order_by { + authlevel: order_by + } + + # Boolean expression to filter rows from the table "associations". All fields are combined with a logical 'AND'. + input associations_bool_exp { + _and: [associations_bool_exp] + _not: associations_bool_exp + _or: [associations_bool_exp] + active: Boolean_comparison_exp + authlevel: Int_comparison_exp + bodyshop: bodyshops_bool_exp + id: uuid_comparison_exp + shopid: uuid_comparison_exp + user: users_bool_exp + useremail: String_comparison_exp + } + + # unique or primary key constraints on table "associations" + enum associations_constraint { + # unique or primary key constraint + associations_pkey + } + + # input type for incrementing integer column in table "associations" + input associations_inc_input { + authlevel: Int + } + + # input type for inserting data into table "associations" + input associations_insert_input { + active: Boolean + authlevel: Int + bodyshop: bodyshops_obj_rel_insert_input + id: uuid + shopid: uuid + user: users_obj_rel_insert_input + useremail: String + } + + # aggregate max on columns + type associations_max_fields { + authlevel: Int + id: uuid + shopid: uuid + useremail: String + } + + # order by max() on columns of table "associations" + input associations_max_order_by { + authlevel: order_by + id: order_by + shopid: order_by + useremail: order_by + } + + # aggregate min on columns + type associations_min_fields { + authlevel: Int + id: uuid + shopid: uuid + useremail: String + } + + # order by min() on columns of table "associations" + input associations_min_order_by { + authlevel: order_by + id: order_by + shopid: order_by + useremail: order_by + } + + # response of any mutation on the table "associations" + type associations_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [associations!]! + } + + # input type for inserting object relation for remote table "associations" + input associations_obj_rel_insert_input { + data: associations_insert_input! + on_conflict: associations_on_conflict + } + + # on conflict condition type for table "associations" + input associations_on_conflict { + constraint: associations_constraint! + update_columns: [associations_update_column!]! + where: associations_bool_exp + } + + # ordering options when selecting data from "associations" + input associations_order_by { + active: order_by + authlevel: order_by + bodyshop: bodyshops_order_by + id: order_by + shopid: order_by + user: users_order_by + useremail: order_by + } + + # primary key columns input for table: "associations" + input associations_pk_columns_input { + id: uuid! + } + + # select columns of table "associations" + enum associations_select_column { + # column name + active + + # column name + authlevel + + # column name + id + + # column name + shopid + + # column name + useremail + } + + # input type for updating data in table "associations" + input associations_set_input { + active: Boolean + authlevel: Int + id: uuid + shopid: uuid + useremail: String + } + + # aggregate stddev on columns + type associations_stddev_fields { + authlevel: Float + } + + # order by stddev() on columns of table "associations" + input associations_stddev_order_by { + authlevel: order_by + } + + # aggregate stddev_pop on columns + type associations_stddev_pop_fields { + authlevel: Float + } + + # order by stddev_pop() on columns of table "associations" + input associations_stddev_pop_order_by { + authlevel: order_by + } + + # aggregate stddev_samp on columns + type associations_stddev_samp_fields { + authlevel: Float + } + + # order by stddev_samp() on columns of table "associations" + input associations_stddev_samp_order_by { + authlevel: order_by + } + + # aggregate sum on columns + type associations_sum_fields { + authlevel: Int + } + + # order by sum() on columns of table "associations" + input associations_sum_order_by { + authlevel: order_by + } + + # update columns of table "associations" + enum associations_update_column { + # column name + active + + # column name + authlevel + + # column name + id + + # column name + shopid + + # column name + useremail + } + + # aggregate var_pop on columns + type associations_var_pop_fields { + authlevel: Float + } + + # order by var_pop() on columns of table "associations" + input associations_var_pop_order_by { + authlevel: order_by + } + + # aggregate var_samp on columns + type associations_var_samp_fields { + authlevel: Float + } + + # order by var_samp() on columns of table "associations" + input associations_var_samp_order_by { + authlevel: order_by + } + + # aggregate variance on columns + type associations_variance_fields { + authlevel: Float + } + + # order by variance() on columns of table "associations" + input associations_variance_order_by { + authlevel: order_by + } + + # columns and relationships of "audit_trail" + type audit_trail { + # An object relationship + bodyshop: bodyshops + bodyshopid: uuid + created: timestamp + id: Int! + new_val( + # JSON select path + path: String + ): json + old_val( + # JSON select path + path: String + ): json + operation: String + recordid: uuid + schemaname: String + tabname: String + + # An object relationship + user: users + useremail: String + } + + # aggregated selection of "audit_trail" + type audit_trail_aggregate { + aggregate: audit_trail_aggregate_fields + nodes: [audit_trail!]! + } + + # aggregate fields of "audit_trail" + type audit_trail_aggregate_fields { + avg: audit_trail_avg_fields + count(columns: [audit_trail_select_column!], distinct: Boolean): Int + max: audit_trail_max_fields + min: audit_trail_min_fields + stddev: audit_trail_stddev_fields + stddev_pop: audit_trail_stddev_pop_fields + stddev_samp: audit_trail_stddev_samp_fields + sum: audit_trail_sum_fields + var_pop: audit_trail_var_pop_fields + var_samp: audit_trail_var_samp_fields + variance: audit_trail_variance_fields + } + + # order by aggregate values of table "audit_trail" + input audit_trail_aggregate_order_by { + avg: audit_trail_avg_order_by + count: order_by + max: audit_trail_max_order_by + min: audit_trail_min_order_by + stddev: audit_trail_stddev_order_by + stddev_pop: audit_trail_stddev_pop_order_by + stddev_samp: audit_trail_stddev_samp_order_by + sum: audit_trail_sum_order_by + var_pop: audit_trail_var_pop_order_by + var_samp: audit_trail_var_samp_order_by + variance: audit_trail_variance_order_by + } + + # input type for inserting array relation for remote table "audit_trail" + input audit_trail_arr_rel_insert_input { + data: [audit_trail_insert_input!]! + on_conflict: audit_trail_on_conflict + } + + # aggregate avg on columns + type audit_trail_avg_fields { + id: Float + } + + # order by avg() on columns of table "audit_trail" + input audit_trail_avg_order_by { + id: order_by + } + + # Boolean expression to filter rows from the table "audit_trail". All fields are combined with a logical 'AND'. + input audit_trail_bool_exp { + _and: [audit_trail_bool_exp] + _not: audit_trail_bool_exp + _or: [audit_trail_bool_exp] + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + created: timestamp_comparison_exp + id: Int_comparison_exp + new_val: json_comparison_exp + old_val: json_comparison_exp + operation: String_comparison_exp + recordid: uuid_comparison_exp + schemaname: String_comparison_exp + tabname: String_comparison_exp + user: users_bool_exp + useremail: String_comparison_exp + } + + # unique or primary key constraints on table "audit_trail" + enum audit_trail_constraint { + # unique or primary key constraint + audit_trail_pkey + } + + # input type for incrementing integer column in table "audit_trail" + input audit_trail_inc_input { + id: Int + } + + # input type for inserting data into table "audit_trail" + input audit_trail_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + created: timestamp + id: Int + new_val: json + old_val: json + operation: String + recordid: uuid + schemaname: String + tabname: String + user: users_obj_rel_insert_input + useremail: String + } + + # aggregate max on columns + type audit_trail_max_fields { + bodyshopid: uuid + created: timestamp + id: Int + operation: String + recordid: uuid + schemaname: String + tabname: String + useremail: String + } + + # order by max() on columns of table "audit_trail" + input audit_trail_max_order_by { + bodyshopid: order_by + created: order_by + id: order_by + operation: order_by + recordid: order_by + schemaname: order_by + tabname: order_by + useremail: order_by + } + + # aggregate min on columns + type audit_trail_min_fields { + bodyshopid: uuid + created: timestamp + id: Int + operation: String + recordid: uuid + schemaname: String + tabname: String + useremail: String + } + + # order by min() on columns of table "audit_trail" + input audit_trail_min_order_by { + bodyshopid: order_by + created: order_by + id: order_by + operation: order_by + recordid: order_by + schemaname: order_by + tabname: order_by + useremail: order_by + } + + # response of any mutation on the table "audit_trail" + type audit_trail_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [audit_trail!]! + } + + # input type for inserting object relation for remote table "audit_trail" + input audit_trail_obj_rel_insert_input { + data: audit_trail_insert_input! + on_conflict: audit_trail_on_conflict + } + + # on conflict condition type for table "audit_trail" + input audit_trail_on_conflict { + constraint: audit_trail_constraint! + update_columns: [audit_trail_update_column!]! + where: audit_trail_bool_exp + } + + # ordering options when selecting data from "audit_trail" + input audit_trail_order_by { + bodyshop: bodyshops_order_by + bodyshopid: order_by + created: order_by + id: order_by + new_val: order_by + old_val: order_by + operation: order_by + recordid: order_by + schemaname: order_by + tabname: order_by + user: users_order_by + useremail: order_by + } + + # primary key columns input for table: "audit_trail" + input audit_trail_pk_columns_input { + id: Int! + } + + # select columns of table "audit_trail" + enum audit_trail_select_column { + # column name + bodyshopid + + # column name + created + + # column name + id + + # column name + new_val + + # column name + old_val + + # column name + operation + + # column name + recordid + + # column name + schemaname + + # column name + tabname + + # column name + useremail + } + + # input type for updating data in table "audit_trail" + input audit_trail_set_input { + bodyshopid: uuid + created: timestamp + id: Int + new_val: json + old_val: json + operation: String + recordid: uuid + schemaname: String + tabname: String + useremail: String + } + + # aggregate stddev on columns + type audit_trail_stddev_fields { + id: Float + } + + # order by stddev() on columns of table "audit_trail" + input audit_trail_stddev_order_by { + id: order_by + } + + # aggregate stddev_pop on columns + type audit_trail_stddev_pop_fields { + id: Float + } + + # order by stddev_pop() on columns of table "audit_trail" + input audit_trail_stddev_pop_order_by { + id: order_by + } + + # aggregate stddev_samp on columns + type audit_trail_stddev_samp_fields { + id: Float + } + + # order by stddev_samp() on columns of table "audit_trail" + input audit_trail_stddev_samp_order_by { + id: order_by + } + + # aggregate sum on columns + type audit_trail_sum_fields { + id: Int + } + + # order by sum() on columns of table "audit_trail" + input audit_trail_sum_order_by { + id: order_by + } + + # update columns of table "audit_trail" + enum audit_trail_update_column { + # column name + bodyshopid + + # column name + created + + # column name + id + + # column name + new_val + + # column name + old_val + + # column name + operation + + # column name + recordid + + # column name + schemaname + + # column name + tabname + + # column name + useremail + } + + # aggregate var_pop on columns + type audit_trail_var_pop_fields { + id: Float + } + + # order by var_pop() on columns of table "audit_trail" + input audit_trail_var_pop_order_by { + id: order_by + } + + # aggregate var_samp on columns + type audit_trail_var_samp_fields { + id: Float + } + + # order by var_samp() on columns of table "audit_trail" + input audit_trail_var_samp_order_by { + id: order_by + } + + # aggregate variance on columns + type audit_trail_variance_fields { + id: Float + } + + # order by variance() on columns of table "audit_trail" + input audit_trail_variance_order_by { + id: order_by + } + + # columns and relationships of "available_jobs" + type available_jobs { + # An object relationship + bodyshop: bodyshops! + bodyshopid: uuid! + cieca_id: String! + clm_amt: numeric + clm_no: String + created_at: timestamptz! + est_data( + # JSON select path + path: String + ): jsonb! + id: uuid! + issupplement: Boolean! + + # An object relationship + job: jobs + jobid: uuid + ownr_name: String + source_system: String + supplement_number: Int + updated_at: timestamptz! + uploaded_by: String! + vehicle_info: String + } + + # aggregated selection of "available_jobs" + type available_jobs_aggregate { + aggregate: available_jobs_aggregate_fields + nodes: [available_jobs!]! + } + + # aggregate fields of "available_jobs" + type available_jobs_aggregate_fields { + avg: available_jobs_avg_fields + count(columns: [available_jobs_select_column!], distinct: Boolean): Int + max: available_jobs_max_fields + min: available_jobs_min_fields + stddev: available_jobs_stddev_fields + stddev_pop: available_jobs_stddev_pop_fields + stddev_samp: available_jobs_stddev_samp_fields + sum: available_jobs_sum_fields + var_pop: available_jobs_var_pop_fields + var_samp: available_jobs_var_samp_fields + variance: available_jobs_variance_fields + } + + # order by aggregate values of table "available_jobs" + input available_jobs_aggregate_order_by { + avg: available_jobs_avg_order_by + count: order_by + max: available_jobs_max_order_by + min: available_jobs_min_order_by + stddev: available_jobs_stddev_order_by + stddev_pop: available_jobs_stddev_pop_order_by + stddev_samp: available_jobs_stddev_samp_order_by + sum: available_jobs_sum_order_by + var_pop: available_jobs_var_pop_order_by + var_samp: available_jobs_var_samp_order_by + variance: available_jobs_variance_order_by + } + + # append existing jsonb value of filtered columns with new jsonb value + input available_jobs_append_input { + est_data: jsonb + } + + # input type for inserting array relation for remote table "available_jobs" + input available_jobs_arr_rel_insert_input { + data: [available_jobs_insert_input!]! + on_conflict: available_jobs_on_conflict + } + + # aggregate avg on columns + type available_jobs_avg_fields { + clm_amt: Float + supplement_number: Float + } + + # order by avg() on columns of table "available_jobs" + input available_jobs_avg_order_by { + clm_amt: order_by + supplement_number: order_by + } + + # Boolean expression to filter rows from the table "available_jobs". All fields are combined with a logical 'AND'. + input available_jobs_bool_exp { + _and: [available_jobs_bool_exp] + _not: available_jobs_bool_exp + _or: [available_jobs_bool_exp] + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + cieca_id: String_comparison_exp + clm_amt: numeric_comparison_exp + clm_no: String_comparison_exp + created_at: timestamptz_comparison_exp + est_data: jsonb_comparison_exp + id: uuid_comparison_exp + issupplement: Boolean_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + ownr_name: String_comparison_exp + source_system: String_comparison_exp + supplement_number: Int_comparison_exp + updated_at: timestamptz_comparison_exp + uploaded_by: String_comparison_exp + vehicle_info: String_comparison_exp + } + + # unique or primary key constraints on table "available_jobs" + enum available_jobs_constraint { + # unique or primary key constraint + available_jobs_clm_no_bodyshopid_key + + # unique or primary key constraint + available_jobs_pkey + } + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + input available_jobs_delete_at_path_input { + est_data: [String] + } + + # delete the array element with specified index (negative integers count from the + # end). throws an error if top level container is not an array + input available_jobs_delete_elem_input { + est_data: Int + } + + # delete key/value pair or string element. key/value pairs are matched based on their key value + input available_jobs_delete_key_input { + est_data: String + } + + # input type for incrementing integer column in table "available_jobs" + input available_jobs_inc_input { + clm_amt: numeric + supplement_number: Int + } + + # input type for inserting data into table "available_jobs" + input available_jobs_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + cieca_id: String + clm_amt: numeric + clm_no: String + created_at: timestamptz + est_data: jsonb + id: uuid + issupplement: Boolean + job: jobs_obj_rel_insert_input + jobid: uuid + ownr_name: String + source_system: String + supplement_number: Int + updated_at: timestamptz + uploaded_by: String + vehicle_info: String + } + + # aggregate max on columns + type available_jobs_max_fields { + bodyshopid: uuid + cieca_id: String + clm_amt: numeric + clm_no: String + created_at: timestamptz + id: uuid + jobid: uuid + ownr_name: String + source_system: String + supplement_number: Int + updated_at: timestamptz + uploaded_by: String + vehicle_info: String + } + + # order by max() on columns of table "available_jobs" + input available_jobs_max_order_by { + bodyshopid: order_by + cieca_id: order_by + clm_amt: order_by + clm_no: order_by + created_at: order_by + id: order_by + jobid: order_by + ownr_name: order_by + source_system: order_by + supplement_number: order_by + updated_at: order_by + uploaded_by: order_by + vehicle_info: order_by + } + + # aggregate min on columns + type available_jobs_min_fields { + bodyshopid: uuid + cieca_id: String + clm_amt: numeric + clm_no: String + created_at: timestamptz + id: uuid + jobid: uuid + ownr_name: String + source_system: String + supplement_number: Int + updated_at: timestamptz + uploaded_by: String + vehicle_info: String + } + + # order by min() on columns of table "available_jobs" + input available_jobs_min_order_by { + bodyshopid: order_by + cieca_id: order_by + clm_amt: order_by + clm_no: order_by + created_at: order_by + id: order_by + jobid: order_by + ownr_name: order_by + source_system: order_by + supplement_number: order_by + updated_at: order_by + uploaded_by: order_by + vehicle_info: order_by + } + + # response of any mutation on the table "available_jobs" + type available_jobs_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [available_jobs!]! + } + + # input type for inserting object relation for remote table "available_jobs" + input available_jobs_obj_rel_insert_input { + data: available_jobs_insert_input! + on_conflict: available_jobs_on_conflict + } + + # on conflict condition type for table "available_jobs" + input available_jobs_on_conflict { + constraint: available_jobs_constraint! + update_columns: [available_jobs_update_column!]! + where: available_jobs_bool_exp + } + + # ordering options when selecting data from "available_jobs" + input available_jobs_order_by { + bodyshop: bodyshops_order_by + bodyshopid: order_by + cieca_id: order_by + clm_amt: order_by + clm_no: order_by + created_at: order_by + est_data: order_by + id: order_by + issupplement: order_by + job: jobs_order_by + jobid: order_by + ownr_name: order_by + source_system: order_by + supplement_number: order_by + updated_at: order_by + uploaded_by: order_by + vehicle_info: order_by + } + + # primary key columns input for table: "available_jobs" + input available_jobs_pk_columns_input { + id: uuid! + } + + # prepend existing jsonb value of filtered columns with new jsonb value + input available_jobs_prepend_input { + est_data: jsonb + } + + # select columns of table "available_jobs" + enum available_jobs_select_column { + # column name + bodyshopid + + # column name + cieca_id + + # column name + clm_amt + + # column name + clm_no + + # column name + created_at + + # column name + est_data + + # column name + id + + # column name + issupplement + + # column name + jobid + + # column name + ownr_name + + # column name + source_system + + # column name + supplement_number + + # column name + updated_at + + # column name + uploaded_by + + # column name + vehicle_info + } + + # input type for updating data in table "available_jobs" + input available_jobs_set_input { + bodyshopid: uuid + cieca_id: String + clm_amt: numeric + clm_no: String + created_at: timestamptz + est_data: jsonb + id: uuid + issupplement: Boolean + jobid: uuid + ownr_name: String + source_system: String + supplement_number: Int + updated_at: timestamptz + uploaded_by: String + vehicle_info: String + } + + # aggregate stddev on columns + type available_jobs_stddev_fields { + clm_amt: Float + supplement_number: Float + } + + # order by stddev() on columns of table "available_jobs" + input available_jobs_stddev_order_by { + clm_amt: order_by + supplement_number: order_by + } + + # aggregate stddev_pop on columns + type available_jobs_stddev_pop_fields { + clm_amt: Float + supplement_number: Float + } + + # order by stddev_pop() on columns of table "available_jobs" + input available_jobs_stddev_pop_order_by { + clm_amt: order_by + supplement_number: order_by + } + + # aggregate stddev_samp on columns + type available_jobs_stddev_samp_fields { + clm_amt: Float + supplement_number: Float + } + + # order by stddev_samp() on columns of table "available_jobs" + input available_jobs_stddev_samp_order_by { + clm_amt: order_by + supplement_number: order_by + } + + # aggregate sum on columns + type available_jobs_sum_fields { + clm_amt: numeric + supplement_number: Int + } + + # order by sum() on columns of table "available_jobs" + input available_jobs_sum_order_by { + clm_amt: order_by + supplement_number: order_by + } + + # update columns of table "available_jobs" + enum available_jobs_update_column { + # column name + bodyshopid + + # column name + cieca_id + + # column name + clm_amt + + # column name + clm_no + + # column name + created_at + + # column name + est_data + + # column name + id + + # column name + issupplement + + # column name + jobid + + # column name + ownr_name + + # column name + source_system + + # column name + supplement_number + + # column name + updated_at + + # column name + uploaded_by + + # column name + vehicle_info + } + + # aggregate var_pop on columns + type available_jobs_var_pop_fields { + clm_amt: Float + supplement_number: Float + } + + # order by var_pop() on columns of table "available_jobs" + input available_jobs_var_pop_order_by { + clm_amt: order_by + supplement_number: order_by + } + + # aggregate var_samp on columns + type available_jobs_var_samp_fields { + clm_amt: Float + supplement_number: Float + } + + # order by var_samp() on columns of table "available_jobs" + input available_jobs_var_samp_order_by { + clm_amt: order_by + supplement_number: order_by + } + + # aggregate variance on columns + type available_jobs_variance_fields { + clm_amt: Float + supplement_number: Float + } + + # order by variance() on columns of table "available_jobs" + input available_jobs_variance_order_by { + clm_amt: order_by + supplement_number: order_by + } + + scalar bigint + + # expression to compare columns of type bigint. All fields are combined with logical 'AND'. + input bigint_comparison_exp { + _eq: bigint + _gt: bigint + _gte: bigint + _in: [bigint!] + _is_null: Boolean + _lt: bigint + _lte: bigint + _neq: bigint + _nin: [bigint!] + } + + # columns and relationships of "bodyshops" + type bodyshops { + accountingconfig( + # JSON select path + path: String + ): jsonb + address1: String + address2: String + + # An array relationship + appointments( + # distinct select on columns + distinct_on: [appointments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [appointments_order_by!] + + # filter the rows returned + where: appointments_bool_exp + ): [appointments!]! + + # An aggregated array relationship + appointments_aggregate( + # distinct select on columns + distinct_on: [appointments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [appointments_order_by!] + + # filter the rows returned + where: appointments_bool_exp + ): appointments_aggregate! + appt_length: Int! + + # An array relationship + associations( + # distinct select on columns + distinct_on: [associations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [associations_order_by!] + + # filter the rows returned + where: associations_bool_exp + ): [associations!]! + + # An aggregated array relationship + associations_aggregate( + # distinct select on columns + distinct_on: [associations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [associations_order_by!] + + # filter the rows returned + where: associations_bool_exp + ): associations_aggregate! + + # An array relationship + audit_trails( + # distinct select on columns + distinct_on: [audit_trail_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [audit_trail_order_by!] + + # filter the rows returned + where: audit_trail_bool_exp + ): [audit_trail!]! + + # An aggregated array relationship + audit_trails_aggregate( + # distinct select on columns + distinct_on: [audit_trail_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [audit_trail_order_by!] + + # filter the rows returned + where: audit_trail_bool_exp + ): audit_trail_aggregate! + + # An array relationship + available_jobs( + # distinct select on columns + distinct_on: [available_jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [available_jobs_order_by!] + + # filter the rows returned + where: available_jobs_bool_exp + ): [available_jobs!]! + + # An aggregated array relationship + available_jobs_aggregate( + # distinct select on columns + distinct_on: [available_jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [available_jobs_order_by!] + + # filter the rows returned + where: available_jobs_bool_exp + ): available_jobs_aggregate! + city: String + + # An array relationship + conversations( + # distinct select on columns + distinct_on: [conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [conversations_order_by!] + + # filter the rows returned + where: conversations_bool_exp + ): [conversations!]! + + # An aggregated array relationship + conversations_aggregate( + # distinct select on columns + distinct_on: [conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [conversations_order_by!] + + # filter the rows returned + where: conversations_bool_exp + ): conversations_aggregate! + + # An array relationship + counters( + # distinct select on columns + distinct_on: [counters_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [counters_order_by!] + + # filter the rows returned + where: counters_bool_exp + ): [counters!]! + + # An aggregated array relationship + counters_aggregate( + # distinct select on columns + distinct_on: [counters_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [counters_order_by!] + + # filter the rows returned + where: counters_bool_exp + ): counters_aggregate! + country: String + + # An array relationship + courtesycars( + # distinct select on columns + distinct_on: [courtesycars_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [courtesycars_order_by!] + + # filter the rows returned + where: courtesycars_bool_exp + ): [courtesycars!]! + + # An aggregated array relationship + courtesycars_aggregate( + # distinct select on columns + distinct_on: [courtesycars_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [courtesycars_order_by!] + + # filter the rows returned + where: courtesycars_bool_exp + ): courtesycars_aggregate! + created_at: timestamptz + + # An array relationship + csiinvites( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): [csi!]! + + # An aggregated array relationship + csiinvites_aggregate( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): csi_aggregate! + + # An array relationship + csiquestions( + # distinct select on columns + distinct_on: [csiquestions_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csiquestions_order_by!] + + # filter the rows returned + where: csiquestions_bool_exp + ): [csiquestions!]! + + # An aggregated array relationship + csiquestions_aggregate( + # distinct select on columns + distinct_on: [csiquestions_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csiquestions_order_by!] + + # filter the rows returned + where: csiquestions_bool_exp + ): csiquestions_aggregate! + deliverchecklist( + # JSON select path + path: String + ): jsonb + email: String + + # An array relationship + employees( + # distinct select on columns + distinct_on: [employees_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [employees_order_by!] + + # filter the rows returned + where: employees_bool_exp + ): [employees!]! + + # An aggregated array relationship + employees_aggregate( + # distinct select on columns + distinct_on: [employees_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [employees_order_by!] + + # filter the rows returned + where: employees_bool_exp + ): employees_aggregate! + enforce_class: Boolean! + federal_tax_id: String + id: uuid! + inhousevendorid: uuid + insurance_vendor_id: String + intakechecklist( + # JSON select path + path: String + ): jsonb + invoice_tax_rates( + # JSON select path + path: String + ): jsonb + + # An array relationship + jobs( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # An aggregated array relationship + jobs_aggregate( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + logo_img_path: String + md_categories( + # JSON select path + path: String + ): jsonb + md_classes( + # JSON select path + path: String + ): jsonb + md_ins_cos( + # JSON select path + path: String + ): jsonb + md_labor_rates( + # JSON select path + path: String + ): jsonb + md_messaging_presets( + # JSON select path + path: String + ): jsonb! + md_notes_presets( + # JSON select path + path: String + ): jsonb! + md_order_statuses( + # JSON select path + path: String + ): jsonb + md_parts_locations( + # JSON select path + path: String + ): jsonb + md_rbac( + # JSON select path + path: String + ): jsonb + md_referral_sources( + # JSON select path + path: String + ): jsonb! + md_responsibility_centers( + # JSON select path + path: String + ): jsonb + md_ro_statuses( + # JSON select path + path: String + ): jsonb + messagingservicesid: String + + # An array relationship + owners( + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): [owners!]! + + # An aggregated array relationship + owners_aggregate( + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): owners_aggregate! + prodtargethrs: numeric! + production_config( + # JSON select path + path: String + ): jsonb + region_config: String! + scoreboard_target( + # JSON select path + path: String + ): jsonb + shopname: String! + shoprates( + # JSON select path + path: String + ): jsonb + speedprint( + # JSON select path + path: String + ): jsonb + ssbuckets( + # JSON select path + path: String + ): jsonb + state: String + state_tax_id: String + stripe_acct_id: String + template_header: String + + # An array relationship + templates( + # distinct select on columns + distinct_on: [templates_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [templates_order_by!] + + # filter the rows returned + where: templates_bool_exp + ): [templates!]! + + # An aggregated array relationship + templates_aggregate( + # distinct select on columns + distinct_on: [templates_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [templates_order_by!] + + # filter the rows returned + where: templates_bool_exp + ): templates_aggregate! + textid: String + + # An array relationship + timetickets( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): [timetickets!]! + + # An aggregated array relationship + timetickets_aggregate( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): timetickets_aggregate! + updated_at: timestamptz + + # An array relationship + vehicles( + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): [vehicles!]! + + # An aggregated array relationship + vehicles_aggregate( + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): vehicles_aggregate! + + # An array relationship + vendors( + # distinct select on columns + distinct_on: [vendors_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vendors_order_by!] + + # filter the rows returned + where: vendors_bool_exp + ): [vendors!]! + + # An aggregated array relationship + vendors_aggregate( + # distinct select on columns + distinct_on: [vendors_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vendors_order_by!] + + # filter the rows returned + where: vendors_bool_exp + ): vendors_aggregate! + zip_post: String + } + + # aggregated selection of "bodyshops" + type bodyshops_aggregate { + aggregate: bodyshops_aggregate_fields + nodes: [bodyshops!]! + } + + # aggregate fields of "bodyshops" + type bodyshops_aggregate_fields { + avg: bodyshops_avg_fields + count(columns: [bodyshops_select_column!], distinct: Boolean): Int + max: bodyshops_max_fields + min: bodyshops_min_fields + stddev: bodyshops_stddev_fields + stddev_pop: bodyshops_stddev_pop_fields + stddev_samp: bodyshops_stddev_samp_fields + sum: bodyshops_sum_fields + var_pop: bodyshops_var_pop_fields + var_samp: bodyshops_var_samp_fields + variance: bodyshops_variance_fields + } + + # order by aggregate values of table "bodyshops" + input bodyshops_aggregate_order_by { + avg: bodyshops_avg_order_by + count: order_by + max: bodyshops_max_order_by + min: bodyshops_min_order_by + stddev: bodyshops_stddev_order_by + stddev_pop: bodyshops_stddev_pop_order_by + stddev_samp: bodyshops_stddev_samp_order_by + sum: bodyshops_sum_order_by + var_pop: bodyshops_var_pop_order_by + var_samp: bodyshops_var_samp_order_by + variance: bodyshops_variance_order_by + } + + # append existing jsonb value of filtered columns with new jsonb value + input bodyshops_append_input { + accountingconfig: jsonb + deliverchecklist: jsonb + intakechecklist: jsonb + invoice_tax_rates: jsonb + md_categories: jsonb + md_classes: jsonb + md_ins_cos: jsonb + md_labor_rates: jsonb + md_messaging_presets: jsonb + md_notes_presets: jsonb + md_order_statuses: jsonb + md_parts_locations: jsonb + md_rbac: jsonb + md_referral_sources: jsonb + md_responsibility_centers: jsonb + md_ro_statuses: jsonb + production_config: jsonb + scoreboard_target: jsonb + shoprates: jsonb + speedprint: jsonb + ssbuckets: jsonb + } + + # input type for inserting array relation for remote table "bodyshops" + input bodyshops_arr_rel_insert_input { + data: [bodyshops_insert_input!]! + on_conflict: bodyshops_on_conflict + } + + # aggregate avg on columns + type bodyshops_avg_fields { + appt_length: Float + prodtargethrs: Float + } + + # order by avg() on columns of table "bodyshops" + input bodyshops_avg_order_by { + appt_length: order_by + prodtargethrs: order_by + } + + # Boolean expression to filter rows from the table "bodyshops". All fields are combined with a logical 'AND'. + input bodyshops_bool_exp { + _and: [bodyshops_bool_exp] + _not: bodyshops_bool_exp + _or: [bodyshops_bool_exp] + accountingconfig: jsonb_comparison_exp + address1: String_comparison_exp + address2: String_comparison_exp + appointments: appointments_bool_exp + appt_length: Int_comparison_exp + associations: associations_bool_exp + audit_trails: audit_trail_bool_exp + available_jobs: available_jobs_bool_exp + city: String_comparison_exp + conversations: conversations_bool_exp + counters: counters_bool_exp + country: String_comparison_exp + courtesycars: courtesycars_bool_exp + created_at: timestamptz_comparison_exp + csiinvites: csi_bool_exp + csiquestions: csiquestions_bool_exp + deliverchecklist: jsonb_comparison_exp + email: String_comparison_exp + employees: employees_bool_exp + enforce_class: Boolean_comparison_exp + federal_tax_id: String_comparison_exp + id: uuid_comparison_exp + inhousevendorid: uuid_comparison_exp + insurance_vendor_id: String_comparison_exp + intakechecklist: jsonb_comparison_exp + invoice_tax_rates: jsonb_comparison_exp + jobs: jobs_bool_exp + logo_img_path: String_comparison_exp + md_categories: jsonb_comparison_exp + md_classes: jsonb_comparison_exp + md_ins_cos: jsonb_comparison_exp + md_labor_rates: jsonb_comparison_exp + md_messaging_presets: jsonb_comparison_exp + md_notes_presets: jsonb_comparison_exp + md_order_statuses: jsonb_comparison_exp + md_parts_locations: jsonb_comparison_exp + md_rbac: jsonb_comparison_exp + md_referral_sources: jsonb_comparison_exp + md_responsibility_centers: jsonb_comparison_exp + md_ro_statuses: jsonb_comparison_exp + messagingservicesid: String_comparison_exp + owners: owners_bool_exp + prodtargethrs: numeric_comparison_exp + production_config: jsonb_comparison_exp + region_config: String_comparison_exp + scoreboard_target: jsonb_comparison_exp + shopname: String_comparison_exp + shoprates: jsonb_comparison_exp + speedprint: jsonb_comparison_exp + ssbuckets: jsonb_comparison_exp + state: String_comparison_exp + state_tax_id: String_comparison_exp + stripe_acct_id: String_comparison_exp + template_header: String_comparison_exp + templates: templates_bool_exp + textid: String_comparison_exp + timetickets: timetickets_bool_exp + updated_at: timestamptz_comparison_exp + vehicles: vehicles_bool_exp + vendors: vendors_bool_exp + zip_post: String_comparison_exp + } + + # unique or primary key constraints on table "bodyshops" + enum bodyshops_constraint { + # unique or primary key constraint + bodyshops_messagingservicesid_key + + # unique or primary key constraint + bodyshops_pkey + } + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + input bodyshops_delete_at_path_input { + accountingconfig: [String] + deliverchecklist: [String] + intakechecklist: [String] + invoice_tax_rates: [String] + md_categories: [String] + md_classes: [String] + md_ins_cos: [String] + md_labor_rates: [String] + md_messaging_presets: [String] + md_notes_presets: [String] + md_order_statuses: [String] + md_parts_locations: [String] + md_rbac: [String] + md_referral_sources: [String] + md_responsibility_centers: [String] + md_ro_statuses: [String] + production_config: [String] + scoreboard_target: [String] + shoprates: [String] + speedprint: [String] + ssbuckets: [String] + } + + # delete the array element with specified index (negative integers count from the + # end). throws an error if top level container is not an array + input bodyshops_delete_elem_input { + accountingconfig: Int + deliverchecklist: Int + intakechecklist: Int + invoice_tax_rates: Int + md_categories: Int + md_classes: Int + md_ins_cos: Int + md_labor_rates: Int + md_messaging_presets: Int + md_notes_presets: Int + md_order_statuses: Int + md_parts_locations: Int + md_rbac: Int + md_referral_sources: Int + md_responsibility_centers: Int + md_ro_statuses: Int + production_config: Int + scoreboard_target: Int + shoprates: Int + speedprint: Int + ssbuckets: Int + } + + # delete key/value pair or string element. key/value pairs are matched based on their key value + input bodyshops_delete_key_input { + accountingconfig: String + deliverchecklist: String + intakechecklist: String + invoice_tax_rates: String + md_categories: String + md_classes: String + md_ins_cos: String + md_labor_rates: String + md_messaging_presets: String + md_notes_presets: String + md_order_statuses: String + md_parts_locations: String + md_rbac: String + md_referral_sources: String + md_responsibility_centers: String + md_ro_statuses: String + production_config: String + scoreboard_target: String + shoprates: String + speedprint: String + ssbuckets: String + } + + # input type for incrementing integer column in table "bodyshops" + input bodyshops_inc_input { + appt_length: Int + prodtargethrs: numeric + } + + # input type for inserting data into table "bodyshops" + input bodyshops_insert_input { + accountingconfig: jsonb + address1: String + address2: String + appointments: appointments_arr_rel_insert_input + appt_length: Int + associations: associations_arr_rel_insert_input + audit_trails: audit_trail_arr_rel_insert_input + available_jobs: available_jobs_arr_rel_insert_input + city: String + conversations: conversations_arr_rel_insert_input + counters: counters_arr_rel_insert_input + country: String + courtesycars: courtesycars_arr_rel_insert_input + created_at: timestamptz + csiinvites: csi_arr_rel_insert_input + csiquestions: csiquestions_arr_rel_insert_input + deliverchecklist: jsonb + email: String + employees: employees_arr_rel_insert_input + enforce_class: Boolean + federal_tax_id: String + id: uuid + inhousevendorid: uuid + insurance_vendor_id: String + intakechecklist: jsonb + invoice_tax_rates: jsonb + jobs: jobs_arr_rel_insert_input + logo_img_path: String + md_categories: jsonb + md_classes: jsonb + md_ins_cos: jsonb + md_labor_rates: jsonb + md_messaging_presets: jsonb + md_notes_presets: jsonb + md_order_statuses: jsonb + md_parts_locations: jsonb + md_rbac: jsonb + md_referral_sources: jsonb + md_responsibility_centers: jsonb + md_ro_statuses: jsonb + messagingservicesid: String + owners: owners_arr_rel_insert_input + prodtargethrs: numeric + production_config: jsonb + region_config: String + scoreboard_target: jsonb + shopname: String + shoprates: jsonb + speedprint: jsonb + ssbuckets: jsonb + state: String + state_tax_id: String + stripe_acct_id: String + template_header: String + templates: templates_arr_rel_insert_input + textid: String + timetickets: timetickets_arr_rel_insert_input + updated_at: timestamptz + vehicles: vehicles_arr_rel_insert_input + vendors: vendors_arr_rel_insert_input + zip_post: String + } + + # aggregate max on columns + type bodyshops_max_fields { + address1: String + address2: String + appt_length: Int + city: String + country: String + created_at: timestamptz + email: String + federal_tax_id: String + id: uuid + inhousevendorid: uuid + insurance_vendor_id: String + logo_img_path: String + messagingservicesid: String + prodtargethrs: numeric + region_config: String + shopname: String + state: String + state_tax_id: String + stripe_acct_id: String + template_header: String + textid: String + updated_at: timestamptz + zip_post: String + } + + # order by max() on columns of table "bodyshops" + input bodyshops_max_order_by { + address1: order_by + address2: order_by + appt_length: order_by + city: order_by + country: order_by + created_at: order_by + email: order_by + federal_tax_id: order_by + id: order_by + inhousevendorid: order_by + insurance_vendor_id: order_by + logo_img_path: order_by + messagingservicesid: order_by + prodtargethrs: order_by + region_config: order_by + shopname: order_by + state: order_by + state_tax_id: order_by + stripe_acct_id: order_by + template_header: order_by + textid: order_by + updated_at: order_by + zip_post: order_by + } + + # aggregate min on columns + type bodyshops_min_fields { + address1: String + address2: String + appt_length: Int + city: String + country: String + created_at: timestamptz + email: String + federal_tax_id: String + id: uuid + inhousevendorid: uuid + insurance_vendor_id: String + logo_img_path: String + messagingservicesid: String + prodtargethrs: numeric + region_config: String + shopname: String + state: String + state_tax_id: String + stripe_acct_id: String + template_header: String + textid: String + updated_at: timestamptz + zip_post: String + } + + # order by min() on columns of table "bodyshops" + input bodyshops_min_order_by { + address1: order_by + address2: order_by + appt_length: order_by + city: order_by + country: order_by + created_at: order_by + email: order_by + federal_tax_id: order_by + id: order_by + inhousevendorid: order_by + insurance_vendor_id: order_by + logo_img_path: order_by + messagingservicesid: order_by + prodtargethrs: order_by + region_config: order_by + shopname: order_by + state: order_by + state_tax_id: order_by + stripe_acct_id: order_by + template_header: order_by + textid: order_by + updated_at: order_by + zip_post: order_by + } + + # response of any mutation on the table "bodyshops" + type bodyshops_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [bodyshops!]! + } + + # input type for inserting object relation for remote table "bodyshops" + input bodyshops_obj_rel_insert_input { + data: bodyshops_insert_input! + on_conflict: bodyshops_on_conflict + } + + # on conflict condition type for table "bodyshops" + input bodyshops_on_conflict { + constraint: bodyshops_constraint! + update_columns: [bodyshops_update_column!]! + where: bodyshops_bool_exp + } + + # ordering options when selecting data from "bodyshops" + input bodyshops_order_by { + accountingconfig: order_by + address1: order_by + address2: order_by + appointments_aggregate: appointments_aggregate_order_by + appt_length: order_by + associations_aggregate: associations_aggregate_order_by + audit_trails_aggregate: audit_trail_aggregate_order_by + available_jobs_aggregate: available_jobs_aggregate_order_by + city: order_by + conversations_aggregate: conversations_aggregate_order_by + counters_aggregate: counters_aggregate_order_by + country: order_by + courtesycars_aggregate: courtesycars_aggregate_order_by + created_at: order_by + csiinvites_aggregate: csi_aggregate_order_by + csiquestions_aggregate: csiquestions_aggregate_order_by + deliverchecklist: order_by + email: order_by + employees_aggregate: employees_aggregate_order_by + enforce_class: order_by + federal_tax_id: order_by + id: order_by + inhousevendorid: order_by + insurance_vendor_id: order_by + intakechecklist: order_by + invoice_tax_rates: order_by + jobs_aggregate: jobs_aggregate_order_by + logo_img_path: order_by + md_categories: order_by + md_classes: order_by + md_ins_cos: order_by + md_labor_rates: order_by + md_messaging_presets: order_by + md_notes_presets: order_by + md_order_statuses: order_by + md_parts_locations: order_by + md_rbac: order_by + md_referral_sources: order_by + md_responsibility_centers: order_by + md_ro_statuses: order_by + messagingservicesid: order_by + owners_aggregate: owners_aggregate_order_by + prodtargethrs: order_by + production_config: order_by + region_config: order_by + scoreboard_target: order_by + shopname: order_by + shoprates: order_by + speedprint: order_by + ssbuckets: order_by + state: order_by + state_tax_id: order_by + stripe_acct_id: order_by + template_header: order_by + templates_aggregate: templates_aggregate_order_by + textid: order_by + timetickets_aggregate: timetickets_aggregate_order_by + updated_at: order_by + vehicles_aggregate: vehicles_aggregate_order_by + vendors_aggregate: vendors_aggregate_order_by + zip_post: order_by + } + + # primary key columns input for table: "bodyshops" + input bodyshops_pk_columns_input { + id: uuid! + } + + # prepend existing jsonb value of filtered columns with new jsonb value + input bodyshops_prepend_input { + accountingconfig: jsonb + deliverchecklist: jsonb + intakechecklist: jsonb + invoice_tax_rates: jsonb + md_categories: jsonb + md_classes: jsonb + md_ins_cos: jsonb + md_labor_rates: jsonb + md_messaging_presets: jsonb + md_notes_presets: jsonb + md_order_statuses: jsonb + md_parts_locations: jsonb + md_rbac: jsonb + md_referral_sources: jsonb + md_responsibility_centers: jsonb + md_ro_statuses: jsonb + production_config: jsonb + scoreboard_target: jsonb + shoprates: jsonb + speedprint: jsonb + ssbuckets: jsonb + } + + # select columns of table "bodyshops" + enum bodyshops_select_column { + # column name + accountingconfig + + # column name + address1 + + # column name + address2 + + # column name + appt_length + + # column name + city + + # column name + country + + # column name + created_at + + # column name + deliverchecklist + + # column name + email + + # column name + enforce_class + + # column name + federal_tax_id + + # column name + id + + # column name + inhousevendorid + + # column name + insurance_vendor_id + + # column name + intakechecklist + + # column name + invoice_tax_rates + + # column name + logo_img_path + + # column name + md_categories + + # column name + md_classes + + # column name + md_ins_cos + + # column name + md_labor_rates + + # column name + md_messaging_presets + + # column name + md_notes_presets + + # column name + md_order_statuses + + # column name + md_parts_locations + + # column name + md_rbac + + # column name + md_referral_sources + + # column name + md_responsibility_centers + + # column name + md_ro_statuses + + # column name + messagingservicesid + + # column name + prodtargethrs + + # column name + production_config + + # column name + region_config + + # column name + scoreboard_target + + # column name + shopname + + # column name + shoprates + + # column name + speedprint + + # column name + ssbuckets + + # column name + state + + # column name + state_tax_id + + # column name + stripe_acct_id + + # column name + template_header + + # column name + textid + + # column name + updated_at + + # column name + zip_post + } + + # input type for updating data in table "bodyshops" + input bodyshops_set_input { + accountingconfig: jsonb + address1: String + address2: String + appt_length: Int + city: String + country: String + created_at: timestamptz + deliverchecklist: jsonb + email: String + enforce_class: Boolean + federal_tax_id: String + id: uuid + inhousevendorid: uuid + insurance_vendor_id: String + intakechecklist: jsonb + invoice_tax_rates: jsonb + logo_img_path: String + md_categories: jsonb + md_classes: jsonb + md_ins_cos: jsonb + md_labor_rates: jsonb + md_messaging_presets: jsonb + md_notes_presets: jsonb + md_order_statuses: jsonb + md_parts_locations: jsonb + md_rbac: jsonb + md_referral_sources: jsonb + md_responsibility_centers: jsonb + md_ro_statuses: jsonb + messagingservicesid: String + prodtargethrs: numeric + production_config: jsonb + region_config: String + scoreboard_target: jsonb + shopname: String + shoprates: jsonb + speedprint: jsonb + ssbuckets: jsonb + state: String + state_tax_id: String + stripe_acct_id: String + template_header: String + textid: String + updated_at: timestamptz + zip_post: String + } + + # aggregate stddev on columns + type bodyshops_stddev_fields { + appt_length: Float + prodtargethrs: Float + } + + # order by stddev() on columns of table "bodyshops" + input bodyshops_stddev_order_by { + appt_length: order_by + prodtargethrs: order_by + } + + # aggregate stddev_pop on columns + type bodyshops_stddev_pop_fields { + appt_length: Float + prodtargethrs: Float + } + + # order by stddev_pop() on columns of table "bodyshops" + input bodyshops_stddev_pop_order_by { + appt_length: order_by + prodtargethrs: order_by + } + + # aggregate stddev_samp on columns + type bodyshops_stddev_samp_fields { + appt_length: Float + prodtargethrs: Float + } + + # order by stddev_samp() on columns of table "bodyshops" + input bodyshops_stddev_samp_order_by { + appt_length: order_by + prodtargethrs: order_by + } + + # aggregate sum on columns + type bodyshops_sum_fields { + appt_length: Int + prodtargethrs: numeric + } + + # order by sum() on columns of table "bodyshops" + input bodyshops_sum_order_by { + appt_length: order_by + prodtargethrs: order_by + } + + # update columns of table "bodyshops" + enum bodyshops_update_column { + # column name + accountingconfig + + # column name + address1 + + # column name + address2 + + # column name + appt_length + + # column name + city + + # column name + country + + # column name + created_at + + # column name + deliverchecklist + + # column name + email + + # column name + enforce_class + + # column name + federal_tax_id + + # column name + id + + # column name + inhousevendorid + + # column name + insurance_vendor_id + + # column name + intakechecklist + + # column name + invoice_tax_rates + + # column name + logo_img_path + + # column name + md_categories + + # column name + md_classes + + # column name + md_ins_cos + + # column name + md_labor_rates + + # column name + md_messaging_presets + + # column name + md_notes_presets + + # column name + md_order_statuses + + # column name + md_parts_locations + + # column name + md_rbac + + # column name + md_referral_sources + + # column name + md_responsibility_centers + + # column name + md_ro_statuses + + # column name + messagingservicesid + + # column name + prodtargethrs + + # column name + production_config + + # column name + region_config + + # column name + scoreboard_target + + # column name + shopname + + # column name + shoprates + + # column name + speedprint + + # column name + ssbuckets + + # column name + state + + # column name + state_tax_id + + # column name + stripe_acct_id + + # column name + template_header + + # column name + textid + + # column name + updated_at + + # column name + zip_post + } + + # aggregate var_pop on columns + type bodyshops_var_pop_fields { + appt_length: Float + prodtargethrs: Float + } + + # order by var_pop() on columns of table "bodyshops" + input bodyshops_var_pop_order_by { + appt_length: order_by + prodtargethrs: order_by + } + + # aggregate var_samp on columns + type bodyshops_var_samp_fields { + appt_length: Float + prodtargethrs: Float + } + + # order by var_samp() on columns of table "bodyshops" + input bodyshops_var_samp_order_by { + appt_length: order_by + prodtargethrs: order_by + } + + # aggregate variance on columns + type bodyshops_variance_fields { + appt_length: Float + prodtargethrs: Float + } + + # order by variance() on columns of table "bodyshops" + input bodyshops_variance_order_by { + appt_length: order_by + prodtargethrs: order_by + } + + # expression to compare columns of type Boolean. All fields are combined with logical 'AND'. + input Boolean_comparison_exp { + _eq: Boolean + _gt: Boolean + _gte: Boolean + _in: [Boolean!] + _is_null: Boolean + _lt: Boolean + _lte: Boolean + _neq: Boolean + _nin: [Boolean!] + } + + # columns and relationships of "cccontracts" + type cccontracts { + actax: numeric + actualreturn: timestamptz + agreementnumber: Int! + cc_cardholder: String + cc_expiry: String + cc_num: String + cleanupcharge: numeric + contract_date: date! + + # An object relationship + courtesycar: courtesycars! + courtesycarid: uuid! + coverage: numeric + created_at: timestamptz! + dailyfreekm: Int + dailyrate: numeric + damagewaiver: numeric + driver_addr1: String! + driver_addr2: String + driver_city: String! + driver_dlexpiry: date! + driver_dlnumber: String! + driver_dlst: String! + driver_dob: date! + driver_fn: String! + driver_ln: String! + driver_ph1: String! + driver_state: String! + driver_zip: String! + excesskmrate: numeric + federaltax: numeric + id: uuid! + + # An object relationship + job: jobs! + jobid: uuid! + kmend: numeric + kmstart: numeric! + localtax: numeric + refuelcharge: numeric + scheduledreturn: timestamptz + start: timestamptz + statetax: numeric + status: String! + updated_at: timestamptz! + } + + # aggregated selection of "cccontracts" + type cccontracts_aggregate { + aggregate: cccontracts_aggregate_fields + nodes: [cccontracts!]! + } + + # aggregate fields of "cccontracts" + type cccontracts_aggregate_fields { + avg: cccontracts_avg_fields + count(columns: [cccontracts_select_column!], distinct: Boolean): Int + max: cccontracts_max_fields + min: cccontracts_min_fields + stddev: cccontracts_stddev_fields + stddev_pop: cccontracts_stddev_pop_fields + stddev_samp: cccontracts_stddev_samp_fields + sum: cccontracts_sum_fields + var_pop: cccontracts_var_pop_fields + var_samp: cccontracts_var_samp_fields + variance: cccontracts_variance_fields + } + + # order by aggregate values of table "cccontracts" + input cccontracts_aggregate_order_by { + avg: cccontracts_avg_order_by + count: order_by + max: cccontracts_max_order_by + min: cccontracts_min_order_by + stddev: cccontracts_stddev_order_by + stddev_pop: cccontracts_stddev_pop_order_by + stddev_samp: cccontracts_stddev_samp_order_by + sum: cccontracts_sum_order_by + var_pop: cccontracts_var_pop_order_by + var_samp: cccontracts_var_samp_order_by + variance: cccontracts_variance_order_by + } + + # input type for inserting array relation for remote table "cccontracts" + input cccontracts_arr_rel_insert_input { + data: [cccontracts_insert_input!]! + on_conflict: cccontracts_on_conflict + } + + # aggregate avg on columns + type cccontracts_avg_fields { + actax: Float + agreementnumber: Float + cleanupcharge: Float + coverage: Float + dailyfreekm: Float + dailyrate: Float + damagewaiver: Float + excesskmrate: Float + federaltax: Float + kmend: Float + kmstart: Float + localtax: Float + refuelcharge: Float + statetax: Float + } + + # order by avg() on columns of table "cccontracts" + input cccontracts_avg_order_by { + actax: order_by + agreementnumber: order_by + cleanupcharge: order_by + coverage: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + excesskmrate: order_by + federaltax: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + statetax: order_by + } + + # Boolean expression to filter rows from the table "cccontracts". All fields are combined with a logical 'AND'. + input cccontracts_bool_exp { + _and: [cccontracts_bool_exp] + _not: cccontracts_bool_exp + _or: [cccontracts_bool_exp] + actax: numeric_comparison_exp + actualreturn: timestamptz_comparison_exp + agreementnumber: Int_comparison_exp + cc_cardholder: String_comparison_exp + cc_expiry: String_comparison_exp + cc_num: String_comparison_exp + cleanupcharge: numeric_comparison_exp + contract_date: date_comparison_exp + courtesycar: courtesycars_bool_exp + courtesycarid: uuid_comparison_exp + coverage: numeric_comparison_exp + created_at: timestamptz_comparison_exp + dailyfreekm: Int_comparison_exp + dailyrate: numeric_comparison_exp + damagewaiver: numeric_comparison_exp + driver_addr1: String_comparison_exp + driver_addr2: String_comparison_exp + driver_city: String_comparison_exp + driver_dlexpiry: date_comparison_exp + driver_dlnumber: String_comparison_exp + driver_dlst: String_comparison_exp + driver_dob: date_comparison_exp + driver_fn: String_comparison_exp + driver_ln: String_comparison_exp + driver_ph1: String_comparison_exp + driver_state: String_comparison_exp + driver_zip: String_comparison_exp + excesskmrate: numeric_comparison_exp + federaltax: numeric_comparison_exp + id: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + kmend: numeric_comparison_exp + kmstart: numeric_comparison_exp + localtax: numeric_comparison_exp + refuelcharge: numeric_comparison_exp + scheduledreturn: timestamptz_comparison_exp + start: timestamptz_comparison_exp + statetax: numeric_comparison_exp + status: String_comparison_exp + updated_at: timestamptz_comparison_exp + } + + # unique or primary key constraints on table "cccontracts" + enum cccontracts_constraint { + # unique or primary key constraint + cccontract_pkey + } + + # input type for incrementing integer column in table "cccontracts" + input cccontracts_inc_input { + actax: numeric + agreementnumber: Int + cleanupcharge: numeric + coverage: numeric + dailyfreekm: Int + dailyrate: numeric + damagewaiver: numeric + excesskmrate: numeric + federaltax: numeric + kmend: numeric + kmstart: numeric + localtax: numeric + refuelcharge: numeric + statetax: numeric + } + + # input type for inserting data into table "cccontracts" + input cccontracts_insert_input { + actax: numeric + actualreturn: timestamptz + agreementnumber: Int + cc_cardholder: String + cc_expiry: String + cc_num: String + cleanupcharge: numeric + contract_date: date + courtesycar: courtesycars_obj_rel_insert_input + courtesycarid: uuid + coverage: numeric + created_at: timestamptz + dailyfreekm: Int + dailyrate: numeric + damagewaiver: numeric + driver_addr1: String + driver_addr2: String + driver_city: String + driver_dlexpiry: date + driver_dlnumber: String + driver_dlst: String + driver_dob: date + driver_fn: String + driver_ln: String + driver_ph1: String + driver_state: String + driver_zip: String + excesskmrate: numeric + federaltax: numeric + id: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + kmend: numeric + kmstart: numeric + localtax: numeric + refuelcharge: numeric + scheduledreturn: timestamptz + start: timestamptz + statetax: numeric + status: String + updated_at: timestamptz + } + + # aggregate max on columns + type cccontracts_max_fields { + actax: numeric + actualreturn: timestamptz + agreementnumber: Int + cc_cardholder: String + cc_expiry: String + cc_num: String + cleanupcharge: numeric + contract_date: date + courtesycarid: uuid + coverage: numeric + created_at: timestamptz + dailyfreekm: Int + dailyrate: numeric + damagewaiver: numeric + driver_addr1: String + driver_addr2: String + driver_city: String + driver_dlexpiry: date + driver_dlnumber: String + driver_dlst: String + driver_dob: date + driver_fn: String + driver_ln: String + driver_ph1: String + driver_state: String + driver_zip: String + excesskmrate: numeric + federaltax: numeric + id: uuid + jobid: uuid + kmend: numeric + kmstart: numeric + localtax: numeric + refuelcharge: numeric + scheduledreturn: timestamptz + start: timestamptz + statetax: numeric + status: String + updated_at: timestamptz + } + + # order by max() on columns of table "cccontracts" + input cccontracts_max_order_by { + actax: order_by + actualreturn: order_by + agreementnumber: order_by + cc_cardholder: order_by + cc_expiry: order_by + cc_num: order_by + cleanupcharge: order_by + contract_date: order_by + courtesycarid: order_by + coverage: order_by + created_at: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + driver_addr1: order_by + driver_addr2: order_by + driver_city: order_by + driver_dlexpiry: order_by + driver_dlnumber: order_by + driver_dlst: order_by + driver_dob: order_by + driver_fn: order_by + driver_ln: order_by + driver_ph1: order_by + driver_state: order_by + driver_zip: order_by + excesskmrate: order_by + federaltax: order_by + id: order_by + jobid: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + scheduledreturn: order_by + start: order_by + statetax: order_by + status: order_by + updated_at: order_by + } + + # aggregate min on columns + type cccontracts_min_fields { + actax: numeric + actualreturn: timestamptz + agreementnumber: Int + cc_cardholder: String + cc_expiry: String + cc_num: String + cleanupcharge: numeric + contract_date: date + courtesycarid: uuid + coverage: numeric + created_at: timestamptz + dailyfreekm: Int + dailyrate: numeric + damagewaiver: numeric + driver_addr1: String + driver_addr2: String + driver_city: String + driver_dlexpiry: date + driver_dlnumber: String + driver_dlst: String + driver_dob: date + driver_fn: String + driver_ln: String + driver_ph1: String + driver_state: String + driver_zip: String + excesskmrate: numeric + federaltax: numeric + id: uuid + jobid: uuid + kmend: numeric + kmstart: numeric + localtax: numeric + refuelcharge: numeric + scheduledreturn: timestamptz + start: timestamptz + statetax: numeric + status: String + updated_at: timestamptz + } + + # order by min() on columns of table "cccontracts" + input cccontracts_min_order_by { + actax: order_by + actualreturn: order_by + agreementnumber: order_by + cc_cardholder: order_by + cc_expiry: order_by + cc_num: order_by + cleanupcharge: order_by + contract_date: order_by + courtesycarid: order_by + coverage: order_by + created_at: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + driver_addr1: order_by + driver_addr2: order_by + driver_city: order_by + driver_dlexpiry: order_by + driver_dlnumber: order_by + driver_dlst: order_by + driver_dob: order_by + driver_fn: order_by + driver_ln: order_by + driver_ph1: order_by + driver_state: order_by + driver_zip: order_by + excesskmrate: order_by + federaltax: order_by + id: order_by + jobid: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + scheduledreturn: order_by + start: order_by + statetax: order_by + status: order_by + updated_at: order_by + } + + # response of any mutation on the table "cccontracts" + type cccontracts_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [cccontracts!]! + } + + # input type for inserting object relation for remote table "cccontracts" + input cccontracts_obj_rel_insert_input { + data: cccontracts_insert_input! + on_conflict: cccontracts_on_conflict + } + + # on conflict condition type for table "cccontracts" + input cccontracts_on_conflict { + constraint: cccontracts_constraint! + update_columns: [cccontracts_update_column!]! + where: cccontracts_bool_exp + } + + # ordering options when selecting data from "cccontracts" + input cccontracts_order_by { + actax: order_by + actualreturn: order_by + agreementnumber: order_by + cc_cardholder: order_by + cc_expiry: order_by + cc_num: order_by + cleanupcharge: order_by + contract_date: order_by + courtesycar: courtesycars_order_by + courtesycarid: order_by + coverage: order_by + created_at: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + driver_addr1: order_by + driver_addr2: order_by + driver_city: order_by + driver_dlexpiry: order_by + driver_dlnumber: order_by + driver_dlst: order_by + driver_dob: order_by + driver_fn: order_by + driver_ln: order_by + driver_ph1: order_by + driver_state: order_by + driver_zip: order_by + excesskmrate: order_by + federaltax: order_by + id: order_by + job: jobs_order_by + jobid: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + scheduledreturn: order_by + start: order_by + statetax: order_by + status: order_by + updated_at: order_by + } + + # primary key columns input for table: "cccontracts" + input cccontracts_pk_columns_input { + id: uuid! + } + + # select columns of table "cccontracts" + enum cccontracts_select_column { + # column name + actax + + # column name + actualreturn + + # column name + agreementnumber + + # column name + cc_cardholder + + # column name + cc_expiry + + # column name + cc_num + + # column name + cleanupcharge + + # column name + contract_date + + # column name + courtesycarid + + # column name + coverage + + # column name + created_at + + # column name + dailyfreekm + + # column name + dailyrate + + # column name + damagewaiver + + # column name + driver_addr1 + + # column name + driver_addr2 + + # column name + driver_city + + # column name + driver_dlexpiry + + # column name + driver_dlnumber + + # column name + driver_dlst + + # column name + driver_dob + + # column name + driver_fn + + # column name + driver_ln + + # column name + driver_ph1 + + # column name + driver_state + + # column name + driver_zip + + # column name + excesskmrate + + # column name + federaltax + + # column name + id + + # column name + jobid + + # column name + kmend + + # column name + kmstart + + # column name + localtax + + # column name + refuelcharge + + # column name + scheduledreturn + + # column name + start + + # column name + statetax + + # column name + status + + # column name + updated_at + } + + # input type for updating data in table "cccontracts" + input cccontracts_set_input { + actax: numeric + actualreturn: timestamptz + agreementnumber: Int + cc_cardholder: String + cc_expiry: String + cc_num: String + cleanupcharge: numeric + contract_date: date + courtesycarid: uuid + coverage: numeric + created_at: timestamptz + dailyfreekm: Int + dailyrate: numeric + damagewaiver: numeric + driver_addr1: String + driver_addr2: String + driver_city: String + driver_dlexpiry: date + driver_dlnumber: String + driver_dlst: String + driver_dob: date + driver_fn: String + driver_ln: String + driver_ph1: String + driver_state: String + driver_zip: String + excesskmrate: numeric + federaltax: numeric + id: uuid + jobid: uuid + kmend: numeric + kmstart: numeric + localtax: numeric + refuelcharge: numeric + scheduledreturn: timestamptz + start: timestamptz + statetax: numeric + status: String + updated_at: timestamptz + } + + # aggregate stddev on columns + type cccontracts_stddev_fields { + actax: Float + agreementnumber: Float + cleanupcharge: Float + coverage: Float + dailyfreekm: Float + dailyrate: Float + damagewaiver: Float + excesskmrate: Float + federaltax: Float + kmend: Float + kmstart: Float + localtax: Float + refuelcharge: Float + statetax: Float + } + + # order by stddev() on columns of table "cccontracts" + input cccontracts_stddev_order_by { + actax: order_by + agreementnumber: order_by + cleanupcharge: order_by + coverage: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + excesskmrate: order_by + federaltax: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + statetax: order_by + } + + # aggregate stddev_pop on columns + type cccontracts_stddev_pop_fields { + actax: Float + agreementnumber: Float + cleanupcharge: Float + coverage: Float + dailyfreekm: Float + dailyrate: Float + damagewaiver: Float + excesskmrate: Float + federaltax: Float + kmend: Float + kmstart: Float + localtax: Float + refuelcharge: Float + statetax: Float + } + + # order by stddev_pop() on columns of table "cccontracts" + input cccontracts_stddev_pop_order_by { + actax: order_by + agreementnumber: order_by + cleanupcharge: order_by + coverage: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + excesskmrate: order_by + federaltax: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + statetax: order_by + } + + # aggregate stddev_samp on columns + type cccontracts_stddev_samp_fields { + actax: Float + agreementnumber: Float + cleanupcharge: Float + coverage: Float + dailyfreekm: Float + dailyrate: Float + damagewaiver: Float + excesskmrate: Float + federaltax: Float + kmend: Float + kmstart: Float + localtax: Float + refuelcharge: Float + statetax: Float + } + + # order by stddev_samp() on columns of table "cccontracts" + input cccontracts_stddev_samp_order_by { + actax: order_by + agreementnumber: order_by + cleanupcharge: order_by + coverage: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + excesskmrate: order_by + federaltax: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + statetax: order_by + } + + # aggregate sum on columns + type cccontracts_sum_fields { + actax: numeric + agreementnumber: Int + cleanupcharge: numeric + coverage: numeric + dailyfreekm: Int + dailyrate: numeric + damagewaiver: numeric + excesskmrate: numeric + federaltax: numeric + kmend: numeric + kmstart: numeric + localtax: numeric + refuelcharge: numeric + statetax: numeric + } + + # order by sum() on columns of table "cccontracts" + input cccontracts_sum_order_by { + actax: order_by + agreementnumber: order_by + cleanupcharge: order_by + coverage: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + excesskmrate: order_by + federaltax: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + statetax: order_by + } + + # update columns of table "cccontracts" + enum cccontracts_update_column { + # column name + actax + + # column name + actualreturn + + # column name + agreementnumber + + # column name + cc_cardholder + + # column name + cc_expiry + + # column name + cc_num + + # column name + cleanupcharge + + # column name + contract_date + + # column name + courtesycarid + + # column name + coverage + + # column name + created_at + + # column name + dailyfreekm + + # column name + dailyrate + + # column name + damagewaiver + + # column name + driver_addr1 + + # column name + driver_addr2 + + # column name + driver_city + + # column name + driver_dlexpiry + + # column name + driver_dlnumber + + # column name + driver_dlst + + # column name + driver_dob + + # column name + driver_fn + + # column name + driver_ln + + # column name + driver_ph1 + + # column name + driver_state + + # column name + driver_zip + + # column name + excesskmrate + + # column name + federaltax + + # column name + id + + # column name + jobid + + # column name + kmend + + # column name + kmstart + + # column name + localtax + + # column name + refuelcharge + + # column name + scheduledreturn + + # column name + start + + # column name + statetax + + # column name + status + + # column name + updated_at + } + + # aggregate var_pop on columns + type cccontracts_var_pop_fields { + actax: Float + agreementnumber: Float + cleanupcharge: Float + coverage: Float + dailyfreekm: Float + dailyrate: Float + damagewaiver: Float + excesskmrate: Float + federaltax: Float + kmend: Float + kmstart: Float + localtax: Float + refuelcharge: Float + statetax: Float + } + + # order by var_pop() on columns of table "cccontracts" + input cccontracts_var_pop_order_by { + actax: order_by + agreementnumber: order_by + cleanupcharge: order_by + coverage: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + excesskmrate: order_by + federaltax: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + statetax: order_by + } + + # aggregate var_samp on columns + type cccontracts_var_samp_fields { + actax: Float + agreementnumber: Float + cleanupcharge: Float + coverage: Float + dailyfreekm: Float + dailyrate: Float + damagewaiver: Float + excesskmrate: Float + federaltax: Float + kmend: Float + kmstart: Float + localtax: Float + refuelcharge: Float + statetax: Float + } + + # order by var_samp() on columns of table "cccontracts" + input cccontracts_var_samp_order_by { + actax: order_by + agreementnumber: order_by + cleanupcharge: order_by + coverage: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + excesskmrate: order_by + federaltax: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + statetax: order_by + } + + # aggregate variance on columns + type cccontracts_variance_fields { + actax: Float + agreementnumber: Float + cleanupcharge: Float + coverage: Float + dailyfreekm: Float + dailyrate: Float + damagewaiver: Float + excesskmrate: Float + federaltax: Float + kmend: Float + kmstart: Float + localtax: Float + refuelcharge: Float + statetax: Float + } + + # order by variance() on columns of table "cccontracts" + input cccontracts_variance_order_by { + actax: order_by + agreementnumber: order_by + cleanupcharge: order_by + coverage: order_by + dailyfreekm: order_by + dailyrate: order_by + damagewaiver: order_by + excesskmrate: order_by + federaltax: order_by + kmend: order_by + kmstart: order_by + localtax: order_by + refuelcharge: order_by + statetax: order_by + } + + # columns and relationships of "conversations" + type conversations { + # An object relationship + bodyshop: bodyshops! + bodyshopid: uuid! + created_at: timestamptz! + id: uuid! + + # An array relationship + job_conversations( + # distinct select on columns + distinct_on: [job_conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [job_conversations_order_by!] + + # filter the rows returned + where: job_conversations_bool_exp + ): [job_conversations!]! + + # An aggregated array relationship + job_conversations_aggregate( + # distinct select on columns + distinct_on: [job_conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [job_conversations_order_by!] + + # filter the rows returned + where: job_conversations_bool_exp + ): job_conversations_aggregate! + + # An array relationship + messages( + # distinct select on columns + distinct_on: [messages_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [messages_order_by!] + + # filter the rows returned + where: messages_bool_exp + ): [messages!]! + + # An aggregated array relationship + messages_aggregate( + # distinct select on columns + distinct_on: [messages_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [messages_order_by!] + + # filter the rows returned + where: messages_bool_exp + ): messages_aggregate! + phone_num: String! + updated_at: timestamptz! + } + + # aggregated selection of "conversations" + type conversations_aggregate { + aggregate: conversations_aggregate_fields + nodes: [conversations!]! + } + + # aggregate fields of "conversations" + type conversations_aggregate_fields { + count(columns: [conversations_select_column!], distinct: Boolean): Int + max: conversations_max_fields + min: conversations_min_fields + } + + # order by aggregate values of table "conversations" + input conversations_aggregate_order_by { + count: order_by + max: conversations_max_order_by + min: conversations_min_order_by + } + + # input type for inserting array relation for remote table "conversations" + input conversations_arr_rel_insert_input { + data: [conversations_insert_input!]! + on_conflict: conversations_on_conflict + } + + # Boolean expression to filter rows from the table "conversations". All fields are combined with a logical 'AND'. + input conversations_bool_exp { + _and: [conversations_bool_exp] + _not: conversations_bool_exp + _or: [conversations_bool_exp] + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + created_at: timestamptz_comparison_exp + id: uuid_comparison_exp + job_conversations: job_conversations_bool_exp + messages: messages_bool_exp + phone_num: String_comparison_exp + updated_at: timestamptz_comparison_exp + } + + # unique or primary key constraints on table "conversations" + enum conversations_constraint { + # unique or primary key constraint + conversations_pkey + } + + # input type for inserting data into table "conversations" + input conversations_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + created_at: timestamptz + id: uuid + job_conversations: job_conversations_arr_rel_insert_input + messages: messages_arr_rel_insert_input + phone_num: String + updated_at: timestamptz + } + + # aggregate max on columns + type conversations_max_fields { + bodyshopid: uuid + created_at: timestamptz + id: uuid + phone_num: String + updated_at: timestamptz + } + + # order by max() on columns of table "conversations" + input conversations_max_order_by { + bodyshopid: order_by + created_at: order_by + id: order_by + phone_num: order_by + updated_at: order_by + } + + # aggregate min on columns + type conversations_min_fields { + bodyshopid: uuid + created_at: timestamptz + id: uuid + phone_num: String + updated_at: timestamptz + } + + # order by min() on columns of table "conversations" + input conversations_min_order_by { + bodyshopid: order_by + created_at: order_by + id: order_by + phone_num: order_by + updated_at: order_by + } + + # response of any mutation on the table "conversations" + type conversations_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [conversations!]! + } + + # input type for inserting object relation for remote table "conversations" + input conversations_obj_rel_insert_input { + data: conversations_insert_input! + on_conflict: conversations_on_conflict + } + + # on conflict condition type for table "conversations" + input conversations_on_conflict { + constraint: conversations_constraint! + update_columns: [conversations_update_column!]! + where: conversations_bool_exp + } + + # ordering options when selecting data from "conversations" + input conversations_order_by { + bodyshop: bodyshops_order_by + bodyshopid: order_by + created_at: order_by + id: order_by + job_conversations_aggregate: job_conversations_aggregate_order_by + messages_aggregate: messages_aggregate_order_by + phone_num: order_by + updated_at: order_by + } + + # primary key columns input for table: "conversations" + input conversations_pk_columns_input { + id: uuid! + } + + # select columns of table "conversations" + enum conversations_select_column { + # column name + bodyshopid + + # column name + created_at + + # column name + id + + # column name + phone_num + + # column name + updated_at + } + + # input type for updating data in table "conversations" + input conversations_set_input { + bodyshopid: uuid + created_at: timestamptz + id: uuid + phone_num: String + updated_at: timestamptz + } + + # update columns of table "conversations" + enum conversations_update_column { + # column name + bodyshopid + + # column name + created_at + + # column name + id + + # column name + phone_num + + # column name + updated_at + } + + # columns and relationships of "counters" + type counters { + # An object relationship + bodyshop: bodyshops! + count: Int! + countertype: String! + id: uuid! + prefix: String + shopid: uuid! + updated_at: timestamptz! + } + + # aggregated selection of "counters" + type counters_aggregate { + aggregate: counters_aggregate_fields + nodes: [counters!]! + } + + # aggregate fields of "counters" + type counters_aggregate_fields { + avg: counters_avg_fields + count(columns: [counters_select_column!], distinct: Boolean): Int + max: counters_max_fields + min: counters_min_fields + stddev: counters_stddev_fields + stddev_pop: counters_stddev_pop_fields + stddev_samp: counters_stddev_samp_fields + sum: counters_sum_fields + var_pop: counters_var_pop_fields + var_samp: counters_var_samp_fields + variance: counters_variance_fields + } + + # order by aggregate values of table "counters" + input counters_aggregate_order_by { + avg: counters_avg_order_by + count: order_by + max: counters_max_order_by + min: counters_min_order_by + stddev: counters_stddev_order_by + stddev_pop: counters_stddev_pop_order_by + stddev_samp: counters_stddev_samp_order_by + sum: counters_sum_order_by + var_pop: counters_var_pop_order_by + var_samp: counters_var_samp_order_by + variance: counters_variance_order_by + } + + # input type for inserting array relation for remote table "counters" + input counters_arr_rel_insert_input { + data: [counters_insert_input!]! + on_conflict: counters_on_conflict + } + + # aggregate avg on columns + type counters_avg_fields { + count: Float + } + + # order by avg() on columns of table "counters" + input counters_avg_order_by { + count: order_by + } + + # Boolean expression to filter rows from the table "counters". All fields are combined with a logical 'AND'. + input counters_bool_exp { + _and: [counters_bool_exp] + _not: counters_bool_exp + _or: [counters_bool_exp] + bodyshop: bodyshops_bool_exp + count: Int_comparison_exp + countertype: String_comparison_exp + id: uuid_comparison_exp + prefix: String_comparison_exp + shopid: uuid_comparison_exp + updated_at: timestamptz_comparison_exp + } + + # unique or primary key constraints on table "counters" + enum counters_constraint { + # unique or primary key constraint + counters_pkey + } + + # input type for incrementing integer column in table "counters" + input counters_inc_input { + count: Int + } + + # input type for inserting data into table "counters" + input counters_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + count: Int + countertype: String + id: uuid + prefix: String + shopid: uuid + updated_at: timestamptz + } + + # aggregate max on columns + type counters_max_fields { + count: Int + countertype: String + id: uuid + prefix: String + shopid: uuid + updated_at: timestamptz + } + + # order by max() on columns of table "counters" + input counters_max_order_by { + count: order_by + countertype: order_by + id: order_by + prefix: order_by + shopid: order_by + updated_at: order_by + } + + # aggregate min on columns + type counters_min_fields { + count: Int + countertype: String + id: uuid + prefix: String + shopid: uuid + updated_at: timestamptz + } + + # order by min() on columns of table "counters" + input counters_min_order_by { + count: order_by + countertype: order_by + id: order_by + prefix: order_by + shopid: order_by + updated_at: order_by + } + + # response of any mutation on the table "counters" + type counters_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [counters!]! + } + + # input type for inserting object relation for remote table "counters" + input counters_obj_rel_insert_input { + data: counters_insert_input! + on_conflict: counters_on_conflict + } + + # on conflict condition type for table "counters" + input counters_on_conflict { + constraint: counters_constraint! + update_columns: [counters_update_column!]! + where: counters_bool_exp + } + + # ordering options when selecting data from "counters" + input counters_order_by { + bodyshop: bodyshops_order_by + count: order_by + countertype: order_by + id: order_by + prefix: order_by + shopid: order_by + updated_at: order_by + } + + # primary key columns input for table: "counters" + input counters_pk_columns_input { + id: uuid! + } + + # select columns of table "counters" + enum counters_select_column { + # column name + count + + # column name + countertype + + # column name + id + + # column name + prefix + + # column name + shopid + + # column name + updated_at + } + + # input type for updating data in table "counters" + input counters_set_input { + count: Int + countertype: String + id: uuid + prefix: String + shopid: uuid + updated_at: timestamptz + } + + # aggregate stddev on columns + type counters_stddev_fields { + count: Float + } + + # order by stddev() on columns of table "counters" + input counters_stddev_order_by { + count: order_by + } + + # aggregate stddev_pop on columns + type counters_stddev_pop_fields { + count: Float + } + + # order by stddev_pop() on columns of table "counters" + input counters_stddev_pop_order_by { + count: order_by + } + + # aggregate stddev_samp on columns + type counters_stddev_samp_fields { + count: Float + } + + # order by stddev_samp() on columns of table "counters" + input counters_stddev_samp_order_by { + count: order_by + } + + # aggregate sum on columns + type counters_sum_fields { + count: Int + } + + # order by sum() on columns of table "counters" + input counters_sum_order_by { + count: order_by + } + + # update columns of table "counters" + enum counters_update_column { + # column name + count + + # column name + countertype + + # column name + id + + # column name + prefix + + # column name + shopid + + # column name + updated_at + } + + # aggregate var_pop on columns + type counters_var_pop_fields { + count: Float + } + + # order by var_pop() on columns of table "counters" + input counters_var_pop_order_by { + count: order_by + } + + # aggregate var_samp on columns + type counters_var_samp_fields { + count: Float + } + + # order by var_samp() on columns of table "counters" + input counters_var_samp_order_by { + count: order_by + } + + # aggregate variance on columns + type counters_variance_fields { + count: Float + } + + # order by variance() on columns of table "counters" + input counters_variance_order_by { + count: order_by + } + + # columns and relationships of "courtesycars" + type courtesycars { + # An object relationship + bodyshop: bodyshops! + bodyshopid: uuid! + + # An array relationship + cccontracts( + # distinct select on columns + distinct_on: [cccontracts_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [cccontracts_order_by!] + + # filter the rows returned + where: cccontracts_bool_exp + ): [cccontracts!]! + + # An aggregated array relationship + cccontracts_aggregate( + # distinct select on columns + distinct_on: [cccontracts_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [cccontracts_order_by!] + + # filter the rows returned + where: cccontracts_bool_exp + ): cccontracts_aggregate! + color: String! + created_at: timestamptz! + dailycost: numeric! + damage: String + fleetnumber: String + fuel: numeric! + id: uuid! + insuranceexpires: date + leaseenddate: date + make: String! + mileage: numeric! + model: String! + nextservicedate: date + nextservicekm: numeric! + notes: String + plate: String! + purchasedate: date + registrationexpires: date + serviceenddate: date + servicestartdate: date + status: String! + updated_at: timestamptz! + vin: String! + year: String! + } + + # aggregated selection of "courtesycars" + type courtesycars_aggregate { + aggregate: courtesycars_aggregate_fields + nodes: [courtesycars!]! + } + + # aggregate fields of "courtesycars" + type courtesycars_aggregate_fields { + avg: courtesycars_avg_fields + count(columns: [courtesycars_select_column!], distinct: Boolean): Int + max: courtesycars_max_fields + min: courtesycars_min_fields + stddev: courtesycars_stddev_fields + stddev_pop: courtesycars_stddev_pop_fields + stddev_samp: courtesycars_stddev_samp_fields + sum: courtesycars_sum_fields + var_pop: courtesycars_var_pop_fields + var_samp: courtesycars_var_samp_fields + variance: courtesycars_variance_fields + } + + # order by aggregate values of table "courtesycars" + input courtesycars_aggregate_order_by { + avg: courtesycars_avg_order_by + count: order_by + max: courtesycars_max_order_by + min: courtesycars_min_order_by + stddev: courtesycars_stddev_order_by + stddev_pop: courtesycars_stddev_pop_order_by + stddev_samp: courtesycars_stddev_samp_order_by + sum: courtesycars_sum_order_by + var_pop: courtesycars_var_pop_order_by + var_samp: courtesycars_var_samp_order_by + variance: courtesycars_variance_order_by + } + + # input type for inserting array relation for remote table "courtesycars" + input courtesycars_arr_rel_insert_input { + data: [courtesycars_insert_input!]! + on_conflict: courtesycars_on_conflict + } + + # aggregate avg on columns + type courtesycars_avg_fields { + dailycost: Float + fuel: Float + mileage: Float + nextservicekm: Float + } + + # order by avg() on columns of table "courtesycars" + input courtesycars_avg_order_by { + dailycost: order_by + fuel: order_by + mileage: order_by + nextservicekm: order_by + } + + # Boolean expression to filter rows from the table "courtesycars". All fields are combined with a logical 'AND'. + input courtesycars_bool_exp { + _and: [courtesycars_bool_exp] + _not: courtesycars_bool_exp + _or: [courtesycars_bool_exp] + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + cccontracts: cccontracts_bool_exp + color: String_comparison_exp + created_at: timestamptz_comparison_exp + dailycost: numeric_comparison_exp + damage: String_comparison_exp + fleetnumber: String_comparison_exp + fuel: numeric_comparison_exp + id: uuid_comparison_exp + insuranceexpires: date_comparison_exp + leaseenddate: date_comparison_exp + make: String_comparison_exp + mileage: numeric_comparison_exp + model: String_comparison_exp + nextservicedate: date_comparison_exp + nextservicekm: numeric_comparison_exp + notes: String_comparison_exp + plate: String_comparison_exp + purchasedate: date_comparison_exp + registrationexpires: date_comparison_exp + serviceenddate: date_comparison_exp + servicestartdate: date_comparison_exp + status: String_comparison_exp + updated_at: timestamptz_comparison_exp + vin: String_comparison_exp + year: String_comparison_exp + } + + # unique or primary key constraints on table "courtesycars" + enum courtesycars_constraint { + # unique or primary key constraint + courtesycars_pkey + } + + # input type for incrementing integer column in table "courtesycars" + input courtesycars_inc_input { + dailycost: numeric + fuel: numeric + mileage: numeric + nextservicekm: numeric + } + + # input type for inserting data into table "courtesycars" + input courtesycars_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + cccontracts: cccontracts_arr_rel_insert_input + color: String + created_at: timestamptz + dailycost: numeric + damage: String + fleetnumber: String + fuel: numeric + id: uuid + insuranceexpires: date + leaseenddate: date + make: String + mileage: numeric + model: String + nextservicedate: date + nextservicekm: numeric + notes: String + plate: String + purchasedate: date + registrationexpires: date + serviceenddate: date + servicestartdate: date + status: String + updated_at: timestamptz + vin: String + year: String + } + + # aggregate max on columns + type courtesycars_max_fields { + bodyshopid: uuid + color: String + created_at: timestamptz + dailycost: numeric + damage: String + fleetnumber: String + fuel: numeric + id: uuid + insuranceexpires: date + leaseenddate: date + make: String + mileage: numeric + model: String + nextservicedate: date + nextservicekm: numeric + notes: String + plate: String + purchasedate: date + registrationexpires: date + serviceenddate: date + servicestartdate: date + status: String + updated_at: timestamptz + vin: String + year: String + } + + # order by max() on columns of table "courtesycars" + input courtesycars_max_order_by { + bodyshopid: order_by + color: order_by + created_at: order_by + dailycost: order_by + damage: order_by + fleetnumber: order_by + fuel: order_by + id: order_by + insuranceexpires: order_by + leaseenddate: order_by + make: order_by + mileage: order_by + model: order_by + nextservicedate: order_by + nextservicekm: order_by + notes: order_by + plate: order_by + purchasedate: order_by + registrationexpires: order_by + serviceenddate: order_by + servicestartdate: order_by + status: order_by + updated_at: order_by + vin: order_by + year: order_by + } + + # aggregate min on columns + type courtesycars_min_fields { + bodyshopid: uuid + color: String + created_at: timestamptz + dailycost: numeric + damage: String + fleetnumber: String + fuel: numeric + id: uuid + insuranceexpires: date + leaseenddate: date + make: String + mileage: numeric + model: String + nextservicedate: date + nextservicekm: numeric + notes: String + plate: String + purchasedate: date + registrationexpires: date + serviceenddate: date + servicestartdate: date + status: String + updated_at: timestamptz + vin: String + year: String + } + + # order by min() on columns of table "courtesycars" + input courtesycars_min_order_by { + bodyshopid: order_by + color: order_by + created_at: order_by + dailycost: order_by + damage: order_by + fleetnumber: order_by + fuel: order_by + id: order_by + insuranceexpires: order_by + leaseenddate: order_by + make: order_by + mileage: order_by + model: order_by + nextservicedate: order_by + nextservicekm: order_by + notes: order_by + plate: order_by + purchasedate: order_by + registrationexpires: order_by + serviceenddate: order_by + servicestartdate: order_by + status: order_by + updated_at: order_by + vin: order_by + year: order_by + } + + # response of any mutation on the table "courtesycars" + type courtesycars_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [courtesycars!]! + } + + # input type for inserting object relation for remote table "courtesycars" + input courtesycars_obj_rel_insert_input { + data: courtesycars_insert_input! + on_conflict: courtesycars_on_conflict + } + + # on conflict condition type for table "courtesycars" + input courtesycars_on_conflict { + constraint: courtesycars_constraint! + update_columns: [courtesycars_update_column!]! + where: courtesycars_bool_exp + } + + # ordering options when selecting data from "courtesycars" + input courtesycars_order_by { + bodyshop: bodyshops_order_by + bodyshopid: order_by + cccontracts_aggregate: cccontracts_aggregate_order_by + color: order_by + created_at: order_by + dailycost: order_by + damage: order_by + fleetnumber: order_by + fuel: order_by + id: order_by + insuranceexpires: order_by + leaseenddate: order_by + make: order_by + mileage: order_by + model: order_by + nextservicedate: order_by + nextservicekm: order_by + notes: order_by + plate: order_by + purchasedate: order_by + registrationexpires: order_by + serviceenddate: order_by + servicestartdate: order_by + status: order_by + updated_at: order_by + vin: order_by + year: order_by + } + + # primary key columns input for table: "courtesycars" + input courtesycars_pk_columns_input { + id: uuid! + } + + # select columns of table "courtesycars" + enum courtesycars_select_column { + # column name + bodyshopid + + # column name + color + + # column name + created_at + + # column name + dailycost + + # column name + damage + + # column name + fleetnumber + + # column name + fuel + + # column name + id + + # column name + insuranceexpires + + # column name + leaseenddate + + # column name + make + + # column name + mileage + + # column name + model + + # column name + nextservicedate + + # column name + nextservicekm + + # column name + notes + + # column name + plate + + # column name + purchasedate + + # column name + registrationexpires + + # column name + serviceenddate + + # column name + servicestartdate + + # column name + status + + # column name + updated_at + + # column name + vin + + # column name + year + } + + # input type for updating data in table "courtesycars" + input courtesycars_set_input { + bodyshopid: uuid + color: String + created_at: timestamptz + dailycost: numeric + damage: String + fleetnumber: String + fuel: numeric + id: uuid + insuranceexpires: date + leaseenddate: date + make: String + mileage: numeric + model: String + nextservicedate: date + nextservicekm: numeric + notes: String + plate: String + purchasedate: date + registrationexpires: date + serviceenddate: date + servicestartdate: date + status: String + updated_at: timestamptz + vin: String + year: String + } + + # aggregate stddev on columns + type courtesycars_stddev_fields { + dailycost: Float + fuel: Float + mileage: Float + nextservicekm: Float + } + + # order by stddev() on columns of table "courtesycars" + input courtesycars_stddev_order_by { + dailycost: order_by + fuel: order_by + mileage: order_by + nextservicekm: order_by + } + + # aggregate stddev_pop on columns + type courtesycars_stddev_pop_fields { + dailycost: Float + fuel: Float + mileage: Float + nextservicekm: Float + } + + # order by stddev_pop() on columns of table "courtesycars" + input courtesycars_stddev_pop_order_by { + dailycost: order_by + fuel: order_by + mileage: order_by + nextservicekm: order_by + } + + # aggregate stddev_samp on columns + type courtesycars_stddev_samp_fields { + dailycost: Float + fuel: Float + mileage: Float + nextservicekm: Float + } + + # order by stddev_samp() on columns of table "courtesycars" + input courtesycars_stddev_samp_order_by { + dailycost: order_by + fuel: order_by + mileage: order_by + nextservicekm: order_by + } + + # aggregate sum on columns + type courtesycars_sum_fields { + dailycost: numeric + fuel: numeric + mileage: numeric + nextservicekm: numeric + } + + # order by sum() on columns of table "courtesycars" + input courtesycars_sum_order_by { + dailycost: order_by + fuel: order_by + mileage: order_by + nextservicekm: order_by + } + + # update columns of table "courtesycars" + enum courtesycars_update_column { + # column name + bodyshopid + + # column name + color + + # column name + created_at + + # column name + dailycost + + # column name + damage + + # column name + fleetnumber + + # column name + fuel + + # column name + id + + # column name + insuranceexpires + + # column name + leaseenddate + + # column name + make + + # column name + mileage + + # column name + model + + # column name + nextservicedate + + # column name + nextservicekm + + # column name + notes + + # column name + plate + + # column name + purchasedate + + # column name + registrationexpires + + # column name + serviceenddate + + # column name + servicestartdate + + # column name + status + + # column name + updated_at + + # column name + vin + + # column name + year + } + + # aggregate var_pop on columns + type courtesycars_var_pop_fields { + dailycost: Float + fuel: Float + mileage: Float + nextservicekm: Float + } + + # order by var_pop() on columns of table "courtesycars" + input courtesycars_var_pop_order_by { + dailycost: order_by + fuel: order_by + mileage: order_by + nextservicekm: order_by + } + + # aggregate var_samp on columns + type courtesycars_var_samp_fields { + dailycost: Float + fuel: Float + mileage: Float + nextservicekm: Float + } + + # order by var_samp() on columns of table "courtesycars" + input courtesycars_var_samp_order_by { + dailycost: order_by + fuel: order_by + mileage: order_by + nextservicekm: order_by + } + + # aggregate variance on columns + type courtesycars_variance_fields { + dailycost: Float + fuel: Float + mileage: Float + nextservicekm: Float + } + + # order by variance() on columns of table "courtesycars" + input courtesycars_variance_order_by { + dailycost: order_by + fuel: order_by + mileage: order_by + nextservicekm: order_by + } + + # columns and relationships of "csi" + type csi { + # An object relationship + bodyshop: bodyshops! + bodyshopid: uuid! + completedon: timestamptz + created_at: timestamptz! + + # An object relationship + csiquestion: csiquestions + id: uuid! + + # An object relationship + job: jobs! + jobid: uuid! + questionset: uuid + relateddata( + # JSON select path + path: String + ): jsonb + response( + # JSON select path + path: String + ): jsonb + updated_at: timestamptz! + valid: Boolean! + validuntil: date + } + + # aggregated selection of "csi" + type csi_aggregate { + aggregate: csi_aggregate_fields + nodes: [csi!]! + } + + # aggregate fields of "csi" + type csi_aggregate_fields { + count(columns: [csi_select_column!], distinct: Boolean): Int + max: csi_max_fields + min: csi_min_fields + } + + # order by aggregate values of table "csi" + input csi_aggregate_order_by { + count: order_by + max: csi_max_order_by + min: csi_min_order_by + } + + # append existing jsonb value of filtered columns with new jsonb value + input csi_append_input { + relateddata: jsonb + response: jsonb + } + + # input type for inserting array relation for remote table "csi" + input csi_arr_rel_insert_input { + data: [csi_insert_input!]! + on_conflict: csi_on_conflict + } + + # Boolean expression to filter rows from the table "csi". All fields are combined with a logical 'AND'. + input csi_bool_exp { + _and: [csi_bool_exp] + _not: csi_bool_exp + _or: [csi_bool_exp] + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + completedon: timestamptz_comparison_exp + created_at: timestamptz_comparison_exp + csiquestion: csiquestions_bool_exp + id: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + questionset: uuid_comparison_exp + relateddata: jsonb_comparison_exp + response: jsonb_comparison_exp + updated_at: timestamptz_comparison_exp + valid: Boolean_comparison_exp + validuntil: date_comparison_exp + } + + # unique or primary key constraints on table "csi" + enum csi_constraint { + # unique or primary key constraint + csiinvites_pkey + } + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + input csi_delete_at_path_input { + relateddata: [String] + response: [String] + } + + # delete the array element with specified index (negative integers count from the + # end). throws an error if top level container is not an array + input csi_delete_elem_input { + relateddata: Int + response: Int + } + + # delete key/value pair or string element. key/value pairs are matched based on their key value + input csi_delete_key_input { + relateddata: String + response: String + } + + # input type for inserting data into table "csi" + input csi_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + completedon: timestamptz + created_at: timestamptz + csiquestion: csiquestions_obj_rel_insert_input + id: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + questionset: uuid + relateddata: jsonb + response: jsonb + updated_at: timestamptz + valid: Boolean + validuntil: date + } + + # aggregate max on columns + type csi_max_fields { + bodyshopid: uuid + completedon: timestamptz + created_at: timestamptz + id: uuid + jobid: uuid + questionset: uuid + updated_at: timestamptz + validuntil: date + } + + # order by max() on columns of table "csi" + input csi_max_order_by { + bodyshopid: order_by + completedon: order_by + created_at: order_by + id: order_by + jobid: order_by + questionset: order_by + updated_at: order_by + validuntil: order_by + } + + # aggregate min on columns + type csi_min_fields { + bodyshopid: uuid + completedon: timestamptz + created_at: timestamptz + id: uuid + jobid: uuid + questionset: uuid + updated_at: timestamptz + validuntil: date + } + + # order by min() on columns of table "csi" + input csi_min_order_by { + bodyshopid: order_by + completedon: order_by + created_at: order_by + id: order_by + jobid: order_by + questionset: order_by + updated_at: order_by + validuntil: order_by + } + + # response of any mutation on the table "csi" + type csi_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [csi!]! + } + + # input type for inserting object relation for remote table "csi" + input csi_obj_rel_insert_input { + data: csi_insert_input! + on_conflict: csi_on_conflict + } + + # on conflict condition type for table "csi" + input csi_on_conflict { + constraint: csi_constraint! + update_columns: [csi_update_column!]! + where: csi_bool_exp + } + + # ordering options when selecting data from "csi" + input csi_order_by { + bodyshop: bodyshops_order_by + bodyshopid: order_by + completedon: order_by + created_at: order_by + csiquestion: csiquestions_order_by + id: order_by + job: jobs_order_by + jobid: order_by + questionset: order_by + relateddata: order_by + response: order_by + updated_at: order_by + valid: order_by + validuntil: order_by + } + + # primary key columns input for table: "csi" + input csi_pk_columns_input { + id: uuid! + } + + # prepend existing jsonb value of filtered columns with new jsonb value + input csi_prepend_input { + relateddata: jsonb + response: jsonb + } + + # select columns of table "csi" + enum csi_select_column { + # column name + bodyshopid + + # column name + completedon + + # column name + created_at + + # column name + id + + # column name + jobid + + # column name + questionset + + # column name + relateddata + + # column name + response + + # column name + updated_at + + # column name + valid + + # column name + validuntil + } + + # input type for updating data in table "csi" + input csi_set_input { + bodyshopid: uuid + completedon: timestamptz + created_at: timestamptz + id: uuid + jobid: uuid + questionset: uuid + relateddata: jsonb + response: jsonb + updated_at: timestamptz + valid: Boolean + validuntil: date + } + + # update columns of table "csi" + enum csi_update_column { + # column name + bodyshopid + + # column name + completedon + + # column name + created_at + + # column name + id + + # column name + jobid + + # column name + questionset + + # column name + relateddata + + # column name + response + + # column name + updated_at + + # column name + valid + + # column name + validuntil + } + + # columns and relationships of "csiquestions" + type csiquestions { + # An object relationship + bodyshop: bodyshops! + bodyshopid: uuid! + config( + # JSON select path + path: String + ): jsonb + created_at: timestamptz! + + # An array relationship + csis( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): [csi!]! + + # An aggregated array relationship + csis_aggregate( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): csi_aggregate! + current: Boolean! + id: uuid! + updated_at: timestamptz! + } + + # aggregated selection of "csiquestions" + type csiquestions_aggregate { + aggregate: csiquestions_aggregate_fields + nodes: [csiquestions!]! + } + + # aggregate fields of "csiquestions" + type csiquestions_aggregate_fields { + count(columns: [csiquestions_select_column!], distinct: Boolean): Int + max: csiquestions_max_fields + min: csiquestions_min_fields + } + + # order by aggregate values of table "csiquestions" + input csiquestions_aggregate_order_by { + count: order_by + max: csiquestions_max_order_by + min: csiquestions_min_order_by + } + + # append existing jsonb value of filtered columns with new jsonb value + input csiquestions_append_input { + config: jsonb + } + + # input type for inserting array relation for remote table "csiquestions" + input csiquestions_arr_rel_insert_input { + data: [csiquestions_insert_input!]! + on_conflict: csiquestions_on_conflict + } + + # Boolean expression to filter rows from the table "csiquestions". All fields are combined with a logical 'AND'. + input csiquestions_bool_exp { + _and: [csiquestions_bool_exp] + _not: csiquestions_bool_exp + _or: [csiquestions_bool_exp] + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + config: jsonb_comparison_exp + created_at: timestamptz_comparison_exp + csis: csi_bool_exp + current: Boolean_comparison_exp + id: uuid_comparison_exp + updated_at: timestamptz_comparison_exp + } + + # unique or primary key constraints on table "csiquestions" + enum csiquestions_constraint { + # unique or primary key constraint + csiquestion_pkey + } + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + input csiquestions_delete_at_path_input { + config: [String] + } + + # delete the array element with specified index (negative integers count from the + # end). throws an error if top level container is not an array + input csiquestions_delete_elem_input { + config: Int + } + + # delete key/value pair or string element. key/value pairs are matched based on their key value + input csiquestions_delete_key_input { + config: String + } + + # input type for inserting data into table "csiquestions" + input csiquestions_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + config: jsonb + created_at: timestamptz + csis: csi_arr_rel_insert_input + current: Boolean + id: uuid + updated_at: timestamptz + } + + # aggregate max on columns + type csiquestions_max_fields { + bodyshopid: uuid + created_at: timestamptz + id: uuid + updated_at: timestamptz + } + + # order by max() on columns of table "csiquestions" + input csiquestions_max_order_by { + bodyshopid: order_by + created_at: order_by + id: order_by + updated_at: order_by + } + + # aggregate min on columns + type csiquestions_min_fields { + bodyshopid: uuid + created_at: timestamptz + id: uuid + updated_at: timestamptz + } + + # order by min() on columns of table "csiquestions" + input csiquestions_min_order_by { + bodyshopid: order_by + created_at: order_by + id: order_by + updated_at: order_by + } + + # response of any mutation on the table "csiquestions" + type csiquestions_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [csiquestions!]! + } + + # input type for inserting object relation for remote table "csiquestions" + input csiquestions_obj_rel_insert_input { + data: csiquestions_insert_input! + on_conflict: csiquestions_on_conflict + } + + # on conflict condition type for table "csiquestions" + input csiquestions_on_conflict { + constraint: csiquestions_constraint! + update_columns: [csiquestions_update_column!]! + where: csiquestions_bool_exp + } + + # ordering options when selecting data from "csiquestions" + input csiquestions_order_by { + bodyshop: bodyshops_order_by + bodyshopid: order_by + config: order_by + created_at: order_by + csis_aggregate: csi_aggregate_order_by + current: order_by + id: order_by + updated_at: order_by + } + + # primary key columns input for table: "csiquestions" + input csiquestions_pk_columns_input { + id: uuid! + } + + # prepend existing jsonb value of filtered columns with new jsonb value + input csiquestions_prepend_input { + config: jsonb + } + + # select columns of table "csiquestions" + enum csiquestions_select_column { + # column name + bodyshopid + + # column name + config + + # column name + created_at + + # column name + current + + # column name + id + + # column name + updated_at + } + + # input type for updating data in table "csiquestions" + input csiquestions_set_input { + bodyshopid: uuid + config: jsonb + created_at: timestamptz + current: Boolean + id: uuid + updated_at: timestamptz + } + + # update columns of table "csiquestions" + enum csiquestions_update_column { + # column name + bodyshopid + + # column name + config + + # column name + created_at + + # column name + current + + # column name + id + + # column name + updated_at + } + + scalar date + + # expression to compare columns of type date. All fields are combined with logical 'AND'. + input date_comparison_exp { + _eq: date + _gt: date + _gte: date + _in: [date!] + _is_null: Boolean + _lt: date + _lte: date + _neq: date + _nin: [date!] + } + + # columns and relationships of "documents" + type documents { + created_at: timestamptz! + id: uuid! + + # An object relationship + invoice: invoices + invoiceid: uuid + + # An object relationship + job: jobs! + jobid: uuid! + key: String! + name: String + type: String + updated_at: timestamptz! + uploaded_by: String! + } + + # aggregated selection of "documents" + type documents_aggregate { + aggregate: documents_aggregate_fields + nodes: [documents!]! + } + + # aggregate fields of "documents" + type documents_aggregate_fields { + count(columns: [documents_select_column!], distinct: Boolean): Int + max: documents_max_fields + min: documents_min_fields + } + + # order by aggregate values of table "documents" + input documents_aggregate_order_by { + count: order_by + max: documents_max_order_by + min: documents_min_order_by + } + + # input type for inserting array relation for remote table "documents" + input documents_arr_rel_insert_input { + data: [documents_insert_input!]! + on_conflict: documents_on_conflict + } + + # Boolean expression to filter rows from the table "documents". All fields are combined with a logical 'AND'. + input documents_bool_exp { + _and: [documents_bool_exp] + _not: documents_bool_exp + _or: [documents_bool_exp] + created_at: timestamptz_comparison_exp + id: uuid_comparison_exp + invoice: invoices_bool_exp + invoiceid: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + key: String_comparison_exp + name: String_comparison_exp + type: String_comparison_exp + updated_at: timestamptz_comparison_exp + uploaded_by: String_comparison_exp + } + + # unique or primary key constraints on table "documents" + enum documents_constraint { + # unique or primary key constraint + documents_pkey + } + + # input type for inserting data into table "documents" + input documents_insert_input { + created_at: timestamptz + id: uuid + invoice: invoices_obj_rel_insert_input + invoiceid: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + key: String + name: String + type: String + updated_at: timestamptz + uploaded_by: String + } + + # aggregate max on columns + type documents_max_fields { + created_at: timestamptz + id: uuid + invoiceid: uuid + jobid: uuid + key: String + name: String + type: String + updated_at: timestamptz + uploaded_by: String + } + + # order by max() on columns of table "documents" + input documents_max_order_by { + created_at: order_by + id: order_by + invoiceid: order_by + jobid: order_by + key: order_by + name: order_by + type: order_by + updated_at: order_by + uploaded_by: order_by + } + + # aggregate min on columns + type documents_min_fields { + created_at: timestamptz + id: uuid + invoiceid: uuid + jobid: uuid + key: String + name: String + type: String + updated_at: timestamptz + uploaded_by: String + } + + # order by min() on columns of table "documents" + input documents_min_order_by { + created_at: order_by + id: order_by + invoiceid: order_by + jobid: order_by + key: order_by + name: order_by + type: order_by + updated_at: order_by + uploaded_by: order_by + } + + # response of any mutation on the table "documents" + type documents_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [documents!]! + } + + # input type for inserting object relation for remote table "documents" + input documents_obj_rel_insert_input { + data: documents_insert_input! + on_conflict: documents_on_conflict + } + + # on conflict condition type for table "documents" + input documents_on_conflict { + constraint: documents_constraint! + update_columns: [documents_update_column!]! + where: documents_bool_exp + } + + # ordering options when selecting data from "documents" + input documents_order_by { + created_at: order_by + id: order_by + invoice: invoices_order_by + invoiceid: order_by + job: jobs_order_by + jobid: order_by + key: order_by + name: order_by + type: order_by + updated_at: order_by + uploaded_by: order_by + } + + # primary key columns input for table: "documents" + input documents_pk_columns_input { + id: uuid! + } + + # select columns of table "documents" + enum documents_select_column { + # column name + created_at + + # column name + id + + # column name + invoiceid + + # column name + jobid + + # column name + key + + # column name + name + + # column name + type + + # column name + updated_at + + # column name + uploaded_by + } + + # input type for updating data in table "documents" + input documents_set_input { + created_at: timestamptz + id: uuid + invoiceid: uuid + jobid: uuid + key: String + name: String + type: String + updated_at: timestamptz + uploaded_by: String + } + + # update columns of table "documents" + enum documents_update_column { + # column name + created_at + + # column name + id + + # column name + invoiceid + + # column name + jobid + + # column name + key + + # column name + name + + # column name + type + + # column name + updated_at + + # column name + uploaded_by + } + + # columns and relationships of "employees" + type employees { + active: Boolean! + + # An array relationship + allocations( + # distinct select on columns + distinct_on: [allocations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [allocations_order_by!] + + # filter the rows returned + where: allocations_bool_exp + ): [allocations!]! + + # An aggregated array relationship + allocations_aggregate( + # distinct select on columns + distinct_on: [allocations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [allocations_order_by!] + + # filter the rows returned + where: allocations_bool_exp + ): allocations_aggregate! + base_rate: numeric! + + # An object relationship + bodyshop: bodyshops! + cost_center: String! + created_at: timestamptz! + employee_number: String + first_name: String! + flat_rate: Boolean! + hire_date: date + id: uuid! + + # An array relationship + jobs( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # An array relationship + jobsByEmployeePrep( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # An aggregated array relationship + jobsByEmployeePrep_aggregate( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + + # An array relationship + jobsByEmployeeRefinish( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # An aggregated array relationship + jobsByEmployeeRefinish_aggregate( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + + # An aggregated array relationship + jobs_aggregate( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + last_name: String! + pin: String + shopid: uuid! + termination_date: date + + # An array relationship + timetickets( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): [timetickets!]! + + # An aggregated array relationship + timetickets_aggregate( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): timetickets_aggregate! + updated_at: timestamptz! + + # An object relationship + user: users + user_email: String + } + + # aggregated selection of "employees" + type employees_aggregate { + aggregate: employees_aggregate_fields + nodes: [employees!]! + } + + # aggregate fields of "employees" + type employees_aggregate_fields { + avg: employees_avg_fields + count(columns: [employees_select_column!], distinct: Boolean): Int + max: employees_max_fields + min: employees_min_fields + stddev: employees_stddev_fields + stddev_pop: employees_stddev_pop_fields + stddev_samp: employees_stddev_samp_fields + sum: employees_sum_fields + var_pop: employees_var_pop_fields + var_samp: employees_var_samp_fields + variance: employees_variance_fields + } + + # order by aggregate values of table "employees" + input employees_aggregate_order_by { + avg: employees_avg_order_by + count: order_by + max: employees_max_order_by + min: employees_min_order_by + stddev: employees_stddev_order_by + stddev_pop: employees_stddev_pop_order_by + stddev_samp: employees_stddev_samp_order_by + sum: employees_sum_order_by + var_pop: employees_var_pop_order_by + var_samp: employees_var_samp_order_by + variance: employees_variance_order_by + } + + # input type for inserting array relation for remote table "employees" + input employees_arr_rel_insert_input { + data: [employees_insert_input!]! + on_conflict: employees_on_conflict + } + + # aggregate avg on columns + type employees_avg_fields { + base_rate: Float + } + + # order by avg() on columns of table "employees" + input employees_avg_order_by { + base_rate: order_by + } + + # Boolean expression to filter rows from the table "employees". All fields are combined with a logical 'AND'. + input employees_bool_exp { + _and: [employees_bool_exp] + _not: employees_bool_exp + _or: [employees_bool_exp] + active: Boolean_comparison_exp + allocations: allocations_bool_exp + base_rate: numeric_comparison_exp + bodyshop: bodyshops_bool_exp + cost_center: String_comparison_exp + created_at: timestamptz_comparison_exp + employee_number: String_comparison_exp + first_name: String_comparison_exp + flat_rate: Boolean_comparison_exp + hire_date: date_comparison_exp + id: uuid_comparison_exp + jobs: jobs_bool_exp + jobsByEmployeePrep: jobs_bool_exp + jobsByEmployeeRefinish: jobs_bool_exp + last_name: String_comparison_exp + pin: String_comparison_exp + shopid: uuid_comparison_exp + termination_date: date_comparison_exp + timetickets: timetickets_bool_exp + updated_at: timestamptz_comparison_exp + user: users_bool_exp + user_email: String_comparison_exp + } + + # unique or primary key constraints on table "employees" + enum employees_constraint { + # unique or primary key constraint + employees_pkey + + # unique or primary key constraint + employees_user_email_key + } + + # input type for incrementing integer column in table "employees" + input employees_inc_input { + base_rate: numeric + } + + # input type for inserting data into table "employees" + input employees_insert_input { + active: Boolean + allocations: allocations_arr_rel_insert_input + base_rate: numeric + bodyshop: bodyshops_obj_rel_insert_input + cost_center: String + created_at: timestamptz + employee_number: String + first_name: String + flat_rate: Boolean + hire_date: date + id: uuid + jobs: jobs_arr_rel_insert_input + jobsByEmployeePrep: jobs_arr_rel_insert_input + jobsByEmployeeRefinish: jobs_arr_rel_insert_input + last_name: String + pin: String + shopid: uuid + termination_date: date + timetickets: timetickets_arr_rel_insert_input + updated_at: timestamptz + user: users_obj_rel_insert_input + user_email: String + } + + # aggregate max on columns + type employees_max_fields { + base_rate: numeric + cost_center: String + created_at: timestamptz + employee_number: String + first_name: String + hire_date: date + id: uuid + last_name: String + pin: String + shopid: uuid + termination_date: date + updated_at: timestamptz + user_email: String + } + + # order by max() on columns of table "employees" + input employees_max_order_by { + base_rate: order_by + cost_center: order_by + created_at: order_by + employee_number: order_by + first_name: order_by + hire_date: order_by + id: order_by + last_name: order_by + pin: order_by + shopid: order_by + termination_date: order_by + updated_at: order_by + user_email: order_by + } + + # aggregate min on columns + type employees_min_fields { + base_rate: numeric + cost_center: String + created_at: timestamptz + employee_number: String + first_name: String + hire_date: date + id: uuid + last_name: String + pin: String + shopid: uuid + termination_date: date + updated_at: timestamptz + user_email: String + } + + # order by min() on columns of table "employees" + input employees_min_order_by { + base_rate: order_by + cost_center: order_by + created_at: order_by + employee_number: order_by + first_name: order_by + hire_date: order_by + id: order_by + last_name: order_by + pin: order_by + shopid: order_by + termination_date: order_by + updated_at: order_by + user_email: order_by + } + + # response of any mutation on the table "employees" + type employees_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [employees!]! + } + + # input type for inserting object relation for remote table "employees" + input employees_obj_rel_insert_input { + data: employees_insert_input! + on_conflict: employees_on_conflict + } + + # on conflict condition type for table "employees" + input employees_on_conflict { + constraint: employees_constraint! + update_columns: [employees_update_column!]! + where: employees_bool_exp + } + + # ordering options when selecting data from "employees" + input employees_order_by { + active: order_by + allocations_aggregate: allocations_aggregate_order_by + base_rate: order_by + bodyshop: bodyshops_order_by + cost_center: order_by + created_at: order_by + employee_number: order_by + first_name: order_by + flat_rate: order_by + hire_date: order_by + id: order_by + jobsByEmployeePrep_aggregate: jobs_aggregate_order_by + jobsByEmployeeRefinish_aggregate: jobs_aggregate_order_by + jobs_aggregate: jobs_aggregate_order_by + last_name: order_by + pin: order_by + shopid: order_by + termination_date: order_by + timetickets_aggregate: timetickets_aggregate_order_by + updated_at: order_by + user: users_order_by + user_email: order_by + } + + # primary key columns input for table: "employees" + input employees_pk_columns_input { + id: uuid! + } + + # select columns of table "employees" + enum employees_select_column { + # column name + active + + # column name + base_rate + + # column name + cost_center + + # column name + created_at + + # column name + employee_number + + # column name + first_name + + # column name + flat_rate + + # column name + hire_date + + # column name + id + + # column name + last_name + + # column name + pin + + # column name + shopid + + # column name + termination_date + + # column name + updated_at + + # column name + user_email + } + + # input type for updating data in table "employees" + input employees_set_input { + active: Boolean + base_rate: numeric + cost_center: String + created_at: timestamptz + employee_number: String + first_name: String + flat_rate: Boolean + hire_date: date + id: uuid + last_name: String + pin: String + shopid: uuid + termination_date: date + updated_at: timestamptz + user_email: String + } + + # aggregate stddev on columns + type employees_stddev_fields { + base_rate: Float + } + + # order by stddev() on columns of table "employees" + input employees_stddev_order_by { + base_rate: order_by + } + + # aggregate stddev_pop on columns + type employees_stddev_pop_fields { + base_rate: Float + } + + # order by stddev_pop() on columns of table "employees" + input employees_stddev_pop_order_by { + base_rate: order_by + } + + # aggregate stddev_samp on columns + type employees_stddev_samp_fields { + base_rate: Float + } + + # order by stddev_samp() on columns of table "employees" + input employees_stddev_samp_order_by { + base_rate: order_by + } + + # aggregate sum on columns + type employees_sum_fields { + base_rate: numeric + } + + # order by sum() on columns of table "employees" + input employees_sum_order_by { + base_rate: order_by + } + + # update columns of table "employees" + enum employees_update_column { + # column name + active + + # column name + base_rate + + # column name + cost_center + + # column name + created_at + + # column name + employee_number + + # column name + first_name + + # column name + flat_rate + + # column name + hire_date + + # column name + id + + # column name + last_name + + # column name + pin + + # column name + shopid + + # column name + termination_date + + # column name + updated_at + + # column name + user_email + } + + # aggregate var_pop on columns + type employees_var_pop_fields { + base_rate: Float + } + + # order by var_pop() on columns of table "employees" + input employees_var_pop_order_by { + base_rate: order_by + } + + # aggregate var_samp on columns + type employees_var_samp_fields { + base_rate: Float + } + + # order by var_samp() on columns of table "employees" + input employees_var_samp_order_by { + base_rate: order_by + } + + # aggregate variance on columns + type employees_variance_fields { + base_rate: Float + } + + # order by variance() on columns of table "employees" + input employees_variance_order_by { + base_rate: order_by + } + + # expression to compare columns of type Int. All fields are combined with logical 'AND'. + input Int_comparison_exp { + _eq: Int + _gt: Int + _gte: Int + _in: [Int!] + _is_null: Boolean + _lt: Int + _lte: Int + _neq: Int + _nin: [Int!] + } + + # columns and relationships of "invoicelines" + type invoicelines { + actual_cost: numeric! + actual_price: numeric! + applicable_taxes( + # JSON select path + path: String + ): jsonb + cost_center: String! + created_at: timestamptz! + id: uuid! + + # An object relationship + invoice: invoices! + invoiceid: uuid! + joblineid: uuid + line_desc: String + quantity: Int! + updated_at: timestamptz! + } + + # aggregated selection of "invoicelines" + type invoicelines_aggregate { + aggregate: invoicelines_aggregate_fields + nodes: [invoicelines!]! + } + + # aggregate fields of "invoicelines" + type invoicelines_aggregate_fields { + avg: invoicelines_avg_fields + count(columns: [invoicelines_select_column!], distinct: Boolean): Int + max: invoicelines_max_fields + min: invoicelines_min_fields + stddev: invoicelines_stddev_fields + stddev_pop: invoicelines_stddev_pop_fields + stddev_samp: invoicelines_stddev_samp_fields + sum: invoicelines_sum_fields + var_pop: invoicelines_var_pop_fields + var_samp: invoicelines_var_samp_fields + variance: invoicelines_variance_fields + } + + # order by aggregate values of table "invoicelines" + input invoicelines_aggregate_order_by { + avg: invoicelines_avg_order_by + count: order_by + max: invoicelines_max_order_by + min: invoicelines_min_order_by + stddev: invoicelines_stddev_order_by + stddev_pop: invoicelines_stddev_pop_order_by + stddev_samp: invoicelines_stddev_samp_order_by + sum: invoicelines_sum_order_by + var_pop: invoicelines_var_pop_order_by + var_samp: invoicelines_var_samp_order_by + variance: invoicelines_variance_order_by + } + + # append existing jsonb value of filtered columns with new jsonb value + input invoicelines_append_input { + applicable_taxes: jsonb + } + + # input type for inserting array relation for remote table "invoicelines" + input invoicelines_arr_rel_insert_input { + data: [invoicelines_insert_input!]! + on_conflict: invoicelines_on_conflict + } + + # aggregate avg on columns + type invoicelines_avg_fields { + actual_cost: Float + actual_price: Float + quantity: Float + } + + # order by avg() on columns of table "invoicelines" + input invoicelines_avg_order_by { + actual_cost: order_by + actual_price: order_by + quantity: order_by + } + + # Boolean expression to filter rows from the table "invoicelines". All fields are combined with a logical 'AND'. + input invoicelines_bool_exp { + _and: [invoicelines_bool_exp] + _not: invoicelines_bool_exp + _or: [invoicelines_bool_exp] + actual_cost: numeric_comparison_exp + actual_price: numeric_comparison_exp + applicable_taxes: jsonb_comparison_exp + cost_center: String_comparison_exp + created_at: timestamptz_comparison_exp + id: uuid_comparison_exp + invoice: invoices_bool_exp + invoiceid: uuid_comparison_exp + joblineid: uuid_comparison_exp + line_desc: String_comparison_exp + quantity: Int_comparison_exp + updated_at: timestamptz_comparison_exp + } + + # unique or primary key constraints on table "invoicelines" + enum invoicelines_constraint { + # unique or primary key constraint + invoicelines_pkey + } + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + input invoicelines_delete_at_path_input { + applicable_taxes: [String] + } + + # delete the array element with specified index (negative integers count from the + # end). throws an error if top level container is not an array + input invoicelines_delete_elem_input { + applicable_taxes: Int + } + + # delete key/value pair or string element. key/value pairs are matched based on their key value + input invoicelines_delete_key_input { + applicable_taxes: String + } + + # input type for incrementing integer column in table "invoicelines" + input invoicelines_inc_input { + actual_cost: numeric + actual_price: numeric + quantity: Int + } + + # input type for inserting data into table "invoicelines" + input invoicelines_insert_input { + actual_cost: numeric + actual_price: numeric + applicable_taxes: jsonb + cost_center: String + created_at: timestamptz + id: uuid + invoice: invoices_obj_rel_insert_input + invoiceid: uuid + joblineid: uuid + line_desc: String + quantity: Int + updated_at: timestamptz + } + + # aggregate max on columns + type invoicelines_max_fields { + actual_cost: numeric + actual_price: numeric + cost_center: String + created_at: timestamptz + id: uuid + invoiceid: uuid + joblineid: uuid + line_desc: String + quantity: Int + updated_at: timestamptz + } + + # order by max() on columns of table "invoicelines" + input invoicelines_max_order_by { + actual_cost: order_by + actual_price: order_by + cost_center: order_by + created_at: order_by + id: order_by + invoiceid: order_by + joblineid: order_by + line_desc: order_by + quantity: order_by + updated_at: order_by + } + + # aggregate min on columns + type invoicelines_min_fields { + actual_cost: numeric + actual_price: numeric + cost_center: String + created_at: timestamptz + id: uuid + invoiceid: uuid + joblineid: uuid + line_desc: String + quantity: Int + updated_at: timestamptz + } + + # order by min() on columns of table "invoicelines" + input invoicelines_min_order_by { + actual_cost: order_by + actual_price: order_by + cost_center: order_by + created_at: order_by + id: order_by + invoiceid: order_by + joblineid: order_by + line_desc: order_by + quantity: order_by + updated_at: order_by + } + + # response of any mutation on the table "invoicelines" + type invoicelines_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [invoicelines!]! + } + + # input type for inserting object relation for remote table "invoicelines" + input invoicelines_obj_rel_insert_input { + data: invoicelines_insert_input! + on_conflict: invoicelines_on_conflict + } + + # on conflict condition type for table "invoicelines" + input invoicelines_on_conflict { + constraint: invoicelines_constraint! + update_columns: [invoicelines_update_column!]! + where: invoicelines_bool_exp + } + + # ordering options when selecting data from "invoicelines" + input invoicelines_order_by { + actual_cost: order_by + actual_price: order_by + applicable_taxes: order_by + cost_center: order_by + created_at: order_by + id: order_by + invoice: invoices_order_by + invoiceid: order_by + joblineid: order_by + line_desc: order_by + quantity: order_by + updated_at: order_by + } + + # primary key columns input for table: "invoicelines" + input invoicelines_pk_columns_input { + id: uuid! + } + + # prepend existing jsonb value of filtered columns with new jsonb value + input invoicelines_prepend_input { + applicable_taxes: jsonb + } + + # select columns of table "invoicelines" + enum invoicelines_select_column { + # column name + actual_cost + + # column name + actual_price + + # column name + applicable_taxes + + # column name + cost_center + + # column name + created_at + + # column name + id + + # column name + invoiceid + + # column name + joblineid + + # column name + line_desc + + # column name + quantity + + # column name + updated_at + } + + # input type for updating data in table "invoicelines" + input invoicelines_set_input { + actual_cost: numeric + actual_price: numeric + applicable_taxes: jsonb + cost_center: String + created_at: timestamptz + id: uuid + invoiceid: uuid + joblineid: uuid + line_desc: String + quantity: Int + updated_at: timestamptz + } + + # aggregate stddev on columns + type invoicelines_stddev_fields { + actual_cost: Float + actual_price: Float + quantity: Float + } + + # order by stddev() on columns of table "invoicelines" + input invoicelines_stddev_order_by { + actual_cost: order_by + actual_price: order_by + quantity: order_by + } + + # aggregate stddev_pop on columns + type invoicelines_stddev_pop_fields { + actual_cost: Float + actual_price: Float + quantity: Float + } + + # order by stddev_pop() on columns of table "invoicelines" + input invoicelines_stddev_pop_order_by { + actual_cost: order_by + actual_price: order_by + quantity: order_by + } + + # aggregate stddev_samp on columns + type invoicelines_stddev_samp_fields { + actual_cost: Float + actual_price: Float + quantity: Float + } + + # order by stddev_samp() on columns of table "invoicelines" + input invoicelines_stddev_samp_order_by { + actual_cost: order_by + actual_price: order_by + quantity: order_by + } + + # aggregate sum on columns + type invoicelines_sum_fields { + actual_cost: numeric + actual_price: numeric + quantity: Int + } + + # order by sum() on columns of table "invoicelines" + input invoicelines_sum_order_by { + actual_cost: order_by + actual_price: order_by + quantity: order_by + } + + # update columns of table "invoicelines" + enum invoicelines_update_column { + # column name + actual_cost + + # column name + actual_price + + # column name + applicable_taxes + + # column name + cost_center + + # column name + created_at + + # column name + id + + # column name + invoiceid + + # column name + joblineid + + # column name + line_desc + + # column name + quantity + + # column name + updated_at + } + + # aggregate var_pop on columns + type invoicelines_var_pop_fields { + actual_cost: Float + actual_price: Float + quantity: Float + } + + # order by var_pop() on columns of table "invoicelines" + input invoicelines_var_pop_order_by { + actual_cost: order_by + actual_price: order_by + quantity: order_by + } + + # aggregate var_samp on columns + type invoicelines_var_samp_fields { + actual_cost: Float + actual_price: Float + quantity: Float + } + + # order by var_samp() on columns of table "invoicelines" + input invoicelines_var_samp_order_by { + actual_cost: order_by + actual_price: order_by + quantity: order_by + } + + # aggregate variance on columns + type invoicelines_variance_fields { + actual_cost: Float + actual_price: Float + quantity: Float + } + + # order by variance() on columns of table "invoicelines" + input invoicelines_variance_order_by { + actual_cost: order_by + actual_price: order_by + quantity: order_by + } + + # columns and relationships of "invoices" + type invoices { + created_at: timestamptz! + date: date! + + # An array relationship + documents( + # distinct select on columns + distinct_on: [documents_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [documents_order_by!] + + # filter the rows returned + where: documents_bool_exp + ): [documents!]! + + # An aggregated array relationship + documents_aggregate( + # distinct select on columns + distinct_on: [documents_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [documents_order_by!] + + # filter the rows returned + where: documents_bool_exp + ): documents_aggregate! + due_date: date + exported: Boolean! + exported_at: timestamptz + federal_tax_rate: numeric! + id: uuid! + invoice_number: String! + + # An array relationship + invoicelines( + # distinct select on columns + distinct_on: [invoicelines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoicelines_order_by!] + + # filter the rows returned + where: invoicelines_bool_exp + ): [invoicelines!]! + + # An aggregated array relationship + invoicelines_aggregate( + # distinct select on columns + distinct_on: [invoicelines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoicelines_order_by!] + + # filter the rows returned + where: invoicelines_bool_exp + ): invoicelines_aggregate! + is_credit_memo: Boolean! + + # An object relationship + job: jobs! + jobid: uuid! + local_tax_rate: numeric! + + # An array relationship + parts_orders( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): [parts_orders!]! + + # An aggregated array relationship + parts_orders_aggregate( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): parts_orders_aggregate! + state_tax_rate: numeric! + total: numeric! + updated_at: timestamptz! + + # An object relationship + vendor: vendors! + vendorid: uuid! + } + + # aggregated selection of "invoices" + type invoices_aggregate { + aggregate: invoices_aggregate_fields + nodes: [invoices!]! + } + + # aggregate fields of "invoices" + type invoices_aggregate_fields { + avg: invoices_avg_fields + count(columns: [invoices_select_column!], distinct: Boolean): Int + max: invoices_max_fields + min: invoices_min_fields + stddev: invoices_stddev_fields + stddev_pop: invoices_stddev_pop_fields + stddev_samp: invoices_stddev_samp_fields + sum: invoices_sum_fields + var_pop: invoices_var_pop_fields + var_samp: invoices_var_samp_fields + variance: invoices_variance_fields + } + + # order by aggregate values of table "invoices" + input invoices_aggregate_order_by { + avg: invoices_avg_order_by + count: order_by + max: invoices_max_order_by + min: invoices_min_order_by + stddev: invoices_stddev_order_by + stddev_pop: invoices_stddev_pop_order_by + stddev_samp: invoices_stddev_samp_order_by + sum: invoices_sum_order_by + var_pop: invoices_var_pop_order_by + var_samp: invoices_var_samp_order_by + variance: invoices_variance_order_by + } + + # input type for inserting array relation for remote table "invoices" + input invoices_arr_rel_insert_input { + data: [invoices_insert_input!]! + on_conflict: invoices_on_conflict + } + + # aggregate avg on columns + type invoices_avg_fields { + federal_tax_rate: Float + local_tax_rate: Float + state_tax_rate: Float + total: Float + } + + # order by avg() on columns of table "invoices" + input invoices_avg_order_by { + federal_tax_rate: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by + } + + # Boolean expression to filter rows from the table "invoices". All fields are combined with a logical 'AND'. + input invoices_bool_exp { + _and: [invoices_bool_exp] + _not: invoices_bool_exp + _or: [invoices_bool_exp] + created_at: timestamptz_comparison_exp + date: date_comparison_exp + documents: documents_bool_exp + due_date: date_comparison_exp + exported: Boolean_comparison_exp + exported_at: timestamptz_comparison_exp + federal_tax_rate: numeric_comparison_exp + id: uuid_comparison_exp + invoice_number: String_comparison_exp + invoicelines: invoicelines_bool_exp + is_credit_memo: Boolean_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + local_tax_rate: numeric_comparison_exp + parts_orders: parts_orders_bool_exp + state_tax_rate: numeric_comparison_exp + total: numeric_comparison_exp + updated_at: timestamptz_comparison_exp + vendor: vendors_bool_exp + vendorid: uuid_comparison_exp + } + + # unique or primary key constraints on table "invoices" + enum invoices_constraint { + # unique or primary key constraint + invoices_pkey + } + + # input type for incrementing integer column in table "invoices" + input invoices_inc_input { + federal_tax_rate: numeric + local_tax_rate: numeric + state_tax_rate: numeric + total: numeric + } + + # input type for inserting data into table "invoices" + input invoices_insert_input { + created_at: timestamptz + date: date + documents: documents_arr_rel_insert_input + due_date: date + exported: Boolean + exported_at: timestamptz + federal_tax_rate: numeric + id: uuid + invoice_number: String + invoicelines: invoicelines_arr_rel_insert_input + is_credit_memo: Boolean + job: jobs_obj_rel_insert_input + jobid: uuid + local_tax_rate: numeric + parts_orders: parts_orders_arr_rel_insert_input + state_tax_rate: numeric + total: numeric + updated_at: timestamptz + vendor: vendors_obj_rel_insert_input + vendorid: uuid + } + + # aggregate max on columns + type invoices_max_fields { + created_at: timestamptz + date: date + due_date: date + exported_at: timestamptz + federal_tax_rate: numeric + id: uuid + invoice_number: String + jobid: uuid + local_tax_rate: numeric + state_tax_rate: numeric + total: numeric + updated_at: timestamptz + vendorid: uuid + } + + # order by max() on columns of table "invoices" + input invoices_max_order_by { + created_at: order_by + date: order_by + due_date: order_by + exported_at: order_by + federal_tax_rate: order_by + id: order_by + invoice_number: order_by + jobid: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by + updated_at: order_by + vendorid: order_by + } + + # aggregate min on columns + type invoices_min_fields { + created_at: timestamptz + date: date + due_date: date + exported_at: timestamptz + federal_tax_rate: numeric + id: uuid + invoice_number: String + jobid: uuid + local_tax_rate: numeric + state_tax_rate: numeric + total: numeric + updated_at: timestamptz + vendorid: uuid + } + + # order by min() on columns of table "invoices" + input invoices_min_order_by { + created_at: order_by + date: order_by + due_date: order_by + exported_at: order_by + federal_tax_rate: order_by + id: order_by + invoice_number: order_by + jobid: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by + updated_at: order_by + vendorid: order_by + } + + # response of any mutation on the table "invoices" + type invoices_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [invoices!]! + } + + # input type for inserting object relation for remote table "invoices" + input invoices_obj_rel_insert_input { + data: invoices_insert_input! + on_conflict: invoices_on_conflict + } + + # on conflict condition type for table "invoices" + input invoices_on_conflict { + constraint: invoices_constraint! + update_columns: [invoices_update_column!]! + where: invoices_bool_exp + } + + # ordering options when selecting data from "invoices" + input invoices_order_by { + created_at: order_by + date: order_by + documents_aggregate: documents_aggregate_order_by + due_date: order_by + exported: order_by + exported_at: order_by + federal_tax_rate: order_by + id: order_by + invoice_number: order_by + invoicelines_aggregate: invoicelines_aggregate_order_by + is_credit_memo: order_by + job: jobs_order_by + jobid: order_by + local_tax_rate: order_by + parts_orders_aggregate: parts_orders_aggregate_order_by + state_tax_rate: order_by + total: order_by + updated_at: order_by + vendor: vendors_order_by + vendorid: order_by + } + + # primary key columns input for table: "invoices" + input invoices_pk_columns_input { + id: uuid! + } + + # select columns of table "invoices" + enum invoices_select_column { + # column name + created_at + + # column name + date + + # column name + due_date + + # column name + exported + + # column name + exported_at + + # column name + federal_tax_rate + + # column name + id + + # column name + invoice_number + + # column name + is_credit_memo + + # column name + jobid + + # column name + local_tax_rate + + # column name + state_tax_rate + + # column name + total + + # column name + updated_at + + # column name + vendorid + } + + # input type for updating data in table "invoices" + input invoices_set_input { + created_at: timestamptz + date: date + due_date: date + exported: Boolean + exported_at: timestamptz + federal_tax_rate: numeric + id: uuid + invoice_number: String + is_credit_memo: Boolean + jobid: uuid + local_tax_rate: numeric + state_tax_rate: numeric + total: numeric + updated_at: timestamptz + vendorid: uuid + } + + # aggregate stddev on columns + type invoices_stddev_fields { + federal_tax_rate: Float + local_tax_rate: Float + state_tax_rate: Float + total: Float + } + + # order by stddev() on columns of table "invoices" + input invoices_stddev_order_by { + federal_tax_rate: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by + } + + # aggregate stddev_pop on columns + type invoices_stddev_pop_fields { + federal_tax_rate: Float + local_tax_rate: Float + state_tax_rate: Float + total: Float + } + + # order by stddev_pop() on columns of table "invoices" + input invoices_stddev_pop_order_by { + federal_tax_rate: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by + } + + # aggregate stddev_samp on columns + type invoices_stddev_samp_fields { + federal_tax_rate: Float + local_tax_rate: Float + state_tax_rate: Float + total: Float + } + + # order by stddev_samp() on columns of table "invoices" + input invoices_stddev_samp_order_by { + federal_tax_rate: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by + } + + # aggregate sum on columns + type invoices_sum_fields { + federal_tax_rate: numeric + local_tax_rate: numeric + state_tax_rate: numeric + total: numeric + } + + # order by sum() on columns of table "invoices" + input invoices_sum_order_by { + federal_tax_rate: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by + } + + # update columns of table "invoices" + enum invoices_update_column { + # column name + created_at + + # column name + date + + # column name + due_date + + # column name + exported + + # column name + exported_at + + # column name + federal_tax_rate + + # column name + id + + # column name + invoice_number + + # column name + is_credit_memo + + # column name + jobid + + # column name + local_tax_rate + + # column name + state_tax_rate + + # column name + total + + # column name + updated_at + + # column name + vendorid + } + + # aggregate var_pop on columns + type invoices_var_pop_fields { + federal_tax_rate: Float + local_tax_rate: Float + state_tax_rate: Float + total: Float + } + + # order by var_pop() on columns of table "invoices" + input invoices_var_pop_order_by { + federal_tax_rate: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by + } + + # aggregate var_samp on columns + type invoices_var_samp_fields { + federal_tax_rate: Float + local_tax_rate: Float + state_tax_rate: Float + total: Float + } + + # order by var_samp() on columns of table "invoices" + input invoices_var_samp_order_by { + federal_tax_rate: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by + } + + # aggregate variance on columns + type invoices_variance_fields { + federal_tax_rate: Float + local_tax_rate: Float + state_tax_rate: Float + total: Float + } + + # order by variance() on columns of table "invoices" + input invoices_variance_order_by { + federal_tax_rate: order_by + local_tax_rate: order_by + state_tax_rate: order_by + total: order_by + } + + # columns and relationships of "job_conversations" + type job_conversations { + # An object relationship + conversation: conversations! + conversationid: uuid! + + # An object relationship + job: jobs! + jobid: uuid! + } + + # aggregated selection of "job_conversations" + type job_conversations_aggregate { + aggregate: job_conversations_aggregate_fields + nodes: [job_conversations!]! + } + + # aggregate fields of "job_conversations" + type job_conversations_aggregate_fields { + count(columns: [job_conversations_select_column!], distinct: Boolean): Int + max: job_conversations_max_fields + min: job_conversations_min_fields + } + + # order by aggregate values of table "job_conversations" + input job_conversations_aggregate_order_by { + count: order_by + max: job_conversations_max_order_by + min: job_conversations_min_order_by + } + + # input type for inserting array relation for remote table "job_conversations" + input job_conversations_arr_rel_insert_input { + data: [job_conversations_insert_input!]! + on_conflict: job_conversations_on_conflict + } + + # Boolean expression to filter rows from the table "job_conversations". All fields are combined with a logical 'AND'. + input job_conversations_bool_exp { + _and: [job_conversations_bool_exp] + _not: job_conversations_bool_exp + _or: [job_conversations_bool_exp] + conversation: conversations_bool_exp + conversationid: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + } + + # unique or primary key constraints on table "job_conversations" + enum job_conversations_constraint { + # unique or primary key constraint + job_conversations_pkey + } + + # input type for inserting data into table "job_conversations" + input job_conversations_insert_input { + conversation: conversations_obj_rel_insert_input + conversationid: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + } + + # aggregate max on columns + type job_conversations_max_fields { + conversationid: uuid + jobid: uuid + } + + # order by max() on columns of table "job_conversations" + input job_conversations_max_order_by { + conversationid: order_by + jobid: order_by + } + + # aggregate min on columns + type job_conversations_min_fields { + conversationid: uuid + jobid: uuid + } + + # order by min() on columns of table "job_conversations" + input job_conversations_min_order_by { + conversationid: order_by + jobid: order_by + } + + # response of any mutation on the table "job_conversations" + type job_conversations_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [job_conversations!]! + } + + # input type for inserting object relation for remote table "job_conversations" + input job_conversations_obj_rel_insert_input { + data: job_conversations_insert_input! + on_conflict: job_conversations_on_conflict + } + + # on conflict condition type for table "job_conversations" + input job_conversations_on_conflict { + constraint: job_conversations_constraint! + update_columns: [job_conversations_update_column!]! + where: job_conversations_bool_exp + } + + # ordering options when selecting data from "job_conversations" + input job_conversations_order_by { + conversation: conversations_order_by + conversationid: order_by + job: jobs_order_by + jobid: order_by + } + + # primary key columns input for table: "job_conversations" + input job_conversations_pk_columns_input { + conversationid: uuid! + jobid: uuid! + } + + # select columns of table "job_conversations" + enum job_conversations_select_column { + # column name + conversationid + + # column name + jobid + } + + # input type for updating data in table "job_conversations" + input job_conversations_set_input { + conversationid: uuid + jobid: uuid + } + + # update columns of table "job_conversations" + enum job_conversations_update_column { + # column name + conversationid + + # column name + jobid + } + + # columns and relationships of "joblines" + type joblines { + act_price: numeric + + # An array relationship + allocations( + # distinct select on columns + distinct_on: [allocations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [allocations_order_by!] + + # filter the rows returned + where: allocations_bool_exp + ): [allocations!]! + + # An aggregated array relationship + allocations_aggregate( + # distinct select on columns + distinct_on: [allocations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [allocations_order_by!] + + # filter the rows returned + where: allocations_bool_exp + ): allocations_aggregate! + alt_co_id: String + alt_overrd: Boolean + alt_part_i: Boolean + alt_partm: String + alt_partno: String + bett_amt: numeric + bett_pctg: numeric + bett_tax: Boolean + bett_type: String + cert_part: Boolean + created_at: timestamptz! + db_hrs: numeric + db_price: numeric + db_ref: String + est_seq: Int + glass_flag: Boolean + id: uuid! + + # An object relationship + job: jobs! + jobid: uuid! + lbr_amt: numeric + lbr_hrs_j: Boolean + lbr_inc: Boolean + lbr_op: String + lbr_op_j: Boolean + lbr_tax: Boolean + lbr_typ_j: Boolean + line_desc: String + line_ind: String + line_no: Int + line_ref: numeric + location: String + misc_amt: numeric + misc_sublt: Boolean + misc_tax: Boolean + mod_lb_hrs: numeric + mod_lbr_ty: String + notes: String + oem_partno: String + op_code_desc: String + paint_stg: Int + paint_tone: Int + part_qty: Int + part_type: String + + # An array relationship + parts_order_lines( + # distinct select on columns + distinct_on: [parts_order_lines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_order_lines_order_by!] + + # filter the rows returned + where: parts_order_lines_bool_exp + ): [parts_order_lines!]! + + # An aggregated array relationship + parts_order_lines_aggregate( + # distinct select on columns + distinct_on: [parts_order_lines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_order_lines_order_by!] + + # filter the rows returned + where: parts_order_lines_bool_exp + ): parts_order_lines_aggregate! + price_inc: Boolean + price_j: Boolean + prt_dsmk_m: numeric + prt_dsmk_p: numeric + removed: Boolean! + status: String + tax_part: Boolean! + unq_seq: Int + updated_at: timestamptz! + } + + # aggregated selection of "joblines" + type joblines_aggregate { + aggregate: joblines_aggregate_fields + nodes: [joblines!]! + } + + # aggregate fields of "joblines" + type joblines_aggregate_fields { + avg: joblines_avg_fields + count(columns: [joblines_select_column!], distinct: Boolean): Int + max: joblines_max_fields + min: joblines_min_fields + stddev: joblines_stddev_fields + stddev_pop: joblines_stddev_pop_fields + stddev_samp: joblines_stddev_samp_fields + sum: joblines_sum_fields + var_pop: joblines_var_pop_fields + var_samp: joblines_var_samp_fields + variance: joblines_variance_fields + } + + # order by aggregate values of table "joblines" + input joblines_aggregate_order_by { + avg: joblines_avg_order_by + count: order_by + max: joblines_max_order_by + min: joblines_min_order_by + stddev: joblines_stddev_order_by + stddev_pop: joblines_stddev_pop_order_by + stddev_samp: joblines_stddev_samp_order_by + sum: joblines_sum_order_by + var_pop: joblines_var_pop_order_by + var_samp: joblines_var_samp_order_by + variance: joblines_variance_order_by + } + + # input type for inserting array relation for remote table "joblines" + input joblines_arr_rel_insert_input { + data: [joblines_insert_input!]! + on_conflict: joblines_on_conflict + } + + # aggregate avg on columns + type joblines_avg_fields { + act_price: Float + bett_amt: Float + bett_pctg: Float + db_hrs: Float + db_price: Float + est_seq: Float + lbr_amt: Float + line_no: Float + line_ref: Float + misc_amt: Float + mod_lb_hrs: Float + paint_stg: Float + paint_tone: Float + part_qty: Float + prt_dsmk_m: Float + prt_dsmk_p: Float + unq_seq: Float + } + + # order by avg() on columns of table "joblines" + input joblines_avg_order_by { + act_price: order_by + bett_amt: order_by + bett_pctg: order_by + db_hrs: order_by + db_price: order_by + est_seq: order_by + lbr_amt: order_by + line_no: order_by + line_ref: order_by + misc_amt: order_by + mod_lb_hrs: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + unq_seq: order_by + } + + # Boolean expression to filter rows from the table "joblines". All fields are combined with a logical 'AND'. + input joblines_bool_exp { + _and: [joblines_bool_exp] + _not: joblines_bool_exp + _or: [joblines_bool_exp] + act_price: numeric_comparison_exp + allocations: allocations_bool_exp + alt_co_id: String_comparison_exp + alt_overrd: Boolean_comparison_exp + alt_part_i: Boolean_comparison_exp + alt_partm: String_comparison_exp + alt_partno: String_comparison_exp + bett_amt: numeric_comparison_exp + bett_pctg: numeric_comparison_exp + bett_tax: Boolean_comparison_exp + bett_type: String_comparison_exp + cert_part: Boolean_comparison_exp + created_at: timestamptz_comparison_exp + db_hrs: numeric_comparison_exp + db_price: numeric_comparison_exp + db_ref: String_comparison_exp + est_seq: Int_comparison_exp + glass_flag: Boolean_comparison_exp + id: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + lbr_amt: numeric_comparison_exp + lbr_hrs_j: Boolean_comparison_exp + lbr_inc: Boolean_comparison_exp + lbr_op: String_comparison_exp + lbr_op_j: Boolean_comparison_exp + lbr_tax: Boolean_comparison_exp + lbr_typ_j: Boolean_comparison_exp + line_desc: String_comparison_exp + line_ind: String_comparison_exp + line_no: Int_comparison_exp + line_ref: numeric_comparison_exp + location: String_comparison_exp + misc_amt: numeric_comparison_exp + misc_sublt: Boolean_comparison_exp + misc_tax: Boolean_comparison_exp + mod_lb_hrs: numeric_comparison_exp + mod_lbr_ty: String_comparison_exp + notes: String_comparison_exp + oem_partno: String_comparison_exp + op_code_desc: String_comparison_exp + paint_stg: Int_comparison_exp + paint_tone: Int_comparison_exp + part_qty: Int_comparison_exp + part_type: String_comparison_exp + parts_order_lines: parts_order_lines_bool_exp + price_inc: Boolean_comparison_exp + price_j: Boolean_comparison_exp + prt_dsmk_m: numeric_comparison_exp + prt_dsmk_p: numeric_comparison_exp + removed: Boolean_comparison_exp + status: String_comparison_exp + tax_part: Boolean_comparison_exp + unq_seq: Int_comparison_exp + updated_at: timestamptz_comparison_exp + } + + # unique or primary key constraints on table "joblines" + enum joblines_constraint { + # unique or primary key constraint + joblines_pkey + } + + # input type for incrementing integer column in table "joblines" + input joblines_inc_input { + act_price: numeric + bett_amt: numeric + bett_pctg: numeric + db_hrs: numeric + db_price: numeric + est_seq: Int + lbr_amt: numeric + line_no: Int + line_ref: numeric + misc_amt: numeric + mod_lb_hrs: numeric + paint_stg: Int + paint_tone: Int + part_qty: Int + prt_dsmk_m: numeric + prt_dsmk_p: numeric + unq_seq: Int + } + + # input type for inserting data into table "joblines" + input joblines_insert_input { + act_price: numeric + allocations: allocations_arr_rel_insert_input + alt_co_id: String + alt_overrd: Boolean + alt_part_i: Boolean + alt_partm: String + alt_partno: String + bett_amt: numeric + bett_pctg: numeric + bett_tax: Boolean + bett_type: String + cert_part: Boolean + created_at: timestamptz + db_hrs: numeric + db_price: numeric + db_ref: String + est_seq: Int + glass_flag: Boolean + id: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + lbr_amt: numeric + lbr_hrs_j: Boolean + lbr_inc: Boolean + lbr_op: String + lbr_op_j: Boolean + lbr_tax: Boolean + lbr_typ_j: Boolean + line_desc: String + line_ind: String + line_no: Int + line_ref: numeric + location: String + misc_amt: numeric + misc_sublt: Boolean + misc_tax: Boolean + mod_lb_hrs: numeric + mod_lbr_ty: String + notes: String + oem_partno: String + op_code_desc: String + paint_stg: Int + paint_tone: Int + part_qty: Int + part_type: String + parts_order_lines: parts_order_lines_arr_rel_insert_input + price_inc: Boolean + price_j: Boolean + prt_dsmk_m: numeric + prt_dsmk_p: numeric + removed: Boolean + status: String + tax_part: Boolean + unq_seq: Int + updated_at: timestamptz + } + + # aggregate max on columns + type joblines_max_fields { + act_price: numeric + alt_co_id: String + alt_partm: String + alt_partno: String + bett_amt: numeric + bett_pctg: numeric + bett_type: String + created_at: timestamptz + db_hrs: numeric + db_price: numeric + db_ref: String + est_seq: Int + id: uuid + jobid: uuid + lbr_amt: numeric + lbr_op: String + line_desc: String + line_ind: String + line_no: Int + line_ref: numeric + location: String + misc_amt: numeric + mod_lb_hrs: numeric + mod_lbr_ty: String + notes: String + oem_partno: String + op_code_desc: String + paint_stg: Int + paint_tone: Int + part_qty: Int + part_type: String + prt_dsmk_m: numeric + prt_dsmk_p: numeric + status: String + unq_seq: Int + updated_at: timestamptz + } + + # order by max() on columns of table "joblines" + input joblines_max_order_by { + act_price: order_by + alt_co_id: order_by + alt_partm: order_by + alt_partno: order_by + bett_amt: order_by + bett_pctg: order_by + bett_type: order_by + created_at: order_by + db_hrs: order_by + db_price: order_by + db_ref: order_by + est_seq: order_by + id: order_by + jobid: order_by + lbr_amt: order_by + lbr_op: order_by + line_desc: order_by + line_ind: order_by + line_no: order_by + line_ref: order_by + location: order_by + misc_amt: order_by + mod_lb_hrs: order_by + mod_lbr_ty: order_by + notes: order_by + oem_partno: order_by + op_code_desc: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + part_type: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + status: order_by + unq_seq: order_by + updated_at: order_by + } + + # aggregate min on columns + type joblines_min_fields { + act_price: numeric + alt_co_id: String + alt_partm: String + alt_partno: String + bett_amt: numeric + bett_pctg: numeric + bett_type: String + created_at: timestamptz + db_hrs: numeric + db_price: numeric + db_ref: String + est_seq: Int + id: uuid + jobid: uuid + lbr_amt: numeric + lbr_op: String + line_desc: String + line_ind: String + line_no: Int + line_ref: numeric + location: String + misc_amt: numeric + mod_lb_hrs: numeric + mod_lbr_ty: String + notes: String + oem_partno: String + op_code_desc: String + paint_stg: Int + paint_tone: Int + part_qty: Int + part_type: String + prt_dsmk_m: numeric + prt_dsmk_p: numeric + status: String + unq_seq: Int + updated_at: timestamptz + } + + # order by min() on columns of table "joblines" + input joblines_min_order_by { + act_price: order_by + alt_co_id: order_by + alt_partm: order_by + alt_partno: order_by + bett_amt: order_by + bett_pctg: order_by + bett_type: order_by + created_at: order_by + db_hrs: order_by + db_price: order_by + db_ref: order_by + est_seq: order_by + id: order_by + jobid: order_by + lbr_amt: order_by + lbr_op: order_by + line_desc: order_by + line_ind: order_by + line_no: order_by + line_ref: order_by + location: order_by + misc_amt: order_by + mod_lb_hrs: order_by + mod_lbr_ty: order_by + notes: order_by + oem_partno: order_by + op_code_desc: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + part_type: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + status: order_by + unq_seq: order_by + updated_at: order_by + } + + # response of any mutation on the table "joblines" + type joblines_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [joblines!]! + } + + # input type for inserting object relation for remote table "joblines" + input joblines_obj_rel_insert_input { + data: joblines_insert_input! + on_conflict: joblines_on_conflict + } + + # on conflict condition type for table "joblines" + input joblines_on_conflict { + constraint: joblines_constraint! + update_columns: [joblines_update_column!]! + where: joblines_bool_exp + } + + # ordering options when selecting data from "joblines" + input joblines_order_by { + act_price: order_by + allocations_aggregate: allocations_aggregate_order_by + alt_co_id: order_by + alt_overrd: order_by + alt_part_i: order_by + alt_partm: order_by + alt_partno: order_by + bett_amt: order_by + bett_pctg: order_by + bett_tax: order_by + bett_type: order_by + cert_part: order_by + created_at: order_by + db_hrs: order_by + db_price: order_by + db_ref: order_by + est_seq: order_by + glass_flag: order_by + id: order_by + job: jobs_order_by + jobid: order_by + lbr_amt: order_by + lbr_hrs_j: order_by + lbr_inc: order_by + lbr_op: order_by + lbr_op_j: order_by + lbr_tax: order_by + lbr_typ_j: order_by + line_desc: order_by + line_ind: order_by + line_no: order_by + line_ref: order_by + location: order_by + misc_amt: order_by + misc_sublt: order_by + misc_tax: order_by + mod_lb_hrs: order_by + mod_lbr_ty: order_by + notes: order_by + oem_partno: order_by + op_code_desc: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + part_type: order_by + parts_order_lines_aggregate: parts_order_lines_aggregate_order_by + price_inc: order_by + price_j: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + removed: order_by + status: order_by + tax_part: order_by + unq_seq: order_by + updated_at: order_by + } + + # primary key columns input for table: "joblines" + input joblines_pk_columns_input { + id: uuid! + } + + # select columns of table "joblines" + enum joblines_select_column { + # column name + act_price + + # column name + alt_co_id + + # column name + alt_overrd + + # column name + alt_part_i + + # column name + alt_partm + + # column name + alt_partno + + # column name + bett_amt + + # column name + bett_pctg + + # column name + bett_tax + + # column name + bett_type + + # column name + cert_part + + # column name + created_at + + # column name + db_hrs + + # column name + db_price + + # column name + db_ref + + # column name + est_seq + + # column name + glass_flag + + # column name + id + + # column name + jobid + + # column name + lbr_amt + + # column name + lbr_hrs_j + + # column name + lbr_inc + + # column name + lbr_op + + # column name + lbr_op_j + + # column name + lbr_tax + + # column name + lbr_typ_j + + # column name + line_desc + + # column name + line_ind + + # column name + line_no + + # column name + line_ref + + # column name + location + + # column name + misc_amt + + # column name + misc_sublt + + # column name + misc_tax + + # column name + mod_lb_hrs + + # column name + mod_lbr_ty + + # column name + notes + + # column name + oem_partno + + # column name + op_code_desc + + # column name + paint_stg + + # column name + paint_tone + + # column name + part_qty + + # column name + part_type + + # column name + price_inc + + # column name + price_j + + # column name + prt_dsmk_m + + # column name + prt_dsmk_p + + # column name + removed + + # column name + status + + # column name + tax_part + + # column name + unq_seq + + # column name + updated_at + } + + # input type for updating data in table "joblines" + input joblines_set_input { + act_price: numeric + alt_co_id: String + alt_overrd: Boolean + alt_part_i: Boolean + alt_partm: String + alt_partno: String + bett_amt: numeric + bett_pctg: numeric + bett_tax: Boolean + bett_type: String + cert_part: Boolean + created_at: timestamptz + db_hrs: numeric + db_price: numeric + db_ref: String + est_seq: Int + glass_flag: Boolean + id: uuid + jobid: uuid + lbr_amt: numeric + lbr_hrs_j: Boolean + lbr_inc: Boolean + lbr_op: String + lbr_op_j: Boolean + lbr_tax: Boolean + lbr_typ_j: Boolean + line_desc: String + line_ind: String + line_no: Int + line_ref: numeric + location: String + misc_amt: numeric + misc_sublt: Boolean + misc_tax: Boolean + mod_lb_hrs: numeric + mod_lbr_ty: String + notes: String + oem_partno: String + op_code_desc: String + paint_stg: Int + paint_tone: Int + part_qty: Int + part_type: String + price_inc: Boolean + price_j: Boolean + prt_dsmk_m: numeric + prt_dsmk_p: numeric + removed: Boolean + status: String + tax_part: Boolean + unq_seq: Int + updated_at: timestamptz + } + + # columns and relationships of "joblines_status" + type joblines_status { + count: bigint + + # An object relationship + job: jobs + jobid: uuid + part_type: String + status: String + } + + # aggregated selection of "joblines_status" + type joblines_status_aggregate { + aggregate: joblines_status_aggregate_fields + nodes: [joblines_status!]! + } + + # aggregate fields of "joblines_status" + type joblines_status_aggregate_fields { + avg: joblines_status_avg_fields + count(columns: [joblines_status_select_column!], distinct: Boolean): Int + max: joblines_status_max_fields + min: joblines_status_min_fields + stddev: joblines_status_stddev_fields + stddev_pop: joblines_status_stddev_pop_fields + stddev_samp: joblines_status_stddev_samp_fields + sum: joblines_status_sum_fields + var_pop: joblines_status_var_pop_fields + var_samp: joblines_status_var_samp_fields + variance: joblines_status_variance_fields + } + + # order by aggregate values of table "joblines_status" + input joblines_status_aggregate_order_by { + avg: joblines_status_avg_order_by + count: order_by + max: joblines_status_max_order_by + min: joblines_status_min_order_by + stddev: joblines_status_stddev_order_by + stddev_pop: joblines_status_stddev_pop_order_by + stddev_samp: joblines_status_stddev_samp_order_by + sum: joblines_status_sum_order_by + var_pop: joblines_status_var_pop_order_by + var_samp: joblines_status_var_samp_order_by + variance: joblines_status_variance_order_by + } + + # aggregate avg on columns + type joblines_status_avg_fields { + count: Float + } + + # order by avg() on columns of table "joblines_status" + input joblines_status_avg_order_by { + count: order_by + } + + # Boolean expression to filter rows from the table "joblines_status". All fields are combined with a logical 'AND'. + input joblines_status_bool_exp { + _and: [joblines_status_bool_exp] + _not: joblines_status_bool_exp + _or: [joblines_status_bool_exp] + count: bigint_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + part_type: String_comparison_exp + status: String_comparison_exp + } + + # aggregate max on columns + type joblines_status_max_fields { + count: bigint + jobid: uuid + part_type: String + status: String + } + + # order by max() on columns of table "joblines_status" + input joblines_status_max_order_by { + count: order_by + jobid: order_by + part_type: order_by + status: order_by + } + + # aggregate min on columns + type joblines_status_min_fields { + count: bigint + jobid: uuid + part_type: String + status: String + } + + # order by min() on columns of table "joblines_status" + input joblines_status_min_order_by { + count: order_by + jobid: order_by + part_type: order_by + status: order_by + } + + # ordering options when selecting data from "joblines_status" + input joblines_status_order_by { + count: order_by + job: jobs_order_by + jobid: order_by + part_type: order_by + status: order_by + } + + # select columns of table "joblines_status" + enum joblines_status_select_column { + # column name + count + + # column name + jobid + + # column name + part_type + + # column name + status + } + + # aggregate stddev on columns + type joblines_status_stddev_fields { + count: Float + } + + # order by stddev() on columns of table "joblines_status" + input joblines_status_stddev_order_by { + count: order_by + } + + # aggregate stddev_pop on columns + type joblines_status_stddev_pop_fields { + count: Float + } + + # order by stddev_pop() on columns of table "joblines_status" + input joblines_status_stddev_pop_order_by { + count: order_by + } + + # aggregate stddev_samp on columns + type joblines_status_stddev_samp_fields { + count: Float + } + + # order by stddev_samp() on columns of table "joblines_status" + input joblines_status_stddev_samp_order_by { + count: order_by + } + + # aggregate sum on columns + type joblines_status_sum_fields { + count: bigint + } + + # order by sum() on columns of table "joblines_status" + input joblines_status_sum_order_by { + count: order_by + } + + # aggregate var_pop on columns + type joblines_status_var_pop_fields { + count: Float + } + + # order by var_pop() on columns of table "joblines_status" + input joblines_status_var_pop_order_by { + count: order_by + } + + # aggregate var_samp on columns + type joblines_status_var_samp_fields { + count: Float + } + + # order by var_samp() on columns of table "joblines_status" + input joblines_status_var_samp_order_by { + count: order_by + } + + # aggregate variance on columns + type joblines_status_variance_fields { + count: Float + } + + # order by variance() on columns of table "joblines_status" + input joblines_status_variance_order_by { + count: order_by + } + + # aggregate stddev on columns + type joblines_stddev_fields { + act_price: Float + bett_amt: Float + bett_pctg: Float + db_hrs: Float + db_price: Float + est_seq: Float + lbr_amt: Float + line_no: Float + line_ref: Float + misc_amt: Float + mod_lb_hrs: Float + paint_stg: Float + paint_tone: Float + part_qty: Float + prt_dsmk_m: Float + prt_dsmk_p: Float + unq_seq: Float + } + + # order by stddev() on columns of table "joblines" + input joblines_stddev_order_by { + act_price: order_by + bett_amt: order_by + bett_pctg: order_by + db_hrs: order_by + db_price: order_by + est_seq: order_by + lbr_amt: order_by + line_no: order_by + line_ref: order_by + misc_amt: order_by + mod_lb_hrs: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + unq_seq: order_by + } + + # aggregate stddev_pop on columns + type joblines_stddev_pop_fields { + act_price: Float + bett_amt: Float + bett_pctg: Float + db_hrs: Float + db_price: Float + est_seq: Float + lbr_amt: Float + line_no: Float + line_ref: Float + misc_amt: Float + mod_lb_hrs: Float + paint_stg: Float + paint_tone: Float + part_qty: Float + prt_dsmk_m: Float + prt_dsmk_p: Float + unq_seq: Float + } + + # order by stddev_pop() on columns of table "joblines" + input joblines_stddev_pop_order_by { + act_price: order_by + bett_amt: order_by + bett_pctg: order_by + db_hrs: order_by + db_price: order_by + est_seq: order_by + lbr_amt: order_by + line_no: order_by + line_ref: order_by + misc_amt: order_by + mod_lb_hrs: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + unq_seq: order_by + } + + # aggregate stddev_samp on columns + type joblines_stddev_samp_fields { + act_price: Float + bett_amt: Float + bett_pctg: Float + db_hrs: Float + db_price: Float + est_seq: Float + lbr_amt: Float + line_no: Float + line_ref: Float + misc_amt: Float + mod_lb_hrs: Float + paint_stg: Float + paint_tone: Float + part_qty: Float + prt_dsmk_m: Float + prt_dsmk_p: Float + unq_seq: Float + } + + # order by stddev_samp() on columns of table "joblines" + input joblines_stddev_samp_order_by { + act_price: order_by + bett_amt: order_by + bett_pctg: order_by + db_hrs: order_by + db_price: order_by + est_seq: order_by + lbr_amt: order_by + line_no: order_by + line_ref: order_by + misc_amt: order_by + mod_lb_hrs: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + unq_seq: order_by + } + + # aggregate sum on columns + type joblines_sum_fields { + act_price: numeric + bett_amt: numeric + bett_pctg: numeric + db_hrs: numeric + db_price: numeric + est_seq: Int + lbr_amt: numeric + line_no: Int + line_ref: numeric + misc_amt: numeric + mod_lb_hrs: numeric + paint_stg: Int + paint_tone: Int + part_qty: Int + prt_dsmk_m: numeric + prt_dsmk_p: numeric + unq_seq: Int + } + + # order by sum() on columns of table "joblines" + input joblines_sum_order_by { + act_price: order_by + bett_amt: order_by + bett_pctg: order_by + db_hrs: order_by + db_price: order_by + est_seq: order_by + lbr_amt: order_by + line_no: order_by + line_ref: order_by + misc_amt: order_by + mod_lb_hrs: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + unq_seq: order_by + } + + # update columns of table "joblines" + enum joblines_update_column { + # column name + act_price + + # column name + alt_co_id + + # column name + alt_overrd + + # column name + alt_part_i + + # column name + alt_partm + + # column name + alt_partno + + # column name + bett_amt + + # column name + bett_pctg + + # column name + bett_tax + + # column name + bett_type + + # column name + cert_part + + # column name + created_at + + # column name + db_hrs + + # column name + db_price + + # column name + db_ref + + # column name + est_seq + + # column name + glass_flag + + # column name + id + + # column name + jobid + + # column name + lbr_amt + + # column name + lbr_hrs_j + + # column name + lbr_inc + + # column name + lbr_op + + # column name + lbr_op_j + + # column name + lbr_tax + + # column name + lbr_typ_j + + # column name + line_desc + + # column name + line_ind + + # column name + line_no + + # column name + line_ref + + # column name + location + + # column name + misc_amt + + # column name + misc_sublt + + # column name + misc_tax + + # column name + mod_lb_hrs + + # column name + mod_lbr_ty + + # column name + notes + + # column name + oem_partno + + # column name + op_code_desc + + # column name + paint_stg + + # column name + paint_tone + + # column name + part_qty + + # column name + part_type + + # column name + price_inc + + # column name + price_j + + # column name + prt_dsmk_m + + # column name + prt_dsmk_p + + # column name + removed + + # column name + status + + # column name + tax_part + + # column name + unq_seq + + # column name + updated_at + } + + # aggregate var_pop on columns + type joblines_var_pop_fields { + act_price: Float + bett_amt: Float + bett_pctg: Float + db_hrs: Float + db_price: Float + est_seq: Float + lbr_amt: Float + line_no: Float + line_ref: Float + misc_amt: Float + mod_lb_hrs: Float + paint_stg: Float + paint_tone: Float + part_qty: Float + prt_dsmk_m: Float + prt_dsmk_p: Float + unq_seq: Float + } + + # order by var_pop() on columns of table "joblines" + input joblines_var_pop_order_by { + act_price: order_by + bett_amt: order_by + bett_pctg: order_by + db_hrs: order_by + db_price: order_by + est_seq: order_by + lbr_amt: order_by + line_no: order_by + line_ref: order_by + misc_amt: order_by + mod_lb_hrs: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + unq_seq: order_by + } + + # aggregate var_samp on columns + type joblines_var_samp_fields { + act_price: Float + bett_amt: Float + bett_pctg: Float + db_hrs: Float + db_price: Float + est_seq: Float + lbr_amt: Float + line_no: Float + line_ref: Float + misc_amt: Float + mod_lb_hrs: Float + paint_stg: Float + paint_tone: Float + part_qty: Float + prt_dsmk_m: Float + prt_dsmk_p: Float + unq_seq: Float + } + + # order by var_samp() on columns of table "joblines" + input joblines_var_samp_order_by { + act_price: order_by + bett_amt: order_by + bett_pctg: order_by + db_hrs: order_by + db_price: order_by + est_seq: order_by + lbr_amt: order_by + line_no: order_by + line_ref: order_by + misc_amt: order_by + mod_lb_hrs: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + unq_seq: order_by + } + + # aggregate variance on columns + type joblines_variance_fields { + act_price: Float + bett_amt: Float + bett_pctg: Float + db_hrs: Float + db_price: Float + est_seq: Float + lbr_amt: Float + line_no: Float + line_ref: Float + misc_amt: Float + mod_lb_hrs: Float + paint_stg: Float + paint_tone: Float + part_qty: Float + prt_dsmk_m: Float + prt_dsmk_p: Float + unq_seq: Float + } + + # order by variance() on columns of table "joblines" + input joblines_variance_order_by { + act_price: order_by + bett_amt: order_by + bett_pctg: order_by + db_hrs: order_by + db_price: order_by + est_seq: order_by + lbr_amt: order_by + line_no: order_by + line_ref: order_by + misc_amt: order_by + mod_lb_hrs: order_by + paint_stg: order_by + paint_tone: order_by + part_qty: order_by + prt_dsmk_m: order_by + prt_dsmk_p: order_by + unq_seq: order_by + } + + # columns and relationships of "jobs" + type jobs { + actual_completion: timestamptz + actual_delivery: timestamptz + actual_in: timestamptz + adj_g_disc: numeric + adj_strdis: numeric + adj_towdis: numeric + adjustment_bottom_line: numeric + agt_addr1: String + agt_addr2: String + agt_city: String + agt_co_id: String + agt_co_nm: String + agt_ct_fn: String + agt_ct_ln: String + agt_ct_ph: String + agt_ct_phx: String + agt_ctry: String + agt_ea: String + agt_fax: String + agt_faxx: String + agt_lic_no: String + agt_ph1: String + agt_ph1x: String + agt_ph2: String + agt_ph2x: String + agt_st: String + agt_zip: String + + # An array relationship + appointments( + # distinct select on columns + distinct_on: [appointments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [appointments_order_by!] + + # filter the rows returned + where: appointments_bool_exp + ): [appointments!]! + + # An aggregated array relationship + appointments_aggregate( + # distinct select on columns + distinct_on: [appointments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [appointments_order_by!] + + # filter the rows returned + where: appointments_bool_exp + ): appointments_aggregate! + area_of_damage( + # JSON select path + path: String + ): jsonb + asgn_date: date + asgn_no: String + asgn_type: String + + # An array relationship + available_jobs( + # distinct select on columns + distinct_on: [available_jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [available_jobs_order_by!] + + # filter the rows returned + where: available_jobs_bool_exp + ): [available_jobs!]! + + # An aggregated array relationship + available_jobs_aggregate( + # distinct select on columns + distinct_on: [available_jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [available_jobs_order_by!] + + # filter the rows returned + where: available_jobs_bool_exp + ): available_jobs_aggregate! + + # An object relationship + bodyshop: bodyshops! + cat_no: String + category: String + + # An array relationship + cccontracts( + # distinct select on columns + distinct_on: [cccontracts_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [cccontracts_order_by!] + + # filter the rows returned + where: cccontracts_bool_exp + ): [cccontracts!]! + + # An aggregated array relationship + cccontracts_aggregate( + # distinct select on columns + distinct_on: [cccontracts_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [cccontracts_order_by!] + + # filter the rows returned + where: cccontracts_bool_exp + ): cccontracts_aggregate! + cieca_stl( + # JSON select path + path: String + ): jsonb + cieca_ttl( + # JSON select path + path: String + ): jsonb + ciecaid: String + class: String + clm_addr1: String + clm_addr2: String + clm_city: String + clm_ct_fn: String + clm_ct_ln: String + clm_ct_ph: String + clm_ct_phx: String + clm_ctry: String + clm_ea: String + clm_fax: String + clm_faxx: String + clm_no: String + clm_ofc_id: String + clm_ofc_nm: String + clm_ph1: String + clm_ph1x: String + clm_ph2: String + clm_ph2x: String + clm_st: String + clm_title: String + clm_total: numeric + clm_zip: String + converted: Boolean! + created_at: timestamptz! + + # An array relationship + csiinvites( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): [csi!]! + + # An aggregated array relationship + csiinvites_aggregate( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): csi_aggregate! + csr: String + cust_pr: String + date_closed: timestamptz + date_estimated: timestamptz + date_exported: timestamptz + date_invoiced: timestamptz + date_open: timestamptz + date_scheduled: timestamptz + ded_amt: numeric + ded_status: String + deliverchecklist( + # JSON select path + path: String + ): jsonb + depreciation_taxes: numeric + + # An array relationship + documents( + # distinct select on columns + distinct_on: [documents_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [documents_order_by!] + + # filter the rows returned + where: documents_bool_exp + ): [documents!]! + + # An aggregated array relationship + documents_aggregate( + # distinct select on columns + distinct_on: [documents_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [documents_order_by!] + + # filter the rows returned + where: documents_bool_exp + ): documents_aggregate! + employee_body: uuid + + # An object relationship + employee_body_rel: employees + employee_prep: uuid + + # An object relationship + employee_prep_rel: employees + employee_refinish: uuid + + # An object relationship + employee_refinish_rel: employees + est_addr1: String + est_addr2: String + est_city: String + est_co_nm: String + est_ct_fn: String + est_ct_ln: String + est_ctry: String + est_ea: String + est_number: bigint! + est_ph1: String + est_st: String + est_zip: String + federal_tax_payable: numeric + federal_tax_rate: numeric + g_bett_amt: numeric + id: uuid! + inproduction: Boolean! + ins_addr1: String + ins_addr2: String + ins_city: String + ins_co_id: String + ins_co_nm: String + ins_ct_fn: String + ins_ct_ln: String + ins_ct_ph: String + ins_ct_phx: String + ins_ctry: String + ins_ea: String + ins_fax: String + ins_faxx: String + ins_memo: String + ins_ph1: String + ins_ph1x: String + ins_ph2: String + ins_ph2x: String + ins_st: String + ins_title: String + ins_zip: String + insd_addr1: String + insd_addr2: String + insd_city: String + insd_co_nm: String + insd_ctry: String + insd_ea: String + insd_fax: String + insd_faxx: String + insd_fn: String + insd_ln: String + insd_ph1: String + insd_ph1x: String + insd_ph2: String + insd_ph2x: String + insd_st: String + insd_title: String + insd_zip: String + intakechecklist( + # JSON select path + path: String + ): jsonb + + # An object relationship + invoice: invoices + invoice_allocation( + # JSON select path + path: String + ): jsonb + invoice_date: date + + # An array relationship + invoices( + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): [invoices!]! + + # An aggregated array relationship + invoices_aggregate( + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): invoices_aggregate! + + # An array relationship + job_conversations( + # distinct select on columns + distinct_on: [job_conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [job_conversations_order_by!] + + # filter the rows returned + where: job_conversations_bool_exp + ): [job_conversations!]! + + # An aggregated array relationship + job_conversations_aggregate( + # distinct select on columns + distinct_on: [job_conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [job_conversations_order_by!] + + # filter the rows returned + where: job_conversations_bool_exp + ): job_conversations_aggregate! + job_totals( + # JSON select path + path: String + ): jsonb + + # An array relationship + joblines( + # distinct select on columns + distinct_on: [joblines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_order_by!] + + # filter the rows returned + where: joblines_bool_exp + ): [joblines!]! + + # An aggregated array relationship + joblines_aggregate( + # distinct select on columns + distinct_on: [joblines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_order_by!] + + # filter the rows returned + where: joblines_bool_exp + ): joblines_aggregate! + + # An array relationship + joblines_status( + # distinct select on columns + distinct_on: [joblines_status_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_status_order_by!] + + # filter the rows returned + where: joblines_status_bool_exp + ): [joblines_status!]! + + # An aggregated array relationship + joblines_status_aggregate( + # distinct select on columns + distinct_on: [joblines_status_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_status_order_by!] + + # filter the rows returned + where: joblines_status_bool_exp + ): joblines_status_aggregate! + kanbanparent: String + kmin: Int + kmout: Int + labor_rate_desc: String + labor_rate_id: String + local_tax_rate: numeric + loss_cat: String + loss_date: date + loss_desc: String + loss_type: String + + # An array relationship + notes( + # distinct select on columns + distinct_on: [notes_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [notes_order_by!] + + # filter the rows returned + where: notes_bool_exp + ): [notes!]! + + # An aggregated array relationship + notes_aggregate( + # distinct select on columns + distinct_on: [notes_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [notes_order_by!] + + # filter the rows returned + where: notes_bool_exp + ): notes_aggregate! + other_amount_payable: numeric + + # An object relationship + owner: owners + owner_owing: numeric + ownerid: uuid + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fax: String + ownr_faxx: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph1x: String + ownr_ph2: String + ownr_ph2x: String + ownr_st: String + ownr_title: String + ownr_zip: String + + # An array relationship + parts_orders( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): [parts_orders!]! + + # An aggregated array relationship + parts_orders_aggregate( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): parts_orders_aggregate! + parts_tax_rates( + # JSON select path + path: String + ): jsonb + pay_amt: numeric + pay_chknm: String + pay_date: date + pay_type: String + payee_nms: String + + # An array relationship + payments( + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): [payments!]! + + # An aggregated array relationship + payments_aggregate( + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): payments_aggregate! + plate_no: String + plate_st: String + po_number: String + policy_no: String + production_vars( + # JSON select path + path: String + ): jsonb + rate_atp: numeric + rate_la1: numeric + rate_la2: numeric + rate_la3: numeric + rate_la4: numeric + rate_laa: numeric + rate_lab: numeric + rate_lad: numeric + rate_lae: numeric + rate_laf: numeric + rate_lag: numeric + rate_lam: numeric + rate_lar: numeric + rate_las: numeric + rate_lau: numeric + rate_ma2s: numeric + rate_ma2t: numeric + rate_ma3s: numeric + rate_mabl: numeric + rate_macs: numeric + rate_mahw: numeric + rate_mapa: numeric + rate_mash: numeric + rate_matd: numeric + referral_source: String + regie_number: String + ro_number: String + scheduled_completion: timestamptz + scheduled_delivery: timestamptz + scheduled_in: timestamptz + + # An array relationship + scoreboards( + # distinct select on columns + distinct_on: [scoreboard_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [scoreboard_order_by!] + + # filter the rows returned + where: scoreboard_bool_exp + ): [scoreboard!]! + + # An aggregated array relationship + scoreboards_aggregate( + # distinct select on columns + distinct_on: [scoreboard_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [scoreboard_order_by!] + + # filter the rows returned + where: scoreboard_bool_exp + ): scoreboard_aggregate! + selling_dealer: String + selling_dealer_contact: String + servicing_dealer: String + servicing_dealer_contact: String + shopid: uuid! + special_coverage_policy: Boolean! + state_tax_rate: numeric + status: String! + storage_payable: numeric + tax_lbr_rt: numeric + tax_levies_rt: numeric + tax_paint_mat_rt: numeric + tax_predis: numeric + tax_prethr: numeric + + # Parts Tax Rate + tax_pstthr: numeric + tax_registration_number: String + tax_str_rt: numeric + + # Sublet Tax Rate + tax_sub_rt: numeric + tax_thramt: numeric + + # Towing Tax Rate + tax_tow_rt: numeric + theft_ind: Boolean + + # An array relationship + timetickets( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): [timetickets!]! + + # An aggregated array relationship + timetickets_aggregate( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): timetickets_aggregate! + tlos_ind: Boolean + towing_payable: numeric + unit_number: String + updated_at: timestamptz! + v_color: String + v_make_desc: String + v_model_desc: String + v_model_yr: String + v_vin: String + + # An object relationship + vehicle: vehicles + vehicleid: uuid + } + + # aggregated selection of "jobs" + type jobs_aggregate { + aggregate: jobs_aggregate_fields + nodes: [jobs!]! + } + + # aggregate fields of "jobs" + type jobs_aggregate_fields { + avg: jobs_avg_fields + count(columns: [jobs_select_column!], distinct: Boolean): Int + max: jobs_max_fields + min: jobs_min_fields + stddev: jobs_stddev_fields + stddev_pop: jobs_stddev_pop_fields + stddev_samp: jobs_stddev_samp_fields + sum: jobs_sum_fields + var_pop: jobs_var_pop_fields + var_samp: jobs_var_samp_fields + variance: jobs_variance_fields + } + + # order by aggregate values of table "jobs" + input jobs_aggregate_order_by { + avg: jobs_avg_order_by + count: order_by + max: jobs_max_order_by + min: jobs_min_order_by + stddev: jobs_stddev_order_by + stddev_pop: jobs_stddev_pop_order_by + stddev_samp: jobs_stddev_samp_order_by + sum: jobs_sum_order_by + var_pop: jobs_var_pop_order_by + var_samp: jobs_var_samp_order_by + variance: jobs_variance_order_by + } + + # append existing jsonb value of filtered columns with new jsonb value + input jobs_append_input { + area_of_damage: jsonb + cieca_stl: jsonb + cieca_ttl: jsonb + deliverchecklist: jsonb + intakechecklist: jsonb + invoice_allocation: jsonb + job_totals: jsonb + parts_tax_rates: jsonb + production_vars: jsonb + } + + # input type for inserting array relation for remote table "jobs" + input jobs_arr_rel_insert_input { + data: [jobs_insert_input!]! + on_conflict: jobs_on_conflict + } + + # aggregate avg on columns + type jobs_avg_fields { + adj_g_disc: Float + adj_strdis: Float + adj_towdis: Float + adjustment_bottom_line: Float + clm_total: Float + ded_amt: Float + depreciation_taxes: Float + est_number: Float + federal_tax_payable: Float + federal_tax_rate: Float + g_bett_amt: Float + kmin: Float + kmout: Float + local_tax_rate: Float + other_amount_payable: Float + owner_owing: Float + pay_amt: Float + rate_atp: Float + rate_la1: Float + rate_la2: Float + rate_la3: Float + rate_la4: Float + rate_laa: Float + rate_lab: Float + rate_lad: Float + rate_lae: Float + rate_laf: Float + rate_lag: Float + rate_lam: Float + rate_lar: Float + rate_las: Float + rate_lau: Float + rate_ma2s: Float + rate_ma2t: Float + rate_ma3s: Float + rate_mabl: Float + rate_macs: Float + rate_mahw: Float + rate_mapa: Float + rate_mash: Float + rate_matd: Float + state_tax_rate: Float + storage_payable: Float + tax_lbr_rt: Float + tax_levies_rt: Float + tax_paint_mat_rt: Float + tax_predis: Float + tax_prethr: Float + tax_pstthr: Float + tax_str_rt: Float + tax_sub_rt: Float + tax_thramt: Float + tax_tow_rt: Float + towing_payable: Float + } + + # order by avg() on columns of table "jobs" + input jobs_avg_order_by { + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + clm_total: order_by + ded_amt: order_by + depreciation_taxes: order_by + est_number: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + kmin: order_by + kmout: order_by + local_tax_rate: order_by + other_amount_payable: order_by + owner_owing: order_by + pay_amt: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + state_tax_rate: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by + } + + # Boolean expression to filter rows from the table "jobs". All fields are combined with a logical 'AND'. + input jobs_bool_exp { + _and: [jobs_bool_exp] + _not: jobs_bool_exp + _or: [jobs_bool_exp] + actual_completion: timestamptz_comparison_exp + actual_delivery: timestamptz_comparison_exp + actual_in: timestamptz_comparison_exp + adj_g_disc: numeric_comparison_exp + adj_strdis: numeric_comparison_exp + adj_towdis: numeric_comparison_exp + adjustment_bottom_line: numeric_comparison_exp + agt_addr1: String_comparison_exp + agt_addr2: String_comparison_exp + agt_city: String_comparison_exp + agt_co_id: String_comparison_exp + agt_co_nm: String_comparison_exp + agt_ct_fn: String_comparison_exp + agt_ct_ln: String_comparison_exp + agt_ct_ph: String_comparison_exp + agt_ct_phx: String_comparison_exp + agt_ctry: String_comparison_exp + agt_ea: String_comparison_exp + agt_fax: String_comparison_exp + agt_faxx: String_comparison_exp + agt_lic_no: String_comparison_exp + agt_ph1: String_comparison_exp + agt_ph1x: String_comparison_exp + agt_ph2: String_comparison_exp + agt_ph2x: String_comparison_exp + agt_st: String_comparison_exp + agt_zip: String_comparison_exp + appointments: appointments_bool_exp + area_of_damage: jsonb_comparison_exp + asgn_date: date_comparison_exp + asgn_no: String_comparison_exp + asgn_type: String_comparison_exp + available_jobs: available_jobs_bool_exp + bodyshop: bodyshops_bool_exp + cat_no: String_comparison_exp + category: String_comparison_exp + cccontracts: cccontracts_bool_exp + cieca_stl: jsonb_comparison_exp + cieca_ttl: jsonb_comparison_exp + ciecaid: String_comparison_exp + class: String_comparison_exp + clm_addr1: String_comparison_exp + clm_addr2: String_comparison_exp + clm_city: String_comparison_exp + clm_ct_fn: String_comparison_exp + clm_ct_ln: String_comparison_exp + clm_ct_ph: String_comparison_exp + clm_ct_phx: String_comparison_exp + clm_ctry: String_comparison_exp + clm_ea: String_comparison_exp + clm_fax: String_comparison_exp + clm_faxx: String_comparison_exp + clm_no: String_comparison_exp + clm_ofc_id: String_comparison_exp + clm_ofc_nm: String_comparison_exp + clm_ph1: String_comparison_exp + clm_ph1x: String_comparison_exp + clm_ph2: String_comparison_exp + clm_ph2x: String_comparison_exp + clm_st: String_comparison_exp + clm_title: String_comparison_exp + clm_total: numeric_comparison_exp + clm_zip: String_comparison_exp + converted: Boolean_comparison_exp + created_at: timestamptz_comparison_exp + csiinvites: csi_bool_exp + csr: String_comparison_exp + cust_pr: String_comparison_exp + date_closed: timestamptz_comparison_exp + date_estimated: timestamptz_comparison_exp + date_exported: timestamptz_comparison_exp + date_invoiced: timestamptz_comparison_exp + date_open: timestamptz_comparison_exp + date_scheduled: timestamptz_comparison_exp + ded_amt: numeric_comparison_exp + ded_status: String_comparison_exp + deliverchecklist: jsonb_comparison_exp + depreciation_taxes: numeric_comparison_exp + documents: documents_bool_exp + employee_body: uuid_comparison_exp + employee_body_rel: employees_bool_exp + employee_prep: uuid_comparison_exp + employee_prep_rel: employees_bool_exp + employee_refinish: uuid_comparison_exp + employee_refinish_rel: employees_bool_exp + est_addr1: String_comparison_exp + est_addr2: String_comparison_exp + est_city: String_comparison_exp + est_co_nm: String_comparison_exp + est_ct_fn: String_comparison_exp + est_ct_ln: String_comparison_exp + est_ctry: String_comparison_exp + est_ea: String_comparison_exp + est_number: bigint_comparison_exp + est_ph1: String_comparison_exp + est_st: String_comparison_exp + est_zip: String_comparison_exp + federal_tax_payable: numeric_comparison_exp + federal_tax_rate: numeric_comparison_exp + g_bett_amt: numeric_comparison_exp + id: uuid_comparison_exp + inproduction: Boolean_comparison_exp + ins_addr1: String_comparison_exp + ins_addr2: String_comparison_exp + ins_city: String_comparison_exp + ins_co_id: String_comparison_exp + ins_co_nm: String_comparison_exp + ins_ct_fn: String_comparison_exp + ins_ct_ln: String_comparison_exp + ins_ct_ph: String_comparison_exp + ins_ct_phx: String_comparison_exp + ins_ctry: String_comparison_exp + ins_ea: String_comparison_exp + ins_fax: String_comparison_exp + ins_faxx: String_comparison_exp + ins_memo: String_comparison_exp + ins_ph1: String_comparison_exp + ins_ph1x: String_comparison_exp + ins_ph2: String_comparison_exp + ins_ph2x: String_comparison_exp + ins_st: String_comparison_exp + ins_title: String_comparison_exp + ins_zip: String_comparison_exp + insd_addr1: String_comparison_exp + insd_addr2: String_comparison_exp + insd_city: String_comparison_exp + insd_co_nm: String_comparison_exp + insd_ctry: String_comparison_exp + insd_ea: String_comparison_exp + insd_fax: String_comparison_exp + insd_faxx: String_comparison_exp + insd_fn: String_comparison_exp + insd_ln: String_comparison_exp + insd_ph1: String_comparison_exp + insd_ph1x: String_comparison_exp + insd_ph2: String_comparison_exp + insd_ph2x: String_comparison_exp + insd_st: String_comparison_exp + insd_title: String_comparison_exp + insd_zip: String_comparison_exp + intakechecklist: jsonb_comparison_exp + invoice: invoices_bool_exp + invoice_allocation: jsonb_comparison_exp + invoice_date: date_comparison_exp + invoices: invoices_bool_exp + job_conversations: job_conversations_bool_exp + job_totals: jsonb_comparison_exp + joblines: joblines_bool_exp + joblines_status: joblines_status_bool_exp + kanbanparent: String_comparison_exp + kmin: Int_comparison_exp + kmout: Int_comparison_exp + labor_rate_desc: String_comparison_exp + labor_rate_id: String_comparison_exp + local_tax_rate: numeric_comparison_exp + loss_cat: String_comparison_exp + loss_date: date_comparison_exp + loss_desc: String_comparison_exp + loss_type: String_comparison_exp + notes: notes_bool_exp + other_amount_payable: numeric_comparison_exp + owner: owners_bool_exp + owner_owing: numeric_comparison_exp + ownerid: uuid_comparison_exp + ownr_addr1: String_comparison_exp + ownr_addr2: String_comparison_exp + ownr_city: String_comparison_exp + ownr_co_nm: String_comparison_exp + ownr_ctry: String_comparison_exp + ownr_ea: String_comparison_exp + ownr_fax: String_comparison_exp + ownr_faxx: String_comparison_exp + ownr_fn: String_comparison_exp + ownr_ln: String_comparison_exp + ownr_ph1: String_comparison_exp + ownr_ph1x: String_comparison_exp + ownr_ph2: String_comparison_exp + ownr_ph2x: String_comparison_exp + ownr_st: String_comparison_exp + ownr_title: String_comparison_exp + ownr_zip: String_comparison_exp + parts_orders: parts_orders_bool_exp + parts_tax_rates: jsonb_comparison_exp + pay_amt: numeric_comparison_exp + pay_chknm: String_comparison_exp + pay_date: date_comparison_exp + pay_type: String_comparison_exp + payee_nms: String_comparison_exp + payments: payments_bool_exp + plate_no: String_comparison_exp + plate_st: String_comparison_exp + po_number: String_comparison_exp + policy_no: String_comparison_exp + production_vars: jsonb_comparison_exp + rate_atp: numeric_comparison_exp + rate_la1: numeric_comparison_exp + rate_la2: numeric_comparison_exp + rate_la3: numeric_comparison_exp + rate_la4: numeric_comparison_exp + rate_laa: numeric_comparison_exp + rate_lab: numeric_comparison_exp + rate_lad: numeric_comparison_exp + rate_lae: numeric_comparison_exp + rate_laf: numeric_comparison_exp + rate_lag: numeric_comparison_exp + rate_lam: numeric_comparison_exp + rate_lar: numeric_comparison_exp + rate_las: numeric_comparison_exp + rate_lau: numeric_comparison_exp + rate_ma2s: numeric_comparison_exp + rate_ma2t: numeric_comparison_exp + rate_ma3s: numeric_comparison_exp + rate_mabl: numeric_comparison_exp + rate_macs: numeric_comparison_exp + rate_mahw: numeric_comparison_exp + rate_mapa: numeric_comparison_exp + rate_mash: numeric_comparison_exp + rate_matd: numeric_comparison_exp + referral_source: String_comparison_exp + regie_number: String_comparison_exp + ro_number: String_comparison_exp + scheduled_completion: timestamptz_comparison_exp + scheduled_delivery: timestamptz_comparison_exp + scheduled_in: timestamptz_comparison_exp + scoreboards: scoreboard_bool_exp + selling_dealer: String_comparison_exp + selling_dealer_contact: String_comparison_exp + servicing_dealer: String_comparison_exp + servicing_dealer_contact: String_comparison_exp + shopid: uuid_comparison_exp + special_coverage_policy: Boolean_comparison_exp + state_tax_rate: numeric_comparison_exp + status: String_comparison_exp + storage_payable: numeric_comparison_exp + tax_lbr_rt: numeric_comparison_exp + tax_levies_rt: numeric_comparison_exp + tax_paint_mat_rt: numeric_comparison_exp + tax_predis: numeric_comparison_exp + tax_prethr: numeric_comparison_exp + tax_pstthr: numeric_comparison_exp + tax_registration_number: String_comparison_exp + tax_str_rt: numeric_comparison_exp + tax_sub_rt: numeric_comparison_exp + tax_thramt: numeric_comparison_exp + tax_tow_rt: numeric_comparison_exp + theft_ind: Boolean_comparison_exp + timetickets: timetickets_bool_exp + tlos_ind: Boolean_comparison_exp + towing_payable: numeric_comparison_exp + unit_number: String_comparison_exp + updated_at: timestamptz_comparison_exp + v_color: String_comparison_exp + v_make_desc: String_comparison_exp + v_model_desc: String_comparison_exp + v_model_yr: String_comparison_exp + v_vin: String_comparison_exp + vehicle: vehicles_bool_exp + vehicleid: uuid_comparison_exp + } + + # unique or primary key constraints on table "jobs" + enum jobs_constraint { + # unique or primary key constraint + jobs_pkey + } + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + input jobs_delete_at_path_input { + area_of_damage: [String] + cieca_stl: [String] + cieca_ttl: [String] + deliverchecklist: [String] + intakechecklist: [String] + invoice_allocation: [String] + job_totals: [String] + parts_tax_rates: [String] + production_vars: [String] + } + + # delete the array element with specified index (negative integers count from the + # end). throws an error if top level container is not an array + input jobs_delete_elem_input { + area_of_damage: Int + cieca_stl: Int + cieca_ttl: Int + deliverchecklist: Int + intakechecklist: Int + invoice_allocation: Int + job_totals: Int + parts_tax_rates: Int + production_vars: Int + } + + # delete key/value pair or string element. key/value pairs are matched based on their key value + input jobs_delete_key_input { + area_of_damage: String + cieca_stl: String + cieca_ttl: String + deliverchecklist: String + intakechecklist: String + invoice_allocation: String + job_totals: String + parts_tax_rates: String + production_vars: String + } + + # input type for incrementing integer column in table "jobs" + input jobs_inc_input { + adj_g_disc: numeric + adj_strdis: numeric + adj_towdis: numeric + adjustment_bottom_line: numeric + clm_total: numeric + ded_amt: numeric + depreciation_taxes: numeric + est_number: bigint + federal_tax_payable: numeric + federal_tax_rate: numeric + g_bett_amt: numeric + kmin: Int + kmout: Int + local_tax_rate: numeric + other_amount_payable: numeric + owner_owing: numeric + pay_amt: numeric + rate_atp: numeric + rate_la1: numeric + rate_la2: numeric + rate_la3: numeric + rate_la4: numeric + rate_laa: numeric + rate_lab: numeric + rate_lad: numeric + rate_lae: numeric + rate_laf: numeric + rate_lag: numeric + rate_lam: numeric + rate_lar: numeric + rate_las: numeric + rate_lau: numeric + rate_ma2s: numeric + rate_ma2t: numeric + rate_ma3s: numeric + rate_mabl: numeric + rate_macs: numeric + rate_mahw: numeric + rate_mapa: numeric + rate_mash: numeric + rate_matd: numeric + state_tax_rate: numeric + storage_payable: numeric + tax_lbr_rt: numeric + tax_levies_rt: numeric + tax_paint_mat_rt: numeric + tax_predis: numeric + tax_prethr: numeric + tax_pstthr: numeric + tax_str_rt: numeric + tax_sub_rt: numeric + tax_thramt: numeric + tax_tow_rt: numeric + towing_payable: numeric + } + + # input type for inserting data into table "jobs" + input jobs_insert_input { + actual_completion: timestamptz + actual_delivery: timestamptz + actual_in: timestamptz + adj_g_disc: numeric + adj_strdis: numeric + adj_towdis: numeric + adjustment_bottom_line: numeric + agt_addr1: String + agt_addr2: String + agt_city: String + agt_co_id: String + agt_co_nm: String + agt_ct_fn: String + agt_ct_ln: String + agt_ct_ph: String + agt_ct_phx: String + agt_ctry: String + agt_ea: String + agt_fax: String + agt_faxx: String + agt_lic_no: String + agt_ph1: String + agt_ph1x: String + agt_ph2: String + agt_ph2x: String + agt_st: String + agt_zip: String + appointments: appointments_arr_rel_insert_input + area_of_damage: jsonb + asgn_date: date + asgn_no: String + asgn_type: String + available_jobs: available_jobs_arr_rel_insert_input + bodyshop: bodyshops_obj_rel_insert_input + cat_no: String + category: String + cccontracts: cccontracts_arr_rel_insert_input + cieca_stl: jsonb + cieca_ttl: jsonb + ciecaid: String + class: String + clm_addr1: String + clm_addr2: String + clm_city: String + clm_ct_fn: String + clm_ct_ln: String + clm_ct_ph: String + clm_ct_phx: String + clm_ctry: String + clm_ea: String + clm_fax: String + clm_faxx: String + clm_no: String + clm_ofc_id: String + clm_ofc_nm: String + clm_ph1: String + clm_ph1x: String + clm_ph2: String + clm_ph2x: String + clm_st: String + clm_title: String + clm_total: numeric + clm_zip: String + converted: Boolean + created_at: timestamptz + csiinvites: csi_arr_rel_insert_input + csr: String + cust_pr: String + date_closed: timestamptz + date_estimated: timestamptz + date_exported: timestamptz + date_invoiced: timestamptz + date_open: timestamptz + date_scheduled: timestamptz + ded_amt: numeric + ded_status: String + deliverchecklist: jsonb + depreciation_taxes: numeric + documents: documents_arr_rel_insert_input + employee_body: uuid + employee_body_rel: employees_obj_rel_insert_input + employee_prep: uuid + employee_prep_rel: employees_obj_rel_insert_input + employee_refinish: uuid + employee_refinish_rel: employees_obj_rel_insert_input + est_addr1: String + est_addr2: String + est_city: String + est_co_nm: String + est_ct_fn: String + est_ct_ln: String + est_ctry: String + est_ea: String + est_number: bigint + est_ph1: String + est_st: String + est_zip: String + federal_tax_payable: numeric + federal_tax_rate: numeric + g_bett_amt: numeric + id: uuid + inproduction: Boolean + ins_addr1: String + ins_addr2: String + ins_city: String + ins_co_id: String + ins_co_nm: String + ins_ct_fn: String + ins_ct_ln: String + ins_ct_ph: String + ins_ct_phx: String + ins_ctry: String + ins_ea: String + ins_fax: String + ins_faxx: String + ins_memo: String + ins_ph1: String + ins_ph1x: String + ins_ph2: String + ins_ph2x: String + ins_st: String + ins_title: String + ins_zip: String + insd_addr1: String + insd_addr2: String + insd_city: String + insd_co_nm: String + insd_ctry: String + insd_ea: String + insd_fax: String + insd_faxx: String + insd_fn: String + insd_ln: String + insd_ph1: String + insd_ph1x: String + insd_ph2: String + insd_ph2x: String + insd_st: String + insd_title: String + insd_zip: String + intakechecklist: jsonb + invoice: invoices_obj_rel_insert_input + invoice_allocation: jsonb + invoice_date: date + invoices: invoices_arr_rel_insert_input + job_conversations: job_conversations_arr_rel_insert_input + job_totals: jsonb + joblines: joblines_arr_rel_insert_input + kanbanparent: String + kmin: Int + kmout: Int + labor_rate_desc: String + labor_rate_id: String + local_tax_rate: numeric + loss_cat: String + loss_date: date + loss_desc: String + loss_type: String + notes: notes_arr_rel_insert_input + other_amount_payable: numeric + owner: owners_obj_rel_insert_input + owner_owing: numeric + ownerid: uuid + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fax: String + ownr_faxx: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph1x: String + ownr_ph2: String + ownr_ph2x: String + ownr_st: String + ownr_title: String + ownr_zip: String + parts_orders: parts_orders_arr_rel_insert_input + parts_tax_rates: jsonb + pay_amt: numeric + pay_chknm: String + pay_date: date + pay_type: String + payee_nms: String + payments: payments_arr_rel_insert_input + plate_no: String + plate_st: String + po_number: String + policy_no: String + production_vars: jsonb + rate_atp: numeric + rate_la1: numeric + rate_la2: numeric + rate_la3: numeric + rate_la4: numeric + rate_laa: numeric + rate_lab: numeric + rate_lad: numeric + rate_lae: numeric + rate_laf: numeric + rate_lag: numeric + rate_lam: numeric + rate_lar: numeric + rate_las: numeric + rate_lau: numeric + rate_ma2s: numeric + rate_ma2t: numeric + rate_ma3s: numeric + rate_mabl: numeric + rate_macs: numeric + rate_mahw: numeric + rate_mapa: numeric + rate_mash: numeric + rate_matd: numeric + referral_source: String + regie_number: String + ro_number: String + scheduled_completion: timestamptz + scheduled_delivery: timestamptz + scheduled_in: timestamptz + scoreboards: scoreboard_arr_rel_insert_input + selling_dealer: String + selling_dealer_contact: String + servicing_dealer: String + servicing_dealer_contact: String + shopid: uuid + special_coverage_policy: Boolean + state_tax_rate: numeric + status: String + storage_payable: numeric + tax_lbr_rt: numeric + tax_levies_rt: numeric + tax_paint_mat_rt: numeric + tax_predis: numeric + tax_prethr: numeric + tax_pstthr: numeric + tax_registration_number: String + tax_str_rt: numeric + tax_sub_rt: numeric + tax_thramt: numeric + tax_tow_rt: numeric + theft_ind: Boolean + timetickets: timetickets_arr_rel_insert_input + tlos_ind: Boolean + towing_payable: numeric + unit_number: String + updated_at: timestamptz + v_color: String + v_make_desc: String + v_model_desc: String + v_model_yr: String + v_vin: String + vehicle: vehicles_obj_rel_insert_input + vehicleid: uuid + } + + # aggregate max on columns + type jobs_max_fields { + actual_completion: timestamptz + actual_delivery: timestamptz + actual_in: timestamptz + adj_g_disc: numeric + adj_strdis: numeric + adj_towdis: numeric + adjustment_bottom_line: numeric + agt_addr1: String + agt_addr2: String + agt_city: String + agt_co_id: String + agt_co_nm: String + agt_ct_fn: String + agt_ct_ln: String + agt_ct_ph: String + agt_ct_phx: String + agt_ctry: String + agt_ea: String + agt_fax: String + agt_faxx: String + agt_lic_no: String + agt_ph1: String + agt_ph1x: String + agt_ph2: String + agt_ph2x: String + agt_st: String + agt_zip: String + asgn_date: date + asgn_no: String + asgn_type: String + cat_no: String + category: String + ciecaid: String + class: String + clm_addr1: String + clm_addr2: String + clm_city: String + clm_ct_fn: String + clm_ct_ln: String + clm_ct_ph: String + clm_ct_phx: String + clm_ctry: String + clm_ea: String + clm_fax: String + clm_faxx: String + clm_no: String + clm_ofc_id: String + clm_ofc_nm: String + clm_ph1: String + clm_ph1x: String + clm_ph2: String + clm_ph2x: String + clm_st: String + clm_title: String + clm_total: numeric + clm_zip: String + created_at: timestamptz + csr: String + cust_pr: String + date_closed: timestamptz + date_estimated: timestamptz + date_exported: timestamptz + date_invoiced: timestamptz + date_open: timestamptz + date_scheduled: timestamptz + ded_amt: numeric + ded_status: String + depreciation_taxes: numeric + employee_body: uuid + employee_prep: uuid + employee_refinish: uuid + est_addr1: String + est_addr2: String + est_city: String + est_co_nm: String + est_ct_fn: String + est_ct_ln: String + est_ctry: String + est_ea: String + est_number: bigint + est_ph1: String + est_st: String + est_zip: String + federal_tax_payable: numeric + federal_tax_rate: numeric + g_bett_amt: numeric + id: uuid + ins_addr1: String + ins_addr2: String + ins_city: String + ins_co_id: String + ins_co_nm: String + ins_ct_fn: String + ins_ct_ln: String + ins_ct_ph: String + ins_ct_phx: String + ins_ctry: String + ins_ea: String + ins_fax: String + ins_faxx: String + ins_memo: String + ins_ph1: String + ins_ph1x: String + ins_ph2: String + ins_ph2x: String + ins_st: String + ins_title: String + ins_zip: String + insd_addr1: String + insd_addr2: String + insd_city: String + insd_co_nm: String + insd_ctry: String + insd_ea: String + insd_fax: String + insd_faxx: String + insd_fn: String + insd_ln: String + insd_ph1: String + insd_ph1x: String + insd_ph2: String + insd_ph2x: String + insd_st: String + insd_title: String + insd_zip: String + invoice_date: date + kanbanparent: String + kmin: Int + kmout: Int + labor_rate_desc: String + labor_rate_id: String + local_tax_rate: numeric + loss_cat: String + loss_date: date + loss_desc: String + loss_type: String + other_amount_payable: numeric + owner_owing: numeric + ownerid: uuid + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fax: String + ownr_faxx: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph1x: String + ownr_ph2: String + ownr_ph2x: String + ownr_st: String + ownr_title: String + ownr_zip: String + pay_amt: numeric + pay_chknm: String + pay_date: date + pay_type: String + payee_nms: String + plate_no: String + plate_st: String + po_number: String + policy_no: String + rate_atp: numeric + rate_la1: numeric + rate_la2: numeric + rate_la3: numeric + rate_la4: numeric + rate_laa: numeric + rate_lab: numeric + rate_lad: numeric + rate_lae: numeric + rate_laf: numeric + rate_lag: numeric + rate_lam: numeric + rate_lar: numeric + rate_las: numeric + rate_lau: numeric + rate_ma2s: numeric + rate_ma2t: numeric + rate_ma3s: numeric + rate_mabl: numeric + rate_macs: numeric + rate_mahw: numeric + rate_mapa: numeric + rate_mash: numeric + rate_matd: numeric + referral_source: String + regie_number: String + ro_number: String + scheduled_completion: timestamptz + scheduled_delivery: timestamptz + scheduled_in: timestamptz + selling_dealer: String + selling_dealer_contact: String + servicing_dealer: String + servicing_dealer_contact: String + shopid: uuid + state_tax_rate: numeric + status: String + storage_payable: numeric + tax_lbr_rt: numeric + tax_levies_rt: numeric + tax_paint_mat_rt: numeric + tax_predis: numeric + tax_prethr: numeric + tax_pstthr: numeric + tax_registration_number: String + tax_str_rt: numeric + tax_sub_rt: numeric + tax_thramt: numeric + tax_tow_rt: numeric + towing_payable: numeric + unit_number: String + updated_at: timestamptz + v_color: String + v_make_desc: String + v_model_desc: String + v_model_yr: String + v_vin: String + vehicleid: uuid + } + + # order by max() on columns of table "jobs" + input jobs_max_order_by { + actual_completion: order_by + actual_delivery: order_by + actual_in: order_by + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + agt_addr1: order_by + agt_addr2: order_by + agt_city: order_by + agt_co_id: order_by + agt_co_nm: order_by + agt_ct_fn: order_by + agt_ct_ln: order_by + agt_ct_ph: order_by + agt_ct_phx: order_by + agt_ctry: order_by + agt_ea: order_by + agt_fax: order_by + agt_faxx: order_by + agt_lic_no: order_by + agt_ph1: order_by + agt_ph1x: order_by + agt_ph2: order_by + agt_ph2x: order_by + agt_st: order_by + agt_zip: order_by + asgn_date: order_by + asgn_no: order_by + asgn_type: order_by + cat_no: order_by + category: order_by + ciecaid: order_by + class: order_by + clm_addr1: order_by + clm_addr2: order_by + clm_city: order_by + clm_ct_fn: order_by + clm_ct_ln: order_by + clm_ct_ph: order_by + clm_ct_phx: order_by + clm_ctry: order_by + clm_ea: order_by + clm_fax: order_by + clm_faxx: order_by + clm_no: order_by + clm_ofc_id: order_by + clm_ofc_nm: order_by + clm_ph1: order_by + clm_ph1x: order_by + clm_ph2: order_by + clm_ph2x: order_by + clm_st: order_by + clm_title: order_by + clm_total: order_by + clm_zip: order_by + created_at: order_by + csr: order_by + cust_pr: order_by + date_closed: order_by + date_estimated: order_by + date_exported: order_by + date_invoiced: order_by + date_open: order_by + date_scheduled: order_by + ded_amt: order_by + ded_status: order_by + depreciation_taxes: order_by + employee_body: order_by + employee_prep: order_by + employee_refinish: order_by + est_addr1: order_by + est_addr2: order_by + est_city: order_by + est_co_nm: order_by + est_ct_fn: order_by + est_ct_ln: order_by + est_ctry: order_by + est_ea: order_by + est_number: order_by + est_ph1: order_by + est_st: order_by + est_zip: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + id: order_by + ins_addr1: order_by + ins_addr2: order_by + ins_city: order_by + ins_co_id: order_by + ins_co_nm: order_by + ins_ct_fn: order_by + ins_ct_ln: order_by + ins_ct_ph: order_by + ins_ct_phx: order_by + ins_ctry: order_by + ins_ea: order_by + ins_fax: order_by + ins_faxx: order_by + ins_memo: order_by + ins_ph1: order_by + ins_ph1x: order_by + ins_ph2: order_by + ins_ph2x: order_by + ins_st: order_by + ins_title: order_by + ins_zip: order_by + insd_addr1: order_by + insd_addr2: order_by + insd_city: order_by + insd_co_nm: order_by + insd_ctry: order_by + insd_ea: order_by + insd_fax: order_by + insd_faxx: order_by + insd_fn: order_by + insd_ln: order_by + insd_ph1: order_by + insd_ph1x: order_by + insd_ph2: order_by + insd_ph2x: order_by + insd_st: order_by + insd_title: order_by + insd_zip: order_by + invoice_date: order_by + kanbanparent: order_by + kmin: order_by + kmout: order_by + labor_rate_desc: order_by + labor_rate_id: order_by + local_tax_rate: order_by + loss_cat: order_by + loss_date: order_by + loss_desc: order_by + loss_type: order_by + other_amount_payable: order_by + owner_owing: order_by + ownerid: order_by + ownr_addr1: order_by + ownr_addr2: order_by + ownr_city: order_by + ownr_co_nm: order_by + ownr_ctry: order_by + ownr_ea: order_by + ownr_fax: order_by + ownr_faxx: order_by + ownr_fn: order_by + ownr_ln: order_by + ownr_ph1: order_by + ownr_ph1x: order_by + ownr_ph2: order_by + ownr_ph2x: order_by + ownr_st: order_by + ownr_title: order_by + ownr_zip: order_by + pay_amt: order_by + pay_chknm: order_by + pay_date: order_by + pay_type: order_by + payee_nms: order_by + plate_no: order_by + plate_st: order_by + po_number: order_by + policy_no: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + referral_source: order_by + regie_number: order_by + ro_number: order_by + scheduled_completion: order_by + scheduled_delivery: order_by + scheduled_in: order_by + selling_dealer: order_by + selling_dealer_contact: order_by + servicing_dealer: order_by + servicing_dealer_contact: order_by + shopid: order_by + state_tax_rate: order_by + status: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_registration_number: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by + unit_number: order_by + updated_at: order_by + v_color: order_by + v_make_desc: order_by + v_model_desc: order_by + v_model_yr: order_by + v_vin: order_by + vehicleid: order_by + } + + # aggregate min on columns + type jobs_min_fields { + actual_completion: timestamptz + actual_delivery: timestamptz + actual_in: timestamptz + adj_g_disc: numeric + adj_strdis: numeric + adj_towdis: numeric + adjustment_bottom_line: numeric + agt_addr1: String + agt_addr2: String + agt_city: String + agt_co_id: String + agt_co_nm: String + agt_ct_fn: String + agt_ct_ln: String + agt_ct_ph: String + agt_ct_phx: String + agt_ctry: String + agt_ea: String + agt_fax: String + agt_faxx: String + agt_lic_no: String + agt_ph1: String + agt_ph1x: String + agt_ph2: String + agt_ph2x: String + agt_st: String + agt_zip: String + asgn_date: date + asgn_no: String + asgn_type: String + cat_no: String + category: String + ciecaid: String + class: String + clm_addr1: String + clm_addr2: String + clm_city: String + clm_ct_fn: String + clm_ct_ln: String + clm_ct_ph: String + clm_ct_phx: String + clm_ctry: String + clm_ea: String + clm_fax: String + clm_faxx: String + clm_no: String + clm_ofc_id: String + clm_ofc_nm: String + clm_ph1: String + clm_ph1x: String + clm_ph2: String + clm_ph2x: String + clm_st: String + clm_title: String + clm_total: numeric + clm_zip: String + created_at: timestamptz + csr: String + cust_pr: String + date_closed: timestamptz + date_estimated: timestamptz + date_exported: timestamptz + date_invoiced: timestamptz + date_open: timestamptz + date_scheduled: timestamptz + ded_amt: numeric + ded_status: String + depreciation_taxes: numeric + employee_body: uuid + employee_prep: uuid + employee_refinish: uuid + est_addr1: String + est_addr2: String + est_city: String + est_co_nm: String + est_ct_fn: String + est_ct_ln: String + est_ctry: String + est_ea: String + est_number: bigint + est_ph1: String + est_st: String + est_zip: String + federal_tax_payable: numeric + federal_tax_rate: numeric + g_bett_amt: numeric + id: uuid + ins_addr1: String + ins_addr2: String + ins_city: String + ins_co_id: String + ins_co_nm: String + ins_ct_fn: String + ins_ct_ln: String + ins_ct_ph: String + ins_ct_phx: String + ins_ctry: String + ins_ea: String + ins_fax: String + ins_faxx: String + ins_memo: String + ins_ph1: String + ins_ph1x: String + ins_ph2: String + ins_ph2x: String + ins_st: String + ins_title: String + ins_zip: String + insd_addr1: String + insd_addr2: String + insd_city: String + insd_co_nm: String + insd_ctry: String + insd_ea: String + insd_fax: String + insd_faxx: String + insd_fn: String + insd_ln: String + insd_ph1: String + insd_ph1x: String + insd_ph2: String + insd_ph2x: String + insd_st: String + insd_title: String + insd_zip: String + invoice_date: date + kanbanparent: String + kmin: Int + kmout: Int + labor_rate_desc: String + labor_rate_id: String + local_tax_rate: numeric + loss_cat: String + loss_date: date + loss_desc: String + loss_type: String + other_amount_payable: numeric + owner_owing: numeric + ownerid: uuid + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fax: String + ownr_faxx: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph1x: String + ownr_ph2: String + ownr_ph2x: String + ownr_st: String + ownr_title: String + ownr_zip: String + pay_amt: numeric + pay_chknm: String + pay_date: date + pay_type: String + payee_nms: String + plate_no: String + plate_st: String + po_number: String + policy_no: String + rate_atp: numeric + rate_la1: numeric + rate_la2: numeric + rate_la3: numeric + rate_la4: numeric + rate_laa: numeric + rate_lab: numeric + rate_lad: numeric + rate_lae: numeric + rate_laf: numeric + rate_lag: numeric + rate_lam: numeric + rate_lar: numeric + rate_las: numeric + rate_lau: numeric + rate_ma2s: numeric + rate_ma2t: numeric + rate_ma3s: numeric + rate_mabl: numeric + rate_macs: numeric + rate_mahw: numeric + rate_mapa: numeric + rate_mash: numeric + rate_matd: numeric + referral_source: String + regie_number: String + ro_number: String + scheduled_completion: timestamptz + scheduled_delivery: timestamptz + scheduled_in: timestamptz + selling_dealer: String + selling_dealer_contact: String + servicing_dealer: String + servicing_dealer_contact: String + shopid: uuid + state_tax_rate: numeric + status: String + storage_payable: numeric + tax_lbr_rt: numeric + tax_levies_rt: numeric + tax_paint_mat_rt: numeric + tax_predis: numeric + tax_prethr: numeric + tax_pstthr: numeric + tax_registration_number: String + tax_str_rt: numeric + tax_sub_rt: numeric + tax_thramt: numeric + tax_tow_rt: numeric + towing_payable: numeric + unit_number: String + updated_at: timestamptz + v_color: String + v_make_desc: String + v_model_desc: String + v_model_yr: String + v_vin: String + vehicleid: uuid + } + + # order by min() on columns of table "jobs" + input jobs_min_order_by { + actual_completion: order_by + actual_delivery: order_by + actual_in: order_by + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + agt_addr1: order_by + agt_addr2: order_by + agt_city: order_by + agt_co_id: order_by + agt_co_nm: order_by + agt_ct_fn: order_by + agt_ct_ln: order_by + agt_ct_ph: order_by + agt_ct_phx: order_by + agt_ctry: order_by + agt_ea: order_by + agt_fax: order_by + agt_faxx: order_by + agt_lic_no: order_by + agt_ph1: order_by + agt_ph1x: order_by + agt_ph2: order_by + agt_ph2x: order_by + agt_st: order_by + agt_zip: order_by + asgn_date: order_by + asgn_no: order_by + asgn_type: order_by + cat_no: order_by + category: order_by + ciecaid: order_by + class: order_by + clm_addr1: order_by + clm_addr2: order_by + clm_city: order_by + clm_ct_fn: order_by + clm_ct_ln: order_by + clm_ct_ph: order_by + clm_ct_phx: order_by + clm_ctry: order_by + clm_ea: order_by + clm_fax: order_by + clm_faxx: order_by + clm_no: order_by + clm_ofc_id: order_by + clm_ofc_nm: order_by + clm_ph1: order_by + clm_ph1x: order_by + clm_ph2: order_by + clm_ph2x: order_by + clm_st: order_by + clm_title: order_by + clm_total: order_by + clm_zip: order_by + created_at: order_by + csr: order_by + cust_pr: order_by + date_closed: order_by + date_estimated: order_by + date_exported: order_by + date_invoiced: order_by + date_open: order_by + date_scheduled: order_by + ded_amt: order_by + ded_status: order_by + depreciation_taxes: order_by + employee_body: order_by + employee_prep: order_by + employee_refinish: order_by + est_addr1: order_by + est_addr2: order_by + est_city: order_by + est_co_nm: order_by + est_ct_fn: order_by + est_ct_ln: order_by + est_ctry: order_by + est_ea: order_by + est_number: order_by + est_ph1: order_by + est_st: order_by + est_zip: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + id: order_by + ins_addr1: order_by + ins_addr2: order_by + ins_city: order_by + ins_co_id: order_by + ins_co_nm: order_by + ins_ct_fn: order_by + ins_ct_ln: order_by + ins_ct_ph: order_by + ins_ct_phx: order_by + ins_ctry: order_by + ins_ea: order_by + ins_fax: order_by + ins_faxx: order_by + ins_memo: order_by + ins_ph1: order_by + ins_ph1x: order_by + ins_ph2: order_by + ins_ph2x: order_by + ins_st: order_by + ins_title: order_by + ins_zip: order_by + insd_addr1: order_by + insd_addr2: order_by + insd_city: order_by + insd_co_nm: order_by + insd_ctry: order_by + insd_ea: order_by + insd_fax: order_by + insd_faxx: order_by + insd_fn: order_by + insd_ln: order_by + insd_ph1: order_by + insd_ph1x: order_by + insd_ph2: order_by + insd_ph2x: order_by + insd_st: order_by + insd_title: order_by + insd_zip: order_by + invoice_date: order_by + kanbanparent: order_by + kmin: order_by + kmout: order_by + labor_rate_desc: order_by + labor_rate_id: order_by + local_tax_rate: order_by + loss_cat: order_by + loss_date: order_by + loss_desc: order_by + loss_type: order_by + other_amount_payable: order_by + owner_owing: order_by + ownerid: order_by + ownr_addr1: order_by + ownr_addr2: order_by + ownr_city: order_by + ownr_co_nm: order_by + ownr_ctry: order_by + ownr_ea: order_by + ownr_fax: order_by + ownr_faxx: order_by + ownr_fn: order_by + ownr_ln: order_by + ownr_ph1: order_by + ownr_ph1x: order_by + ownr_ph2: order_by + ownr_ph2x: order_by + ownr_st: order_by + ownr_title: order_by + ownr_zip: order_by + pay_amt: order_by + pay_chknm: order_by + pay_date: order_by + pay_type: order_by + payee_nms: order_by + plate_no: order_by + plate_st: order_by + po_number: order_by + policy_no: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + referral_source: order_by + regie_number: order_by + ro_number: order_by + scheduled_completion: order_by + scheduled_delivery: order_by + scheduled_in: order_by + selling_dealer: order_by + selling_dealer_contact: order_by + servicing_dealer: order_by + servicing_dealer_contact: order_by + shopid: order_by + state_tax_rate: order_by + status: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_registration_number: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by + unit_number: order_by + updated_at: order_by + v_color: order_by + v_make_desc: order_by + v_model_desc: order_by + v_model_yr: order_by + v_vin: order_by + vehicleid: order_by + } + + # response of any mutation on the table "jobs" + type jobs_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [jobs!]! + } + + # input type for inserting object relation for remote table "jobs" + input jobs_obj_rel_insert_input { + data: jobs_insert_input! + on_conflict: jobs_on_conflict + } + + # on conflict condition type for table "jobs" + input jobs_on_conflict { + constraint: jobs_constraint! + update_columns: [jobs_update_column!]! + where: jobs_bool_exp + } + + # ordering options when selecting data from "jobs" + input jobs_order_by { + actual_completion: order_by + actual_delivery: order_by + actual_in: order_by + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + agt_addr1: order_by + agt_addr2: order_by + agt_city: order_by + agt_co_id: order_by + agt_co_nm: order_by + agt_ct_fn: order_by + agt_ct_ln: order_by + agt_ct_ph: order_by + agt_ct_phx: order_by + agt_ctry: order_by + agt_ea: order_by + agt_fax: order_by + agt_faxx: order_by + agt_lic_no: order_by + agt_ph1: order_by + agt_ph1x: order_by + agt_ph2: order_by + agt_ph2x: order_by + agt_st: order_by + agt_zip: order_by + appointments_aggregate: appointments_aggregate_order_by + area_of_damage: order_by + asgn_date: order_by + asgn_no: order_by + asgn_type: order_by + available_jobs_aggregate: available_jobs_aggregate_order_by + bodyshop: bodyshops_order_by + cat_no: order_by + category: order_by + cccontracts_aggregate: cccontracts_aggregate_order_by + cieca_stl: order_by + cieca_ttl: order_by + ciecaid: order_by + class: order_by + clm_addr1: order_by + clm_addr2: order_by + clm_city: order_by + clm_ct_fn: order_by + clm_ct_ln: order_by + clm_ct_ph: order_by + clm_ct_phx: order_by + clm_ctry: order_by + clm_ea: order_by + clm_fax: order_by + clm_faxx: order_by + clm_no: order_by + clm_ofc_id: order_by + clm_ofc_nm: order_by + clm_ph1: order_by + clm_ph1x: order_by + clm_ph2: order_by + clm_ph2x: order_by + clm_st: order_by + clm_title: order_by + clm_total: order_by + clm_zip: order_by + converted: order_by + created_at: order_by + csiinvites_aggregate: csi_aggregate_order_by + csr: order_by + cust_pr: order_by + date_closed: order_by + date_estimated: order_by + date_exported: order_by + date_invoiced: order_by + date_open: order_by + date_scheduled: order_by + ded_amt: order_by + ded_status: order_by + deliverchecklist: order_by + depreciation_taxes: order_by + documents_aggregate: documents_aggregate_order_by + employee_body: order_by + employee_body_rel: employees_order_by + employee_prep: order_by + employee_prep_rel: employees_order_by + employee_refinish: order_by + employee_refinish_rel: employees_order_by + est_addr1: order_by + est_addr2: order_by + est_city: order_by + est_co_nm: order_by + est_ct_fn: order_by + est_ct_ln: order_by + est_ctry: order_by + est_ea: order_by + est_number: order_by + est_ph1: order_by + est_st: order_by + est_zip: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + id: order_by + inproduction: order_by + ins_addr1: order_by + ins_addr2: order_by + ins_city: order_by + ins_co_id: order_by + ins_co_nm: order_by + ins_ct_fn: order_by + ins_ct_ln: order_by + ins_ct_ph: order_by + ins_ct_phx: order_by + ins_ctry: order_by + ins_ea: order_by + ins_fax: order_by + ins_faxx: order_by + ins_memo: order_by + ins_ph1: order_by + ins_ph1x: order_by + ins_ph2: order_by + ins_ph2x: order_by + ins_st: order_by + ins_title: order_by + ins_zip: order_by + insd_addr1: order_by + insd_addr2: order_by + insd_city: order_by + insd_co_nm: order_by + insd_ctry: order_by + insd_ea: order_by + insd_fax: order_by + insd_faxx: order_by + insd_fn: order_by + insd_ln: order_by + insd_ph1: order_by + insd_ph1x: order_by + insd_ph2: order_by + insd_ph2x: order_by + insd_st: order_by + insd_title: order_by + insd_zip: order_by + intakechecklist: order_by + invoice: invoices_order_by + invoice_allocation: order_by + invoice_date: order_by + invoices_aggregate: invoices_aggregate_order_by + job_conversations_aggregate: job_conversations_aggregate_order_by + job_totals: order_by + joblines_aggregate: joblines_aggregate_order_by + joblines_status_aggregate: joblines_status_aggregate_order_by + kanbanparent: order_by + kmin: order_by + kmout: order_by + labor_rate_desc: order_by + labor_rate_id: order_by + local_tax_rate: order_by + loss_cat: order_by + loss_date: order_by + loss_desc: order_by + loss_type: order_by + notes_aggregate: notes_aggregate_order_by + other_amount_payable: order_by + owner: owners_order_by + owner_owing: order_by + ownerid: order_by + ownr_addr1: order_by + ownr_addr2: order_by + ownr_city: order_by + ownr_co_nm: order_by + ownr_ctry: order_by + ownr_ea: order_by + ownr_fax: order_by + ownr_faxx: order_by + ownr_fn: order_by + ownr_ln: order_by + ownr_ph1: order_by + ownr_ph1x: order_by + ownr_ph2: order_by + ownr_ph2x: order_by + ownr_st: order_by + ownr_title: order_by + ownr_zip: order_by + parts_orders_aggregate: parts_orders_aggregate_order_by + parts_tax_rates: order_by + pay_amt: order_by + pay_chknm: order_by + pay_date: order_by + pay_type: order_by + payee_nms: order_by + payments_aggregate: payments_aggregate_order_by + plate_no: order_by + plate_st: order_by + po_number: order_by + policy_no: order_by + production_vars: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + referral_source: order_by + regie_number: order_by + ro_number: order_by + scheduled_completion: order_by + scheduled_delivery: order_by + scheduled_in: order_by + scoreboards_aggregate: scoreboard_aggregate_order_by + selling_dealer: order_by + selling_dealer_contact: order_by + servicing_dealer: order_by + servicing_dealer_contact: order_by + shopid: order_by + special_coverage_policy: order_by + state_tax_rate: order_by + status: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_registration_number: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + theft_ind: order_by + timetickets_aggregate: timetickets_aggregate_order_by + tlos_ind: order_by + towing_payable: order_by + unit_number: order_by + updated_at: order_by + v_color: order_by + v_make_desc: order_by + v_model_desc: order_by + v_model_yr: order_by + v_vin: order_by + vehicle: vehicles_order_by + vehicleid: order_by + } + + # primary key columns input for table: "jobs" + input jobs_pk_columns_input { + id: uuid! + } + + # prepend existing jsonb value of filtered columns with new jsonb value + input jobs_prepend_input { + area_of_damage: jsonb + cieca_stl: jsonb + cieca_ttl: jsonb + deliverchecklist: jsonb + intakechecklist: jsonb + invoice_allocation: jsonb + job_totals: jsonb + parts_tax_rates: jsonb + production_vars: jsonb + } + + # select columns of table "jobs" + enum jobs_select_column { + # column name + actual_completion + + # column name + actual_delivery + + # column name + actual_in + + # column name + adj_g_disc + + # column name + adj_strdis + + # column name + adj_towdis + + # column name + adjustment_bottom_line + + # column name + agt_addr1 + + # column name + agt_addr2 + + # column name + agt_city + + # column name + agt_co_id + + # column name + agt_co_nm + + # column name + agt_ct_fn + + # column name + agt_ct_ln + + # column name + agt_ct_ph + + # column name + agt_ct_phx + + # column name + agt_ctry + + # column name + agt_ea + + # column name + agt_fax + + # column name + agt_faxx + + # column name + agt_lic_no + + # column name + agt_ph1 + + # column name + agt_ph1x + + # column name + agt_ph2 + + # column name + agt_ph2x + + # column name + agt_st + + # column name + agt_zip + + # column name + area_of_damage + + # column name + asgn_date + + # column name + asgn_no + + # column name + asgn_type + + # column name + cat_no + + # column name + category + + # column name + cieca_stl + + # column name + cieca_ttl + + # column name + ciecaid + + # column name + class + + # column name + clm_addr1 + + # column name + clm_addr2 + + # column name + clm_city + + # column name + clm_ct_fn + + # column name + clm_ct_ln + + # column name + clm_ct_ph + + # column name + clm_ct_phx + + # column name + clm_ctry + + # column name + clm_ea + + # column name + clm_fax + + # column name + clm_faxx + + # column name + clm_no + + # column name + clm_ofc_id + + # column name + clm_ofc_nm + + # column name + clm_ph1 + + # column name + clm_ph1x + + # column name + clm_ph2 + + # column name + clm_ph2x + + # column name + clm_st + + # column name + clm_title + + # column name + clm_total + + # column name + clm_zip + + # column name + converted + + # column name + created_at + + # column name + csr + + # column name + cust_pr + + # column name + date_closed + + # column name + date_estimated + + # column name + date_exported + + # column name + date_invoiced + + # column name + date_open + + # column name + date_scheduled + + # column name + ded_amt + + # column name + ded_status + + # column name + deliverchecklist + + # column name + depreciation_taxes + + # column name + employee_body + + # column name + employee_prep + + # column name + employee_refinish + + # column name + est_addr1 + + # column name + est_addr2 + + # column name + est_city + + # column name + est_co_nm + + # column name + est_ct_fn + + # column name + est_ct_ln + + # column name + est_ctry + + # column name + est_ea + + # column name + est_number + + # column name + est_ph1 + + # column name + est_st + + # column name + est_zip + + # column name + federal_tax_payable + + # column name + federal_tax_rate + + # column name + g_bett_amt + + # column name + id + + # column name + inproduction + + # column name + ins_addr1 + + # column name + ins_addr2 + + # column name + ins_city + + # column name + ins_co_id + + # column name + ins_co_nm + + # column name + ins_ct_fn + + # column name + ins_ct_ln + + # column name + ins_ct_ph + + # column name + ins_ct_phx + + # column name + ins_ctry + + # column name + ins_ea + + # column name + ins_fax + + # column name + ins_faxx + + # column name + ins_memo + + # column name + ins_ph1 + + # column name + ins_ph1x + + # column name + ins_ph2 + + # column name + ins_ph2x + + # column name + ins_st + + # column name + ins_title + + # column name + ins_zip + + # column name + insd_addr1 + + # column name + insd_addr2 + + # column name + insd_city + + # column name + insd_co_nm + + # column name + insd_ctry + + # column name + insd_ea + + # column name + insd_fax + + # column name + insd_faxx + + # column name + insd_fn + + # column name + insd_ln + + # column name + insd_ph1 + + # column name + insd_ph1x + + # column name + insd_ph2 + + # column name + insd_ph2x + + # column name + insd_st + + # column name + insd_title + + # column name + insd_zip + + # column name + intakechecklist + + # column name + invoice_allocation + + # column name + invoice_date + + # column name + job_totals + + # column name + kanbanparent + + # column name + kmin + + # column name + kmout + + # column name + labor_rate_desc + + # column name + labor_rate_id + + # column name + local_tax_rate + + # column name + loss_cat + + # column name + loss_date + + # column name + loss_desc + + # column name + loss_type + + # column name + other_amount_payable + + # column name + owner_owing + + # column name + ownerid + + # column name + ownr_addr1 + + # column name + ownr_addr2 + + # column name + ownr_city + + # column name + ownr_co_nm + + # column name + ownr_ctry + + # column name + ownr_ea + + # column name + ownr_fax + + # column name + ownr_faxx + + # column name + ownr_fn + + # column name + ownr_ln + + # column name + ownr_ph1 + + # column name + ownr_ph1x + + # column name + ownr_ph2 + + # column name + ownr_ph2x + + # column name + ownr_st + + # column name + ownr_title + + # column name + ownr_zip + + # column name + parts_tax_rates + + # column name + pay_amt + + # column name + pay_chknm + + # column name + pay_date + + # column name + pay_type + + # column name + payee_nms + + # column name + plate_no + + # column name + plate_st + + # column name + po_number + + # column name + policy_no + + # column name + production_vars + + # column name + rate_atp + + # column name + rate_la1 + + # column name + rate_la2 + + # column name + rate_la3 + + # column name + rate_la4 + + # column name + rate_laa + + # column name + rate_lab + + # column name + rate_lad + + # column name + rate_lae + + # column name + rate_laf + + # column name + rate_lag + + # column name + rate_lam + + # column name + rate_lar + + # column name + rate_las + + # column name + rate_lau + + # column name + rate_ma2s + + # column name + rate_ma2t + + # column name + rate_ma3s + + # column name + rate_mabl + + # column name + rate_macs + + # column name + rate_mahw + + # column name + rate_mapa + + # column name + rate_mash + + # column name + rate_matd + + # column name + referral_source + + # column name + regie_number + + # column name + ro_number + + # column name + scheduled_completion + + # column name + scheduled_delivery + + # column name + scheduled_in + + # column name + selling_dealer + + # column name + selling_dealer_contact + + # column name + servicing_dealer + + # column name + servicing_dealer_contact + + # column name + shopid + + # column name + special_coverage_policy + + # column name + state_tax_rate + + # column name + status + + # column name + storage_payable + + # column name + tax_lbr_rt + + # column name + tax_levies_rt + + # column name + tax_paint_mat_rt + + # column name + tax_predis + + # column name + tax_prethr + + # column name + tax_pstthr + + # column name + tax_registration_number + + # column name + tax_str_rt + + # column name + tax_sub_rt + + # column name + tax_thramt + + # column name + tax_tow_rt + + # column name + theft_ind + + # column name + tlos_ind + + # column name + towing_payable + + # column name + unit_number + + # column name + updated_at + + # column name + v_color + + # column name + v_make_desc + + # column name + v_model_desc + + # column name + v_model_yr + + # column name + v_vin + + # column name + vehicleid + } + + # input type for updating data in table "jobs" + input jobs_set_input { + actual_completion: timestamptz + actual_delivery: timestamptz + actual_in: timestamptz + adj_g_disc: numeric + adj_strdis: numeric + adj_towdis: numeric + adjustment_bottom_line: numeric + agt_addr1: String + agt_addr2: String + agt_city: String + agt_co_id: String + agt_co_nm: String + agt_ct_fn: String + agt_ct_ln: String + agt_ct_ph: String + agt_ct_phx: String + agt_ctry: String + agt_ea: String + agt_fax: String + agt_faxx: String + agt_lic_no: String + agt_ph1: String + agt_ph1x: String + agt_ph2: String + agt_ph2x: String + agt_st: String + agt_zip: String + area_of_damage: jsonb + asgn_date: date + asgn_no: String + asgn_type: String + cat_no: String + category: String + cieca_stl: jsonb + cieca_ttl: jsonb + ciecaid: String + class: String + clm_addr1: String + clm_addr2: String + clm_city: String + clm_ct_fn: String + clm_ct_ln: String + clm_ct_ph: String + clm_ct_phx: String + clm_ctry: String + clm_ea: String + clm_fax: String + clm_faxx: String + clm_no: String + clm_ofc_id: String + clm_ofc_nm: String + clm_ph1: String + clm_ph1x: String + clm_ph2: String + clm_ph2x: String + clm_st: String + clm_title: String + clm_total: numeric + clm_zip: String + converted: Boolean + created_at: timestamptz + csr: String + cust_pr: String + date_closed: timestamptz + date_estimated: timestamptz + date_exported: timestamptz + date_invoiced: timestamptz + date_open: timestamptz + date_scheduled: timestamptz + ded_amt: numeric + ded_status: String + deliverchecklist: jsonb + depreciation_taxes: numeric + employee_body: uuid + employee_prep: uuid + employee_refinish: uuid + est_addr1: String + est_addr2: String + est_city: String + est_co_nm: String + est_ct_fn: String + est_ct_ln: String + est_ctry: String + est_ea: String + est_number: bigint + est_ph1: String + est_st: String + est_zip: String + federal_tax_payable: numeric + federal_tax_rate: numeric + g_bett_amt: numeric + id: uuid + inproduction: Boolean + ins_addr1: String + ins_addr2: String + ins_city: String + ins_co_id: String + ins_co_nm: String + ins_ct_fn: String + ins_ct_ln: String + ins_ct_ph: String + ins_ct_phx: String + ins_ctry: String + ins_ea: String + ins_fax: String + ins_faxx: String + ins_memo: String + ins_ph1: String + ins_ph1x: String + ins_ph2: String + ins_ph2x: String + ins_st: String + ins_title: String + ins_zip: String + insd_addr1: String + insd_addr2: String + insd_city: String + insd_co_nm: String + insd_ctry: String + insd_ea: String + insd_fax: String + insd_faxx: String + insd_fn: String + insd_ln: String + insd_ph1: String + insd_ph1x: String + insd_ph2: String + insd_ph2x: String + insd_st: String + insd_title: String + insd_zip: String + intakechecklist: jsonb + invoice_allocation: jsonb + invoice_date: date + job_totals: jsonb + kanbanparent: String + kmin: Int + kmout: Int + labor_rate_desc: String + labor_rate_id: String + local_tax_rate: numeric + loss_cat: String + loss_date: date + loss_desc: String + loss_type: String + other_amount_payable: numeric + owner_owing: numeric + ownerid: uuid + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fax: String + ownr_faxx: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph1x: String + ownr_ph2: String + ownr_ph2x: String + ownr_st: String + ownr_title: String + ownr_zip: String + parts_tax_rates: jsonb + pay_amt: numeric + pay_chknm: String + pay_date: date + pay_type: String + payee_nms: String + plate_no: String + plate_st: String + po_number: String + policy_no: String + production_vars: jsonb + rate_atp: numeric + rate_la1: numeric + rate_la2: numeric + rate_la3: numeric + rate_la4: numeric + rate_laa: numeric + rate_lab: numeric + rate_lad: numeric + rate_lae: numeric + rate_laf: numeric + rate_lag: numeric + rate_lam: numeric + rate_lar: numeric + rate_las: numeric + rate_lau: numeric + rate_ma2s: numeric + rate_ma2t: numeric + rate_ma3s: numeric + rate_mabl: numeric + rate_macs: numeric + rate_mahw: numeric + rate_mapa: numeric + rate_mash: numeric + rate_matd: numeric + referral_source: String + regie_number: String + ro_number: String + scheduled_completion: timestamptz + scheduled_delivery: timestamptz + scheduled_in: timestamptz + selling_dealer: String + selling_dealer_contact: String + servicing_dealer: String + servicing_dealer_contact: String + shopid: uuid + special_coverage_policy: Boolean + state_tax_rate: numeric + status: String + storage_payable: numeric + tax_lbr_rt: numeric + tax_levies_rt: numeric + tax_paint_mat_rt: numeric + tax_predis: numeric + tax_prethr: numeric + tax_pstthr: numeric + tax_registration_number: String + tax_str_rt: numeric + tax_sub_rt: numeric + tax_thramt: numeric + tax_tow_rt: numeric + theft_ind: Boolean + tlos_ind: Boolean + towing_payable: numeric + unit_number: String + updated_at: timestamptz + v_color: String + v_make_desc: String + v_model_desc: String + v_model_yr: String + v_vin: String + vehicleid: uuid + } + + # aggregate stddev on columns + type jobs_stddev_fields { + adj_g_disc: Float + adj_strdis: Float + adj_towdis: Float + adjustment_bottom_line: Float + clm_total: Float + ded_amt: Float + depreciation_taxes: Float + est_number: Float + federal_tax_payable: Float + federal_tax_rate: Float + g_bett_amt: Float + kmin: Float + kmout: Float + local_tax_rate: Float + other_amount_payable: Float + owner_owing: Float + pay_amt: Float + rate_atp: Float + rate_la1: Float + rate_la2: Float + rate_la3: Float + rate_la4: Float + rate_laa: Float + rate_lab: Float + rate_lad: Float + rate_lae: Float + rate_laf: Float + rate_lag: Float + rate_lam: Float + rate_lar: Float + rate_las: Float + rate_lau: Float + rate_ma2s: Float + rate_ma2t: Float + rate_ma3s: Float + rate_mabl: Float + rate_macs: Float + rate_mahw: Float + rate_mapa: Float + rate_mash: Float + rate_matd: Float + state_tax_rate: Float + storage_payable: Float + tax_lbr_rt: Float + tax_levies_rt: Float + tax_paint_mat_rt: Float + tax_predis: Float + tax_prethr: Float + tax_pstthr: Float + tax_str_rt: Float + tax_sub_rt: Float + tax_thramt: Float + tax_tow_rt: Float + towing_payable: Float + } + + # order by stddev() on columns of table "jobs" + input jobs_stddev_order_by { + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + clm_total: order_by + ded_amt: order_by + depreciation_taxes: order_by + est_number: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + kmin: order_by + kmout: order_by + local_tax_rate: order_by + other_amount_payable: order_by + owner_owing: order_by + pay_amt: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + state_tax_rate: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by + } + + # aggregate stddev_pop on columns + type jobs_stddev_pop_fields { + adj_g_disc: Float + adj_strdis: Float + adj_towdis: Float + adjustment_bottom_line: Float + clm_total: Float + ded_amt: Float + depreciation_taxes: Float + est_number: Float + federal_tax_payable: Float + federal_tax_rate: Float + g_bett_amt: Float + kmin: Float + kmout: Float + local_tax_rate: Float + other_amount_payable: Float + owner_owing: Float + pay_amt: Float + rate_atp: Float + rate_la1: Float + rate_la2: Float + rate_la3: Float + rate_la4: Float + rate_laa: Float + rate_lab: Float + rate_lad: Float + rate_lae: Float + rate_laf: Float + rate_lag: Float + rate_lam: Float + rate_lar: Float + rate_las: Float + rate_lau: Float + rate_ma2s: Float + rate_ma2t: Float + rate_ma3s: Float + rate_mabl: Float + rate_macs: Float + rate_mahw: Float + rate_mapa: Float + rate_mash: Float + rate_matd: Float + state_tax_rate: Float + storage_payable: Float + tax_lbr_rt: Float + tax_levies_rt: Float + tax_paint_mat_rt: Float + tax_predis: Float + tax_prethr: Float + tax_pstthr: Float + tax_str_rt: Float + tax_sub_rt: Float + tax_thramt: Float + tax_tow_rt: Float + towing_payable: Float + } + + # order by stddev_pop() on columns of table "jobs" + input jobs_stddev_pop_order_by { + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + clm_total: order_by + ded_amt: order_by + depreciation_taxes: order_by + est_number: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + kmin: order_by + kmout: order_by + local_tax_rate: order_by + other_amount_payable: order_by + owner_owing: order_by + pay_amt: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + state_tax_rate: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by + } + + # aggregate stddev_samp on columns + type jobs_stddev_samp_fields { + adj_g_disc: Float + adj_strdis: Float + adj_towdis: Float + adjustment_bottom_line: Float + clm_total: Float + ded_amt: Float + depreciation_taxes: Float + est_number: Float + federal_tax_payable: Float + federal_tax_rate: Float + g_bett_amt: Float + kmin: Float + kmout: Float + local_tax_rate: Float + other_amount_payable: Float + owner_owing: Float + pay_amt: Float + rate_atp: Float + rate_la1: Float + rate_la2: Float + rate_la3: Float + rate_la4: Float + rate_laa: Float + rate_lab: Float + rate_lad: Float + rate_lae: Float + rate_laf: Float + rate_lag: Float + rate_lam: Float + rate_lar: Float + rate_las: Float + rate_lau: Float + rate_ma2s: Float + rate_ma2t: Float + rate_ma3s: Float + rate_mabl: Float + rate_macs: Float + rate_mahw: Float + rate_mapa: Float + rate_mash: Float + rate_matd: Float + state_tax_rate: Float + storage_payable: Float + tax_lbr_rt: Float + tax_levies_rt: Float + tax_paint_mat_rt: Float + tax_predis: Float + tax_prethr: Float + tax_pstthr: Float + tax_str_rt: Float + tax_sub_rt: Float + tax_thramt: Float + tax_tow_rt: Float + towing_payable: Float + } + + # order by stddev_samp() on columns of table "jobs" + input jobs_stddev_samp_order_by { + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + clm_total: order_by + ded_amt: order_by + depreciation_taxes: order_by + est_number: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + kmin: order_by + kmout: order_by + local_tax_rate: order_by + other_amount_payable: order_by + owner_owing: order_by + pay_amt: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + state_tax_rate: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by + } + + # aggregate sum on columns + type jobs_sum_fields { + adj_g_disc: numeric + adj_strdis: numeric + adj_towdis: numeric + adjustment_bottom_line: numeric + clm_total: numeric + ded_amt: numeric + depreciation_taxes: numeric + est_number: bigint + federal_tax_payable: numeric + federal_tax_rate: numeric + g_bett_amt: numeric + kmin: Int + kmout: Int + local_tax_rate: numeric + other_amount_payable: numeric + owner_owing: numeric + pay_amt: numeric + rate_atp: numeric + rate_la1: numeric + rate_la2: numeric + rate_la3: numeric + rate_la4: numeric + rate_laa: numeric + rate_lab: numeric + rate_lad: numeric + rate_lae: numeric + rate_laf: numeric + rate_lag: numeric + rate_lam: numeric + rate_lar: numeric + rate_las: numeric + rate_lau: numeric + rate_ma2s: numeric + rate_ma2t: numeric + rate_ma3s: numeric + rate_mabl: numeric + rate_macs: numeric + rate_mahw: numeric + rate_mapa: numeric + rate_mash: numeric + rate_matd: numeric + state_tax_rate: numeric + storage_payable: numeric + tax_lbr_rt: numeric + tax_levies_rt: numeric + tax_paint_mat_rt: numeric + tax_predis: numeric + tax_prethr: numeric + tax_pstthr: numeric + tax_str_rt: numeric + tax_sub_rt: numeric + tax_thramt: numeric + tax_tow_rt: numeric + towing_payable: numeric + } + + # order by sum() on columns of table "jobs" + input jobs_sum_order_by { + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + clm_total: order_by + ded_amt: order_by + depreciation_taxes: order_by + est_number: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + kmin: order_by + kmout: order_by + local_tax_rate: order_by + other_amount_payable: order_by + owner_owing: order_by + pay_amt: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + state_tax_rate: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by + } + + # update columns of table "jobs" + enum jobs_update_column { + # column name + actual_completion + + # column name + actual_delivery + + # column name + actual_in + + # column name + adj_g_disc + + # column name + adj_strdis + + # column name + adj_towdis + + # column name + adjustment_bottom_line + + # column name + agt_addr1 + + # column name + agt_addr2 + + # column name + agt_city + + # column name + agt_co_id + + # column name + agt_co_nm + + # column name + agt_ct_fn + + # column name + agt_ct_ln + + # column name + agt_ct_ph + + # column name + agt_ct_phx + + # column name + agt_ctry + + # column name + agt_ea + + # column name + agt_fax + + # column name + agt_faxx + + # column name + agt_lic_no + + # column name + agt_ph1 + + # column name + agt_ph1x + + # column name + agt_ph2 + + # column name + agt_ph2x + + # column name + agt_st + + # column name + agt_zip + + # column name + area_of_damage + + # column name + asgn_date + + # column name + asgn_no + + # column name + asgn_type + + # column name + cat_no + + # column name + category + + # column name + cieca_stl + + # column name + cieca_ttl + + # column name + ciecaid + + # column name + class + + # column name + clm_addr1 + + # column name + clm_addr2 + + # column name + clm_city + + # column name + clm_ct_fn + + # column name + clm_ct_ln + + # column name + clm_ct_ph + + # column name + clm_ct_phx + + # column name + clm_ctry + + # column name + clm_ea + + # column name + clm_fax + + # column name + clm_faxx + + # column name + clm_no + + # column name + clm_ofc_id + + # column name + clm_ofc_nm + + # column name + clm_ph1 + + # column name + clm_ph1x + + # column name + clm_ph2 + + # column name + clm_ph2x + + # column name + clm_st + + # column name + clm_title + + # column name + clm_total + + # column name + clm_zip + + # column name + converted + + # column name + created_at + + # column name + csr + + # column name + cust_pr + + # column name + date_closed + + # column name + date_estimated + + # column name + date_exported + + # column name + date_invoiced + + # column name + date_open + + # column name + date_scheduled + + # column name + ded_amt + + # column name + ded_status + + # column name + deliverchecklist + + # column name + depreciation_taxes + + # column name + employee_body + + # column name + employee_prep + + # column name + employee_refinish + + # column name + est_addr1 + + # column name + est_addr2 + + # column name + est_city + + # column name + est_co_nm + + # column name + est_ct_fn + + # column name + est_ct_ln + + # column name + est_ctry + + # column name + est_ea + + # column name + est_number + + # column name + est_ph1 + + # column name + est_st + + # column name + est_zip + + # column name + federal_tax_payable + + # column name + federal_tax_rate + + # column name + g_bett_amt + + # column name + id + + # column name + inproduction + + # column name + ins_addr1 + + # column name + ins_addr2 + + # column name + ins_city + + # column name + ins_co_id + + # column name + ins_co_nm + + # column name + ins_ct_fn + + # column name + ins_ct_ln + + # column name + ins_ct_ph + + # column name + ins_ct_phx + + # column name + ins_ctry + + # column name + ins_ea + + # column name + ins_fax + + # column name + ins_faxx + + # column name + ins_memo + + # column name + ins_ph1 + + # column name + ins_ph1x + + # column name + ins_ph2 + + # column name + ins_ph2x + + # column name + ins_st + + # column name + ins_title + + # column name + ins_zip + + # column name + insd_addr1 + + # column name + insd_addr2 + + # column name + insd_city + + # column name + insd_co_nm + + # column name + insd_ctry + + # column name + insd_ea + + # column name + insd_fax + + # column name + insd_faxx + + # column name + insd_fn + + # column name + insd_ln + + # column name + insd_ph1 + + # column name + insd_ph1x + + # column name + insd_ph2 + + # column name + insd_ph2x + + # column name + insd_st + + # column name + insd_title + + # column name + insd_zip + + # column name + intakechecklist + + # column name + invoice_allocation + + # column name + invoice_date + + # column name + job_totals + + # column name + kanbanparent + + # column name + kmin + + # column name + kmout + + # column name + labor_rate_desc + + # column name + labor_rate_id + + # column name + local_tax_rate + + # column name + loss_cat + + # column name + loss_date + + # column name + loss_desc + + # column name + loss_type + + # column name + other_amount_payable + + # column name + owner_owing + + # column name + ownerid + + # column name + ownr_addr1 + + # column name + ownr_addr2 + + # column name + ownr_city + + # column name + ownr_co_nm + + # column name + ownr_ctry + + # column name + ownr_ea + + # column name + ownr_fax + + # column name + ownr_faxx + + # column name + ownr_fn + + # column name + ownr_ln + + # column name + ownr_ph1 + + # column name + ownr_ph1x + + # column name + ownr_ph2 + + # column name + ownr_ph2x + + # column name + ownr_st + + # column name + ownr_title + + # column name + ownr_zip + + # column name + parts_tax_rates + + # column name + pay_amt + + # column name + pay_chknm + + # column name + pay_date + + # column name + pay_type + + # column name + payee_nms + + # column name + plate_no + + # column name + plate_st + + # column name + po_number + + # column name + policy_no + + # column name + production_vars + + # column name + rate_atp + + # column name + rate_la1 + + # column name + rate_la2 + + # column name + rate_la3 + + # column name + rate_la4 + + # column name + rate_laa + + # column name + rate_lab + + # column name + rate_lad + + # column name + rate_lae + + # column name + rate_laf + + # column name + rate_lag + + # column name + rate_lam + + # column name + rate_lar + + # column name + rate_las + + # column name + rate_lau + + # column name + rate_ma2s + + # column name + rate_ma2t + + # column name + rate_ma3s + + # column name + rate_mabl + + # column name + rate_macs + + # column name + rate_mahw + + # column name + rate_mapa + + # column name + rate_mash + + # column name + rate_matd + + # column name + referral_source + + # column name + regie_number + + # column name + ro_number + + # column name + scheduled_completion + + # column name + scheduled_delivery + + # column name + scheduled_in + + # column name + selling_dealer + + # column name + selling_dealer_contact + + # column name + servicing_dealer + + # column name + servicing_dealer_contact + + # column name + shopid + + # column name + special_coverage_policy + + # column name + state_tax_rate + + # column name + status + + # column name + storage_payable + + # column name + tax_lbr_rt + + # column name + tax_levies_rt + + # column name + tax_paint_mat_rt + + # column name + tax_predis + + # column name + tax_prethr + + # column name + tax_pstthr + + # column name + tax_registration_number + + # column name + tax_str_rt + + # column name + tax_sub_rt + + # column name + tax_thramt + + # column name + tax_tow_rt + + # column name + theft_ind + + # column name + tlos_ind + + # column name + towing_payable + + # column name + unit_number + + # column name + updated_at + + # column name + v_color + + # column name + v_make_desc + + # column name + v_model_desc + + # column name + v_model_yr + + # column name + v_vin + + # column name + vehicleid + } + + # aggregate var_pop on columns + type jobs_var_pop_fields { + adj_g_disc: Float + adj_strdis: Float + adj_towdis: Float + adjustment_bottom_line: Float + clm_total: Float + ded_amt: Float + depreciation_taxes: Float + est_number: Float + federal_tax_payable: Float + federal_tax_rate: Float + g_bett_amt: Float + kmin: Float + kmout: Float + local_tax_rate: Float + other_amount_payable: Float + owner_owing: Float + pay_amt: Float + rate_atp: Float + rate_la1: Float + rate_la2: Float + rate_la3: Float + rate_la4: Float + rate_laa: Float + rate_lab: Float + rate_lad: Float + rate_lae: Float + rate_laf: Float + rate_lag: Float + rate_lam: Float + rate_lar: Float + rate_las: Float + rate_lau: Float + rate_ma2s: Float + rate_ma2t: Float + rate_ma3s: Float + rate_mabl: Float + rate_macs: Float + rate_mahw: Float + rate_mapa: Float + rate_mash: Float + rate_matd: Float + state_tax_rate: Float + storage_payable: Float + tax_lbr_rt: Float + tax_levies_rt: Float + tax_paint_mat_rt: Float + tax_predis: Float + tax_prethr: Float + tax_pstthr: Float + tax_str_rt: Float + tax_sub_rt: Float + tax_thramt: Float + tax_tow_rt: Float + towing_payable: Float + } + + # order by var_pop() on columns of table "jobs" + input jobs_var_pop_order_by { + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + clm_total: order_by + ded_amt: order_by + depreciation_taxes: order_by + est_number: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + kmin: order_by + kmout: order_by + local_tax_rate: order_by + other_amount_payable: order_by + owner_owing: order_by + pay_amt: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + state_tax_rate: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by + } + + # aggregate var_samp on columns + type jobs_var_samp_fields { + adj_g_disc: Float + adj_strdis: Float + adj_towdis: Float + adjustment_bottom_line: Float + clm_total: Float + ded_amt: Float + depreciation_taxes: Float + est_number: Float + federal_tax_payable: Float + federal_tax_rate: Float + g_bett_amt: Float + kmin: Float + kmout: Float + local_tax_rate: Float + other_amount_payable: Float + owner_owing: Float + pay_amt: Float + rate_atp: Float + rate_la1: Float + rate_la2: Float + rate_la3: Float + rate_la4: Float + rate_laa: Float + rate_lab: Float + rate_lad: Float + rate_lae: Float + rate_laf: Float + rate_lag: Float + rate_lam: Float + rate_lar: Float + rate_las: Float + rate_lau: Float + rate_ma2s: Float + rate_ma2t: Float + rate_ma3s: Float + rate_mabl: Float + rate_macs: Float + rate_mahw: Float + rate_mapa: Float + rate_mash: Float + rate_matd: Float + state_tax_rate: Float + storage_payable: Float + tax_lbr_rt: Float + tax_levies_rt: Float + tax_paint_mat_rt: Float + tax_predis: Float + tax_prethr: Float + tax_pstthr: Float + tax_str_rt: Float + tax_sub_rt: Float + tax_thramt: Float + tax_tow_rt: Float + towing_payable: Float + } + + # order by var_samp() on columns of table "jobs" + input jobs_var_samp_order_by { + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + clm_total: order_by + ded_amt: order_by + depreciation_taxes: order_by + est_number: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + kmin: order_by + kmout: order_by + local_tax_rate: order_by + other_amount_payable: order_by + owner_owing: order_by + pay_amt: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + state_tax_rate: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by + } + + # aggregate variance on columns + type jobs_variance_fields { + adj_g_disc: Float + adj_strdis: Float + adj_towdis: Float + adjustment_bottom_line: Float + clm_total: Float + ded_amt: Float + depreciation_taxes: Float + est_number: Float + federal_tax_payable: Float + federal_tax_rate: Float + g_bett_amt: Float + kmin: Float + kmout: Float + local_tax_rate: Float + other_amount_payable: Float + owner_owing: Float + pay_amt: Float + rate_atp: Float + rate_la1: Float + rate_la2: Float + rate_la3: Float + rate_la4: Float + rate_laa: Float + rate_lab: Float + rate_lad: Float + rate_lae: Float + rate_laf: Float + rate_lag: Float + rate_lam: Float + rate_lar: Float + rate_las: Float + rate_lau: Float + rate_ma2s: Float + rate_ma2t: Float + rate_ma3s: Float + rate_mabl: Float + rate_macs: Float + rate_mahw: Float + rate_mapa: Float + rate_mash: Float + rate_matd: Float + state_tax_rate: Float + storage_payable: Float + tax_lbr_rt: Float + tax_levies_rt: Float + tax_paint_mat_rt: Float + tax_predis: Float + tax_prethr: Float + tax_pstthr: Float + tax_str_rt: Float + tax_sub_rt: Float + tax_thramt: Float + tax_tow_rt: Float + towing_payable: Float + } + + # order by variance() on columns of table "jobs" + input jobs_variance_order_by { + adj_g_disc: order_by + adj_strdis: order_by + adj_towdis: order_by + adjustment_bottom_line: order_by + clm_total: order_by + ded_amt: order_by + depreciation_taxes: order_by + est_number: order_by + federal_tax_payable: order_by + federal_tax_rate: order_by + g_bett_amt: order_by + kmin: order_by + kmout: order_by + local_tax_rate: order_by + other_amount_payable: order_by + owner_owing: order_by + pay_amt: order_by + rate_atp: order_by + rate_la1: order_by + rate_la2: order_by + rate_la3: order_by + rate_la4: order_by + rate_laa: order_by + rate_lab: order_by + rate_lad: order_by + rate_lae: order_by + rate_laf: order_by + rate_lag: order_by + rate_lam: order_by + rate_lar: order_by + rate_las: order_by + rate_lau: order_by + rate_ma2s: order_by + rate_ma2t: order_by + rate_ma3s: order_by + rate_mabl: order_by + rate_macs: order_by + rate_mahw: order_by + rate_mapa: order_by + rate_mash: order_by + rate_matd: order_by + state_tax_rate: order_by + storage_payable: order_by + tax_lbr_rt: order_by + tax_levies_rt: order_by + tax_paint_mat_rt: order_by + tax_predis: order_by + tax_prethr: order_by + tax_pstthr: order_by + tax_str_rt: order_by + tax_sub_rt: order_by + tax_thramt: order_by + tax_tow_rt: order_by + towing_payable: order_by + } + + scalar json + + # expression to compare columns of type json. All fields are combined with logical 'AND'. + input json_comparison_exp { + _eq: json + _gt: json + _gte: json + _in: [json!] + _is_null: Boolean + _lt: json + _lte: json + _neq: json + _nin: [json!] + } + + scalar jsonb + + # expression to compare columns of type jsonb. All fields are combined with logical 'AND'. + input jsonb_comparison_exp { + # is the column contained in the given json value + _contained_in: jsonb + + # does the column contain the given json value at the top level + _contains: jsonb + _eq: jsonb + _gt: jsonb + _gte: jsonb + + # does the string exist as a top-level key in the column + _has_key: String + + # do all of these strings exist as top-level keys in the column + _has_keys_all: [String!] + + # do any of these strings exist as top-level keys in the column + _has_keys_any: [String!] + _in: [jsonb!] + _is_null: Boolean + _lt: jsonb + _lte: jsonb + _neq: jsonb + _nin: [jsonb!] + } + + # columns and relationships of "masterdata" + type masterdata { + key: String! + value: String! + } + + # aggregated selection of "masterdata" + type masterdata_aggregate { + aggregate: masterdata_aggregate_fields + nodes: [masterdata!]! + } + + # aggregate fields of "masterdata" + type masterdata_aggregate_fields { + count(columns: [masterdata_select_column!], distinct: Boolean): Int + max: masterdata_max_fields + min: masterdata_min_fields + } + + # order by aggregate values of table "masterdata" + input masterdata_aggregate_order_by { + count: order_by + max: masterdata_max_order_by + min: masterdata_min_order_by + } + + # input type for inserting array relation for remote table "masterdata" + input masterdata_arr_rel_insert_input { + data: [masterdata_insert_input!]! + on_conflict: masterdata_on_conflict + } + + # Boolean expression to filter rows from the table "masterdata". All fields are combined with a logical 'AND'. + input masterdata_bool_exp { + _and: [masterdata_bool_exp] + _not: masterdata_bool_exp + _or: [masterdata_bool_exp] + key: String_comparison_exp + value: String_comparison_exp + } + + # unique or primary key constraints on table "masterdata" + enum masterdata_constraint { + # unique or primary key constraint + masterdata_pkey + } + + # input type for inserting data into table "masterdata" + input masterdata_insert_input { + key: String + value: String + } + + # aggregate max on columns + type masterdata_max_fields { + key: String + value: String + } + + # order by max() on columns of table "masterdata" + input masterdata_max_order_by { + key: order_by + value: order_by + } + + # aggregate min on columns + type masterdata_min_fields { + key: String + value: String + } + + # order by min() on columns of table "masterdata" + input masterdata_min_order_by { + key: order_by + value: order_by + } + + # response of any mutation on the table "masterdata" + type masterdata_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [masterdata!]! + } + + # input type for inserting object relation for remote table "masterdata" + input masterdata_obj_rel_insert_input { + data: masterdata_insert_input! + on_conflict: masterdata_on_conflict + } + + # on conflict condition type for table "masterdata" + input masterdata_on_conflict { + constraint: masterdata_constraint! + update_columns: [masterdata_update_column!]! + where: masterdata_bool_exp + } + + # ordering options when selecting data from "masterdata" + input masterdata_order_by { + key: order_by + value: order_by + } + + # primary key columns input for table: "masterdata" + input masterdata_pk_columns_input { + key: String! + } + + # select columns of table "masterdata" + enum masterdata_select_column { + # column name + key + + # column name + value + } + + # input type for updating data in table "masterdata" + input masterdata_set_input { + key: String + value: String + } + + # update columns of table "masterdata" + enum masterdata_update_column { + # column name + key + + # column name + value + } + + # columns and relationships of "messages" + type messages { + # An object relationship + conversation: conversations! + conversationid: uuid! + created_at: timestamptz! + id: uuid! + image: Boolean! + image_path: String + isoutbound: Boolean! + msid: String! + read: Boolean! + status: String! + text: String + updated_at: timestamptz! + } + + # aggregated selection of "messages" + type messages_aggregate { + aggregate: messages_aggregate_fields + nodes: [messages!]! + } + + # aggregate fields of "messages" + type messages_aggregate_fields { + count(columns: [messages_select_column!], distinct: Boolean): Int + max: messages_max_fields + min: messages_min_fields + } + + # order by aggregate values of table "messages" + input messages_aggregate_order_by { + count: order_by + max: messages_max_order_by + min: messages_min_order_by + } + + # input type for inserting array relation for remote table "messages" + input messages_arr_rel_insert_input { + data: [messages_insert_input!]! + on_conflict: messages_on_conflict + } + + # Boolean expression to filter rows from the table "messages". All fields are combined with a logical 'AND'. + input messages_bool_exp { + _and: [messages_bool_exp] + _not: messages_bool_exp + _or: [messages_bool_exp] + conversation: conversations_bool_exp + conversationid: uuid_comparison_exp + created_at: timestamptz_comparison_exp + id: uuid_comparison_exp + image: Boolean_comparison_exp + image_path: String_comparison_exp + isoutbound: Boolean_comparison_exp + msid: String_comparison_exp + read: Boolean_comparison_exp + status: String_comparison_exp + text: String_comparison_exp + updated_at: timestamptz_comparison_exp + } + + # unique or primary key constraints on table "messages" + enum messages_constraint { + # unique or primary key constraint + messages_msid_key + + # unique or primary key constraint + messages_pkey + } + + # input type for inserting data into table "messages" + input messages_insert_input { + conversation: conversations_obj_rel_insert_input + conversationid: uuid + created_at: timestamptz + id: uuid + image: Boolean + image_path: String + isoutbound: Boolean + msid: String + read: Boolean + status: String + text: String + updated_at: timestamptz + } + + # aggregate max on columns + type messages_max_fields { + conversationid: uuid + created_at: timestamptz + id: uuid + image_path: String + msid: String + status: String + text: String + updated_at: timestamptz + } + + # order by max() on columns of table "messages" + input messages_max_order_by { + conversationid: order_by + created_at: order_by + id: order_by + image_path: order_by + msid: order_by + status: order_by + text: order_by + updated_at: order_by + } + + # aggregate min on columns + type messages_min_fields { + conversationid: uuid + created_at: timestamptz + id: uuid + image_path: String + msid: String + status: String + text: String + updated_at: timestamptz + } + + # order by min() on columns of table "messages" + input messages_min_order_by { + conversationid: order_by + created_at: order_by + id: order_by + image_path: order_by + msid: order_by + status: order_by + text: order_by + updated_at: order_by + } + + # response of any mutation on the table "messages" + type messages_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [messages!]! + } + + # input type for inserting object relation for remote table "messages" + input messages_obj_rel_insert_input { + data: messages_insert_input! + on_conflict: messages_on_conflict + } + + # on conflict condition type for table "messages" + input messages_on_conflict { + constraint: messages_constraint! + update_columns: [messages_update_column!]! + where: messages_bool_exp + } + + # ordering options when selecting data from "messages" + input messages_order_by { + conversation: conversations_order_by + conversationid: order_by + created_at: order_by + id: order_by + image: order_by + image_path: order_by + isoutbound: order_by + msid: order_by + read: order_by + status: order_by + text: order_by + updated_at: order_by + } + + # primary key columns input for table: "messages" + input messages_pk_columns_input { + id: uuid! + } + + # select columns of table "messages" + enum messages_select_column { + # column name + conversationid + + # column name + created_at + + # column name + id + + # column name + image + + # column name + image_path + + # column name + isoutbound + + # column name + msid + + # column name + read + + # column name + status + + # column name + text + + # column name + updated_at + } + + # input type for updating data in table "messages" + input messages_set_input { + conversationid: uuid + created_at: timestamptz + id: uuid + image: Boolean + image_path: String + isoutbound: Boolean + msid: String + read: Boolean + status: String + text: String + updated_at: timestamptz + } + + # update columns of table "messages" + enum messages_update_column { + # column name + conversationid + + # column name + created_at + + # column name + id + + # column name + image + + # column name + image_path + + # column name + isoutbound + + # column name + msid + + # column name + read + + # column name + status + + # column name + text + + # column name + updated_at + } + + # mutation root + type mutation_root { + # delete data from the table: "allocations" + delete_allocations( + # filter the rows which have to be deleted + where: allocations_bool_exp! + ): allocations_mutation_response + + # delete single row from the table: "allocations" + delete_allocations_by_pk(id: uuid!): allocations + + # delete data from the table: "appointments" + delete_appointments( + # filter the rows which have to be deleted + where: appointments_bool_exp! + ): appointments_mutation_response + + # delete single row from the table: "appointments" + delete_appointments_by_pk(id: uuid!): appointments + + # delete data from the table: "associations" + delete_associations( + # filter the rows which have to be deleted + where: associations_bool_exp! + ): associations_mutation_response + + # delete single row from the table: "associations" + delete_associations_by_pk(id: uuid!): associations + + # delete data from the table: "audit_trail" + delete_audit_trail( + # filter the rows which have to be deleted + where: audit_trail_bool_exp! + ): audit_trail_mutation_response + + # delete single row from the table: "audit_trail" + delete_audit_trail_by_pk(id: Int!): audit_trail + + # delete data from the table: "available_jobs" + delete_available_jobs( + # filter the rows which have to be deleted + where: available_jobs_bool_exp! + ): available_jobs_mutation_response + + # delete single row from the table: "available_jobs" + delete_available_jobs_by_pk(id: uuid!): available_jobs + + # delete data from the table: "bodyshops" + delete_bodyshops( + # filter the rows which have to be deleted + where: bodyshops_bool_exp! + ): bodyshops_mutation_response + + # delete single row from the table: "bodyshops" + delete_bodyshops_by_pk(id: uuid!): bodyshops + + # delete data from the table: "cccontracts" + delete_cccontracts( + # filter the rows which have to be deleted + where: cccontracts_bool_exp! + ): cccontracts_mutation_response + + # delete single row from the table: "cccontracts" + delete_cccontracts_by_pk(id: uuid!): cccontracts + + # delete data from the table: "conversations" + delete_conversations( + # filter the rows which have to be deleted + where: conversations_bool_exp! + ): conversations_mutation_response + + # delete single row from the table: "conversations" + delete_conversations_by_pk(id: uuid!): conversations + + # delete data from the table: "counters" + delete_counters( + # filter the rows which have to be deleted + where: counters_bool_exp! + ): counters_mutation_response + + # delete single row from the table: "counters" + delete_counters_by_pk(id: uuid!): counters + + # delete data from the table: "courtesycars" + delete_courtesycars( + # filter the rows which have to be deleted + where: courtesycars_bool_exp! + ): courtesycars_mutation_response + + # delete single row from the table: "courtesycars" + delete_courtesycars_by_pk(id: uuid!): courtesycars + + # delete data from the table: "csi" + delete_csi( + # filter the rows which have to be deleted + where: csi_bool_exp! + ): csi_mutation_response + + # delete single row from the table: "csi" + delete_csi_by_pk(id: uuid!): csi + + # delete data from the table: "csiquestions" + delete_csiquestions( + # filter the rows which have to be deleted + where: csiquestions_bool_exp! + ): csiquestions_mutation_response + + # delete single row from the table: "csiquestions" + delete_csiquestions_by_pk(id: uuid!): csiquestions + + # delete data from the table: "documents" + delete_documents( + # filter the rows which have to be deleted + where: documents_bool_exp! + ): documents_mutation_response + + # delete single row from the table: "documents" + delete_documents_by_pk(id: uuid!): documents + + # delete data from the table: "employees" + delete_employees( + # filter the rows which have to be deleted + where: employees_bool_exp! + ): employees_mutation_response + + # delete single row from the table: "employees" + delete_employees_by_pk(id: uuid!): employees + + # delete data from the table: "invoicelines" + delete_invoicelines( + # filter the rows which have to be deleted + where: invoicelines_bool_exp! + ): invoicelines_mutation_response + + # delete single row from the table: "invoicelines" + delete_invoicelines_by_pk(id: uuid!): invoicelines + + # delete data from the table: "invoices" + delete_invoices( + # filter the rows which have to be deleted + where: invoices_bool_exp! + ): invoices_mutation_response + + # delete single row from the table: "invoices" + delete_invoices_by_pk(id: uuid!): invoices + + # delete data from the table: "job_conversations" + delete_job_conversations( + # filter the rows which have to be deleted + where: job_conversations_bool_exp! + ): job_conversations_mutation_response + + # delete single row from the table: "job_conversations" + delete_job_conversations_by_pk( + conversationid: uuid! + jobid: uuid! + ): job_conversations + + # delete data from the table: "joblines" + delete_joblines( + # filter the rows which have to be deleted + where: joblines_bool_exp! + ): joblines_mutation_response + + # delete single row from the table: "joblines" + delete_joblines_by_pk(id: uuid!): joblines + + # delete data from the table: "jobs" + delete_jobs( + # filter the rows which have to be deleted + where: jobs_bool_exp! + ): jobs_mutation_response + + # delete single row from the table: "jobs" + delete_jobs_by_pk(id: uuid!): jobs + + # delete data from the table: "masterdata" + delete_masterdata( + # filter the rows which have to be deleted + where: masterdata_bool_exp! + ): masterdata_mutation_response + + # delete single row from the table: "masterdata" + delete_masterdata_by_pk(key: String!): masterdata + + # delete data from the table: "messages" + delete_messages( + # filter the rows which have to be deleted + where: messages_bool_exp! + ): messages_mutation_response + + # delete single row from the table: "messages" + delete_messages_by_pk(id: uuid!): messages + + # delete data from the table: "notes" + delete_notes( + # filter the rows which have to be deleted + where: notes_bool_exp! + ): notes_mutation_response + + # delete single row from the table: "notes" + delete_notes_by_pk(id: uuid!): notes + + # delete data from the table: "owners" + delete_owners( + # filter the rows which have to be deleted + where: owners_bool_exp! + ): owners_mutation_response + + # delete single row from the table: "owners" + delete_owners_by_pk(id: uuid!): owners + + # delete data from the table: "parts_order_lines" + delete_parts_order_lines( + # filter the rows which have to be deleted + where: parts_order_lines_bool_exp! + ): parts_order_lines_mutation_response + + # delete single row from the table: "parts_order_lines" + delete_parts_order_lines_by_pk(id: uuid!): parts_order_lines + + # delete data from the table: "parts_orders" + delete_parts_orders( + # filter the rows which have to be deleted + where: parts_orders_bool_exp! + ): parts_orders_mutation_response + + # delete single row from the table: "parts_orders" + delete_parts_orders_by_pk(id: uuid!): parts_orders + + # delete data from the table: "payments" + delete_payments( + # filter the rows which have to be deleted + where: payments_bool_exp! + ): payments_mutation_response + + # delete single row from the table: "payments" + delete_payments_by_pk(id: uuid!): payments + + # delete data from the table: "scoreboard" + delete_scoreboard( + # filter the rows which have to be deleted + where: scoreboard_bool_exp! + ): scoreboard_mutation_response + + # delete single row from the table: "scoreboard" + delete_scoreboard_by_pk(id: uuid!): scoreboard + + # delete data from the table: "templates" + delete_templates( + # filter the rows which have to be deleted + where: templates_bool_exp! + ): templates_mutation_response + + # delete single row from the table: "templates" + delete_templates_by_pk(id: uuid!): templates + + # delete data from the table: "timetickets" + delete_timetickets( + # filter the rows which have to be deleted + where: timetickets_bool_exp! + ): timetickets_mutation_response + + # delete single row from the table: "timetickets" + delete_timetickets_by_pk(id: uuid!): timetickets + + # delete data from the table: "users" + delete_users( + # filter the rows which have to be deleted + where: users_bool_exp! + ): users_mutation_response + + # delete single row from the table: "users" + delete_users_by_pk(email: String!): users + + # delete data from the table: "vehicles" + delete_vehicles( + # filter the rows which have to be deleted + where: vehicles_bool_exp! + ): vehicles_mutation_response + + # delete single row from the table: "vehicles" + delete_vehicles_by_pk(id: uuid!): vehicles + + # delete data from the table: "vendors" + delete_vendors( + # filter the rows which have to be deleted + where: vendors_bool_exp! + ): vendors_mutation_response + + # delete single row from the table: "vendors" + delete_vendors_by_pk(id: uuid!): vendors + + # insert data into the table: "allocations" + insert_allocations( + # the rows to be inserted + objects: [allocations_insert_input!]! + + # on conflict condition + on_conflict: allocations_on_conflict + ): allocations_mutation_response + + # insert a single row into the table: "allocations" + insert_allocations_one( + # the row to be inserted + object: allocations_insert_input! + + # on conflict condition + on_conflict: allocations_on_conflict + ): allocations + + # insert data into the table: "appointments" + insert_appointments( + # the rows to be inserted + objects: [appointments_insert_input!]! + + # on conflict condition + on_conflict: appointments_on_conflict + ): appointments_mutation_response + + # insert a single row into the table: "appointments" + insert_appointments_one( + # the row to be inserted + object: appointments_insert_input! + + # on conflict condition + on_conflict: appointments_on_conflict + ): appointments + + # insert data into the table: "associations" + insert_associations( + # the rows to be inserted + objects: [associations_insert_input!]! + + # on conflict condition + on_conflict: associations_on_conflict + ): associations_mutation_response + + # insert a single row into the table: "associations" + insert_associations_one( + # the row to be inserted + object: associations_insert_input! + + # on conflict condition + on_conflict: associations_on_conflict + ): associations + + # insert data into the table: "audit_trail" + insert_audit_trail( + # the rows to be inserted + objects: [audit_trail_insert_input!]! + + # on conflict condition + on_conflict: audit_trail_on_conflict + ): audit_trail_mutation_response + + # insert a single row into the table: "audit_trail" + insert_audit_trail_one( + # the row to be inserted + object: audit_trail_insert_input! + + # on conflict condition + on_conflict: audit_trail_on_conflict + ): audit_trail + + # insert data into the table: "available_jobs" + insert_available_jobs( + # the rows to be inserted + objects: [available_jobs_insert_input!]! + + # on conflict condition + on_conflict: available_jobs_on_conflict + ): available_jobs_mutation_response + + # insert a single row into the table: "available_jobs" + insert_available_jobs_one( + # the row to be inserted + object: available_jobs_insert_input! + + # on conflict condition + on_conflict: available_jobs_on_conflict + ): available_jobs + + # insert data into the table: "bodyshops" + insert_bodyshops( + # the rows to be inserted + objects: [bodyshops_insert_input!]! + + # on conflict condition + on_conflict: bodyshops_on_conflict + ): bodyshops_mutation_response + + # insert a single row into the table: "bodyshops" + insert_bodyshops_one( + # the row to be inserted + object: bodyshops_insert_input! + + # on conflict condition + on_conflict: bodyshops_on_conflict + ): bodyshops + + # insert data into the table: "cccontracts" + insert_cccontracts( + # the rows to be inserted + objects: [cccontracts_insert_input!]! + + # on conflict condition + on_conflict: cccontracts_on_conflict + ): cccontracts_mutation_response + + # insert a single row into the table: "cccontracts" + insert_cccontracts_one( + # the row to be inserted + object: cccontracts_insert_input! + + # on conflict condition + on_conflict: cccontracts_on_conflict + ): cccontracts + + # insert data into the table: "conversations" + insert_conversations( + # the rows to be inserted + objects: [conversations_insert_input!]! + + # on conflict condition + on_conflict: conversations_on_conflict + ): conversations_mutation_response + + # insert a single row into the table: "conversations" + insert_conversations_one( + # the row to be inserted + object: conversations_insert_input! + + # on conflict condition + on_conflict: conversations_on_conflict + ): conversations + + # insert data into the table: "counters" + insert_counters( + # the rows to be inserted + objects: [counters_insert_input!]! + + # on conflict condition + on_conflict: counters_on_conflict + ): counters_mutation_response + + # insert a single row into the table: "counters" + insert_counters_one( + # the row to be inserted + object: counters_insert_input! + + # on conflict condition + on_conflict: counters_on_conflict + ): counters + + # insert data into the table: "courtesycars" + insert_courtesycars( + # the rows to be inserted + objects: [courtesycars_insert_input!]! + + # on conflict condition + on_conflict: courtesycars_on_conflict + ): courtesycars_mutation_response + + # insert a single row into the table: "courtesycars" + insert_courtesycars_one( + # the row to be inserted + object: courtesycars_insert_input! + + # on conflict condition + on_conflict: courtesycars_on_conflict + ): courtesycars + + # insert data into the table: "csi" + insert_csi( + # the rows to be inserted + objects: [csi_insert_input!]! + + # on conflict condition + on_conflict: csi_on_conflict + ): csi_mutation_response + + # insert a single row into the table: "csi" + insert_csi_one( + # the row to be inserted + object: csi_insert_input! + + # on conflict condition + on_conflict: csi_on_conflict + ): csi + + # insert data into the table: "csiquestions" + insert_csiquestions( + # the rows to be inserted + objects: [csiquestions_insert_input!]! + + # on conflict condition + on_conflict: csiquestions_on_conflict + ): csiquestions_mutation_response + + # insert a single row into the table: "csiquestions" + insert_csiquestions_one( + # the row to be inserted + object: csiquestions_insert_input! + + # on conflict condition + on_conflict: csiquestions_on_conflict + ): csiquestions + + # insert data into the table: "documents" + insert_documents( + # the rows to be inserted + objects: [documents_insert_input!]! + + # on conflict condition + on_conflict: documents_on_conflict + ): documents_mutation_response + + # insert a single row into the table: "documents" + insert_documents_one( + # the row to be inserted + object: documents_insert_input! + + # on conflict condition + on_conflict: documents_on_conflict + ): documents + + # insert data into the table: "employees" + insert_employees( + # the rows to be inserted + objects: [employees_insert_input!]! + + # on conflict condition + on_conflict: employees_on_conflict + ): employees_mutation_response + + # insert a single row into the table: "employees" + insert_employees_one( + # the row to be inserted + object: employees_insert_input! + + # on conflict condition + on_conflict: employees_on_conflict + ): employees + + # insert data into the table: "invoicelines" + insert_invoicelines( + # the rows to be inserted + objects: [invoicelines_insert_input!]! + + # on conflict condition + on_conflict: invoicelines_on_conflict + ): invoicelines_mutation_response + + # insert a single row into the table: "invoicelines" + insert_invoicelines_one( + # the row to be inserted + object: invoicelines_insert_input! + + # on conflict condition + on_conflict: invoicelines_on_conflict + ): invoicelines + + # insert data into the table: "invoices" + insert_invoices( + # the rows to be inserted + objects: [invoices_insert_input!]! + + # on conflict condition + on_conflict: invoices_on_conflict + ): invoices_mutation_response + + # insert a single row into the table: "invoices" + insert_invoices_one( + # the row to be inserted + object: invoices_insert_input! + + # on conflict condition + on_conflict: invoices_on_conflict + ): invoices + + # insert data into the table: "job_conversations" + insert_job_conversations( + # the rows to be inserted + objects: [job_conversations_insert_input!]! + + # on conflict condition + on_conflict: job_conversations_on_conflict + ): job_conversations_mutation_response + + # insert a single row into the table: "job_conversations" + insert_job_conversations_one( + # the row to be inserted + object: job_conversations_insert_input! + + # on conflict condition + on_conflict: job_conversations_on_conflict + ): job_conversations + + # insert data into the table: "joblines" + insert_joblines( + # the rows to be inserted + objects: [joblines_insert_input!]! + + # on conflict condition + on_conflict: joblines_on_conflict + ): joblines_mutation_response + + # insert a single row into the table: "joblines" + insert_joblines_one( + # the row to be inserted + object: joblines_insert_input! + + # on conflict condition + on_conflict: joblines_on_conflict + ): joblines + + # insert data into the table: "jobs" + insert_jobs( + # the rows to be inserted + objects: [jobs_insert_input!]! + + # on conflict condition + on_conflict: jobs_on_conflict + ): jobs_mutation_response + + # insert a single row into the table: "jobs" + insert_jobs_one( + # the row to be inserted + object: jobs_insert_input! + + # on conflict condition + on_conflict: jobs_on_conflict + ): jobs + + # insert data into the table: "masterdata" + insert_masterdata( + # the rows to be inserted + objects: [masterdata_insert_input!]! + + # on conflict condition + on_conflict: masterdata_on_conflict + ): masterdata_mutation_response + + # insert a single row into the table: "masterdata" + insert_masterdata_one( + # the row to be inserted + object: masterdata_insert_input! + + # on conflict condition + on_conflict: masterdata_on_conflict + ): masterdata + + # insert data into the table: "messages" + insert_messages( + # the rows to be inserted + objects: [messages_insert_input!]! + + # on conflict condition + on_conflict: messages_on_conflict + ): messages_mutation_response + + # insert a single row into the table: "messages" + insert_messages_one( + # the row to be inserted + object: messages_insert_input! + + # on conflict condition + on_conflict: messages_on_conflict + ): messages + + # insert data into the table: "notes" + insert_notes( + # the rows to be inserted + objects: [notes_insert_input!]! + + # on conflict condition + on_conflict: notes_on_conflict + ): notes_mutation_response + + # insert a single row into the table: "notes" + insert_notes_one( + # the row to be inserted + object: notes_insert_input! + + # on conflict condition + on_conflict: notes_on_conflict + ): notes + + # insert data into the table: "owners" + insert_owners( + # the rows to be inserted + objects: [owners_insert_input!]! + + # on conflict condition + on_conflict: owners_on_conflict + ): owners_mutation_response + + # insert a single row into the table: "owners" + insert_owners_one( + # the row to be inserted + object: owners_insert_input! + + # on conflict condition + on_conflict: owners_on_conflict + ): owners + + # insert data into the table: "parts_order_lines" + insert_parts_order_lines( + # the rows to be inserted + objects: [parts_order_lines_insert_input!]! + + # on conflict condition + on_conflict: parts_order_lines_on_conflict + ): parts_order_lines_mutation_response + + # insert a single row into the table: "parts_order_lines" + insert_parts_order_lines_one( + # the row to be inserted + object: parts_order_lines_insert_input! + + # on conflict condition + on_conflict: parts_order_lines_on_conflict + ): parts_order_lines + + # insert data into the table: "parts_orders" + insert_parts_orders( + # the rows to be inserted + objects: [parts_orders_insert_input!]! + + # on conflict condition + on_conflict: parts_orders_on_conflict + ): parts_orders_mutation_response + + # insert a single row into the table: "parts_orders" + insert_parts_orders_one( + # the row to be inserted + object: parts_orders_insert_input! + + # on conflict condition + on_conflict: parts_orders_on_conflict + ): parts_orders + + # insert data into the table: "payments" + insert_payments( + # the rows to be inserted + objects: [payments_insert_input!]! + + # on conflict condition + on_conflict: payments_on_conflict + ): payments_mutation_response + + # insert a single row into the table: "payments" + insert_payments_one( + # the row to be inserted + object: payments_insert_input! + + # on conflict condition + on_conflict: payments_on_conflict + ): payments + + # insert data into the table: "scoreboard" + insert_scoreboard( + # the rows to be inserted + objects: [scoreboard_insert_input!]! + + # on conflict condition + on_conflict: scoreboard_on_conflict + ): scoreboard_mutation_response + + # insert a single row into the table: "scoreboard" + insert_scoreboard_one( + # the row to be inserted + object: scoreboard_insert_input! + + # on conflict condition + on_conflict: scoreboard_on_conflict + ): scoreboard + + # insert data into the table: "templates" + insert_templates( + # the rows to be inserted + objects: [templates_insert_input!]! + + # on conflict condition + on_conflict: templates_on_conflict + ): templates_mutation_response + + # insert a single row into the table: "templates" + insert_templates_one( + # the row to be inserted + object: templates_insert_input! + + # on conflict condition + on_conflict: templates_on_conflict + ): templates + + # insert data into the table: "timetickets" + insert_timetickets( + # the rows to be inserted + objects: [timetickets_insert_input!]! + + # on conflict condition + on_conflict: timetickets_on_conflict + ): timetickets_mutation_response + + # insert a single row into the table: "timetickets" + insert_timetickets_one( + # the row to be inserted + object: timetickets_insert_input! + + # on conflict condition + on_conflict: timetickets_on_conflict + ): timetickets + + # insert data into the table: "users" + insert_users( + # the rows to be inserted + objects: [users_insert_input!]! + + # on conflict condition + on_conflict: users_on_conflict + ): users_mutation_response + + # insert a single row into the table: "users" + insert_users_one( + # the row to be inserted + object: users_insert_input! + + # on conflict condition + on_conflict: users_on_conflict + ): users + + # insert data into the table: "vehicles" + insert_vehicles( + # the rows to be inserted + objects: [vehicles_insert_input!]! + + # on conflict condition + on_conflict: vehicles_on_conflict + ): vehicles_mutation_response + + # insert a single row into the table: "vehicles" + insert_vehicles_one( + # the row to be inserted + object: vehicles_insert_input! + + # on conflict condition + on_conflict: vehicles_on_conflict + ): vehicles + + # insert data into the table: "vendors" + insert_vendors( + # the rows to be inserted + objects: [vendors_insert_input!]! + + # on conflict condition + on_conflict: vendors_on_conflict + ): vendors_mutation_response + + # insert a single row into the table: "vendors" + insert_vendors_one( + # the row to be inserted + object: vendors_insert_input! + + # on conflict condition + on_conflict: vendors_on_conflict + ): vendors + + # update data of the table: "allocations" + update_allocations( + # increments the integer columns with given value of the filtered values + _inc: allocations_inc_input + + # sets the columns of the filtered rows to the given values + _set: allocations_set_input + + # filter the rows which have to be updated + where: allocations_bool_exp! + ): allocations_mutation_response + + # update single row of the table: "allocations" + update_allocations_by_pk( + # increments the integer columns with given value of the filtered values + _inc: allocations_inc_input + + # sets the columns of the filtered rows to the given values + _set: allocations_set_input + pk_columns: allocations_pk_columns_input! + ): allocations + + # update data of the table: "appointments" + update_appointments( + # sets the columns of the filtered rows to the given values + _set: appointments_set_input + + # filter the rows which have to be updated + where: appointments_bool_exp! + ): appointments_mutation_response + + # update single row of the table: "appointments" + update_appointments_by_pk( + # sets the columns of the filtered rows to the given values + _set: appointments_set_input + pk_columns: appointments_pk_columns_input! + ): appointments + + # update data of the table: "associations" + update_associations( + # increments the integer columns with given value of the filtered values + _inc: associations_inc_input + + # sets the columns of the filtered rows to the given values + _set: associations_set_input + + # filter the rows which have to be updated + where: associations_bool_exp! + ): associations_mutation_response + + # update single row of the table: "associations" + update_associations_by_pk( + # increments the integer columns with given value of the filtered values + _inc: associations_inc_input + + # sets the columns of the filtered rows to the given values + _set: associations_set_input + pk_columns: associations_pk_columns_input! + ): associations + + # update data of the table: "audit_trail" + update_audit_trail( + # increments the integer columns with given value of the filtered values + _inc: audit_trail_inc_input + + # sets the columns of the filtered rows to the given values + _set: audit_trail_set_input + + # filter the rows which have to be updated + where: audit_trail_bool_exp! + ): audit_trail_mutation_response + + # update single row of the table: "audit_trail" + update_audit_trail_by_pk( + # increments the integer columns with given value of the filtered values + _inc: audit_trail_inc_input + + # sets the columns of the filtered rows to the given values + _set: audit_trail_set_input + pk_columns: audit_trail_pk_columns_input! + ): audit_trail + + # update data of the table: "available_jobs" + update_available_jobs( + # append existing jsonb value of filtered columns with new jsonb value + _append: available_jobs_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: available_jobs_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: available_jobs_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: available_jobs_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: available_jobs_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: available_jobs_prepend_input + + # sets the columns of the filtered rows to the given values + _set: available_jobs_set_input + + # filter the rows which have to be updated + where: available_jobs_bool_exp! + ): available_jobs_mutation_response + + # update single row of the table: "available_jobs" + update_available_jobs_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: available_jobs_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: available_jobs_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: available_jobs_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: available_jobs_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: available_jobs_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: available_jobs_prepend_input + + # sets the columns of the filtered rows to the given values + _set: available_jobs_set_input + pk_columns: available_jobs_pk_columns_input! + ): available_jobs + + # update data of the table: "bodyshops" + update_bodyshops( + # append existing jsonb value of filtered columns with new jsonb value + _append: bodyshops_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: bodyshops_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: bodyshops_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: bodyshops_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: bodyshops_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: bodyshops_prepend_input + + # sets the columns of the filtered rows to the given values + _set: bodyshops_set_input + + # filter the rows which have to be updated + where: bodyshops_bool_exp! + ): bodyshops_mutation_response + + # update single row of the table: "bodyshops" + update_bodyshops_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: bodyshops_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: bodyshops_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: bodyshops_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: bodyshops_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: bodyshops_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: bodyshops_prepend_input + + # sets the columns of the filtered rows to the given values + _set: bodyshops_set_input + pk_columns: bodyshops_pk_columns_input! + ): bodyshops + + # update data of the table: "cccontracts" + update_cccontracts( + # increments the integer columns with given value of the filtered values + _inc: cccontracts_inc_input + + # sets the columns of the filtered rows to the given values + _set: cccontracts_set_input + + # filter the rows which have to be updated + where: cccontracts_bool_exp! + ): cccontracts_mutation_response + + # update single row of the table: "cccontracts" + update_cccontracts_by_pk( + # increments the integer columns with given value of the filtered values + _inc: cccontracts_inc_input + + # sets the columns of the filtered rows to the given values + _set: cccontracts_set_input + pk_columns: cccontracts_pk_columns_input! + ): cccontracts + + # update data of the table: "conversations" + update_conversations( + # sets the columns of the filtered rows to the given values + _set: conversations_set_input + + # filter the rows which have to be updated + where: conversations_bool_exp! + ): conversations_mutation_response + + # update single row of the table: "conversations" + update_conversations_by_pk( + # sets the columns of the filtered rows to the given values + _set: conversations_set_input + pk_columns: conversations_pk_columns_input! + ): conversations + + # update data of the table: "counters" + update_counters( + # increments the integer columns with given value of the filtered values + _inc: counters_inc_input + + # sets the columns of the filtered rows to the given values + _set: counters_set_input + + # filter the rows which have to be updated + where: counters_bool_exp! + ): counters_mutation_response + + # update single row of the table: "counters" + update_counters_by_pk( + # increments the integer columns with given value of the filtered values + _inc: counters_inc_input + + # sets the columns of the filtered rows to the given values + _set: counters_set_input + pk_columns: counters_pk_columns_input! + ): counters + + # update data of the table: "courtesycars" + update_courtesycars( + # increments the integer columns with given value of the filtered values + _inc: courtesycars_inc_input + + # sets the columns of the filtered rows to the given values + _set: courtesycars_set_input + + # filter the rows which have to be updated + where: courtesycars_bool_exp! + ): courtesycars_mutation_response + + # update single row of the table: "courtesycars" + update_courtesycars_by_pk( + # increments the integer columns with given value of the filtered values + _inc: courtesycars_inc_input + + # sets the columns of the filtered rows to the given values + _set: courtesycars_set_input + pk_columns: courtesycars_pk_columns_input! + ): courtesycars + + # update data of the table: "csi" + update_csi( + # append existing jsonb value of filtered columns with new jsonb value + _append: csi_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: csi_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: csi_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: csi_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: csi_prepend_input + + # sets the columns of the filtered rows to the given values + _set: csi_set_input + + # filter the rows which have to be updated + where: csi_bool_exp! + ): csi_mutation_response + + # update single row of the table: "csi" + update_csi_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: csi_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: csi_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: csi_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: csi_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: csi_prepend_input + + # sets the columns of the filtered rows to the given values + _set: csi_set_input + pk_columns: csi_pk_columns_input! + ): csi + + # update data of the table: "csiquestions" + update_csiquestions( + # append existing jsonb value of filtered columns with new jsonb value + _append: csiquestions_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: csiquestions_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: csiquestions_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: csiquestions_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: csiquestions_prepend_input + + # sets the columns of the filtered rows to the given values + _set: csiquestions_set_input + + # filter the rows which have to be updated + where: csiquestions_bool_exp! + ): csiquestions_mutation_response + + # update single row of the table: "csiquestions" + update_csiquestions_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: csiquestions_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: csiquestions_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: csiquestions_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: csiquestions_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: csiquestions_prepend_input + + # sets the columns of the filtered rows to the given values + _set: csiquestions_set_input + pk_columns: csiquestions_pk_columns_input! + ): csiquestions + + # update data of the table: "documents" + update_documents( + # sets the columns of the filtered rows to the given values + _set: documents_set_input + + # filter the rows which have to be updated + where: documents_bool_exp! + ): documents_mutation_response + + # update single row of the table: "documents" + update_documents_by_pk( + # sets the columns of the filtered rows to the given values + _set: documents_set_input + pk_columns: documents_pk_columns_input! + ): documents + + # update data of the table: "employees" + update_employees( + # increments the integer columns with given value of the filtered values + _inc: employees_inc_input + + # sets the columns of the filtered rows to the given values + _set: employees_set_input + + # filter the rows which have to be updated + where: employees_bool_exp! + ): employees_mutation_response + + # update single row of the table: "employees" + update_employees_by_pk( + # increments the integer columns with given value of the filtered values + _inc: employees_inc_input + + # sets the columns of the filtered rows to the given values + _set: employees_set_input + pk_columns: employees_pk_columns_input! + ): employees + + # update data of the table: "invoicelines" + update_invoicelines( + # append existing jsonb value of filtered columns with new jsonb value + _append: invoicelines_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: invoicelines_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: invoicelines_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: invoicelines_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: invoicelines_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: invoicelines_prepend_input + + # sets the columns of the filtered rows to the given values + _set: invoicelines_set_input + + # filter the rows which have to be updated + where: invoicelines_bool_exp! + ): invoicelines_mutation_response + + # update single row of the table: "invoicelines" + update_invoicelines_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: invoicelines_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: invoicelines_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: invoicelines_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: invoicelines_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: invoicelines_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: invoicelines_prepend_input + + # sets the columns of the filtered rows to the given values + _set: invoicelines_set_input + pk_columns: invoicelines_pk_columns_input! + ): invoicelines + + # update data of the table: "invoices" + update_invoices( + # increments the integer columns with given value of the filtered values + _inc: invoices_inc_input + + # sets the columns of the filtered rows to the given values + _set: invoices_set_input + + # filter the rows which have to be updated + where: invoices_bool_exp! + ): invoices_mutation_response + + # update single row of the table: "invoices" + update_invoices_by_pk( + # increments the integer columns with given value of the filtered values + _inc: invoices_inc_input + + # sets the columns of the filtered rows to the given values + _set: invoices_set_input + pk_columns: invoices_pk_columns_input! + ): invoices + + # update data of the table: "job_conversations" + update_job_conversations( + # sets the columns of the filtered rows to the given values + _set: job_conversations_set_input + + # filter the rows which have to be updated + where: job_conversations_bool_exp! + ): job_conversations_mutation_response + + # update single row of the table: "job_conversations" + update_job_conversations_by_pk( + # sets the columns of the filtered rows to the given values + _set: job_conversations_set_input + pk_columns: job_conversations_pk_columns_input! + ): job_conversations + + # update data of the table: "joblines" + update_joblines( + # increments the integer columns with given value of the filtered values + _inc: joblines_inc_input + + # sets the columns of the filtered rows to the given values + _set: joblines_set_input + + # filter the rows which have to be updated + where: joblines_bool_exp! + ): joblines_mutation_response + + # update single row of the table: "joblines" + update_joblines_by_pk( + # increments the integer columns with given value of the filtered values + _inc: joblines_inc_input + + # sets the columns of the filtered rows to the given values + _set: joblines_set_input + pk_columns: joblines_pk_columns_input! + ): joblines + + # update data of the table: "jobs" + update_jobs( + # append existing jsonb value of filtered columns with new jsonb value + _append: jobs_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: jobs_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: jobs_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: jobs_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: jobs_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: jobs_prepend_input + + # sets the columns of the filtered rows to the given values + _set: jobs_set_input + + # filter the rows which have to be updated + where: jobs_bool_exp! + ): jobs_mutation_response + + # update single row of the table: "jobs" + update_jobs_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: jobs_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: jobs_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: jobs_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: jobs_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: jobs_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: jobs_prepend_input + + # sets the columns of the filtered rows to the given values + _set: jobs_set_input + pk_columns: jobs_pk_columns_input! + ): jobs + + # update data of the table: "masterdata" + update_masterdata( + # sets the columns of the filtered rows to the given values + _set: masterdata_set_input + + # filter the rows which have to be updated + where: masterdata_bool_exp! + ): masterdata_mutation_response + + # update single row of the table: "masterdata" + update_masterdata_by_pk( + # sets the columns of the filtered rows to the given values + _set: masterdata_set_input + pk_columns: masterdata_pk_columns_input! + ): masterdata + + # update data of the table: "messages" + update_messages( + # sets the columns of the filtered rows to the given values + _set: messages_set_input + + # filter the rows which have to be updated + where: messages_bool_exp! + ): messages_mutation_response + + # update single row of the table: "messages" + update_messages_by_pk( + # sets the columns of the filtered rows to the given values + _set: messages_set_input + pk_columns: messages_pk_columns_input! + ): messages + + # update data of the table: "notes" + update_notes( + # sets the columns of the filtered rows to the given values + _set: notes_set_input + + # filter the rows which have to be updated + where: notes_bool_exp! + ): notes_mutation_response + + # update single row of the table: "notes" + update_notes_by_pk( + # sets the columns of the filtered rows to the given values + _set: notes_set_input + pk_columns: notes_pk_columns_input! + ): notes + + # update data of the table: "owners" + update_owners( + # increments the integer columns with given value of the filtered values + _inc: owners_inc_input + + # sets the columns of the filtered rows to the given values + _set: owners_set_input + + # filter the rows which have to be updated + where: owners_bool_exp! + ): owners_mutation_response + + # update single row of the table: "owners" + update_owners_by_pk( + # increments the integer columns with given value of the filtered values + _inc: owners_inc_input + + # sets the columns of the filtered rows to the given values + _set: owners_set_input + pk_columns: owners_pk_columns_input! + ): owners + + # update data of the table: "parts_order_lines" + update_parts_order_lines( + # increments the integer columns with given value of the filtered values + _inc: parts_order_lines_inc_input + + # sets the columns of the filtered rows to the given values + _set: parts_order_lines_set_input + + # filter the rows which have to be updated + where: parts_order_lines_bool_exp! + ): parts_order_lines_mutation_response + + # update single row of the table: "parts_order_lines" + update_parts_order_lines_by_pk( + # increments the integer columns with given value of the filtered values + _inc: parts_order_lines_inc_input + + # sets the columns of the filtered rows to the given values + _set: parts_order_lines_set_input + pk_columns: parts_order_lines_pk_columns_input! + ): parts_order_lines + + # update data of the table: "parts_orders" + update_parts_orders( + # increments the integer columns with given value of the filtered values + _inc: parts_orders_inc_input + + # sets the columns of the filtered rows to the given values + _set: parts_orders_set_input + + # filter the rows which have to be updated + where: parts_orders_bool_exp! + ): parts_orders_mutation_response + + # update single row of the table: "parts_orders" + update_parts_orders_by_pk( + # increments the integer columns with given value of the filtered values + _inc: parts_orders_inc_input + + # sets the columns of the filtered rows to the given values + _set: parts_orders_set_input + pk_columns: parts_orders_pk_columns_input! + ): parts_orders + + # update data of the table: "payments" + update_payments( + # increments the integer columns with given value of the filtered values + _inc: payments_inc_input + + # sets the columns of the filtered rows to the given values + _set: payments_set_input + + # filter the rows which have to be updated + where: payments_bool_exp! + ): payments_mutation_response + + # update single row of the table: "payments" + update_payments_by_pk( + # increments the integer columns with given value of the filtered values + _inc: payments_inc_input + + # sets the columns of the filtered rows to the given values + _set: payments_set_input + pk_columns: payments_pk_columns_input! + ): payments + + # update data of the table: "scoreboard" + update_scoreboard( + # increments the integer columns with given value of the filtered values + _inc: scoreboard_inc_input + + # sets the columns of the filtered rows to the given values + _set: scoreboard_set_input + + # filter the rows which have to be updated + where: scoreboard_bool_exp! + ): scoreboard_mutation_response + + # update single row of the table: "scoreboard" + update_scoreboard_by_pk( + # increments the integer columns with given value of the filtered values + _inc: scoreboard_inc_input + + # sets the columns of the filtered rows to the given values + _set: scoreboard_set_input + pk_columns: scoreboard_pk_columns_input! + ): scoreboard + + # update data of the table: "templates" + update_templates( + # append existing jsonb value of filtered columns with new jsonb value + _append: templates_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: templates_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: templates_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: templates_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: templates_prepend_input + + # sets the columns of the filtered rows to the given values + _set: templates_set_input + + # filter the rows which have to be updated + where: templates_bool_exp! + ): templates_mutation_response + + # update single row of the table: "templates" + update_templates_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: templates_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: templates_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: templates_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: templates_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: templates_prepend_input + + # sets the columns of the filtered rows to the given values + _set: templates_set_input + pk_columns: templates_pk_columns_input! + ): templates + + # update data of the table: "timetickets" + update_timetickets( + # increments the integer columns with given value of the filtered values + _inc: timetickets_inc_input + + # sets the columns of the filtered rows to the given values + _set: timetickets_set_input + + # filter the rows which have to be updated + where: timetickets_bool_exp! + ): timetickets_mutation_response + + # update single row of the table: "timetickets" + update_timetickets_by_pk( + # increments the integer columns with given value of the filtered values + _inc: timetickets_inc_input + + # sets the columns of the filtered rows to the given values + _set: timetickets_set_input + pk_columns: timetickets_pk_columns_input! + ): timetickets + + # update data of the table: "users" + update_users( + # append existing jsonb value of filtered columns with new jsonb value + _append: users_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: users_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: users_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: users_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: users_prepend_input + + # sets the columns of the filtered rows to the given values + _set: users_set_input + + # filter the rows which have to be updated + where: users_bool_exp! + ): users_mutation_response + + # update single row of the table: "users" + update_users_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: users_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: users_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: users_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: users_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: users_prepend_input + + # sets the columns of the filtered rows to the given values + _set: users_set_input + pk_columns: users_pk_columns_input! + ): users + + # update data of the table: "vehicles" + update_vehicles( + # append existing jsonb value of filtered columns with new jsonb value + _append: vehicles_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: vehicles_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: vehicles_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: vehicles_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: vehicles_prepend_input + + # sets the columns of the filtered rows to the given values + _set: vehicles_set_input + + # filter the rows which have to be updated + where: vehicles_bool_exp! + ): vehicles_mutation_response + + # update single row of the table: "vehicles" + update_vehicles_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: vehicles_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: vehicles_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: vehicles_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: vehicles_delete_key_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: vehicles_prepend_input + + # sets the columns of the filtered rows to the given values + _set: vehicles_set_input + pk_columns: vehicles_pk_columns_input! + ): vehicles + + # update data of the table: "vendors" + update_vendors( + # append existing jsonb value of filtered columns with new jsonb value + _append: vendors_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: vendors_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: vendors_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: vendors_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: vendors_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: vendors_prepend_input + + # sets the columns of the filtered rows to the given values + _set: vendors_set_input + + # filter the rows which have to be updated + where: vendors_bool_exp! + ): vendors_mutation_response + + # update single row of the table: "vendors" + update_vendors_by_pk( + # append existing jsonb value of filtered columns with new jsonb value + _append: vendors_append_input + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + _delete_at_path: vendors_delete_at_path_input + + # delete the array element with specified index (negative integers count from + # the end). throws an error if top level container is not an array + _delete_elem: vendors_delete_elem_input + + # delete key/value pair or string element. key/value pairs are matched based on their key value + _delete_key: vendors_delete_key_input + + # increments the integer columns with given value of the filtered values + _inc: vendors_inc_input + + # prepend existing jsonb value of filtered columns with new jsonb value + _prepend: vendors_prepend_input + + # sets the columns of the filtered rows to the given values + _set: vendors_set_input + pk_columns: vendors_pk_columns_input! + ): vendors + } + + # columns and relationships of "notes" + type notes { + created_at: timestamptz! + created_by: String! + critical: Boolean! + id: uuid! + + # An object relationship + job: jobs! + jobid: uuid! + private: Boolean! + text: String + updated_at: timestamptz! + + # An object relationship + user: users! + } + + # aggregated selection of "notes" + type notes_aggregate { + aggregate: notes_aggregate_fields + nodes: [notes!]! + } + + # aggregate fields of "notes" + type notes_aggregate_fields { + count(columns: [notes_select_column!], distinct: Boolean): Int + max: notes_max_fields + min: notes_min_fields + } + + # order by aggregate values of table "notes" + input notes_aggregate_order_by { + count: order_by + max: notes_max_order_by + min: notes_min_order_by + } + + # input type for inserting array relation for remote table "notes" + input notes_arr_rel_insert_input { + data: [notes_insert_input!]! + on_conflict: notes_on_conflict + } + + # Boolean expression to filter rows from the table "notes". All fields are combined with a logical 'AND'. + input notes_bool_exp { + _and: [notes_bool_exp] + _not: notes_bool_exp + _or: [notes_bool_exp] + created_at: timestamptz_comparison_exp + created_by: String_comparison_exp + critical: Boolean_comparison_exp + id: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + private: Boolean_comparison_exp + text: String_comparison_exp + updated_at: timestamptz_comparison_exp + user: users_bool_exp + } + + # unique or primary key constraints on table "notes" + enum notes_constraint { + # unique or primary key constraint + notes_pkey + } + + # input type for inserting data into table "notes" + input notes_insert_input { + created_at: timestamptz + created_by: String + critical: Boolean + id: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + private: Boolean + text: String + updated_at: timestamptz + user: users_obj_rel_insert_input + } + + # aggregate max on columns + type notes_max_fields { + created_at: timestamptz + created_by: String + id: uuid + jobid: uuid + text: String + updated_at: timestamptz + } + + # order by max() on columns of table "notes" + input notes_max_order_by { + created_at: order_by + created_by: order_by + id: order_by + jobid: order_by + text: order_by + updated_at: order_by + } + + # aggregate min on columns + type notes_min_fields { + created_at: timestamptz + created_by: String + id: uuid + jobid: uuid + text: String + updated_at: timestamptz + } + + # order by min() on columns of table "notes" + input notes_min_order_by { + created_at: order_by + created_by: order_by + id: order_by + jobid: order_by + text: order_by + updated_at: order_by + } + + # response of any mutation on the table "notes" + type notes_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [notes!]! + } + + # input type for inserting object relation for remote table "notes" + input notes_obj_rel_insert_input { + data: notes_insert_input! + on_conflict: notes_on_conflict + } + + # on conflict condition type for table "notes" + input notes_on_conflict { + constraint: notes_constraint! + update_columns: [notes_update_column!]! + where: notes_bool_exp + } + + # ordering options when selecting data from "notes" + input notes_order_by { + created_at: order_by + created_by: order_by + critical: order_by + id: order_by + job: jobs_order_by + jobid: order_by + private: order_by + text: order_by + updated_at: order_by + user: users_order_by + } + + # primary key columns input for table: "notes" + input notes_pk_columns_input { + id: uuid! + } + + # select columns of table "notes" + enum notes_select_column { + # column name + created_at + + # column name + created_by + + # column name + critical + + # column name + id + + # column name + jobid + + # column name + private + + # column name + text + + # column name + updated_at + } + + # input type for updating data in table "notes" + input notes_set_input { + created_at: timestamptz + created_by: String + critical: Boolean + id: uuid + jobid: uuid + private: Boolean + text: String + updated_at: timestamptz + } + + # update columns of table "notes" + enum notes_update_column { + # column name + created_at + + # column name + created_by + + # column name + critical + + # column name + id + + # column name + jobid + + # column name + private + + # column name + text + + # column name + updated_at + } + + scalar numeric + + # expression to compare columns of type numeric. All fields are combined with logical 'AND'. + input numeric_comparison_exp { + _eq: numeric + _gt: numeric + _gte: numeric + _in: [numeric!] + _is_null: Boolean + _lt: numeric + _lte: numeric + _neq: numeric + _nin: [numeric!] + } + + # column ordering options + enum order_by { + # in the ascending order, nulls last + asc + + # in the ascending order, nulls first + asc_nulls_first + + # in the ascending order, nulls last + asc_nulls_last + + # in the descending order, nulls first + desc + + # in the descending order, nulls first + desc_nulls_first + + # in the descending order, nulls last + desc_nulls_last + } + + # columns and relationships of "owners" + type owners { + accountingid: bigint! + allow_text_message: Boolean! + + # An object relationship + bodyshop: bodyshops! + created_at: timestamptz! + id: uuid! + + # An array relationship + jobs( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # An aggregated array relationship + jobs_aggregate( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph2: String + ownr_st: String + ownr_title: String + ownr_zip: String + preferred_contact: String + shopid: uuid! + updated_at: timestamptz! + } + + # aggregated selection of "owners" + type owners_aggregate { + aggregate: owners_aggregate_fields + nodes: [owners!]! + } + + # aggregate fields of "owners" + type owners_aggregate_fields { + avg: owners_avg_fields + count(columns: [owners_select_column!], distinct: Boolean): Int + max: owners_max_fields + min: owners_min_fields + stddev: owners_stddev_fields + stddev_pop: owners_stddev_pop_fields + stddev_samp: owners_stddev_samp_fields + sum: owners_sum_fields + var_pop: owners_var_pop_fields + var_samp: owners_var_samp_fields + variance: owners_variance_fields + } + + # order by aggregate values of table "owners" + input owners_aggregate_order_by { + avg: owners_avg_order_by + count: order_by + max: owners_max_order_by + min: owners_min_order_by + stddev: owners_stddev_order_by + stddev_pop: owners_stddev_pop_order_by + stddev_samp: owners_stddev_samp_order_by + sum: owners_sum_order_by + var_pop: owners_var_pop_order_by + var_samp: owners_var_samp_order_by + variance: owners_variance_order_by + } + + # input type for inserting array relation for remote table "owners" + input owners_arr_rel_insert_input { + data: [owners_insert_input!]! + on_conflict: owners_on_conflict + } + + # aggregate avg on columns + type owners_avg_fields { + accountingid: Float + } + + # order by avg() on columns of table "owners" + input owners_avg_order_by { + accountingid: order_by + } + + # Boolean expression to filter rows from the table "owners". All fields are combined with a logical 'AND'. + input owners_bool_exp { + _and: [owners_bool_exp] + _not: owners_bool_exp + _or: [owners_bool_exp] + accountingid: bigint_comparison_exp + allow_text_message: Boolean_comparison_exp + bodyshop: bodyshops_bool_exp + created_at: timestamptz_comparison_exp + id: uuid_comparison_exp + jobs: jobs_bool_exp + ownr_addr1: String_comparison_exp + ownr_addr2: String_comparison_exp + ownr_city: String_comparison_exp + ownr_co_nm: String_comparison_exp + ownr_ctry: String_comparison_exp + ownr_ea: String_comparison_exp + ownr_fn: String_comparison_exp + ownr_ln: String_comparison_exp + ownr_ph1: String_comparison_exp + ownr_ph2: String_comparison_exp + ownr_st: String_comparison_exp + ownr_title: String_comparison_exp + ownr_zip: String_comparison_exp + preferred_contact: String_comparison_exp + shopid: uuid_comparison_exp + updated_at: timestamptz_comparison_exp + } + + # unique or primary key constraints on table "owners" + enum owners_constraint { + # unique or primary key constraint + owners_pkey + } + + # input type for incrementing integer column in table "owners" + input owners_inc_input { + accountingid: bigint + } + + # input type for inserting data into table "owners" + input owners_insert_input { + accountingid: bigint + allow_text_message: Boolean + bodyshop: bodyshops_obj_rel_insert_input + created_at: timestamptz + id: uuid + jobs: jobs_arr_rel_insert_input + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph2: String + ownr_st: String + ownr_title: String + ownr_zip: String + preferred_contact: String + shopid: uuid + updated_at: timestamptz + } + + # aggregate max on columns + type owners_max_fields { + accountingid: bigint + created_at: timestamptz + id: uuid + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph2: String + ownr_st: String + ownr_title: String + ownr_zip: String + preferred_contact: String + shopid: uuid + updated_at: timestamptz + } + + # order by max() on columns of table "owners" + input owners_max_order_by { + accountingid: order_by + created_at: order_by + id: order_by + ownr_addr1: order_by + ownr_addr2: order_by + ownr_city: order_by + ownr_co_nm: order_by + ownr_ctry: order_by + ownr_ea: order_by + ownr_fn: order_by + ownr_ln: order_by + ownr_ph1: order_by + ownr_ph2: order_by + ownr_st: order_by + ownr_title: order_by + ownr_zip: order_by + preferred_contact: order_by + shopid: order_by + updated_at: order_by + } + + # aggregate min on columns + type owners_min_fields { + accountingid: bigint + created_at: timestamptz + id: uuid + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph2: String + ownr_st: String + ownr_title: String + ownr_zip: String + preferred_contact: String + shopid: uuid + updated_at: timestamptz + } + + # order by min() on columns of table "owners" + input owners_min_order_by { + accountingid: order_by + created_at: order_by + id: order_by + ownr_addr1: order_by + ownr_addr2: order_by + ownr_city: order_by + ownr_co_nm: order_by + ownr_ctry: order_by + ownr_ea: order_by + ownr_fn: order_by + ownr_ln: order_by + ownr_ph1: order_by + ownr_ph2: order_by + ownr_st: order_by + ownr_title: order_by + ownr_zip: order_by + preferred_contact: order_by + shopid: order_by + updated_at: order_by + } + + # response of any mutation on the table "owners" + type owners_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [owners!]! + } + + # input type for inserting object relation for remote table "owners" + input owners_obj_rel_insert_input { + data: owners_insert_input! + on_conflict: owners_on_conflict + } + + # on conflict condition type for table "owners" + input owners_on_conflict { + constraint: owners_constraint! + update_columns: [owners_update_column!]! + where: owners_bool_exp + } + + # ordering options when selecting data from "owners" + input owners_order_by { + accountingid: order_by + allow_text_message: order_by + bodyshop: bodyshops_order_by + created_at: order_by + id: order_by + jobs_aggregate: jobs_aggregate_order_by + ownr_addr1: order_by + ownr_addr2: order_by + ownr_city: order_by + ownr_co_nm: order_by + ownr_ctry: order_by + ownr_ea: order_by + ownr_fn: order_by + ownr_ln: order_by + ownr_ph1: order_by + ownr_ph2: order_by + ownr_st: order_by + ownr_title: order_by + ownr_zip: order_by + preferred_contact: order_by + shopid: order_by + updated_at: order_by + } + + # primary key columns input for table: "owners" + input owners_pk_columns_input { + id: uuid! + } + + # select columns of table "owners" + enum owners_select_column { + # column name + accountingid + + # column name + allow_text_message + + # column name + created_at + + # column name + id + + # column name + ownr_addr1 + + # column name + ownr_addr2 + + # column name + ownr_city + + # column name + ownr_co_nm + + # column name + ownr_ctry + + # column name + ownr_ea + + # column name + ownr_fn + + # column name + ownr_ln + + # column name + ownr_ph1 + + # column name + ownr_ph2 + + # column name + ownr_st + + # column name + ownr_title + + # column name + ownr_zip + + # column name + preferred_contact + + # column name + shopid + + # column name + updated_at + } + + # input type for updating data in table "owners" + input owners_set_input { + accountingid: bigint + allow_text_message: Boolean + created_at: timestamptz + id: uuid + ownr_addr1: String + ownr_addr2: String + ownr_city: String + ownr_co_nm: String + ownr_ctry: String + ownr_ea: String + ownr_fn: String + ownr_ln: String + ownr_ph1: String + ownr_ph2: String + ownr_st: String + ownr_title: String + ownr_zip: String + preferred_contact: String + shopid: uuid + updated_at: timestamptz + } + + # aggregate stddev on columns + type owners_stddev_fields { + accountingid: Float + } + + # order by stddev() on columns of table "owners" + input owners_stddev_order_by { + accountingid: order_by + } + + # aggregate stddev_pop on columns + type owners_stddev_pop_fields { + accountingid: Float + } + + # order by stddev_pop() on columns of table "owners" + input owners_stddev_pop_order_by { + accountingid: order_by + } + + # aggregate stddev_samp on columns + type owners_stddev_samp_fields { + accountingid: Float + } + + # order by stddev_samp() on columns of table "owners" + input owners_stddev_samp_order_by { + accountingid: order_by + } + + # aggregate sum on columns + type owners_sum_fields { + accountingid: bigint + } + + # order by sum() on columns of table "owners" + input owners_sum_order_by { + accountingid: order_by + } + + # update columns of table "owners" + enum owners_update_column { + # column name + accountingid + + # column name + allow_text_message + + # column name + created_at + + # column name + id + + # column name + ownr_addr1 + + # column name + ownr_addr2 + + # column name + ownr_city + + # column name + ownr_co_nm + + # column name + ownr_ctry + + # column name + ownr_ea + + # column name + ownr_fn + + # column name + ownr_ln + + # column name + ownr_ph1 + + # column name + ownr_ph2 + + # column name + ownr_st + + # column name + ownr_title + + # column name + ownr_zip + + # column name + preferred_contact + + # column name + shopid + + # column name + updated_at + } + + # aggregate var_pop on columns + type owners_var_pop_fields { + accountingid: Float + } + + # order by var_pop() on columns of table "owners" + input owners_var_pop_order_by { + accountingid: order_by + } + + # aggregate var_samp on columns + type owners_var_samp_fields { + accountingid: Float + } + + # order by var_samp() on columns of table "owners" + input owners_var_samp_order_by { + accountingid: order_by + } + + # aggregate variance on columns + type owners_variance_fields { + accountingid: Float + } + + # order by variance() on columns of table "owners" + input owners_variance_order_by { + accountingid: order_by + } + + # columns and relationships of "parts_order_lines" + type parts_order_lines { + act_price: numeric + backordered_eta: date + backordered_on: date + created_at: timestamptz! + db_price: numeric + id: uuid! + job_line_id: uuid + + # An object relationship + jobline: joblines + line_desc: String + line_remarks: String + oem_partno: String + orderid: uuid! + + # An object relationship + parts_order: parts_orders! + quantity: numeric! + status: String! + updated_at: timestamptz! + } + + # aggregated selection of "parts_order_lines" + type parts_order_lines_aggregate { + aggregate: parts_order_lines_aggregate_fields + nodes: [parts_order_lines!]! + } + + # aggregate fields of "parts_order_lines" + type parts_order_lines_aggregate_fields { + avg: parts_order_lines_avg_fields + count(columns: [parts_order_lines_select_column!], distinct: Boolean): Int + max: parts_order_lines_max_fields + min: parts_order_lines_min_fields + stddev: parts_order_lines_stddev_fields + stddev_pop: parts_order_lines_stddev_pop_fields + stddev_samp: parts_order_lines_stddev_samp_fields + sum: parts_order_lines_sum_fields + var_pop: parts_order_lines_var_pop_fields + var_samp: parts_order_lines_var_samp_fields + variance: parts_order_lines_variance_fields + } + + # order by aggregate values of table "parts_order_lines" + input parts_order_lines_aggregate_order_by { + avg: parts_order_lines_avg_order_by + count: order_by + max: parts_order_lines_max_order_by + min: parts_order_lines_min_order_by + stddev: parts_order_lines_stddev_order_by + stddev_pop: parts_order_lines_stddev_pop_order_by + stddev_samp: parts_order_lines_stddev_samp_order_by + sum: parts_order_lines_sum_order_by + var_pop: parts_order_lines_var_pop_order_by + var_samp: parts_order_lines_var_samp_order_by + variance: parts_order_lines_variance_order_by + } + + # input type for inserting array relation for remote table "parts_order_lines" + input parts_order_lines_arr_rel_insert_input { + data: [parts_order_lines_insert_input!]! + on_conflict: parts_order_lines_on_conflict + } + + # aggregate avg on columns + type parts_order_lines_avg_fields { + act_price: Float + db_price: Float + quantity: Float + } + + # order by avg() on columns of table "parts_order_lines" + input parts_order_lines_avg_order_by { + act_price: order_by + db_price: order_by + quantity: order_by + } + + # Boolean expression to filter rows from the table "parts_order_lines". All fields are combined with a logical 'AND'. + input parts_order_lines_bool_exp { + _and: [parts_order_lines_bool_exp] + _not: parts_order_lines_bool_exp + _or: [parts_order_lines_bool_exp] + act_price: numeric_comparison_exp + backordered_eta: date_comparison_exp + backordered_on: date_comparison_exp + created_at: timestamptz_comparison_exp + db_price: numeric_comparison_exp + id: uuid_comparison_exp + job_line_id: uuid_comparison_exp + jobline: joblines_bool_exp + line_desc: String_comparison_exp + line_remarks: String_comparison_exp + oem_partno: String_comparison_exp + orderid: uuid_comparison_exp + parts_order: parts_orders_bool_exp + quantity: numeric_comparison_exp + status: String_comparison_exp + updated_at: timestamptz_comparison_exp + } + + # unique or primary key constraints on table "parts_order_lines" + enum parts_order_lines_constraint { + # unique or primary key constraint + parts_order_lines_pkey + } + + # input type for incrementing integer column in table "parts_order_lines" + input parts_order_lines_inc_input { + act_price: numeric + db_price: numeric + quantity: numeric + } + + # input type for inserting data into table "parts_order_lines" + input parts_order_lines_insert_input { + act_price: numeric + backordered_eta: date + backordered_on: date + created_at: timestamptz + db_price: numeric + id: uuid + job_line_id: uuid + jobline: joblines_obj_rel_insert_input + line_desc: String + line_remarks: String + oem_partno: String + orderid: uuid + parts_order: parts_orders_obj_rel_insert_input + quantity: numeric + status: String + updated_at: timestamptz + } + + # aggregate max on columns + type parts_order_lines_max_fields { + act_price: numeric + backordered_eta: date + backordered_on: date + created_at: timestamptz + db_price: numeric + id: uuid + job_line_id: uuid + line_desc: String + line_remarks: String + oem_partno: String + orderid: uuid + quantity: numeric + status: String + updated_at: timestamptz + } + + # order by max() on columns of table "parts_order_lines" + input parts_order_lines_max_order_by { + act_price: order_by + backordered_eta: order_by + backordered_on: order_by + created_at: order_by + db_price: order_by + id: order_by + job_line_id: order_by + line_desc: order_by + line_remarks: order_by + oem_partno: order_by + orderid: order_by + quantity: order_by + status: order_by + updated_at: order_by + } + + # aggregate min on columns + type parts_order_lines_min_fields { + act_price: numeric + backordered_eta: date + backordered_on: date + created_at: timestamptz + db_price: numeric + id: uuid + job_line_id: uuid + line_desc: String + line_remarks: String + oem_partno: String + orderid: uuid + quantity: numeric + status: String + updated_at: timestamptz + } + + # order by min() on columns of table "parts_order_lines" + input parts_order_lines_min_order_by { + act_price: order_by + backordered_eta: order_by + backordered_on: order_by + created_at: order_by + db_price: order_by + id: order_by + job_line_id: order_by + line_desc: order_by + line_remarks: order_by + oem_partno: order_by + orderid: order_by + quantity: order_by + status: order_by + updated_at: order_by + } + + # response of any mutation on the table "parts_order_lines" + type parts_order_lines_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [parts_order_lines!]! + } + + # input type for inserting object relation for remote table "parts_order_lines" + input parts_order_lines_obj_rel_insert_input { + data: parts_order_lines_insert_input! + on_conflict: parts_order_lines_on_conflict + } + + # on conflict condition type for table "parts_order_lines" + input parts_order_lines_on_conflict { + constraint: parts_order_lines_constraint! + update_columns: [parts_order_lines_update_column!]! + where: parts_order_lines_bool_exp + } + + # ordering options when selecting data from "parts_order_lines" + input parts_order_lines_order_by { + act_price: order_by + backordered_eta: order_by + backordered_on: order_by + created_at: order_by + db_price: order_by + id: order_by + job_line_id: order_by + jobline: joblines_order_by + line_desc: order_by + line_remarks: order_by + oem_partno: order_by + orderid: order_by + parts_order: parts_orders_order_by + quantity: order_by + status: order_by + updated_at: order_by + } + + # primary key columns input for table: "parts_order_lines" + input parts_order_lines_pk_columns_input { + id: uuid! + } + + # select columns of table "parts_order_lines" + enum parts_order_lines_select_column { + # column name + act_price + + # column name + backordered_eta + + # column name + backordered_on + + # column name + created_at + + # column name + db_price + + # column name + id + + # column name + job_line_id + + # column name + line_desc + + # column name + line_remarks + + # column name + oem_partno + + # column name + orderid + + # column name + quantity + + # column name + status + + # column name + updated_at + } + + # input type for updating data in table "parts_order_lines" + input parts_order_lines_set_input { + act_price: numeric + backordered_eta: date + backordered_on: date + created_at: timestamptz + db_price: numeric + id: uuid + job_line_id: uuid + line_desc: String + line_remarks: String + oem_partno: String + orderid: uuid + quantity: numeric + status: String + updated_at: timestamptz + } + + # aggregate stddev on columns + type parts_order_lines_stddev_fields { + act_price: Float + db_price: Float + quantity: Float + } + + # order by stddev() on columns of table "parts_order_lines" + input parts_order_lines_stddev_order_by { + act_price: order_by + db_price: order_by + quantity: order_by + } + + # aggregate stddev_pop on columns + type parts_order_lines_stddev_pop_fields { + act_price: Float + db_price: Float + quantity: Float + } + + # order by stddev_pop() on columns of table "parts_order_lines" + input parts_order_lines_stddev_pop_order_by { + act_price: order_by + db_price: order_by + quantity: order_by + } + + # aggregate stddev_samp on columns + type parts_order_lines_stddev_samp_fields { + act_price: Float + db_price: Float + quantity: Float + } + + # order by stddev_samp() on columns of table "parts_order_lines" + input parts_order_lines_stddev_samp_order_by { + act_price: order_by + db_price: order_by + quantity: order_by + } + + # aggregate sum on columns + type parts_order_lines_sum_fields { + act_price: numeric + db_price: numeric + quantity: numeric + } + + # order by sum() on columns of table "parts_order_lines" + input parts_order_lines_sum_order_by { + act_price: order_by + db_price: order_by + quantity: order_by + } + + # update columns of table "parts_order_lines" + enum parts_order_lines_update_column { + # column name + act_price + + # column name + backordered_eta + + # column name + backordered_on + + # column name + created_at + + # column name + db_price + + # column name + id + + # column name + job_line_id + + # column name + line_desc + + # column name + line_remarks + + # column name + oem_partno + + # column name + orderid + + # column name + quantity + + # column name + status + + # column name + updated_at + } + + # aggregate var_pop on columns + type parts_order_lines_var_pop_fields { + act_price: Float + db_price: Float + quantity: Float + } + + # order by var_pop() on columns of table "parts_order_lines" + input parts_order_lines_var_pop_order_by { + act_price: order_by + db_price: order_by + quantity: order_by + } + + # aggregate var_samp on columns + type parts_order_lines_var_samp_fields { + act_price: Float + db_price: Float + quantity: Float + } + + # order by var_samp() on columns of table "parts_order_lines" + input parts_order_lines_var_samp_order_by { + act_price: order_by + db_price: order_by + quantity: order_by + } + + # aggregate variance on columns + type parts_order_lines_variance_fields { + act_price: Float + db_price: Float + quantity: Float + } + + # order by variance() on columns of table "parts_order_lines" + input parts_order_lines_variance_order_by { + act_price: order_by + db_price: order_by + quantity: order_by + } + + # columns and relationships of "parts_orders" + type parts_orders { + created_at: timestamptz! + deliver_by: date + id: uuid! + + # An object relationship + invoice: invoices + + # An object relationship + job: jobs! + jobid: uuid! + order_date: date! + order_number: Int! + + # An array relationship + parts_order_lines( + # distinct select on columns + distinct_on: [parts_order_lines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_order_lines_order_by!] + + # filter the rows returned + where: parts_order_lines_bool_exp + ): [parts_order_lines!]! + + # An aggregated array relationship + parts_order_lines_aggregate( + # distinct select on columns + distinct_on: [parts_order_lines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_order_lines_order_by!] + + # filter the rows returned + where: parts_order_lines_bool_exp + ): parts_order_lines_aggregate! + return: Boolean! + returnfrominvoice: uuid + status: String! + updated_at: timestamptz! + + # An object relationship + user: users! + user_email: String! + + # An object relationship + vendor: vendors! + vendorid: uuid! + } + + # aggregated selection of "parts_orders" + type parts_orders_aggregate { + aggregate: parts_orders_aggregate_fields + nodes: [parts_orders!]! + } + + # aggregate fields of "parts_orders" + type parts_orders_aggregate_fields { + avg: parts_orders_avg_fields + count(columns: [parts_orders_select_column!], distinct: Boolean): Int + max: parts_orders_max_fields + min: parts_orders_min_fields + stddev: parts_orders_stddev_fields + stddev_pop: parts_orders_stddev_pop_fields + stddev_samp: parts_orders_stddev_samp_fields + sum: parts_orders_sum_fields + var_pop: parts_orders_var_pop_fields + var_samp: parts_orders_var_samp_fields + variance: parts_orders_variance_fields + } + + # order by aggregate values of table "parts_orders" + input parts_orders_aggregate_order_by { + avg: parts_orders_avg_order_by + count: order_by + max: parts_orders_max_order_by + min: parts_orders_min_order_by + stddev: parts_orders_stddev_order_by + stddev_pop: parts_orders_stddev_pop_order_by + stddev_samp: parts_orders_stddev_samp_order_by + sum: parts_orders_sum_order_by + var_pop: parts_orders_var_pop_order_by + var_samp: parts_orders_var_samp_order_by + variance: parts_orders_variance_order_by + } + + # input type for inserting array relation for remote table "parts_orders" + input parts_orders_arr_rel_insert_input { + data: [parts_orders_insert_input!]! + on_conflict: parts_orders_on_conflict + } + + # aggregate avg on columns + type parts_orders_avg_fields { + order_number: Float + } + + # order by avg() on columns of table "parts_orders" + input parts_orders_avg_order_by { + order_number: order_by + } + + # Boolean expression to filter rows from the table "parts_orders". All fields are combined with a logical 'AND'. + input parts_orders_bool_exp { + _and: [parts_orders_bool_exp] + _not: parts_orders_bool_exp + _or: [parts_orders_bool_exp] + created_at: timestamptz_comparison_exp + deliver_by: date_comparison_exp + id: uuid_comparison_exp + invoice: invoices_bool_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + order_date: date_comparison_exp + order_number: Int_comparison_exp + parts_order_lines: parts_order_lines_bool_exp + return: Boolean_comparison_exp + returnfrominvoice: uuid_comparison_exp + status: String_comparison_exp + updated_at: timestamptz_comparison_exp + user: users_bool_exp + user_email: String_comparison_exp + vendor: vendors_bool_exp + vendorid: uuid_comparison_exp + } + + # unique or primary key constraints on table "parts_orders" + enum parts_orders_constraint { + # unique or primary key constraint + parts_order_pkey + } + + # input type for incrementing integer column in table "parts_orders" + input parts_orders_inc_input { + order_number: Int + } + + # input type for inserting data into table "parts_orders" + input parts_orders_insert_input { + created_at: timestamptz + deliver_by: date + id: uuid + invoice: invoices_obj_rel_insert_input + job: jobs_obj_rel_insert_input + jobid: uuid + order_date: date + order_number: Int + parts_order_lines: parts_order_lines_arr_rel_insert_input + return: Boolean + returnfrominvoice: uuid + status: String + updated_at: timestamptz + user: users_obj_rel_insert_input + user_email: String + vendor: vendors_obj_rel_insert_input + vendorid: uuid + } + + # aggregate max on columns + type parts_orders_max_fields { + created_at: timestamptz + deliver_by: date + id: uuid + jobid: uuid + order_date: date + order_number: Int + returnfrominvoice: uuid + status: String + updated_at: timestamptz + user_email: String + vendorid: uuid + } + + # order by max() on columns of table "parts_orders" + input parts_orders_max_order_by { + created_at: order_by + deliver_by: order_by + id: order_by + jobid: order_by + order_date: order_by + order_number: order_by + returnfrominvoice: order_by + status: order_by + updated_at: order_by + user_email: order_by + vendorid: order_by + } + + # aggregate min on columns + type parts_orders_min_fields { + created_at: timestamptz + deliver_by: date + id: uuid + jobid: uuid + order_date: date + order_number: Int + returnfrominvoice: uuid + status: String + updated_at: timestamptz + user_email: String + vendorid: uuid + } + + # order by min() on columns of table "parts_orders" + input parts_orders_min_order_by { + created_at: order_by + deliver_by: order_by + id: order_by + jobid: order_by + order_date: order_by + order_number: order_by + returnfrominvoice: order_by + status: order_by + updated_at: order_by + user_email: order_by + vendorid: order_by + } + + # response of any mutation on the table "parts_orders" + type parts_orders_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [parts_orders!]! + } + + # input type for inserting object relation for remote table "parts_orders" + input parts_orders_obj_rel_insert_input { + data: parts_orders_insert_input! + on_conflict: parts_orders_on_conflict + } + + # on conflict condition type for table "parts_orders" + input parts_orders_on_conflict { + constraint: parts_orders_constraint! + update_columns: [parts_orders_update_column!]! + where: parts_orders_bool_exp + } + + # ordering options when selecting data from "parts_orders" + input parts_orders_order_by { + created_at: order_by + deliver_by: order_by + id: order_by + invoice: invoices_order_by + job: jobs_order_by + jobid: order_by + order_date: order_by + order_number: order_by + parts_order_lines_aggregate: parts_order_lines_aggregate_order_by + return: order_by + returnfrominvoice: order_by + status: order_by + updated_at: order_by + user: users_order_by + user_email: order_by + vendor: vendors_order_by + vendorid: order_by + } + + # primary key columns input for table: "parts_orders" + input parts_orders_pk_columns_input { + id: uuid! + } + + # select columns of table "parts_orders" + enum parts_orders_select_column { + # column name + created_at + + # column name + deliver_by + + # column name + id + + # column name + jobid + + # column name + order_date + + # column name + order_number + + # column name + return + + # column name + returnfrominvoice + + # column name + status + + # column name + updated_at + + # column name + user_email + + # column name + vendorid + } + + # input type for updating data in table "parts_orders" + input parts_orders_set_input { + created_at: timestamptz + deliver_by: date + id: uuid + jobid: uuid + order_date: date + order_number: Int + return: Boolean + returnfrominvoice: uuid + status: String + updated_at: timestamptz + user_email: String + vendorid: uuid + } + + # aggregate stddev on columns + type parts_orders_stddev_fields { + order_number: Float + } + + # order by stddev() on columns of table "parts_orders" + input parts_orders_stddev_order_by { + order_number: order_by + } + + # aggregate stddev_pop on columns + type parts_orders_stddev_pop_fields { + order_number: Float + } + + # order by stddev_pop() on columns of table "parts_orders" + input parts_orders_stddev_pop_order_by { + order_number: order_by + } + + # aggregate stddev_samp on columns + type parts_orders_stddev_samp_fields { + order_number: Float + } + + # order by stddev_samp() on columns of table "parts_orders" + input parts_orders_stddev_samp_order_by { + order_number: order_by + } + + # aggregate sum on columns + type parts_orders_sum_fields { + order_number: Int + } + + # order by sum() on columns of table "parts_orders" + input parts_orders_sum_order_by { + order_number: order_by + } + + # update columns of table "parts_orders" + enum parts_orders_update_column { + # column name + created_at + + # column name + deliver_by + + # column name + id + + # column name + jobid + + # column name + order_date + + # column name + order_number + + # column name + return + + # column name + returnfrominvoice + + # column name + status + + # column name + updated_at + + # column name + user_email + + # column name + vendorid + } + + # aggregate var_pop on columns + type parts_orders_var_pop_fields { + order_number: Float + } + + # order by var_pop() on columns of table "parts_orders" + input parts_orders_var_pop_order_by { + order_number: order_by + } + + # aggregate var_samp on columns + type parts_orders_var_samp_fields { + order_number: Float + } + + # order by var_samp() on columns of table "parts_orders" + input parts_orders_var_samp_order_by { + order_number: order_by + } + + # aggregate variance on columns + type parts_orders_variance_fields { + order_number: Float + } + + # order by variance() on columns of table "parts_orders" + input parts_orders_variance_order_by { + order_number: order_by + } + + # columns and relationships of "payments" + type payments { + amount: numeric! + created_at: timestamptz! + exportedat: timestamptz + id: uuid! + + # An object relationship + job: jobs! + jobid: uuid! + memo: String + payer: String + stripeid: String + transactionid: String + type: String + updated_at: timestamptz! + } + + # aggregated selection of "payments" + type payments_aggregate { + aggregate: payments_aggregate_fields + nodes: [payments!]! + } + + # aggregate fields of "payments" + type payments_aggregate_fields { + avg: payments_avg_fields + count(columns: [payments_select_column!], distinct: Boolean): Int + max: payments_max_fields + min: payments_min_fields + stddev: payments_stddev_fields + stddev_pop: payments_stddev_pop_fields + stddev_samp: payments_stddev_samp_fields + sum: payments_sum_fields + var_pop: payments_var_pop_fields + var_samp: payments_var_samp_fields + variance: payments_variance_fields + } + + # order by aggregate values of table "payments" + input payments_aggregate_order_by { + avg: payments_avg_order_by + count: order_by + max: payments_max_order_by + min: payments_min_order_by + stddev: payments_stddev_order_by + stddev_pop: payments_stddev_pop_order_by + stddev_samp: payments_stddev_samp_order_by + sum: payments_sum_order_by + var_pop: payments_var_pop_order_by + var_samp: payments_var_samp_order_by + variance: payments_variance_order_by + } + + # input type for inserting array relation for remote table "payments" + input payments_arr_rel_insert_input { + data: [payments_insert_input!]! + on_conflict: payments_on_conflict + } + + # aggregate avg on columns + type payments_avg_fields { + amount: Float + } + + # order by avg() on columns of table "payments" + input payments_avg_order_by { + amount: order_by + } + + # Boolean expression to filter rows from the table "payments". All fields are combined with a logical 'AND'. + input payments_bool_exp { + _and: [payments_bool_exp] + _not: payments_bool_exp + _or: [payments_bool_exp] + amount: numeric_comparison_exp + created_at: timestamptz_comparison_exp + exportedat: timestamptz_comparison_exp + id: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + memo: String_comparison_exp + payer: String_comparison_exp + stripeid: String_comparison_exp + transactionid: String_comparison_exp + type: String_comparison_exp + updated_at: timestamptz_comparison_exp + } + + # unique or primary key constraints on table "payments" + enum payments_constraint { + # unique or primary key constraint + payments_pkey + } + + # input type for incrementing integer column in table "payments" + input payments_inc_input { + amount: numeric + } + + # input type for inserting data into table "payments" + input payments_insert_input { + amount: numeric + created_at: timestamptz + exportedat: timestamptz + id: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + memo: String + payer: String + stripeid: String + transactionid: String + type: String + updated_at: timestamptz + } + + # aggregate max on columns + type payments_max_fields { + amount: numeric + created_at: timestamptz + exportedat: timestamptz + id: uuid + jobid: uuid + memo: String + payer: String + stripeid: String + transactionid: String + type: String + updated_at: timestamptz + } + + # order by max() on columns of table "payments" + input payments_max_order_by { + amount: order_by + created_at: order_by + exportedat: order_by + id: order_by + jobid: order_by + memo: order_by + payer: order_by + stripeid: order_by + transactionid: order_by + type: order_by + updated_at: order_by + } + + # aggregate min on columns + type payments_min_fields { + amount: numeric + created_at: timestamptz + exportedat: timestamptz + id: uuid + jobid: uuid + memo: String + payer: String + stripeid: String + transactionid: String + type: String + updated_at: timestamptz + } + + # order by min() on columns of table "payments" + input payments_min_order_by { + amount: order_by + created_at: order_by + exportedat: order_by + id: order_by + jobid: order_by + memo: order_by + payer: order_by + stripeid: order_by + transactionid: order_by + type: order_by + updated_at: order_by + } + + # response of any mutation on the table "payments" + type payments_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [payments!]! + } + + # input type for inserting object relation for remote table "payments" + input payments_obj_rel_insert_input { + data: payments_insert_input! + on_conflict: payments_on_conflict + } + + # on conflict condition type for table "payments" + input payments_on_conflict { + constraint: payments_constraint! + update_columns: [payments_update_column!]! + where: payments_bool_exp + } + + # ordering options when selecting data from "payments" + input payments_order_by { + amount: order_by + created_at: order_by + exportedat: order_by + id: order_by + job: jobs_order_by + jobid: order_by + memo: order_by + payer: order_by + stripeid: order_by + transactionid: order_by + type: order_by + updated_at: order_by + } + + # primary key columns input for table: "payments" + input payments_pk_columns_input { + id: uuid! + } + + # select columns of table "payments" + enum payments_select_column { + # column name + amount + + # column name + created_at + + # column name + exportedat + + # column name + id + + # column name + jobid + + # column name + memo + + # column name + payer + + # column name + stripeid + + # column name + transactionid + + # column name + type + + # column name + updated_at + } + + # input type for updating data in table "payments" + input payments_set_input { + amount: numeric + created_at: timestamptz + exportedat: timestamptz + id: uuid + jobid: uuid + memo: String + payer: String + stripeid: String + transactionid: String + type: String + updated_at: timestamptz + } + + # aggregate stddev on columns + type payments_stddev_fields { + amount: Float + } + + # order by stddev() on columns of table "payments" + input payments_stddev_order_by { + amount: order_by + } + + # aggregate stddev_pop on columns + type payments_stddev_pop_fields { + amount: Float + } + + # order by stddev_pop() on columns of table "payments" + input payments_stddev_pop_order_by { + amount: order_by + } + + # aggregate stddev_samp on columns + type payments_stddev_samp_fields { + amount: Float + } + + # order by stddev_samp() on columns of table "payments" + input payments_stddev_samp_order_by { + amount: order_by + } + + # aggregate sum on columns + type payments_sum_fields { + amount: numeric + } + + # order by sum() on columns of table "payments" + input payments_sum_order_by { + amount: order_by + } + + # update columns of table "payments" + enum payments_update_column { + # column name + amount + + # column name + created_at + + # column name + exportedat + + # column name + id + + # column name + jobid + + # column name + memo + + # column name + payer + + # column name + stripeid + + # column name + transactionid + + # column name + type + + # column name + updated_at + } + + # aggregate var_pop on columns + type payments_var_pop_fields { + amount: Float + } + + # order by var_pop() on columns of table "payments" + input payments_var_pop_order_by { + amount: order_by + } + + # aggregate var_samp on columns + type payments_var_samp_fields { + amount: Float + } + + # order by var_samp() on columns of table "payments" + input payments_var_samp_order_by { + amount: order_by + } + + # aggregate variance on columns + type payments_variance_fields { + amount: Float + } + + # order by variance() on columns of table "payments" + input payments_variance_order_by { + amount: order_by + } + + # query root + type query_root { + # fetch data from the table: "allocations" + allocations( + # distinct select on columns + distinct_on: [allocations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [allocations_order_by!] + + # filter the rows returned + where: allocations_bool_exp + ): [allocations!]! + + # fetch aggregated fields from the table: "allocations" + allocations_aggregate( + # distinct select on columns + distinct_on: [allocations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [allocations_order_by!] + + # filter the rows returned + where: allocations_bool_exp + ): allocations_aggregate! + + # fetch data from the table: "allocations" using primary key columns + allocations_by_pk(id: uuid!): allocations + + # fetch data from the table: "appointments" + appointments( + # distinct select on columns + distinct_on: [appointments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [appointments_order_by!] + + # filter the rows returned + where: appointments_bool_exp + ): [appointments!]! + + # fetch aggregated fields from the table: "appointments" + appointments_aggregate( + # distinct select on columns + distinct_on: [appointments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [appointments_order_by!] + + # filter the rows returned + where: appointments_bool_exp + ): appointments_aggregate! + + # fetch data from the table: "appointments" using primary key columns + appointments_by_pk(id: uuid!): appointments + + # fetch data from the table: "associations" + associations( + # distinct select on columns + distinct_on: [associations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [associations_order_by!] + + # filter the rows returned + where: associations_bool_exp + ): [associations!]! + + # fetch aggregated fields from the table: "associations" + associations_aggregate( + # distinct select on columns + distinct_on: [associations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [associations_order_by!] + + # filter the rows returned + where: associations_bool_exp + ): associations_aggregate! + + # fetch data from the table: "associations" using primary key columns + associations_by_pk(id: uuid!): associations + + # fetch data from the table: "audit_trail" + audit_trail( + # distinct select on columns + distinct_on: [audit_trail_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [audit_trail_order_by!] + + # filter the rows returned + where: audit_trail_bool_exp + ): [audit_trail!]! + + # fetch aggregated fields from the table: "audit_trail" + audit_trail_aggregate( + # distinct select on columns + distinct_on: [audit_trail_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [audit_trail_order_by!] + + # filter the rows returned + where: audit_trail_bool_exp + ): audit_trail_aggregate! + + # fetch data from the table: "audit_trail" using primary key columns + audit_trail_by_pk(id: Int!): audit_trail + + # fetch data from the table: "available_jobs" + available_jobs( + # distinct select on columns + distinct_on: [available_jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [available_jobs_order_by!] + + # filter the rows returned + where: available_jobs_bool_exp + ): [available_jobs!]! + + # fetch aggregated fields from the table: "available_jobs" + available_jobs_aggregate( + # distinct select on columns + distinct_on: [available_jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [available_jobs_order_by!] + + # filter the rows returned + where: available_jobs_bool_exp + ): available_jobs_aggregate! + + # fetch data from the table: "available_jobs" using primary key columns + available_jobs_by_pk(id: uuid!): available_jobs + + # fetch data from the table: "bodyshops" + bodyshops( + # distinct select on columns + distinct_on: [bodyshops_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [bodyshops_order_by!] + + # filter the rows returned + where: bodyshops_bool_exp + ): [bodyshops!]! + + # fetch aggregated fields from the table: "bodyshops" + bodyshops_aggregate( + # distinct select on columns + distinct_on: [bodyshops_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [bodyshops_order_by!] + + # filter the rows returned + where: bodyshops_bool_exp + ): bodyshops_aggregate! + + # fetch data from the table: "bodyshops" using primary key columns + bodyshops_by_pk(id: uuid!): bodyshops + + # fetch data from the table: "cccontracts" + cccontracts( + # distinct select on columns + distinct_on: [cccontracts_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [cccontracts_order_by!] + + # filter the rows returned + where: cccontracts_bool_exp + ): [cccontracts!]! + + # fetch aggregated fields from the table: "cccontracts" + cccontracts_aggregate( + # distinct select on columns + distinct_on: [cccontracts_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [cccontracts_order_by!] + + # filter the rows returned + where: cccontracts_bool_exp + ): cccontracts_aggregate! + + # fetch data from the table: "cccontracts" using primary key columns + cccontracts_by_pk(id: uuid!): cccontracts + + # fetch data from the table: "conversations" + conversations( + # distinct select on columns + distinct_on: [conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [conversations_order_by!] + + # filter the rows returned + where: conversations_bool_exp + ): [conversations!]! + + # fetch aggregated fields from the table: "conversations" + conversations_aggregate( + # distinct select on columns + distinct_on: [conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [conversations_order_by!] + + # filter the rows returned + where: conversations_bool_exp + ): conversations_aggregate! + + # fetch data from the table: "conversations" using primary key columns + conversations_by_pk(id: uuid!): conversations + + # fetch data from the table: "counters" + counters( + # distinct select on columns + distinct_on: [counters_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [counters_order_by!] + + # filter the rows returned + where: counters_bool_exp + ): [counters!]! + + # fetch aggregated fields from the table: "counters" + counters_aggregate( + # distinct select on columns + distinct_on: [counters_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [counters_order_by!] + + # filter the rows returned + where: counters_bool_exp + ): counters_aggregate! + + # fetch data from the table: "counters" using primary key columns + counters_by_pk(id: uuid!): counters + + # fetch data from the table: "courtesycars" + courtesycars( + # distinct select on columns + distinct_on: [courtesycars_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [courtesycars_order_by!] + + # filter the rows returned + where: courtesycars_bool_exp + ): [courtesycars!]! + + # fetch aggregated fields from the table: "courtesycars" + courtesycars_aggregate( + # distinct select on columns + distinct_on: [courtesycars_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [courtesycars_order_by!] + + # filter the rows returned + where: courtesycars_bool_exp + ): courtesycars_aggregate! + + # fetch data from the table: "courtesycars" using primary key columns + courtesycars_by_pk(id: uuid!): courtesycars + + # fetch data from the table: "csi" + csi( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): [csi!]! + + # fetch aggregated fields from the table: "csi" + csi_aggregate( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): csi_aggregate! + + # fetch data from the table: "csi" using primary key columns + csi_by_pk(id: uuid!): csi + + # fetch data from the table: "csiquestions" + csiquestions( + # distinct select on columns + distinct_on: [csiquestions_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csiquestions_order_by!] + + # filter the rows returned + where: csiquestions_bool_exp + ): [csiquestions!]! + + # fetch aggregated fields from the table: "csiquestions" + csiquestions_aggregate( + # distinct select on columns + distinct_on: [csiquestions_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csiquestions_order_by!] + + # filter the rows returned + where: csiquestions_bool_exp + ): csiquestions_aggregate! + + # fetch data from the table: "csiquestions" using primary key columns + csiquestions_by_pk(id: uuid!): csiquestions + + # fetch data from the table: "documents" + documents( + # distinct select on columns + distinct_on: [documents_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [documents_order_by!] + + # filter the rows returned + where: documents_bool_exp + ): [documents!]! + + # fetch aggregated fields from the table: "documents" + documents_aggregate( + # distinct select on columns + distinct_on: [documents_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [documents_order_by!] + + # filter the rows returned + where: documents_bool_exp + ): documents_aggregate! + + # fetch data from the table: "documents" using primary key columns + documents_by_pk(id: uuid!): documents + + # fetch data from the table: "employees" + employees( + # distinct select on columns + distinct_on: [employees_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [employees_order_by!] + + # filter the rows returned + where: employees_bool_exp + ): [employees!]! + + # fetch aggregated fields from the table: "employees" + employees_aggregate( + # distinct select on columns + distinct_on: [employees_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [employees_order_by!] + + # filter the rows returned + where: employees_bool_exp + ): employees_aggregate! + + # fetch data from the table: "employees" using primary key columns + employees_by_pk(id: uuid!): employees + + # fetch data from the table: "invoicelines" + invoicelines( + # distinct select on columns + distinct_on: [invoicelines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoicelines_order_by!] + + # filter the rows returned + where: invoicelines_bool_exp + ): [invoicelines!]! + + # fetch aggregated fields from the table: "invoicelines" + invoicelines_aggregate( + # distinct select on columns + distinct_on: [invoicelines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoicelines_order_by!] + + # filter the rows returned + where: invoicelines_bool_exp + ): invoicelines_aggregate! + + # fetch data from the table: "invoicelines" using primary key columns + invoicelines_by_pk(id: uuid!): invoicelines + + # fetch data from the table: "invoices" + invoices( + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): [invoices!]! + + # fetch aggregated fields from the table: "invoices" + invoices_aggregate( + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): invoices_aggregate! + + # fetch data from the table: "invoices" using primary key columns + invoices_by_pk(id: uuid!): invoices + + # fetch data from the table: "job_conversations" + job_conversations( + # distinct select on columns + distinct_on: [job_conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [job_conversations_order_by!] + + # filter the rows returned + where: job_conversations_bool_exp + ): [job_conversations!]! + + # fetch aggregated fields from the table: "job_conversations" + job_conversations_aggregate( + # distinct select on columns + distinct_on: [job_conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [job_conversations_order_by!] + + # filter the rows returned + where: job_conversations_bool_exp + ): job_conversations_aggregate! + + # fetch data from the table: "job_conversations" using primary key columns + job_conversations_by_pk( + conversationid: uuid! + jobid: uuid! + ): job_conversations + + # fetch data from the table: "joblines" + joblines( + # distinct select on columns + distinct_on: [joblines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_order_by!] + + # filter the rows returned + where: joblines_bool_exp + ): [joblines!]! + + # fetch aggregated fields from the table: "joblines" + joblines_aggregate( + # distinct select on columns + distinct_on: [joblines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_order_by!] + + # filter the rows returned + where: joblines_bool_exp + ): joblines_aggregate! + + # fetch data from the table: "joblines" using primary key columns + joblines_by_pk(id: uuid!): joblines + + # fetch data from the table: "joblines_status" + joblines_status( + # distinct select on columns + distinct_on: [joblines_status_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_status_order_by!] + + # filter the rows returned + where: joblines_status_bool_exp + ): [joblines_status!]! + + # fetch aggregated fields from the table: "joblines_status" + joblines_status_aggregate( + # distinct select on columns + distinct_on: [joblines_status_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_status_order_by!] + + # filter the rows returned + where: joblines_status_bool_exp + ): joblines_status_aggregate! + + # fetch data from the table: "jobs" + jobs( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # fetch aggregated fields from the table: "jobs" + jobs_aggregate( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + + # fetch data from the table: "jobs" using primary key columns + jobs_by_pk(id: uuid!): jobs + + # fetch data from the table: "masterdata" + masterdata( + # distinct select on columns + distinct_on: [masterdata_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [masterdata_order_by!] + + # filter the rows returned + where: masterdata_bool_exp + ): [masterdata!]! + + # fetch aggregated fields from the table: "masterdata" + masterdata_aggregate( + # distinct select on columns + distinct_on: [masterdata_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [masterdata_order_by!] + + # filter the rows returned + where: masterdata_bool_exp + ): masterdata_aggregate! + + # fetch data from the table: "masterdata" using primary key columns + masterdata_by_pk(key: String!): masterdata + + # fetch data from the table: "messages" + messages( + # distinct select on columns + distinct_on: [messages_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [messages_order_by!] + + # filter the rows returned + where: messages_bool_exp + ): [messages!]! + + # fetch aggregated fields from the table: "messages" + messages_aggregate( + # distinct select on columns + distinct_on: [messages_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [messages_order_by!] + + # filter the rows returned + where: messages_bool_exp + ): messages_aggregate! + + # fetch data from the table: "messages" using primary key columns + messages_by_pk(id: uuid!): messages + + # fetch data from the table: "notes" + notes( + # distinct select on columns + distinct_on: [notes_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [notes_order_by!] + + # filter the rows returned + where: notes_bool_exp + ): [notes!]! + + # fetch aggregated fields from the table: "notes" + notes_aggregate( + # distinct select on columns + distinct_on: [notes_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [notes_order_by!] + + # filter the rows returned + where: notes_bool_exp + ): notes_aggregate! + + # fetch data from the table: "notes" using primary key columns + notes_by_pk(id: uuid!): notes + + # fetch data from the table: "owners" + owners( + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): [owners!]! + + # fetch aggregated fields from the table: "owners" + owners_aggregate( + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): owners_aggregate! + + # fetch data from the table: "owners" using primary key columns + owners_by_pk(id: uuid!): owners + + # fetch data from the table: "parts_order_lines" + parts_order_lines( + # distinct select on columns + distinct_on: [parts_order_lines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_order_lines_order_by!] + + # filter the rows returned + where: parts_order_lines_bool_exp + ): [parts_order_lines!]! + + # fetch aggregated fields from the table: "parts_order_lines" + parts_order_lines_aggregate( + # distinct select on columns + distinct_on: [parts_order_lines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_order_lines_order_by!] + + # filter the rows returned + where: parts_order_lines_bool_exp + ): parts_order_lines_aggregate! + + # fetch data from the table: "parts_order_lines" using primary key columns + parts_order_lines_by_pk(id: uuid!): parts_order_lines + + # fetch data from the table: "parts_orders" + parts_orders( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): [parts_orders!]! + + # fetch aggregated fields from the table: "parts_orders" + parts_orders_aggregate( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): parts_orders_aggregate! + + # fetch data from the table: "parts_orders" using primary key columns + parts_orders_by_pk(id: uuid!): parts_orders + + # fetch data from the table: "payments" + payments( + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): [payments!]! + + # fetch aggregated fields from the table: "payments" + payments_aggregate( + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): payments_aggregate! + + # fetch data from the table: "payments" using primary key columns + payments_by_pk(id: uuid!): payments + + # fetch data from the table: "scoreboard" + scoreboard( + # distinct select on columns + distinct_on: [scoreboard_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [scoreboard_order_by!] + + # filter the rows returned + where: scoreboard_bool_exp + ): [scoreboard!]! + + # fetch aggregated fields from the table: "scoreboard" + scoreboard_aggregate( + # distinct select on columns + distinct_on: [scoreboard_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [scoreboard_order_by!] + + # filter the rows returned + where: scoreboard_bool_exp + ): scoreboard_aggregate! + + # fetch data from the table: "scoreboard" using primary key columns + scoreboard_by_pk(id: uuid!): scoreboard + + # execute function "search_invoices" which returns "invoices" + search_invoices( + # input parameters for function "search_invoices" + args: search_invoices_args! + + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): [invoices!]! + + # execute function "search_invoices" and query aggregates on result of table type "invoices" + search_invoices_aggregate( + # input parameters for function "search_invoices" + args: search_invoices_args! + + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): invoices_aggregate! + + # execute function "search_jobs" which returns "jobs" + search_jobs( + # input parameters for function "search_jobs" + args: search_jobs_args! + + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # execute function "search_jobs" and query aggregates on result of table type "jobs" + search_jobs_aggregate( + # input parameters for function "search_jobs" + args: search_jobs_args! + + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + + # execute function "search_owners" which returns "owners" + search_owners( + # input parameters for function "search_owners" + args: search_owners_args! + + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): [owners!]! + + # execute function "search_owners" and query aggregates on result of table type "owners" + search_owners_aggregate( + # input parameters for function "search_owners" + args: search_owners_args! + + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): owners_aggregate! + + # execute function "search_payments" which returns "payments" + search_payments( + # input parameters for function "search_payments" + args: search_payments_args! + + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): [payments!]! + + # execute function "search_payments" and query aggregates on result of table type "payments" + search_payments_aggregate( + # input parameters for function "search_payments" + args: search_payments_args! + + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): payments_aggregate! + + # execute function "search_vehicles" which returns "vehicles" + search_vehicles( + # input parameters for function "search_vehicles" + args: search_vehicles_args! + + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): [vehicles!]! + + # execute function "search_vehicles" and query aggregates on result of table type "vehicles" + search_vehicles_aggregate( + # input parameters for function "search_vehicles" + args: search_vehicles_args! + + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): vehicles_aggregate! + + # fetch data from the table: "templates" + templates( + # distinct select on columns + distinct_on: [templates_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [templates_order_by!] + + # filter the rows returned + where: templates_bool_exp + ): [templates!]! + + # fetch aggregated fields from the table: "templates" + templates_aggregate( + # distinct select on columns + distinct_on: [templates_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [templates_order_by!] + + # filter the rows returned + where: templates_bool_exp + ): templates_aggregate! + + # fetch data from the table: "templates" using primary key columns + templates_by_pk(id: uuid!): templates + + # fetch data from the table: "timetickets" + timetickets( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): [timetickets!]! + + # fetch aggregated fields from the table: "timetickets" + timetickets_aggregate( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): timetickets_aggregate! + + # fetch data from the table: "timetickets" using primary key columns + timetickets_by_pk(id: uuid!): timetickets + + # fetch data from the table: "users" + users( + # distinct select on columns + distinct_on: [users_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [users_order_by!] + + # filter the rows returned + where: users_bool_exp + ): [users!]! + + # fetch aggregated fields from the table: "users" + users_aggregate( + # distinct select on columns + distinct_on: [users_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [users_order_by!] + + # filter the rows returned + where: users_bool_exp + ): users_aggregate! + + # fetch data from the table: "users" using primary key columns + users_by_pk(email: String!): users + + # fetch data from the table: "vehicles" + vehicles( + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): [vehicles!]! + + # fetch aggregated fields from the table: "vehicles" + vehicles_aggregate( + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): vehicles_aggregate! + + # fetch data from the table: "vehicles" using primary key columns + vehicles_by_pk(id: uuid!): vehicles + + # fetch data from the table: "vendors" + vendors( + # distinct select on columns + distinct_on: [vendors_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vendors_order_by!] + + # filter the rows returned + where: vendors_bool_exp + ): [vendors!]! + + # fetch aggregated fields from the table: "vendors" + vendors_aggregate( + # distinct select on columns + distinct_on: [vendors_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vendors_order_by!] + + # filter the rows returned + where: vendors_bool_exp + ): vendors_aggregate! + + # fetch data from the table: "vendors" using primary key columns + vendors_by_pk(id: uuid!): vendors + } + + # columns and relationships of "scoreboard" + type scoreboard { + bodyhrs: numeric! + date: date! + id: uuid! + + # An object relationship + job: jobs! + jobid: uuid! + painthrs: numeric! + } + + # aggregated selection of "scoreboard" + type scoreboard_aggregate { + aggregate: scoreboard_aggregate_fields + nodes: [scoreboard!]! + } + + # aggregate fields of "scoreboard" + type scoreboard_aggregate_fields { + avg: scoreboard_avg_fields + count(columns: [scoreboard_select_column!], distinct: Boolean): Int + max: scoreboard_max_fields + min: scoreboard_min_fields + stddev: scoreboard_stddev_fields + stddev_pop: scoreboard_stddev_pop_fields + stddev_samp: scoreboard_stddev_samp_fields + sum: scoreboard_sum_fields + var_pop: scoreboard_var_pop_fields + var_samp: scoreboard_var_samp_fields + variance: scoreboard_variance_fields + } + + # order by aggregate values of table "scoreboard" + input scoreboard_aggregate_order_by { + avg: scoreboard_avg_order_by + count: order_by + max: scoreboard_max_order_by + min: scoreboard_min_order_by + stddev: scoreboard_stddev_order_by + stddev_pop: scoreboard_stddev_pop_order_by + stddev_samp: scoreboard_stddev_samp_order_by + sum: scoreboard_sum_order_by + var_pop: scoreboard_var_pop_order_by + var_samp: scoreboard_var_samp_order_by + variance: scoreboard_variance_order_by + } + + # input type for inserting array relation for remote table "scoreboard" + input scoreboard_arr_rel_insert_input { + data: [scoreboard_insert_input!]! + on_conflict: scoreboard_on_conflict + } + + # aggregate avg on columns + type scoreboard_avg_fields { + bodyhrs: Float + painthrs: Float + } + + # order by avg() on columns of table "scoreboard" + input scoreboard_avg_order_by { + bodyhrs: order_by + painthrs: order_by + } + + # Boolean expression to filter rows from the table "scoreboard". All fields are combined with a logical 'AND'. + input scoreboard_bool_exp { + _and: [scoreboard_bool_exp] + _not: scoreboard_bool_exp + _or: [scoreboard_bool_exp] + bodyhrs: numeric_comparison_exp + date: date_comparison_exp + id: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + painthrs: numeric_comparison_exp + } + + # unique or primary key constraints on table "scoreboard" + enum scoreboard_constraint { + # unique or primary key constraint + scoreboard_pkey + } + + # input type for incrementing integer column in table "scoreboard" + input scoreboard_inc_input { + bodyhrs: numeric + painthrs: numeric + } + + # input type for inserting data into table "scoreboard" + input scoreboard_insert_input { + bodyhrs: numeric + date: date + id: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + painthrs: numeric + } + + # aggregate max on columns + type scoreboard_max_fields { + bodyhrs: numeric + date: date + id: uuid + jobid: uuid + painthrs: numeric + } + + # order by max() on columns of table "scoreboard" + input scoreboard_max_order_by { + bodyhrs: order_by + date: order_by + id: order_by + jobid: order_by + painthrs: order_by + } + + # aggregate min on columns + type scoreboard_min_fields { + bodyhrs: numeric + date: date + id: uuid + jobid: uuid + painthrs: numeric + } + + # order by min() on columns of table "scoreboard" + input scoreboard_min_order_by { + bodyhrs: order_by + date: order_by + id: order_by + jobid: order_by + painthrs: order_by + } + + # response of any mutation on the table "scoreboard" + type scoreboard_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [scoreboard!]! + } + + # input type for inserting object relation for remote table "scoreboard" + input scoreboard_obj_rel_insert_input { + data: scoreboard_insert_input! + on_conflict: scoreboard_on_conflict + } + + # on conflict condition type for table "scoreboard" + input scoreboard_on_conflict { + constraint: scoreboard_constraint! + update_columns: [scoreboard_update_column!]! + where: scoreboard_bool_exp + } + + # ordering options when selecting data from "scoreboard" + input scoreboard_order_by { + bodyhrs: order_by + date: order_by + id: order_by + job: jobs_order_by + jobid: order_by + painthrs: order_by + } + + # primary key columns input for table: "scoreboard" + input scoreboard_pk_columns_input { + id: uuid! + } + + # select columns of table "scoreboard" + enum scoreboard_select_column { + # column name + bodyhrs + + # column name + date + + # column name + id + + # column name + jobid + + # column name + painthrs + } + + # input type for updating data in table "scoreboard" + input scoreboard_set_input { + bodyhrs: numeric + date: date + id: uuid + jobid: uuid + painthrs: numeric + } + + # aggregate stddev on columns + type scoreboard_stddev_fields { + bodyhrs: Float + painthrs: Float + } + + # order by stddev() on columns of table "scoreboard" + input scoreboard_stddev_order_by { + bodyhrs: order_by + painthrs: order_by + } + + # aggregate stddev_pop on columns + type scoreboard_stddev_pop_fields { + bodyhrs: Float + painthrs: Float + } + + # order by stddev_pop() on columns of table "scoreboard" + input scoreboard_stddev_pop_order_by { + bodyhrs: order_by + painthrs: order_by + } + + # aggregate stddev_samp on columns + type scoreboard_stddev_samp_fields { + bodyhrs: Float + painthrs: Float + } + + # order by stddev_samp() on columns of table "scoreboard" + input scoreboard_stddev_samp_order_by { + bodyhrs: order_by + painthrs: order_by + } + + # aggregate sum on columns + type scoreboard_sum_fields { + bodyhrs: numeric + painthrs: numeric + } + + # order by sum() on columns of table "scoreboard" + input scoreboard_sum_order_by { + bodyhrs: order_by + painthrs: order_by + } + + # update columns of table "scoreboard" + enum scoreboard_update_column { + # column name + bodyhrs + + # column name + date + + # column name + id + + # column name + jobid + + # column name + painthrs + } + + # aggregate var_pop on columns + type scoreboard_var_pop_fields { + bodyhrs: Float + painthrs: Float + } + + # order by var_pop() on columns of table "scoreboard" + input scoreboard_var_pop_order_by { + bodyhrs: order_by + painthrs: order_by + } + + # aggregate var_samp on columns + type scoreboard_var_samp_fields { + bodyhrs: Float + painthrs: Float + } + + # order by var_samp() on columns of table "scoreboard" + input scoreboard_var_samp_order_by { + bodyhrs: order_by + painthrs: order_by + } + + # aggregate variance on columns + type scoreboard_variance_fields { + bodyhrs: Float + painthrs: Float + } + + # order by variance() on columns of table "scoreboard" + input scoreboard_variance_order_by { + bodyhrs: order_by + painthrs: order_by + } + + input search_invoices_args { + search: String + } + + input search_jobs_args { + search: String + } + + input search_owners_args { + search: String + } + + input search_payments_args { + search: String + } + + input search_vehicles_args { + search: String + } + + # expression to compare columns of type String. All fields are combined with logical 'AND'. + input String_comparison_exp { + _eq: String + _gt: String + _gte: String + _ilike: String + _in: [String!] + _is_null: Boolean + _like: String + _lt: String + _lte: String + _neq: String + _nilike: String + _nin: [String!] + _nlike: String + _nsimilar: String + _similar: String + } + + # subscription root + type subscription_root { + # fetch data from the table: "allocations" + allocations( + # distinct select on columns + distinct_on: [allocations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [allocations_order_by!] + + # filter the rows returned + where: allocations_bool_exp + ): [allocations!]! + + # fetch aggregated fields from the table: "allocations" + allocations_aggregate( + # distinct select on columns + distinct_on: [allocations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [allocations_order_by!] + + # filter the rows returned + where: allocations_bool_exp + ): allocations_aggregate! + + # fetch data from the table: "allocations" using primary key columns + allocations_by_pk(id: uuid!): allocations + + # fetch data from the table: "appointments" + appointments( + # distinct select on columns + distinct_on: [appointments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [appointments_order_by!] + + # filter the rows returned + where: appointments_bool_exp + ): [appointments!]! + + # fetch aggregated fields from the table: "appointments" + appointments_aggregate( + # distinct select on columns + distinct_on: [appointments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [appointments_order_by!] + + # filter the rows returned + where: appointments_bool_exp + ): appointments_aggregate! + + # fetch data from the table: "appointments" using primary key columns + appointments_by_pk(id: uuid!): appointments + + # fetch data from the table: "associations" + associations( + # distinct select on columns + distinct_on: [associations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [associations_order_by!] + + # filter the rows returned + where: associations_bool_exp + ): [associations!]! + + # fetch aggregated fields from the table: "associations" + associations_aggregate( + # distinct select on columns + distinct_on: [associations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [associations_order_by!] + + # filter the rows returned + where: associations_bool_exp + ): associations_aggregate! + + # fetch data from the table: "associations" using primary key columns + associations_by_pk(id: uuid!): associations + + # fetch data from the table: "audit_trail" + audit_trail( + # distinct select on columns + distinct_on: [audit_trail_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [audit_trail_order_by!] + + # filter the rows returned + where: audit_trail_bool_exp + ): [audit_trail!]! + + # fetch aggregated fields from the table: "audit_trail" + audit_trail_aggregate( + # distinct select on columns + distinct_on: [audit_trail_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [audit_trail_order_by!] + + # filter the rows returned + where: audit_trail_bool_exp + ): audit_trail_aggregate! + + # fetch data from the table: "audit_trail" using primary key columns + audit_trail_by_pk(id: Int!): audit_trail + + # fetch data from the table: "available_jobs" + available_jobs( + # distinct select on columns + distinct_on: [available_jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [available_jobs_order_by!] + + # filter the rows returned + where: available_jobs_bool_exp + ): [available_jobs!]! + + # fetch aggregated fields from the table: "available_jobs" + available_jobs_aggregate( + # distinct select on columns + distinct_on: [available_jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [available_jobs_order_by!] + + # filter the rows returned + where: available_jobs_bool_exp + ): available_jobs_aggregate! + + # fetch data from the table: "available_jobs" using primary key columns + available_jobs_by_pk(id: uuid!): available_jobs + + # fetch data from the table: "bodyshops" + bodyshops( + # distinct select on columns + distinct_on: [bodyshops_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [bodyshops_order_by!] + + # filter the rows returned + where: bodyshops_bool_exp + ): [bodyshops!]! + + # fetch aggregated fields from the table: "bodyshops" + bodyshops_aggregate( + # distinct select on columns + distinct_on: [bodyshops_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [bodyshops_order_by!] + + # filter the rows returned + where: bodyshops_bool_exp + ): bodyshops_aggregate! + + # fetch data from the table: "bodyshops" using primary key columns + bodyshops_by_pk(id: uuid!): bodyshops + + # fetch data from the table: "cccontracts" + cccontracts( + # distinct select on columns + distinct_on: [cccontracts_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [cccontracts_order_by!] + + # filter the rows returned + where: cccontracts_bool_exp + ): [cccontracts!]! + + # fetch aggregated fields from the table: "cccontracts" + cccontracts_aggregate( + # distinct select on columns + distinct_on: [cccontracts_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [cccontracts_order_by!] + + # filter the rows returned + where: cccontracts_bool_exp + ): cccontracts_aggregate! + + # fetch data from the table: "cccontracts" using primary key columns + cccontracts_by_pk(id: uuid!): cccontracts + + # fetch data from the table: "conversations" + conversations( + # distinct select on columns + distinct_on: [conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [conversations_order_by!] + + # filter the rows returned + where: conversations_bool_exp + ): [conversations!]! + + # fetch aggregated fields from the table: "conversations" + conversations_aggregate( + # distinct select on columns + distinct_on: [conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [conversations_order_by!] + + # filter the rows returned + where: conversations_bool_exp + ): conversations_aggregate! + + # fetch data from the table: "conversations" using primary key columns + conversations_by_pk(id: uuid!): conversations + + # fetch data from the table: "counters" + counters( + # distinct select on columns + distinct_on: [counters_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [counters_order_by!] + + # filter the rows returned + where: counters_bool_exp + ): [counters!]! + + # fetch aggregated fields from the table: "counters" + counters_aggregate( + # distinct select on columns + distinct_on: [counters_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [counters_order_by!] + + # filter the rows returned + where: counters_bool_exp + ): counters_aggregate! + + # fetch data from the table: "counters" using primary key columns + counters_by_pk(id: uuid!): counters + + # fetch data from the table: "courtesycars" + courtesycars( + # distinct select on columns + distinct_on: [courtesycars_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [courtesycars_order_by!] + + # filter the rows returned + where: courtesycars_bool_exp + ): [courtesycars!]! + + # fetch aggregated fields from the table: "courtesycars" + courtesycars_aggregate( + # distinct select on columns + distinct_on: [courtesycars_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [courtesycars_order_by!] + + # filter the rows returned + where: courtesycars_bool_exp + ): courtesycars_aggregate! + + # fetch data from the table: "courtesycars" using primary key columns + courtesycars_by_pk(id: uuid!): courtesycars + + # fetch data from the table: "csi" + csi( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): [csi!]! + + # fetch aggregated fields from the table: "csi" + csi_aggregate( + # distinct select on columns + distinct_on: [csi_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csi_order_by!] + + # filter the rows returned + where: csi_bool_exp + ): csi_aggregate! + + # fetch data from the table: "csi" using primary key columns + csi_by_pk(id: uuid!): csi + + # fetch data from the table: "csiquestions" + csiquestions( + # distinct select on columns + distinct_on: [csiquestions_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csiquestions_order_by!] + + # filter the rows returned + where: csiquestions_bool_exp + ): [csiquestions!]! + + # fetch aggregated fields from the table: "csiquestions" + csiquestions_aggregate( + # distinct select on columns + distinct_on: [csiquestions_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [csiquestions_order_by!] + + # filter the rows returned + where: csiquestions_bool_exp + ): csiquestions_aggregate! + + # fetch data from the table: "csiquestions" using primary key columns + csiquestions_by_pk(id: uuid!): csiquestions + + # fetch data from the table: "documents" + documents( + # distinct select on columns + distinct_on: [documents_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [documents_order_by!] + + # filter the rows returned + where: documents_bool_exp + ): [documents!]! + + # fetch aggregated fields from the table: "documents" + documents_aggregate( + # distinct select on columns + distinct_on: [documents_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [documents_order_by!] + + # filter the rows returned + where: documents_bool_exp + ): documents_aggregate! + + # fetch data from the table: "documents" using primary key columns + documents_by_pk(id: uuid!): documents + + # fetch data from the table: "employees" + employees( + # distinct select on columns + distinct_on: [employees_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [employees_order_by!] + + # filter the rows returned + where: employees_bool_exp + ): [employees!]! + + # fetch aggregated fields from the table: "employees" + employees_aggregate( + # distinct select on columns + distinct_on: [employees_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [employees_order_by!] + + # filter the rows returned + where: employees_bool_exp + ): employees_aggregate! + + # fetch data from the table: "employees" using primary key columns + employees_by_pk(id: uuid!): employees + + # fetch data from the table: "invoicelines" + invoicelines( + # distinct select on columns + distinct_on: [invoicelines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoicelines_order_by!] + + # filter the rows returned + where: invoicelines_bool_exp + ): [invoicelines!]! + + # fetch aggregated fields from the table: "invoicelines" + invoicelines_aggregate( + # distinct select on columns + distinct_on: [invoicelines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoicelines_order_by!] + + # filter the rows returned + where: invoicelines_bool_exp + ): invoicelines_aggregate! + + # fetch data from the table: "invoicelines" using primary key columns + invoicelines_by_pk(id: uuid!): invoicelines + + # fetch data from the table: "invoices" + invoices( + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): [invoices!]! + + # fetch aggregated fields from the table: "invoices" + invoices_aggregate( + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): invoices_aggregate! + + # fetch data from the table: "invoices" using primary key columns + invoices_by_pk(id: uuid!): invoices + + # fetch data from the table: "job_conversations" + job_conversations( + # distinct select on columns + distinct_on: [job_conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [job_conversations_order_by!] + + # filter the rows returned + where: job_conversations_bool_exp + ): [job_conversations!]! + + # fetch aggregated fields from the table: "job_conversations" + job_conversations_aggregate( + # distinct select on columns + distinct_on: [job_conversations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [job_conversations_order_by!] + + # filter the rows returned + where: job_conversations_bool_exp + ): job_conversations_aggregate! + + # fetch data from the table: "job_conversations" using primary key columns + job_conversations_by_pk( + conversationid: uuid! + jobid: uuid! + ): job_conversations + + # fetch data from the table: "joblines" + joblines( + # distinct select on columns + distinct_on: [joblines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_order_by!] + + # filter the rows returned + where: joblines_bool_exp + ): [joblines!]! + + # fetch aggregated fields from the table: "joblines" + joblines_aggregate( + # distinct select on columns + distinct_on: [joblines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_order_by!] + + # filter the rows returned + where: joblines_bool_exp + ): joblines_aggregate! + + # fetch data from the table: "joblines" using primary key columns + joblines_by_pk(id: uuid!): joblines + + # fetch data from the table: "joblines_status" + joblines_status( + # distinct select on columns + distinct_on: [joblines_status_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_status_order_by!] + + # filter the rows returned + where: joblines_status_bool_exp + ): [joblines_status!]! + + # fetch aggregated fields from the table: "joblines_status" + joblines_status_aggregate( + # distinct select on columns + distinct_on: [joblines_status_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [joblines_status_order_by!] + + # filter the rows returned + where: joblines_status_bool_exp + ): joblines_status_aggregate! + + # fetch data from the table: "jobs" + jobs( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # fetch aggregated fields from the table: "jobs" + jobs_aggregate( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + + # fetch data from the table: "jobs" using primary key columns + jobs_by_pk(id: uuid!): jobs + + # fetch data from the table: "masterdata" + masterdata( + # distinct select on columns + distinct_on: [masterdata_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [masterdata_order_by!] + + # filter the rows returned + where: masterdata_bool_exp + ): [masterdata!]! + + # fetch aggregated fields from the table: "masterdata" + masterdata_aggregate( + # distinct select on columns + distinct_on: [masterdata_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [masterdata_order_by!] + + # filter the rows returned + where: masterdata_bool_exp + ): masterdata_aggregate! + + # fetch data from the table: "masterdata" using primary key columns + masterdata_by_pk(key: String!): masterdata + + # fetch data from the table: "messages" + messages( + # distinct select on columns + distinct_on: [messages_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [messages_order_by!] + + # filter the rows returned + where: messages_bool_exp + ): [messages!]! + + # fetch aggregated fields from the table: "messages" + messages_aggregate( + # distinct select on columns + distinct_on: [messages_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [messages_order_by!] + + # filter the rows returned + where: messages_bool_exp + ): messages_aggregate! + + # fetch data from the table: "messages" using primary key columns + messages_by_pk(id: uuid!): messages + + # fetch data from the table: "notes" + notes( + # distinct select on columns + distinct_on: [notes_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [notes_order_by!] + + # filter the rows returned + where: notes_bool_exp + ): [notes!]! + + # fetch aggregated fields from the table: "notes" + notes_aggregate( + # distinct select on columns + distinct_on: [notes_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [notes_order_by!] + + # filter the rows returned + where: notes_bool_exp + ): notes_aggregate! + + # fetch data from the table: "notes" using primary key columns + notes_by_pk(id: uuid!): notes + + # fetch data from the table: "owners" + owners( + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): [owners!]! + + # fetch aggregated fields from the table: "owners" + owners_aggregate( + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): owners_aggregate! + + # fetch data from the table: "owners" using primary key columns + owners_by_pk(id: uuid!): owners + + # fetch data from the table: "parts_order_lines" + parts_order_lines( + # distinct select on columns + distinct_on: [parts_order_lines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_order_lines_order_by!] + + # filter the rows returned + where: parts_order_lines_bool_exp + ): [parts_order_lines!]! + + # fetch aggregated fields from the table: "parts_order_lines" + parts_order_lines_aggregate( + # distinct select on columns + distinct_on: [parts_order_lines_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_order_lines_order_by!] + + # filter the rows returned + where: parts_order_lines_bool_exp + ): parts_order_lines_aggregate! + + # fetch data from the table: "parts_order_lines" using primary key columns + parts_order_lines_by_pk(id: uuid!): parts_order_lines + + # fetch data from the table: "parts_orders" + parts_orders( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): [parts_orders!]! + + # fetch aggregated fields from the table: "parts_orders" + parts_orders_aggregate( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): parts_orders_aggregate! + + # fetch data from the table: "parts_orders" using primary key columns + parts_orders_by_pk(id: uuid!): parts_orders + + # fetch data from the table: "payments" + payments( + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): [payments!]! + + # fetch aggregated fields from the table: "payments" + payments_aggregate( + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): payments_aggregate! + + # fetch data from the table: "payments" using primary key columns + payments_by_pk(id: uuid!): payments + + # fetch data from the table: "scoreboard" + scoreboard( + # distinct select on columns + distinct_on: [scoreboard_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [scoreboard_order_by!] + + # filter the rows returned + where: scoreboard_bool_exp + ): [scoreboard!]! + + # fetch aggregated fields from the table: "scoreboard" + scoreboard_aggregate( + # distinct select on columns + distinct_on: [scoreboard_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [scoreboard_order_by!] + + # filter the rows returned + where: scoreboard_bool_exp + ): scoreboard_aggregate! + + # fetch data from the table: "scoreboard" using primary key columns + scoreboard_by_pk(id: uuid!): scoreboard + + # execute function "search_invoices" which returns "invoices" + search_invoices( + # input parameters for function "search_invoices" + args: search_invoices_args! + + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): [invoices!]! + + # execute function "search_invoices" and query aggregates on result of table type "invoices" + search_invoices_aggregate( + # input parameters for function "search_invoices" + args: search_invoices_args! + + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): invoices_aggregate! + + # execute function "search_jobs" which returns "jobs" + search_jobs( + # input parameters for function "search_jobs" + args: search_jobs_args! + + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # execute function "search_jobs" and query aggregates on result of table type "jobs" + search_jobs_aggregate( + # input parameters for function "search_jobs" + args: search_jobs_args! + + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + + # execute function "search_owners" which returns "owners" + search_owners( + # input parameters for function "search_owners" + args: search_owners_args! + + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): [owners!]! + + # execute function "search_owners" and query aggregates on result of table type "owners" + search_owners_aggregate( + # input parameters for function "search_owners" + args: search_owners_args! + + # distinct select on columns + distinct_on: [owners_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [owners_order_by!] + + # filter the rows returned + where: owners_bool_exp + ): owners_aggregate! + + # execute function "search_payments" which returns "payments" + search_payments( + # input parameters for function "search_payments" + args: search_payments_args! + + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): [payments!]! + + # execute function "search_payments" and query aggregates on result of table type "payments" + search_payments_aggregate( + # input parameters for function "search_payments" + args: search_payments_args! + + # distinct select on columns + distinct_on: [payments_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [payments_order_by!] + + # filter the rows returned + where: payments_bool_exp + ): payments_aggregate! + + # execute function "search_vehicles" which returns "vehicles" + search_vehicles( + # input parameters for function "search_vehicles" + args: search_vehicles_args! + + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): [vehicles!]! + + # execute function "search_vehicles" and query aggregates on result of table type "vehicles" + search_vehicles_aggregate( + # input parameters for function "search_vehicles" + args: search_vehicles_args! + + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): vehicles_aggregate! + + # fetch data from the table: "templates" + templates( + # distinct select on columns + distinct_on: [templates_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [templates_order_by!] + + # filter the rows returned + where: templates_bool_exp + ): [templates!]! + + # fetch aggregated fields from the table: "templates" + templates_aggregate( + # distinct select on columns + distinct_on: [templates_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [templates_order_by!] + + # filter the rows returned + where: templates_bool_exp + ): templates_aggregate! + + # fetch data from the table: "templates" using primary key columns + templates_by_pk(id: uuid!): templates + + # fetch data from the table: "timetickets" + timetickets( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): [timetickets!]! + + # fetch aggregated fields from the table: "timetickets" + timetickets_aggregate( + # distinct select on columns + distinct_on: [timetickets_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [timetickets_order_by!] + + # filter the rows returned + where: timetickets_bool_exp + ): timetickets_aggregate! + + # fetch data from the table: "timetickets" using primary key columns + timetickets_by_pk(id: uuid!): timetickets + + # fetch data from the table: "users" + users( + # distinct select on columns + distinct_on: [users_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [users_order_by!] + + # filter the rows returned + where: users_bool_exp + ): [users!]! + + # fetch aggregated fields from the table: "users" + users_aggregate( + # distinct select on columns + distinct_on: [users_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [users_order_by!] + + # filter the rows returned + where: users_bool_exp + ): users_aggregate! + + # fetch data from the table: "users" using primary key columns + users_by_pk(email: String!): users + + # fetch data from the table: "vehicles" + vehicles( + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): [vehicles!]! + + # fetch aggregated fields from the table: "vehicles" + vehicles_aggregate( + # distinct select on columns + distinct_on: [vehicles_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vehicles_order_by!] + + # filter the rows returned + where: vehicles_bool_exp + ): vehicles_aggregate! + + # fetch data from the table: "vehicles" using primary key columns + vehicles_by_pk(id: uuid!): vehicles + + # fetch data from the table: "vendors" + vendors( + # distinct select on columns + distinct_on: [vendors_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vendors_order_by!] + + # filter the rows returned + where: vendors_bool_exp + ): [vendors!]! + + # fetch aggregated fields from the table: "vendors" + vendors_aggregate( + # distinct select on columns + distinct_on: [vendors_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [vendors_order_by!] + + # filter the rows returned + where: vendors_bool_exp + ): vendors_aggregate! + + # fetch data from the table: "vendors" using primary key columns + vendors_by_pk(id: uuid!): vendors + } + + # columns and relationships of "templates" + type templates { + # An object relationship + bodyshop: bodyshops + bodyshopid: uuid + created_at: timestamptz! + html: String! + id: uuid! + jsontemplate( + # JSON select path + path: String + ): jsonb + name: String! + query: String! + updated_at: timestamptz! + } + + # aggregated selection of "templates" + type templates_aggregate { + aggregate: templates_aggregate_fields + nodes: [templates!]! + } + + # aggregate fields of "templates" + type templates_aggregate_fields { + count(columns: [templates_select_column!], distinct: Boolean): Int + max: templates_max_fields + min: templates_min_fields + } + + # order by aggregate values of table "templates" + input templates_aggregate_order_by { + count: order_by + max: templates_max_order_by + min: templates_min_order_by + } + + # append existing jsonb value of filtered columns with new jsonb value + input templates_append_input { + jsontemplate: jsonb + } + + # input type for inserting array relation for remote table "templates" + input templates_arr_rel_insert_input { + data: [templates_insert_input!]! + on_conflict: templates_on_conflict + } + + # Boolean expression to filter rows from the table "templates". All fields are combined with a logical 'AND'. + input templates_bool_exp { + _and: [templates_bool_exp] + _not: templates_bool_exp + _or: [templates_bool_exp] + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + created_at: timestamptz_comparison_exp + html: String_comparison_exp + id: uuid_comparison_exp + jsontemplate: jsonb_comparison_exp + name: String_comparison_exp + query: String_comparison_exp + updated_at: timestamptz_comparison_exp + } + + # unique or primary key constraints on table "templates" + enum templates_constraint { + # unique or primary key constraint + templates_pkey + } + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + input templates_delete_at_path_input { + jsontemplate: [String] + } + + # delete the array element with specified index (negative integers count from the + # end). throws an error if top level container is not an array + input templates_delete_elem_input { + jsontemplate: Int + } + + # delete key/value pair or string element. key/value pairs are matched based on their key value + input templates_delete_key_input { + jsontemplate: String + } + + # input type for inserting data into table "templates" + input templates_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + created_at: timestamptz + html: String + id: uuid + jsontemplate: jsonb + name: String + query: String + updated_at: timestamptz + } + + # aggregate max on columns + type templates_max_fields { + bodyshopid: uuid + created_at: timestamptz + html: String + id: uuid + name: String + query: String + updated_at: timestamptz + } + + # order by max() on columns of table "templates" + input templates_max_order_by { + bodyshopid: order_by + created_at: order_by + html: order_by + id: order_by + name: order_by + query: order_by + updated_at: order_by + } + + # aggregate min on columns + type templates_min_fields { + bodyshopid: uuid + created_at: timestamptz + html: String + id: uuid + name: String + query: String + updated_at: timestamptz + } + + # order by min() on columns of table "templates" + input templates_min_order_by { + bodyshopid: order_by + created_at: order_by + html: order_by + id: order_by + name: order_by + query: order_by + updated_at: order_by + } + + # response of any mutation on the table "templates" + type templates_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [templates!]! + } + + # input type for inserting object relation for remote table "templates" + input templates_obj_rel_insert_input { + data: templates_insert_input! + on_conflict: templates_on_conflict + } + + # on conflict condition type for table "templates" + input templates_on_conflict { + constraint: templates_constraint! + update_columns: [templates_update_column!]! + where: templates_bool_exp + } + + # ordering options when selecting data from "templates" + input templates_order_by { + bodyshop: bodyshops_order_by + bodyshopid: order_by + created_at: order_by + html: order_by + id: order_by + jsontemplate: order_by + name: order_by + query: order_by + updated_at: order_by + } + + # primary key columns input for table: "templates" + input templates_pk_columns_input { + id: uuid! + } + + # prepend existing jsonb value of filtered columns with new jsonb value + input templates_prepend_input { + jsontemplate: jsonb + } + + # select columns of table "templates" + enum templates_select_column { + # column name + bodyshopid + + # column name + created_at + + # column name + html + + # column name + id + + # column name + jsontemplate + + # column name + name + + # column name + query + + # column name + updated_at + } + + # input type for updating data in table "templates" + input templates_set_input { + bodyshopid: uuid + created_at: timestamptz + html: String + id: uuid + jsontemplate: jsonb + name: String + query: String + updated_at: timestamptz + } + + # update columns of table "templates" + enum templates_update_column { + # column name + bodyshopid + + # column name + created_at + + # column name + html + + # column name + id + + # column name + jsontemplate + + # column name + name + + # column name + query + + # column name + updated_at + } + + scalar timestamp + + # expression to compare columns of type timestamp. All fields are combined with logical 'AND'. + input timestamp_comparison_exp { + _eq: timestamp + _gt: timestamp + _gte: timestamp + _in: [timestamp!] + _is_null: Boolean + _lt: timestamp + _lte: timestamp + _neq: timestamp + _nin: [timestamp!] + } + + scalar timestamptz + + # expression to compare columns of type timestamptz. All fields are combined with logical 'AND'. + input timestamptz_comparison_exp { + _eq: timestamptz + _gt: timestamptz + _gte: timestamptz + _in: [timestamptz!] + _is_null: Boolean + _lt: timestamptz + _lte: timestamptz + _neq: timestamptz + _nin: [timestamptz!] + } + + # columns and relationships of "timetickets" + type timetickets { + actualhrs: numeric! + + # An object relationship + bodyshop: bodyshops! + bodyshopid: uuid! + ciecacode: String + clockoff: timestamptz + clockon: timestamptz + cost_center: String! + created_at: timestamptz! + date: date! + + # An object relationship + employee: employees! + employeeid: uuid! + id: uuid! + + # An object relationship + job: jobs + jobid: uuid + memo: String + productivehrs: numeric! + rate: numeric! + updated_at: timestamptz! + } + + # aggregated selection of "timetickets" + type timetickets_aggregate { + aggregate: timetickets_aggregate_fields + nodes: [timetickets!]! + } + + # aggregate fields of "timetickets" + type timetickets_aggregate_fields { + avg: timetickets_avg_fields + count(columns: [timetickets_select_column!], distinct: Boolean): Int + max: timetickets_max_fields + min: timetickets_min_fields + stddev: timetickets_stddev_fields + stddev_pop: timetickets_stddev_pop_fields + stddev_samp: timetickets_stddev_samp_fields + sum: timetickets_sum_fields + var_pop: timetickets_var_pop_fields + var_samp: timetickets_var_samp_fields + variance: timetickets_variance_fields + } + + # order by aggregate values of table "timetickets" + input timetickets_aggregate_order_by { + avg: timetickets_avg_order_by + count: order_by + max: timetickets_max_order_by + min: timetickets_min_order_by + stddev: timetickets_stddev_order_by + stddev_pop: timetickets_stddev_pop_order_by + stddev_samp: timetickets_stddev_samp_order_by + sum: timetickets_sum_order_by + var_pop: timetickets_var_pop_order_by + var_samp: timetickets_var_samp_order_by + variance: timetickets_variance_order_by + } + + # input type for inserting array relation for remote table "timetickets" + input timetickets_arr_rel_insert_input { + data: [timetickets_insert_input!]! + on_conflict: timetickets_on_conflict + } + + # aggregate avg on columns + type timetickets_avg_fields { + actualhrs: Float + productivehrs: Float + rate: Float + } + + # order by avg() on columns of table "timetickets" + input timetickets_avg_order_by { + actualhrs: order_by + productivehrs: order_by + rate: order_by + } + + # Boolean expression to filter rows from the table "timetickets". All fields are combined with a logical 'AND'. + input timetickets_bool_exp { + _and: [timetickets_bool_exp] + _not: timetickets_bool_exp + _or: [timetickets_bool_exp] + actualhrs: numeric_comparison_exp + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + ciecacode: String_comparison_exp + clockoff: timestamptz_comparison_exp + clockon: timestamptz_comparison_exp + cost_center: String_comparison_exp + created_at: timestamptz_comparison_exp + date: date_comparison_exp + employee: employees_bool_exp + employeeid: uuid_comparison_exp + id: uuid_comparison_exp + job: jobs_bool_exp + jobid: uuid_comparison_exp + memo: String_comparison_exp + productivehrs: numeric_comparison_exp + rate: numeric_comparison_exp + updated_at: timestamptz_comparison_exp + } + + # unique or primary key constraints on table "timetickets" + enum timetickets_constraint { + # unique or primary key constraint + timetickets_pkey + } + + # input type for incrementing integer column in table "timetickets" + input timetickets_inc_input { + actualhrs: numeric + productivehrs: numeric + rate: numeric + } + + # input type for inserting data into table "timetickets" + input timetickets_insert_input { + actualhrs: numeric + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + ciecacode: String + clockoff: timestamptz + clockon: timestamptz + cost_center: String + created_at: timestamptz + date: date + employee: employees_obj_rel_insert_input + employeeid: uuid + id: uuid + job: jobs_obj_rel_insert_input + jobid: uuid + memo: String + productivehrs: numeric + rate: numeric + updated_at: timestamptz + } + + # aggregate max on columns + type timetickets_max_fields { + actualhrs: numeric + bodyshopid: uuid + ciecacode: String + clockoff: timestamptz + clockon: timestamptz + cost_center: String + created_at: timestamptz + date: date + employeeid: uuid + id: uuid + jobid: uuid + memo: String + productivehrs: numeric + rate: numeric + updated_at: timestamptz + } + + # order by max() on columns of table "timetickets" + input timetickets_max_order_by { + actualhrs: order_by + bodyshopid: order_by + ciecacode: order_by + clockoff: order_by + clockon: order_by + cost_center: order_by + created_at: order_by + date: order_by + employeeid: order_by + id: order_by + jobid: order_by + memo: order_by + productivehrs: order_by + rate: order_by + updated_at: order_by + } + + # aggregate min on columns + type timetickets_min_fields { + actualhrs: numeric + bodyshopid: uuid + ciecacode: String + clockoff: timestamptz + clockon: timestamptz + cost_center: String + created_at: timestamptz + date: date + employeeid: uuid + id: uuid + jobid: uuid + memo: String + productivehrs: numeric + rate: numeric + updated_at: timestamptz + } + + # order by min() on columns of table "timetickets" + input timetickets_min_order_by { + actualhrs: order_by + bodyshopid: order_by + ciecacode: order_by + clockoff: order_by + clockon: order_by + cost_center: order_by + created_at: order_by + date: order_by + employeeid: order_by + id: order_by + jobid: order_by + memo: order_by + productivehrs: order_by + rate: order_by + updated_at: order_by + } + + # response of any mutation on the table "timetickets" + type timetickets_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [timetickets!]! + } + + # input type for inserting object relation for remote table "timetickets" + input timetickets_obj_rel_insert_input { + data: timetickets_insert_input! + on_conflict: timetickets_on_conflict + } + + # on conflict condition type for table "timetickets" + input timetickets_on_conflict { + constraint: timetickets_constraint! + update_columns: [timetickets_update_column!]! + where: timetickets_bool_exp + } + + # ordering options when selecting data from "timetickets" + input timetickets_order_by { + actualhrs: order_by + bodyshop: bodyshops_order_by + bodyshopid: order_by + ciecacode: order_by + clockoff: order_by + clockon: order_by + cost_center: order_by + created_at: order_by + date: order_by + employee: employees_order_by + employeeid: order_by + id: order_by + job: jobs_order_by + jobid: order_by + memo: order_by + productivehrs: order_by + rate: order_by + updated_at: order_by + } + + # primary key columns input for table: "timetickets" + input timetickets_pk_columns_input { + id: uuid! + } + + # select columns of table "timetickets" + enum timetickets_select_column { + # column name + actualhrs + + # column name + bodyshopid + + # column name + ciecacode + + # column name + clockoff + + # column name + clockon + + # column name + cost_center + + # column name + created_at + + # column name + date + + # column name + employeeid + + # column name + id + + # column name + jobid + + # column name + memo + + # column name + productivehrs + + # column name + rate + + # column name + updated_at + } + + # input type for updating data in table "timetickets" + input timetickets_set_input { + actualhrs: numeric + bodyshopid: uuid + ciecacode: String + clockoff: timestamptz + clockon: timestamptz + cost_center: String + created_at: timestamptz + date: date + employeeid: uuid + id: uuid + jobid: uuid + memo: String + productivehrs: numeric + rate: numeric + updated_at: timestamptz + } + + # aggregate stddev on columns + type timetickets_stddev_fields { + actualhrs: Float + productivehrs: Float + rate: Float + } + + # order by stddev() on columns of table "timetickets" + input timetickets_stddev_order_by { + actualhrs: order_by + productivehrs: order_by + rate: order_by + } + + # aggregate stddev_pop on columns + type timetickets_stddev_pop_fields { + actualhrs: Float + productivehrs: Float + rate: Float + } + + # order by stddev_pop() on columns of table "timetickets" + input timetickets_stddev_pop_order_by { + actualhrs: order_by + productivehrs: order_by + rate: order_by + } + + # aggregate stddev_samp on columns + type timetickets_stddev_samp_fields { + actualhrs: Float + productivehrs: Float + rate: Float + } + + # order by stddev_samp() on columns of table "timetickets" + input timetickets_stddev_samp_order_by { + actualhrs: order_by + productivehrs: order_by + rate: order_by + } + + # aggregate sum on columns + type timetickets_sum_fields { + actualhrs: numeric + productivehrs: numeric + rate: numeric + } + + # order by sum() on columns of table "timetickets" + input timetickets_sum_order_by { + actualhrs: order_by + productivehrs: order_by + rate: order_by + } + + # update columns of table "timetickets" + enum timetickets_update_column { + # column name + actualhrs + + # column name + bodyshopid + + # column name + ciecacode + + # column name + clockoff + + # column name + clockon + + # column name + cost_center + + # column name + created_at + + # column name + date + + # column name + employeeid + + # column name + id + + # column name + jobid + + # column name + memo + + # column name + productivehrs + + # column name + rate + + # column name + updated_at + } + + # aggregate var_pop on columns + type timetickets_var_pop_fields { + actualhrs: Float + productivehrs: Float + rate: Float + } + + # order by var_pop() on columns of table "timetickets" + input timetickets_var_pop_order_by { + actualhrs: order_by + productivehrs: order_by + rate: order_by + } + + # aggregate var_samp on columns + type timetickets_var_samp_fields { + actualhrs: Float + productivehrs: Float + rate: Float + } + + # order by var_samp() on columns of table "timetickets" + input timetickets_var_samp_order_by { + actualhrs: order_by + productivehrs: order_by + rate: order_by + } + + # aggregate variance on columns + type timetickets_variance_fields { + actualhrs: Float + productivehrs: Float + rate: Float + } + + # order by variance() on columns of table "timetickets" + input timetickets_variance_order_by { + actualhrs: order_by + productivehrs: order_by + rate: order_by + } + + # columns and relationships of "users" + type users { + # An array relationship + associations( + # distinct select on columns + distinct_on: [associations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [associations_order_by!] + + # filter the rows returned + where: associations_bool_exp + ): [associations!]! + + # An aggregated array relationship + associations_aggregate( + # distinct select on columns + distinct_on: [associations_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [associations_order_by!] + + # filter the rows returned + where: associations_bool_exp + ): associations_aggregate! + + # An array relationship + audit_trails( + # distinct select on columns + distinct_on: [audit_trail_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [audit_trail_order_by!] + + # filter the rows returned + where: audit_trail_bool_exp + ): [audit_trail!]! + + # An aggregated array relationship + audit_trails_aggregate( + # distinct select on columns + distinct_on: [audit_trail_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [audit_trail_order_by!] + + # filter the rows returned + where: audit_trail_bool_exp + ): audit_trail_aggregate! + authid: String! + created_at: timestamptz! + dashboardlayout( + # JSON select path + path: String + ): jsonb! + email: String! + + # An object relationship + employee: employees + fcmtokens( + # JSON select path + path: String + ): jsonb + + # An array relationship + notes( + # distinct select on columns + distinct_on: [notes_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [notes_order_by!] + + # filter the rows returned + where: notes_bool_exp + ): [notes!]! + + # An aggregated array relationship + notes_aggregate( + # distinct select on columns + distinct_on: [notes_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [notes_order_by!] + + # filter the rows returned + where: notes_bool_exp + ): notes_aggregate! + + # An array relationship + parts_orders( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): [parts_orders!]! + + # An aggregated array relationship + parts_orders_aggregate( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): parts_orders_aggregate! + updated_at: timestamptz! + } + + # aggregated selection of "users" + type users_aggregate { + aggregate: users_aggregate_fields + nodes: [users!]! + } + + # aggregate fields of "users" + type users_aggregate_fields { + count(columns: [users_select_column!], distinct: Boolean): Int + max: users_max_fields + min: users_min_fields + } + + # order by aggregate values of table "users" + input users_aggregate_order_by { + count: order_by + max: users_max_order_by + min: users_min_order_by + } + + # append existing jsonb value of filtered columns with new jsonb value + input users_append_input { + dashboardlayout: jsonb + fcmtokens: jsonb + } + + # input type for inserting array relation for remote table "users" + input users_arr_rel_insert_input { + data: [users_insert_input!]! + on_conflict: users_on_conflict + } + + # Boolean expression to filter rows from the table "users". All fields are combined with a logical 'AND'. + input users_bool_exp { + _and: [users_bool_exp] + _not: users_bool_exp + _or: [users_bool_exp] + associations: associations_bool_exp + audit_trails: audit_trail_bool_exp + authid: String_comparison_exp + created_at: timestamptz_comparison_exp + dashboardlayout: jsonb_comparison_exp + email: String_comparison_exp + employee: employees_bool_exp + fcmtokens: jsonb_comparison_exp + notes: notes_bool_exp + parts_orders: parts_orders_bool_exp + updated_at: timestamptz_comparison_exp + } + + # unique or primary key constraints on table "users" + enum users_constraint { + # unique or primary key constraint + users_pkey + } + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + input users_delete_at_path_input { + dashboardlayout: [String] + fcmtokens: [String] + } + + # delete the array element with specified index (negative integers count from the + # end). throws an error if top level container is not an array + input users_delete_elem_input { + dashboardlayout: Int + fcmtokens: Int + } + + # delete key/value pair or string element. key/value pairs are matched based on their key value + input users_delete_key_input { + dashboardlayout: String + fcmtokens: String + } + + # input type for inserting data into table "users" + input users_insert_input { + associations: associations_arr_rel_insert_input + audit_trails: audit_trail_arr_rel_insert_input + authid: String + created_at: timestamptz + dashboardlayout: jsonb + email: String + employee: employees_obj_rel_insert_input + fcmtokens: jsonb + notes: notes_arr_rel_insert_input + parts_orders: parts_orders_arr_rel_insert_input + updated_at: timestamptz + } + + # aggregate max on columns + type users_max_fields { + authid: String + created_at: timestamptz + email: String + updated_at: timestamptz + } + + # order by max() on columns of table "users" + input users_max_order_by { + authid: order_by + created_at: order_by + email: order_by + updated_at: order_by + } + + # aggregate min on columns + type users_min_fields { + authid: String + created_at: timestamptz + email: String + updated_at: timestamptz + } + + # order by min() on columns of table "users" + input users_min_order_by { + authid: order_by + created_at: order_by + email: order_by + updated_at: order_by + } + + # response of any mutation on the table "users" + type users_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [users!]! + } + + # input type for inserting object relation for remote table "users" + input users_obj_rel_insert_input { + data: users_insert_input! + on_conflict: users_on_conflict + } + + # on conflict condition type for table "users" + input users_on_conflict { + constraint: users_constraint! + update_columns: [users_update_column!]! + where: users_bool_exp + } + + # ordering options when selecting data from "users" + input users_order_by { + associations_aggregate: associations_aggregate_order_by + audit_trails_aggregate: audit_trail_aggregate_order_by + authid: order_by + created_at: order_by + dashboardlayout: order_by + email: order_by + employee: employees_order_by + fcmtokens: order_by + notes_aggregate: notes_aggregate_order_by + parts_orders_aggregate: parts_orders_aggregate_order_by + updated_at: order_by + } + + # primary key columns input for table: "users" + input users_pk_columns_input { + email: String! + } + + # prepend existing jsonb value of filtered columns with new jsonb value + input users_prepend_input { + dashboardlayout: jsonb + fcmtokens: jsonb + } + + # select columns of table "users" + enum users_select_column { + # column name + authid + + # column name + created_at + + # column name + dashboardlayout + + # column name + email + + # column name + fcmtokens + + # column name + updated_at + } + + # input type for updating data in table "users" + input users_set_input { + authid: String + created_at: timestamptz + dashboardlayout: jsonb + email: String + fcmtokens: jsonb + updated_at: timestamptz + } + + # update columns of table "users" + enum users_update_column { + # column name + authid + + # column name + created_at + + # column name + dashboardlayout + + # column name + email + + # column name + fcmtokens + + # column name + updated_at + } + + scalar uuid + + # expression to compare columns of type uuid. All fields are combined with logical 'AND'. + input uuid_comparison_exp { + _eq: uuid + _gt: uuid + _gte: uuid + _in: [uuid!] + _is_null: Boolean + _lt: uuid + _lte: uuid + _neq: uuid + _nin: [uuid!] + } + + # columns and relationships of "vehicles" + type vehicles { + # An object relationship + bodyshop: bodyshops! + created_at: timestamptz! + db_v_code: String + id: uuid! + + # An array relationship + jobs( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): [jobs!]! + + # An aggregated array relationship + jobs_aggregate( + # distinct select on columns + distinct_on: [jobs_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [jobs_order_by!] + + # filter the rows returned + where: jobs_bool_exp + ): jobs_aggregate! + plate_no: String + plate_st: String + shopid: uuid! + trim_color: String + updated_at: timestamptz! + v_bstyle: String + v_color: String + v_cond: String + v_engine: String + v_make_desc: String + v_makecode: String + v_mldgcode: String + v_model_desc: String + v_model_yr: String + v_options: String + v_paint_codes( + # JSON select path + path: String + ): jsonb + v_prod_dt: String + v_stage: String + v_tone: String + v_trimcode: String + v_type: String + v_vin: String! + } + + # aggregated selection of "vehicles" + type vehicles_aggregate { + aggregate: vehicles_aggregate_fields + nodes: [vehicles!]! + } + + # aggregate fields of "vehicles" + type vehicles_aggregate_fields { + count(columns: [vehicles_select_column!], distinct: Boolean): Int + max: vehicles_max_fields + min: vehicles_min_fields + } + + # order by aggregate values of table "vehicles" + input vehicles_aggregate_order_by { + count: order_by + max: vehicles_max_order_by + min: vehicles_min_order_by + } + + # append existing jsonb value of filtered columns with new jsonb value + input vehicles_append_input { + v_paint_codes: jsonb + } + + # input type for inserting array relation for remote table "vehicles" + input vehicles_arr_rel_insert_input { + data: [vehicles_insert_input!]! + on_conflict: vehicles_on_conflict + } + + # Boolean expression to filter rows from the table "vehicles". All fields are combined with a logical 'AND'. + input vehicles_bool_exp { + _and: [vehicles_bool_exp] + _not: vehicles_bool_exp + _or: [vehicles_bool_exp] + bodyshop: bodyshops_bool_exp + created_at: timestamptz_comparison_exp + db_v_code: String_comparison_exp + id: uuid_comparison_exp + jobs: jobs_bool_exp + plate_no: String_comparison_exp + plate_st: String_comparison_exp + shopid: uuid_comparison_exp + trim_color: String_comparison_exp + updated_at: timestamptz_comparison_exp + v_bstyle: String_comparison_exp + v_color: String_comparison_exp + v_cond: String_comparison_exp + v_engine: String_comparison_exp + v_make_desc: String_comparison_exp + v_makecode: String_comparison_exp + v_mldgcode: String_comparison_exp + v_model_desc: String_comparison_exp + v_model_yr: String_comparison_exp + v_options: String_comparison_exp + v_paint_codes: jsonb_comparison_exp + v_prod_dt: String_comparison_exp + v_stage: String_comparison_exp + v_tone: String_comparison_exp + v_trimcode: String_comparison_exp + v_type: String_comparison_exp + v_vin: String_comparison_exp + } + + # unique or primary key constraints on table "vehicles" + enum vehicles_constraint { + # unique or primary key constraint + vehicles_pkey + + # unique or primary key constraint + vehicles_v_vin_shopid_key + } + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + input vehicles_delete_at_path_input { + v_paint_codes: [String] + } + + # delete the array element with specified index (negative integers count from the + # end). throws an error if top level container is not an array + input vehicles_delete_elem_input { + v_paint_codes: Int + } + + # delete key/value pair or string element. key/value pairs are matched based on their key value + input vehicles_delete_key_input { + v_paint_codes: String + } + + # input type for inserting data into table "vehicles" + input vehicles_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + created_at: timestamptz + db_v_code: String + id: uuid + jobs: jobs_arr_rel_insert_input + plate_no: String + plate_st: String + shopid: uuid + trim_color: String + updated_at: timestamptz + v_bstyle: String + v_color: String + v_cond: String + v_engine: String + v_make_desc: String + v_makecode: String + v_mldgcode: String + v_model_desc: String + v_model_yr: String + v_options: String + v_paint_codes: jsonb + v_prod_dt: String + v_stage: String + v_tone: String + v_trimcode: String + v_type: String + v_vin: String + } + + # aggregate max on columns + type vehicles_max_fields { + created_at: timestamptz + db_v_code: String + id: uuid + plate_no: String + plate_st: String + shopid: uuid + trim_color: String + updated_at: timestamptz + v_bstyle: String + v_color: String + v_cond: String + v_engine: String + v_make_desc: String + v_makecode: String + v_mldgcode: String + v_model_desc: String + v_model_yr: String + v_options: String + v_prod_dt: String + v_stage: String + v_tone: String + v_trimcode: String + v_type: String + v_vin: String + } + + # order by max() on columns of table "vehicles" + input vehicles_max_order_by { + created_at: order_by + db_v_code: order_by + id: order_by + plate_no: order_by + plate_st: order_by + shopid: order_by + trim_color: order_by + updated_at: order_by + v_bstyle: order_by + v_color: order_by + v_cond: order_by + v_engine: order_by + v_make_desc: order_by + v_makecode: order_by + v_mldgcode: order_by + v_model_desc: order_by + v_model_yr: order_by + v_options: order_by + v_prod_dt: order_by + v_stage: order_by + v_tone: order_by + v_trimcode: order_by + v_type: order_by + v_vin: order_by + } + + # aggregate min on columns + type vehicles_min_fields { + created_at: timestamptz + db_v_code: String + id: uuid + plate_no: String + plate_st: String + shopid: uuid + trim_color: String + updated_at: timestamptz + v_bstyle: String + v_color: String + v_cond: String + v_engine: String + v_make_desc: String + v_makecode: String + v_mldgcode: String + v_model_desc: String + v_model_yr: String + v_options: String + v_prod_dt: String + v_stage: String + v_tone: String + v_trimcode: String + v_type: String + v_vin: String + } + + # order by min() on columns of table "vehicles" + input vehicles_min_order_by { + created_at: order_by + db_v_code: order_by + id: order_by + plate_no: order_by + plate_st: order_by + shopid: order_by + trim_color: order_by + updated_at: order_by + v_bstyle: order_by + v_color: order_by + v_cond: order_by + v_engine: order_by + v_make_desc: order_by + v_makecode: order_by + v_mldgcode: order_by + v_model_desc: order_by + v_model_yr: order_by + v_options: order_by + v_prod_dt: order_by + v_stage: order_by + v_tone: order_by + v_trimcode: order_by + v_type: order_by + v_vin: order_by + } + + # response of any mutation on the table "vehicles" + type vehicles_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [vehicles!]! + } + + # input type for inserting object relation for remote table "vehicles" + input vehicles_obj_rel_insert_input { + data: vehicles_insert_input! + on_conflict: vehicles_on_conflict + } + + # on conflict condition type for table "vehicles" + input vehicles_on_conflict { + constraint: vehicles_constraint! + update_columns: [vehicles_update_column!]! + where: vehicles_bool_exp + } + + # ordering options when selecting data from "vehicles" + input vehicles_order_by { + bodyshop: bodyshops_order_by + created_at: order_by + db_v_code: order_by + id: order_by + jobs_aggregate: jobs_aggregate_order_by + plate_no: order_by + plate_st: order_by + shopid: order_by + trim_color: order_by + updated_at: order_by + v_bstyle: order_by + v_color: order_by + v_cond: order_by + v_engine: order_by + v_make_desc: order_by + v_makecode: order_by + v_mldgcode: order_by + v_model_desc: order_by + v_model_yr: order_by + v_options: order_by + v_paint_codes: order_by + v_prod_dt: order_by + v_stage: order_by + v_tone: order_by + v_trimcode: order_by + v_type: order_by + v_vin: order_by + } + + # primary key columns input for table: "vehicles" + input vehicles_pk_columns_input { + id: uuid! + } + + # prepend existing jsonb value of filtered columns with new jsonb value + input vehicles_prepend_input { + v_paint_codes: jsonb + } + + # select columns of table "vehicles" + enum vehicles_select_column { + # column name + created_at + + # column name + db_v_code + + # column name + id + + # column name + plate_no + + # column name + plate_st + + # column name + shopid + + # column name + trim_color + + # column name + updated_at + + # column name + v_bstyle + + # column name + v_color + + # column name + v_cond + + # column name + v_engine + + # column name + v_make_desc + + # column name + v_makecode + + # column name + v_mldgcode + + # column name + v_model_desc + + # column name + v_model_yr + + # column name + v_options + + # column name + v_paint_codes + + # column name + v_prod_dt + + # column name + v_stage + + # column name + v_tone + + # column name + v_trimcode + + # column name + v_type + + # column name + v_vin + } + + # input type for updating data in table "vehicles" + input vehicles_set_input { + created_at: timestamptz + db_v_code: String + id: uuid + plate_no: String + plate_st: String + shopid: uuid + trim_color: String + updated_at: timestamptz + v_bstyle: String + v_color: String + v_cond: String + v_engine: String + v_make_desc: String + v_makecode: String + v_mldgcode: String + v_model_desc: String + v_model_yr: String + v_options: String + v_paint_codes: jsonb + v_prod_dt: String + v_stage: String + v_tone: String + v_trimcode: String + v_type: String + v_vin: String + } + + # update columns of table "vehicles" + enum vehicles_update_column { + # column name + created_at + + # column name + db_v_code + + # column name + id + + # column name + plate_no + + # column name + plate_st + + # column name + shopid + + # column name + trim_color + + # column name + updated_at + + # column name + v_bstyle + + # column name + v_color + + # column name + v_cond + + # column name + v_engine + + # column name + v_make_desc + + # column name + v_makecode + + # column name + v_mldgcode + + # column name + v_model_desc + + # column name + v_model_yr + + # column name + v_options + + # column name + v_paint_codes + + # column name + v_prod_dt + + # column name + v_stage + + # column name + v_tone + + # column name + v_trimcode + + # column name + v_type + + # column name + v_vin + } + + # columns and relationships of "vendors" + type vendors { + # An object relationship + bodyshop: bodyshops! + bodyshopid: uuid! + city: String + cost_center: String! + country: String + created_at: timestamptz! + discount: numeric! + display_name: String + due_date: Int + email: String + favorite( + # JSON select path + path: String + ): jsonb + id: uuid! + + # An array relationship + invoices( + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): [invoices!]! + + # An aggregated array relationship + invoices_aggregate( + # distinct select on columns + distinct_on: [invoices_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [invoices_order_by!] + + # filter the rows returned + where: invoices_bool_exp + ): invoices_aggregate! + name: String! + + # An array relationship + parts_orders( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): [parts_orders!]! + + # An aggregated array relationship + parts_orders_aggregate( + # distinct select on columns + distinct_on: [parts_orders_select_column!] + + # limit the number of rows returned + limit: Int + + # skip the first n rows. Use only with order_by + offset: Int + + # sort the rows by one or more columns + order_by: [parts_orders_order_by!] + + # filter the rows returned + where: parts_orders_bool_exp + ): parts_orders_aggregate! + prompt_discount: numeric! + state: String + street1: String + street2: String + taxid: String + terms: String + updated_at: timestamptz! + zip: String + } + + # aggregated selection of "vendors" + type vendors_aggregate { + aggregate: vendors_aggregate_fields + nodes: [vendors!]! + } + + # aggregate fields of "vendors" + type vendors_aggregate_fields { + avg: vendors_avg_fields + count(columns: [vendors_select_column!], distinct: Boolean): Int + max: vendors_max_fields + min: vendors_min_fields + stddev: vendors_stddev_fields + stddev_pop: vendors_stddev_pop_fields + stddev_samp: vendors_stddev_samp_fields + sum: vendors_sum_fields + var_pop: vendors_var_pop_fields + var_samp: vendors_var_samp_fields + variance: vendors_variance_fields + } + + # order by aggregate values of table "vendors" + input vendors_aggregate_order_by { + avg: vendors_avg_order_by + count: order_by + max: vendors_max_order_by + min: vendors_min_order_by + stddev: vendors_stddev_order_by + stddev_pop: vendors_stddev_pop_order_by + stddev_samp: vendors_stddev_samp_order_by + sum: vendors_sum_order_by + var_pop: vendors_var_pop_order_by + var_samp: vendors_var_samp_order_by + variance: vendors_variance_order_by + } + + # append existing jsonb value of filtered columns with new jsonb value + input vendors_append_input { + favorite: jsonb + } + + # input type for inserting array relation for remote table "vendors" + input vendors_arr_rel_insert_input { + data: [vendors_insert_input!]! + on_conflict: vendors_on_conflict + } + + # aggregate avg on columns + type vendors_avg_fields { + discount: Float + due_date: Float + prompt_discount: Float + } + + # order by avg() on columns of table "vendors" + input vendors_avg_order_by { + discount: order_by + due_date: order_by + prompt_discount: order_by + } + + # Boolean expression to filter rows from the table "vendors". All fields are combined with a logical 'AND'. + input vendors_bool_exp { + _and: [vendors_bool_exp] + _not: vendors_bool_exp + _or: [vendors_bool_exp] + bodyshop: bodyshops_bool_exp + bodyshopid: uuid_comparison_exp + city: String_comparison_exp + cost_center: String_comparison_exp + country: String_comparison_exp + created_at: timestamptz_comparison_exp + discount: numeric_comparison_exp + display_name: String_comparison_exp + due_date: Int_comparison_exp + email: String_comparison_exp + favorite: jsonb_comparison_exp + id: uuid_comparison_exp + invoices: invoices_bool_exp + name: String_comparison_exp + parts_orders: parts_orders_bool_exp + prompt_discount: numeric_comparison_exp + state: String_comparison_exp + street1: String_comparison_exp + street2: String_comparison_exp + taxid: String_comparison_exp + terms: String_comparison_exp + updated_at: timestamptz_comparison_exp + zip: String_comparison_exp + } + + # unique or primary key constraints on table "vendors" + enum vendors_constraint { + # unique or primary key constraint + vendors_pkey + } + + # delete the field or element with specified path (for JSON arrays, negative integers count from the end) + input vendors_delete_at_path_input { + favorite: [String] + } + + # delete the array element with specified index (negative integers count from the + # end). throws an error if top level container is not an array + input vendors_delete_elem_input { + favorite: Int + } + + # delete key/value pair or string element. key/value pairs are matched based on their key value + input vendors_delete_key_input { + favorite: String + } + + # input type for incrementing integer column in table "vendors" + input vendors_inc_input { + discount: numeric + due_date: Int + prompt_discount: numeric + } + + # input type for inserting data into table "vendors" + input vendors_insert_input { + bodyshop: bodyshops_obj_rel_insert_input + bodyshopid: uuid + city: String + cost_center: String + country: String + created_at: timestamptz + discount: numeric + display_name: String + due_date: Int + email: String + favorite: jsonb + id: uuid + invoices: invoices_arr_rel_insert_input + name: String + parts_orders: parts_orders_arr_rel_insert_input + prompt_discount: numeric + state: String + street1: String + street2: String + taxid: String + terms: String + updated_at: timestamptz + zip: String + } + + # aggregate max on columns + type vendors_max_fields { + bodyshopid: uuid + city: String + cost_center: String + country: String + created_at: timestamptz + discount: numeric + display_name: String + due_date: Int + email: String + id: uuid + name: String + prompt_discount: numeric + state: String + street1: String + street2: String + taxid: String + terms: String + updated_at: timestamptz + zip: String + } + + # order by max() on columns of table "vendors" + input vendors_max_order_by { + bodyshopid: order_by + city: order_by + cost_center: order_by + country: order_by + created_at: order_by + discount: order_by + display_name: order_by + due_date: order_by + email: order_by + id: order_by + name: order_by + prompt_discount: order_by + state: order_by + street1: order_by + street2: order_by + taxid: order_by + terms: order_by + updated_at: order_by + zip: order_by + } + + # aggregate min on columns + type vendors_min_fields { + bodyshopid: uuid + city: String + cost_center: String + country: String + created_at: timestamptz + discount: numeric + display_name: String + due_date: Int + email: String + id: uuid + name: String + prompt_discount: numeric + state: String + street1: String + street2: String + taxid: String + terms: String + updated_at: timestamptz + zip: String + } + + # order by min() on columns of table "vendors" + input vendors_min_order_by { + bodyshopid: order_by + city: order_by + cost_center: order_by + country: order_by + created_at: order_by + discount: order_by + display_name: order_by + due_date: order_by + email: order_by + id: order_by + name: order_by + prompt_discount: order_by + state: order_by + street1: order_by + street2: order_by + taxid: order_by + terms: order_by + updated_at: order_by + zip: order_by + } + + # response of any mutation on the table "vendors" + type vendors_mutation_response { + # number of affected rows by the mutation + affected_rows: Int! + + # data of the affected rows by the mutation + returning: [vendors!]! + } + + # input type for inserting object relation for remote table "vendors" + input vendors_obj_rel_insert_input { + data: vendors_insert_input! + on_conflict: vendors_on_conflict + } + + # on conflict condition type for table "vendors" + input vendors_on_conflict { + constraint: vendors_constraint! + update_columns: [vendors_update_column!]! + where: vendors_bool_exp + } + + # ordering options when selecting data from "vendors" + input vendors_order_by { + bodyshop: bodyshops_order_by + bodyshopid: order_by + city: order_by + cost_center: order_by + country: order_by + created_at: order_by + discount: order_by + display_name: order_by + due_date: order_by + email: order_by + favorite: order_by + id: order_by + invoices_aggregate: invoices_aggregate_order_by + name: order_by + parts_orders_aggregate: parts_orders_aggregate_order_by + prompt_discount: order_by + state: order_by + street1: order_by + street2: order_by + taxid: order_by + terms: order_by + updated_at: order_by + zip: order_by + } + + # primary key columns input for table: "vendors" + input vendors_pk_columns_input { + id: uuid! + } + + # prepend existing jsonb value of filtered columns with new jsonb value + input vendors_prepend_input { + favorite: jsonb + } + + # select columns of table "vendors" + enum vendors_select_column { + # column name + bodyshopid + + # column name + city + + # column name + cost_center + + # column name + country + + # column name + created_at + + # column name + discount + + # column name + display_name + + # column name + due_date + + # column name + email + + # column name + favorite + + # column name + id + + # column name + name + + # column name + prompt_discount + + # column name + state + + # column name + street1 + + # column name + street2 + + # column name + taxid + + # column name + terms + + # column name + updated_at + + # column name + zip + } + + # input type for updating data in table "vendors" + input vendors_set_input { + bodyshopid: uuid + city: String + cost_center: String + country: String + created_at: timestamptz + discount: numeric + display_name: String + due_date: Int + email: String + favorite: jsonb + id: uuid + name: String + prompt_discount: numeric + state: String + street1: String + street2: String + taxid: String + terms: String + updated_at: timestamptz + zip: String + } + + # aggregate stddev on columns + type vendors_stddev_fields { + discount: Float + due_date: Float + prompt_discount: Float + } + + # order by stddev() on columns of table "vendors" + input vendors_stddev_order_by { + discount: order_by + due_date: order_by + prompt_discount: order_by + } + + # aggregate stddev_pop on columns + type vendors_stddev_pop_fields { + discount: Float + due_date: Float + prompt_discount: Float + } + + # order by stddev_pop() on columns of table "vendors" + input vendors_stddev_pop_order_by { + discount: order_by + due_date: order_by + prompt_discount: order_by + } + + # aggregate stddev_samp on columns + type vendors_stddev_samp_fields { + discount: Float + due_date: Float + prompt_discount: Float + } + + # order by stddev_samp() on columns of table "vendors" + input vendors_stddev_samp_order_by { + discount: order_by + due_date: order_by + prompt_discount: order_by + } + + # aggregate sum on columns + type vendors_sum_fields { + discount: numeric + due_date: Int + prompt_discount: numeric + } + + # order by sum() on columns of table "vendors" + input vendors_sum_order_by { + discount: order_by + due_date: order_by + prompt_discount: order_by + } + + # update columns of table "vendors" + enum vendors_update_column { + # column name + bodyshopid + + # column name + city + + # column name + cost_center + + # column name + country + + # column name + created_at + + # column name + discount + + # column name + display_name + + # column name + due_date + + # column name + email + + # column name + favorite + + # column name + id + + # column name + name + + # column name + prompt_discount + + # column name + state + + # column name + street1 + + # column name + street2 + + # column name + taxid + + # column name + terms + + # column name + updated_at + + # column name + zip + } + + # aggregate var_pop on columns + type vendors_var_pop_fields { + discount: Float + due_date: Float + prompt_discount: Float + } + + # order by var_pop() on columns of table "vendors" + input vendors_var_pop_order_by { + discount: order_by + due_date: order_by + prompt_discount: order_by + } + + # aggregate var_samp on columns + type vendors_var_samp_fields { + discount: Float + due_date: Float + prompt_discount: Float + } + + # order by var_samp() on columns of table "vendors" + input vendors_var_samp_order_by { + discount: order_by + due_date: order_by + prompt_discount: order_by + } + + # aggregate variance on columns + type vendors_variance_fields { + discount: Float + due_date: Float + prompt_discount: Float + } + + # order by variance() on columns of table "vendors" + input vendors_variance_order_by { + discount: order_by + due_date: order_by + prompt_discount: order_by + } +`); diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json index 565c7d541..b81841ad9 100644 --- a/client/src/translations/en_us/common.json +++ b/client/src/translations/en_us/common.json @@ -80,7 +80,8 @@ "addspeedprint": "Add Speed Print", "addtemplate": "Add Template", "newlaborrate": "New Labor Rate", - "newstatus": "Add Status" + "newstatus": "Add Status", + "testrender": "Test Render" }, "errors": { "loading": "Unable to load shop details. Please call technical support.", diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json index 185e93abd..fbc3cc492 100644 --- a/client/src/translations/es/common.json +++ b/client/src/translations/es/common.json @@ -80,7 +80,8 @@ "addspeedprint": "", "addtemplate": "", "newlaborrate": "", - "newstatus": "" + "newstatus": "", + "testrender": "" }, "errors": { "loading": "No se pueden cargar los detalles de la tienda. Por favor llame al soporte técnico.", diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json index f29712754..c45dbc7e2 100644 --- a/client/src/translations/fr/common.json +++ b/client/src/translations/fr/common.json @@ -80,7 +80,8 @@ "addspeedprint": "", "addtemplate": "", "newlaborrate": "", - "newstatus": "" + "newstatus": "", + "testrender": "" }, "errors": { "loading": "Impossible de charger les détails de la boutique. Veuillez appeler le support technique.", diff --git a/client/src/utils/RenderTemplate.js b/client/src/utils/RenderTemplate.js index 1b959e4a8..fd64a8b0a 100644 --- a/client/src/utils/RenderTemplate.js +++ b/client/src/utils/RenderTemplate.js @@ -55,3 +55,19 @@ export const displayTemplateInWindow = (html) => { console.log("Unable to write to new window.", error); } }; + +export const displayTemplateInWindowNoprint = (html) => { + try { + var newWin = window.open("", "_blank", "toolbar=0,location=0,menubar=0"); + newWin.document.write(html); + + setTimeout(function () { + newWin.document.close(); + newWin.focus(); + //newWin.print(); + //newWin.close(); + }, 500); + } catch (error) { + console.log("Unable to write to new window.", error); + } +}; diff --git a/client/yarn.lock b/client/yarn.lock index 1f3dceb8c..bce5ca1a8 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -1838,6 +1838,11 @@ lodash "^4.17.15" lodash-es "^4.17.15" +"@sphinxxxx/color-conversion@^2.2.2": + version "2.2.2" + resolved "https://registry.yarnpkg.com/@sphinxxxx/color-conversion/-/color-conversion-2.2.2.tgz#03ecc29279e3c0c832f6185a5bfa3497858ac8ca" + integrity sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw== + "@stripe/react-stripe-js@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@stripe/react-stripe-js/-/react-stripe-js-1.1.2.tgz#a7f5ef5b4d7dc7fa723501b706644414cfe6dcba" @@ -2367,6 +2372,11 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: mime-types "~2.1.24" negotiator "0.6.2" +ace-builds@^1.4.12: + version "1.4.12" + resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.4.12.tgz#888efa386e36f4345f40b5233fcc4fe4c588fae7" + integrity sha512-G+chJctFPiiLGvs3+/Mly3apXTcfgE45dT5yp12BcWZ1kUs+gm0qd3/fv4gsz6fVag4mM0moHVpjHDIgph6Psg== + acorn-globals@^4.1.0, acorn-globals@^4.3.0: version "4.3.4" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" @@ -2473,6 +2483,16 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^6.12.3: + version "6.12.4" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" + integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + alphanum-sort@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" @@ -3893,6 +3913,19 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= +codemirror-graphql@^0.12.1: + version "0.12.1" + resolved "https://registry.yarnpkg.com/codemirror-graphql/-/codemirror-graphql-0.12.1.tgz#02ce19ffe15397c049ca87c195ac13080d2abe8f" + integrity sha512-PlOCTpfBBUwDZXQo60ZfzD/nGZsaJoE1tA07Uf9xJN7R0kBDGJeD4AVfdUTprZr27p0JIntJzmL6mt/G4Zkzeg== + dependencies: + graphql-language-service-interface "^2.4.1" + graphql-language-service-parser "^1.6.1" + +codemirror@^5.57.0: + version "5.57.0" + resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.57.0.tgz#d26365b72f909f5d2dbb6b1209349ca1daeb2d50" + integrity sha512-WGc6UL7Hqt+8a6ZAsj/f1ApQl3NPvHY/UQSzG6fB6l4BjExgVdhFaxd7mRTw1UCiYe/6q86zHP+kfvBQcZGvUg== + collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -6344,6 +6377,33 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== +graphql-language-service-interface@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/graphql-language-service-interface/-/graphql-language-service-interface-2.4.1.tgz#62aca7880469d0f9079aec22a9b297cf78994f52" + integrity sha512-cKT0ia7xNVpkLlI0vuwxVpPVIXwy02ah4I+N6s4mxFKVgo+lPlX9r933EWX6t1P1vzGJmNf+dip2dK3gHg2bBw== + dependencies: + graphql-language-service-parser "^1.6.1" + graphql-language-service-types "^1.6.1" + graphql-language-service-utils "^2.4.1" + vscode-languageserver-types "^3.15.1" + +graphql-language-service-parser@^1.6.1: + version "1.6.2" + resolved "https://registry.yarnpkg.com/graphql-language-service-parser/-/graphql-language-service-parser-1.6.2.tgz#e139c37318e358c99786dc84f94bd1745135812a" + integrity sha512-7CwFkvuOjyrzwk+Ox4hPH839NOGnFHbzlWD08nsRxRTqth71LkHWS1ADVFxvBv49C1kXFmLSsCMhi4PH1meozQ== + +graphql-language-service-types@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/graphql-language-service-types/-/graphql-language-service-types-1.6.1.tgz#2f3933426e47d1979a977f88738ea2cb1414c765" + integrity sha512-ag3m5b7aje7ZBSuLVQE/gt2iDL9WEfzotZfLyskUDOonhHKniQ8BfmSQ/pF9F6zrdVjtZ8VRr5nes1sEYvvwKQ== + +graphql-language-service-utils@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/graphql-language-service-utils/-/graphql-language-service-utils-2.4.1.tgz#37d3ffdb603fc8b54f11e7d57b4ca04660247c2b" + integrity sha512-fqYSrjJ3YXHwY9eYUz5nesLwLfo8csbR/hS4Xz8wDZCeqkD20UzjVfnbF1Q0SjtKFlDtEfnG9hJvHZEJXZCF3A== + dependencies: + graphql-language-service-types "^1.6.1" + graphql-tag@^2.11.0: version "2.11.0" resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.11.0.tgz#1deb53a01c46a7eb401d6cb59dec86fa1cccbffd" @@ -7432,6 +7492,11 @@ jake@^10.6.1: filelist "^1.0.1" minimatch "^3.0.4" +javascript-natural-sort@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz#f9e2303d4507f6d74355a73664d1440fb5a0ef59" + integrity sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k= + jest-changed-files@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" @@ -7819,6 +7884,11 @@ jest@24.9.0: import-local "^2.0.0" jest-cli "^24.9.0" +jmespath@^0.15.0: + version "0.15.0" + resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" + integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc= + js-base64@^2.1.8: version "2.6.3" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.3.tgz#7afdb9b57aa7717e15d370b66e8f36a9cb835dc3" @@ -7951,6 +8021,11 @@ json-schema@0.2.3: resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= +json-source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/json-source-map/-/json-source-map-0.6.1.tgz#e0b1f6f4ce13a9ad57e2ae165a24d06e62c79a0f" + integrity sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg== + json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" @@ -7994,6 +8069,27 @@ json5@^2.1.2: dependencies: minimist "^1.2.5" +jsoneditor-react@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/jsoneditor-react/-/jsoneditor-react-3.0.1.tgz#b0497c15ad90984cc7b570eba264a18350dcad55" + integrity sha512-QJdthsvuVx45hb1s2W950/OPv85PLlHeaNUzNDlNruES0q7LsNGj19kqqAXMdV+3joYHdABc6RUxa4M0K51B7w== + dependencies: + prop-types "^15.7.2" + +jsoneditor@^9.0.4: + version "9.0.4" + resolved "https://registry.yarnpkg.com/jsoneditor/-/jsoneditor-9.0.4.tgz#7842d7ac29664ad249fef2d77694275e4c2a4f8b" + integrity sha512-GDllUoTi6OsZT2c1k23GlAyndDtdHp13oyXPWeKKBftzyk6wVsheEy+LZ5R1usTk4r4A5NCl/U4kdX0vP0h2AA== + dependencies: + ace-builds "^1.4.12" + ajv "^6.12.3" + javascript-natural-sort "^0.7.1" + jmespath "^0.15.0" + json-source-map "^0.6.1" + mobius1-selectr "^2.4.13" + picomodal "^3.0.0" + vanilla-picker "^2.10.1" + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -8728,6 +8824,11 @@ mixin-object@^2.0.1: dependencies: minimist "^1.2.5" +mobius1-selectr@^2.4.13: + version "2.4.13" + resolved "https://registry.yarnpkg.com/mobius1-selectr/-/mobius1-selectr-2.4.13.tgz#0019dfd9f984840d6e40f70683ab3ec78ce3b5df" + integrity sha512-Mk9qDrvU44UUL0EBhbAA1phfQZ7aMZPjwtL7wkpiBzGh8dETGqfsh50mWoX9EkjDlkONlErWXArHCKfoxVg0Bw== + moment-business-days@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/moment-business-days/-/moment-business-days-1.2.0.tgz#6172f9f38dbf443c2f859baabeabbd2935f63d65" @@ -9645,6 +9746,11 @@ picomatch@^2.0.4, picomatch@^2.2.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +picomodal@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/picomodal/-/picomodal-3.0.0.tgz#facd30f4fbf34a809c1e04ea525f004f399c0b82" + integrity sha1-+s0w9PvzSoCcHgTqUl8ATzmcC4I= + pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -11224,6 +11330,11 @@ react-big-calendar@^0.26.1: react-overlays "^2.0.0-0" uncontrollable "^7.0.0" +react-codemirror2@^7.2.1: + version "7.2.1" + resolved "https://registry.yarnpkg.com/react-codemirror2/-/react-codemirror2-7.2.1.tgz#38dab492fcbe5fb8ebf5630e5bb7922db8d3a10c" + integrity sha512-t7YFmz1AXdlImgHXA9Ja0T6AWuopilub24jRaQdPVbzUJVNKIYuy3uCFZYa7CE5S3UW6SrSa5nAqVQvtzRF9gw== + react-dev-utils@^10.2.1: version "10.2.1" resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-10.2.1.tgz#f6de325ae25fa4d546d09df4bb1befdc6dd19c19" @@ -11358,6 +11469,13 @@ react-moment@^0.9.7: resolved "https://registry.yarnpkg.com/react-moment/-/react-moment-0.9.7.tgz#ca570466595b1aa4f7619e62da18b3bb2de8b6f3" integrity sha512-ifzUrUGF6KRsUN2pRG5k56kO0mJBr8kRkWb0wNvtFIsBIxOuPxhUpL1YlXwpbQCbHq23hUu6A0VEk64HsFxk9g== +react-number-format@^4.4.1: + version "4.4.1" + resolved "https://registry.yarnpkg.com/react-number-format/-/react-number-format-4.4.1.tgz#d5614dd25edfc21ed48b97356213440081437a94" + integrity sha512-ZGFMXZ0U7DcmQ3bSZY3FULOA1mfqreT9NIMYZNoa/ouiSgiTQiYA95Uj2KN8ge6BRr+ghA5vraozqWqsHZQw3Q== + dependencies: + prop-types "^15.7.2" + react-overlays@^2.0.0-0: version "2.1.1" resolved "https://registry.yarnpkg.com/react-overlays/-/react-overlays-2.1.1.tgz#ffe2090c4a10da6b8947a1c7b1a67d0457648a0d" @@ -13872,6 +13990,13 @@ value-equal@^1.0.1: resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== +vanilla-picker@^2.10.1: + version "2.10.1" + resolved "https://registry.yarnpkg.com/vanilla-picker/-/vanilla-picker-2.10.1.tgz#b07d6df8e0c3655e39a7da11e68adc00affa2b12" + integrity sha512-Bo4HOKkSorcQoRB08HwDMb8X2jt3SsZw7gzFlbzXbhnaxdUVJBm3LOUudr7M1SCVwPCo8d3nq8ajiAg8lAoqPg== + dependencies: + "@sphinxxxx/color-conversion" "^2.2.2" + vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -13901,6 +14026,11 @@ void-elements@^2.0.1: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= +vscode-languageserver-types@^3.15.1: + version "3.15.1" + resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz#17be71d78d2f6236d414f0001ce1ef4d23e6b6de" + integrity sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ== + w3c-hr-time@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"