easyappointments mvp
parent
ee0d8c579d
commit
9c717bd7a8
@ -0,0 +1,93 @@
|
||||
import requests,json
|
||||
|
||||
class easyappointments:
|
||||
def __init__(self,token,url):
|
||||
self.token = token
|
||||
self.url = url
|
||||
self.headers = {"Authorization":"Bearer secrettoken"}
|
||||
self.appointments = {}
|
||||
self.services = {}
|
||||
self.providers = {}
|
||||
self.customers = {}
|
||||
self.update_data()
|
||||
|
||||
def get_appointments(self):
|
||||
data = requests.get(self.url+'/api/v1/appointments',headers=self.headers)
|
||||
return data.json()
|
||||
def get_services(self):
|
||||
data = requests.get(self.url+'/api/v1/services',headers=self.headers)
|
||||
return data.json()
|
||||
def get_providers(self):
|
||||
data = requests.get(self.url+'/api/v1/providers',headers=self.headers)
|
||||
return data.json()
|
||||
def get_customers(self):
|
||||
data = requests.get(self.url+'/api/v1/customers',headers=self.headers)
|
||||
return data.json()
|
||||
|
||||
def update_data(self):
|
||||
appointments = self.get_appointments()
|
||||
for a in appointments:
|
||||
self.appointments[a['id']] = a
|
||||
services = self.get_services()
|
||||
for s in services:
|
||||
self.services[s['id']]=s
|
||||
providers = self.get_providers()
|
||||
for p in providers:
|
||||
self.providers[p['id']]=p
|
||||
customers = self.get_customers()
|
||||
for c in customers:
|
||||
self.customers[c['id']]=c
|
||||
|
||||
def is_customer(self,mxid):
|
||||
customers = self.get_customers()
|
||||
for c in customers:
|
||||
if mxid in c['notes']:
|
||||
return c['id']
|
||||
return False
|
||||
|
||||
def is_provider(self,mxid):
|
||||
providers = self.get_providers()
|
||||
for p in providers:
|
||||
if mxid in p['notes']:
|
||||
return p['id']
|
||||
|
||||
def get_upcoming_appointments(self,mxid):
|
||||
#get services & customers
|
||||
id = self.is_provider(mxid)
|
||||
if id:
|
||||
apts = []
|
||||
data = self.get_appointments()
|
||||
for a in data:
|
||||
if a['providerId'] == id:
|
||||
apts.append(a)
|
||||
return apts
|
||||
else:
|
||||
return []
|
||||
|
||||
def list_upcoming_appointments(self,mxid):
|
||||
apts = self.get_upcoming_appointments(mxid)
|
||||
if apts == []:
|
||||
return "No meetings recorded."
|
||||
output = ""
|
||||
for a in apts:
|
||||
service = self.services[a['serviceId']]['name']
|
||||
customer = self.customers[a['customerId']]['firstName']
|
||||
output += f"## {service} with {customer}\nTime:{a['start']}\n"
|
||||
return output
|
||||
|
||||
def register_customer(self,customer_data):
|
||||
#customer data
|
||||
"""
|
||||
{
|
||||
"firstName":"name",
|
||||
"lastName":"name",
|
||||
"email":"email",
|
||||
"phone":"phone"
|
||||
"notes":"matrix:mxid"
|
||||
}
|
||||
"""
|
||||
id = requests.post(self.url+'/api/v1/customers',headers=self.headers,data=json.dumps(customer_data)).json()['id']
|
||||
return id
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue