| ### api_docs.py | |
| import json | |
| import os | |
| api_docs = { | |
| "base_url": "https://aivisions.no/data/daysoff/api/v1/booking/", | |
| "endpoints": { | |
| "/": { | |
| "method": "POST", | |
| "description": "Retrieve booking information associated with a booking ID.", | |
| } | |
| }, | |
| "body": { | |
| "booking_id": "string" | |
| }, | |
| "response": { | |
| "description": "A JSON object containing booking details for a specific booking id.", | |
| "content_type": "application/json", | |
| "fields": { | |
| "booking_id": "The unique identifier for the booking.", | |
| "full_name": "The full name of the customer associated with the booking.", | |
| "amount": "The total amount for the booking (integer).", | |
| "checkin": "The check-in date for the booking.", | |
| "checkout": "The check-out date for the booking.", | |
| "address": "The address associated with the booking.", | |
| "user_id": "The user ID associated with the booking (integer).", | |
| "infotext": "Additional information related to the booking.", | |
| "included": "Details of services included in the booking." | |
| } | |
| } | |
| } | |
| auth_token = os.environ.get("CHAINLIT_AUTH_SECRET") | |
| headers = { | |
| "Authorization": f"Bearer {auth_token}", | |
| "Content-Type": "application/json" | |
| } | |
| api_docs_str = json.dumps(api_docs, indent=2) | |
| api_docs_str | |
| # --actual response handling with .get() and mapping entries methods are request handling code, not in here (API documentation). | |
| #"response": { | |
| #"description": "A JSON object containing booking details for a specific booking ID.", | |
| #"content_type": "application/json", | |
| #"booking_info": { | |
| #"booking_id": {"description": "The unique identifier for the booking.", "mapping": "response.get('booking_id', 'N/A')"}, | |
| #"full_name": {"description": "The full name of the customer associated with the booking.", "mapping": "response.get('full_name', 'N/A')"}, | |
| #"amount": {"description": "The total amount for the booking (integer).", "mapping": "response.get('amount', 0)"}, | |
| #"checkin": {"description": "The check-in date for the booking (ISO 8601).", "mapping": "response.get('checkin', 'N/A')"}, # --datetime format is 2024-12-20T15:00:00 | |
| #"checkout": {"description": "The check-out date for the booking (ISO 8601).", "mapping": "response.get('checkout', 'N/A')"}, | |
| #"address": {"description": "The address associated with the booking.", "mapping": "response.get('address', 'N/A')"}, | |
| #"user_id": {"description": "The user ID associated with the booking (integer).", "mapping": "response.get('user_id', 0)"}, | |
| #"infotext": {"description": "Additional information related to the booking.", "mapping": "response.get('infotext', 'N/A')"}, | |
| #"included": {"description": "Details of services included in the booking.", "mapping": "response.get('included', 'N/A')"} | |
| #} | |
| #} | |