Automated data export v1.3 For integration and consolidation of the information, ScheduleInterpreter® data file can be automatically uploaded to a secure FTP server on a daily basis or on-demand. This is a DRAFT proposal Data structure All information is exported in JSON structure.  Global scope of the data is defined by level one keys, for example, account or assignment. See sample structure below. { "name": "Best Interpreters, Inc.", "start_date": "2020-01-01", "end_date": "2020-12-31", "account": [], "vendor": [], "invoice": [{ "item": [] }], "bill": [{ "item": [] }], "assignment": [] } The following level one keys are available: Key Description Type name Name of the organization string start_date Start date of transactions in the scope (invoice, payment, etc.) string end_date End date of transactions in the scope (invoice, payment, etc.) string account Customer accounts (full list is always retrieved) array vendor new Vendors (full list is always retrieved) array invoice Customer invoices within the scope array bill new Vendor bill within the scope array assignment All assignments within the scope array Customer Invoice key Invoice key contains details about all invoices stored in ScheduleInterpreter®. Invoice is a level 1 key. Below is a sample export code. { "invoice": [{ "id": 123, "date": { "effective": "2020-01-30", "created": "2020-02-02" }, "cost_center": { "id": 123, "name": "Cost center A" }, "account": { "id": 123, "name": "Smith and Smith, LLC" } "user": { "name": "Jack Smith", "email": "jack@smith.com" }, "terms": { "days": 30, "label": "Net 30" }, "po": "321458", "balance": 5987456.36, "due": "2020-03-02", "item": [{ "line_id": 23, "description": "Interpreting", "service": { "source": "English", "tareget": "Spanish" } "quantity": 1, "rate": 12.30, "total": 12.30, "assignment": { "id": 123 } }] }] } Key Description Type id Unique ID assigned by ScheduleInterpreter® integer date change Container for invoice dates dictionary   created Date when invoice was created string   effective Effective date of the invoice string account change Container for account details dictionary   id Unique customer ID assigned by ScheduleInterpreter® Integer   name Customer account name string user change Container for invoice recipient details dictionary   name Name of the individual who received the invoice string   email Name of the individual who received the invoice string terms change Invoice payment terms string   days Number of days integer   label Invoice payment terms string po Invoice purchase order string balance Invoice balance real due Date when invoice is due (always effective data + terms days) string item List of items within the invoice array Invoice item key Invoice item key contains details about all items within a single invoice. Item is a level 2 key. Key Description Type line_id Unique ID assigned by ScheduleInterpreter® integer description Description of the charge string service new Assignment services dictionary   source Source language string   target Target language string quantity Quantity of units billed real rate Rate per unit real total Total for the line of invoice real assignment change Container for assignment details dictionary   id Unique ID assigned by ScheduleInterpreter® integer Only invoices created using assignment information can be exported. Vendor bill key Bill key contains details about all bills stored in ScheduleInterpreter®. Bill is a level 1 key. Below is a sample export code. Vendor bill key is pending final approval { "bill": [{ "id": 123, "date": { "effective": "2020-01-30", "created": "2020-02-02" }, "vendor": { "id": 123, "name": "Mike Smith" }, "item": [{ "line_id": 32, "description": "Interpreting", "service": { "source": "English", "tareget": "Spanish" } "quantity": 1, "rate": 12.30, "total": 12.30, "assignment": { "id": 123 } }] }] } Key Description Type id Unique ID assigned by ScheduleInterpreter® integer date Container for invoice dates dictionary   created Date when invoice was created string   effective Effective date of the invoice string vendor Container for vendor details dictionary   id Unique customer ID assigned by ScheduleInterpreter® Integer   name Customer account name string item List of items within the invoice array Bill item key Bill item key contains details about all items within a single invoice. Item is a level 2 key. Key Description Type line_id Unique ID assigned by ScheduleInterpreter® integer description Description of the charge string service Assignment services dictionary   source Source language string   target Target language string quantity Quantity of units billed real rate Rate per unit real total Total for the line of invoice real assignment Container for assignment details dictionary   id Unique ID assigned by ScheduleInterpreter® integer Account key Account key contains information about all customer accounts. Account is a level 1 key. Below is a sample export code. { "account": [{ "id": 123, "id_import": "A-123", "id_platform": "987-Z", "name": "Smith and Smith, LLC", "active": true, "address": [{ "type": "primary", "street": "1212 Main Street, #444", "city": "New York", "state": "NY", "zip": "10000", "country": "us" }], "sub_account": [{ "id": 321, "name": "East coast office", "active": true, "address": [{ "type": "primary", "street": "100 Barkley Av.", "city": "San Francisco", "state": "CA", "zip": "90000", "country": "us" }] }] }] } Key Description Type id Unique ID assigned by ScheduleInterpreter® integer id_import ID assigned to account outside of ScheduleInterpreter® string id_platform ID assigned to account outside of ScheduleInterpreter® string name Name of the entity string active Flag describing is account is active boolean address Account addresses array sub_account List of sub-accounts array id_platform can be used in UI of ScheduleInterpreter® to list IDs from third party integration platform. Sample of such UI enhancement is shown below. Account address key Account address key contains address information. Account address is a level 2 key. Key Description Type type Type of entry. Currently only single value primary is supported string street Street address including suite or unit string city City string state State, province or district string zip Zip or postal code string country Two letter country code string Sub account key Sub_account key contains information about a sub account and is part of the account key structure. Sub_account is a level 2 key Key Description Type id Unique ID assigned by ScheduleInterpreter® integer name Name of the entity string active Flag describing is account is active boolean address Account addresses (see account address key) array Sub account address key Sub_account address key contains address information. Sub_account is a level 3 key, its structure is identical to account address key (see above). Assignment key Assignment key contains address information. Assignment is a level 1 key. Below is a sample export code. { "assignment": [{ "id": 123, "date": "2019-01-01", "time": "16:30:00", "modality": { "type": "osi" }, "time_zone": "+06:00:00", "service": { "source": "English", "target": "Spanish" }, "cancelled": false, "address": { "street": "1212 Main Street, #444", "city": "New York", "state": "NY", "zip": "10000", "country": "us" } }] } Key Description Type id Unique ID assigned by ScheduleInterpreter® integer date Date of the assignment string time Time of the assignment (24-hour format) string modality Three letter code for modality of the service string service Assignment services dictionary cancelled Flag describing if assignment is cancelled boolean address Location of the assignment dictionary Modality supports only predefined keywords: osi, opi, vri, rsi and vis Modality reference table Keyword Description Type osi On-site interpreting string opi Over the phone interpreting string vri Video remote interpreting string rsi Remote simultaneous interpreting string vis Virtual interpreting services string Assignment service key Assignment service key contains data related to the services provided during the assignment. Service is a level 3 key. Key Description Type source Source language of the assignment string target Target language of the assignment string Assignment address key Assignment address key contains information about location. Key Description Type street Street address including suite or unit string city City string state State, province or district string zip Zip or postal code string country Two letter country code string Vendor key Account key contains information about all vendors. Vendor is a level 1 key. Below is a sample export code. { "vendor": [{ "id": 123, "title":"Ms.", "first_name": "Jane", "last_name": "Doe", "email":"jane@doe.org", "deleted": false, "service": ["English", "Spanish"], "phone": [ { "number":"7074000503", "type":"mobile" }, { "number":"7074000503", "type":"" } ], "address": [ { "street": "1212 Main Street, #444", "city": "New York", "state": "NY", "zip": "10000", "country": "US", "type": "business" }, { "street": "Indian creek", "city": "Miami Beach", "state": "FL", "zip": "31640", "country": "US", "type": "" } ] }] } Key Description Type id Vendor ID assigned by ScheduleInterpreter integer title Salutation string first_name First name of the vendor string last_name Last name of the vendor string deleted Flag indicating status of the vendor boolean email E-mail of the vendor string Vendor address key Vendor address key contains list of addresses associated with the vendor. Vendor address is a level 2 key. Key Description Type street Street portion of the address string city City portion of the address string state State or province portion of the address string zip Zip code portion of the address string country Two letter country code string type Type of address string Vendor service key Vendor service key contains list of services. Vendor service is a level 2 key Key Description Type service Vendor services dictionary Vendor phone key Vendor phone key contains list of phone numbers. Vendor phone is a level 2 key. Key Description Type number Phone number string type Type of phone number, for example, mobile string