{"schemaVersion":"1.0","sourceCommit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca","sourceVisibility":"private","article":{"id":"api-mansoq-ccm-uhi-appointmentviewset-cd857b6e","title":"Appointment API reference · mansoq-ccm-uhi","summary":"Static source contract for Appointment: 6 declared or inherited operation mappings, schema/field evidence and authorization/refusal references. Deployment and behavioral review remain explicit.","module":"IT & integrations","roles":["IT administrator","Developer","Integration engineer"],"facilities":["All configured facility types"],"kind":"reference","minutes":6,"prerequisites":["Use the API contract from the installed deployment and an authorized synthetic test environment.","Confirm facility/organization scope, action permissions and optional app enablement.","This reference is static source evidence; complete payload, authorization, failure and end-to-end review remains recorded as pending."],"steps":[],"sections":[{"title":"Declared route and availability","body":"This resource is declared in **mansoq-ccm-uhi** at `/api/{installed_plugin_prefix}/appointment/`. plugin/local mount; actual prefix and enablement require deployment verification A registered path and an indexed handler do not prove deployment availability, user permission or production readiness."},{"title":"Operation map","body":"| Method | Path | Action | Evidence |\n| --- | --- | --- | --- |\n| GET | `/api/{installed_plugin_prefix}/appointment/search/` | search | @action declaration |\n| POST | `/api/{installed_plugin_prefix}/appointment/select/` | select | @action declaration |\n| POST | `/api/{installed_plugin_prefix}/appointment/confirm/` | confirm | @action declaration |\n| POST | `/api/{installed_plugin_prefix}/appointment/status/` | status | @action declaration |\n| POST | `/api/{installed_plugin_prefix}/appointment/cancel/` | cancel | @action declaration |\n| POST | `/api/{installed_plugin_prefix}/appointment/reschedule/` | reschedule | @action declaration |"},{"title":"search · GET","body":"**GET /api/{installed_plugin_prefix}/appointment/search/** — action `search`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| deployment mount | installed_plugin_prefix | deployment-selected mount prefix | true |\n\nDirectly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):\n\n| Location | Field | Declared/inferred read type | Requiredness evidence |\n| --- | --- | --- | --- |\n| query | `provider_id` | not declared at read site | not established |\n\n**Authorization:** no literal permission name was resolved in the bounded handler/helper traversal. Authentication, inherited policies, object/facility scoping and middleware still require review; this does not mean public access.\n\n**Class policy declarations:** permission_classes: ; authentication_classes: .\n\n**Explicit response statuses in observed code:** 200, 422. Other branches/framework exception handling may differ."},{"title":"select · POST","body":"**POST /api/{installed_plugin_prefix}/appointment/select/** — action `select`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| deployment mount | installed_plugin_prefix | deployment-selected mount prefix | true |\n\nDirectly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):\n\n| Location | Field | Declared/inferred read type | Requiredness evidence |\n| --- | --- | --- | --- |\n| body | `message` | not declared at read site | not established |\n\n**Authorization:** no literal permission name was resolved in the bounded handler/helper traversal. Authentication, inherited policies, object/facility scoping and middleware still require review; this does not mean public access.\n\n**Class policy declarations:** permission_classes: ; authentication_classes: .\n\n**Explicit response statuses in observed code:** 200, 400, 422. Other branches/framework exception handling may differ."},{"title":"confirm · POST","body":"**POST /api/{installed_plugin_prefix}/appointment/confirm/** — action `confirm`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| deployment mount | installed_plugin_prefix | deployment-selected mount prefix | true |\n\nDirectly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):\n\n| Location | Field | Declared/inferred read type | Requiredness evidence |\n| --- | --- | --- | --- |\n| body | `message` | not declared at read site | not established |\n\n**Authorization:** no literal permission name was resolved in the bounded handler/helper traversal. Authentication, inherited policies, object/facility scoping and middleware still require review; this does not mean public access.\n\n**Class policy declarations:** permission_classes: ; authentication_classes: .\n\n**Explicit response statuses in observed code:** 200, 400, 422. Other branches/framework exception handling may differ."},{"title":"status · POST","body":"**POST /api/{installed_plugin_prefix}/appointment/status/** — action `status`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| deployment mount | installed_plugin_prefix | deployment-selected mount prefix | true |\n\nDirectly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):\n\n| Location | Field | Declared/inferred read type | Requiredness evidence |\n| --- | --- | --- | --- |\n| body | `message` | not declared at read site | not established |\n\n**Authorization:** no literal permission name was resolved in the bounded handler/helper traversal. Authentication, inherited policies, object/facility scoping and middleware still require review; this does not mean public access.\n\n**Class policy declarations:** permission_classes: ; authentication_classes: .\n\n**Explicit response statuses in observed code:** 200, 400, 422. Other branches/framework exception handling may differ."},{"title":"cancel · POST","body":"**POST /api/{installed_plugin_prefix}/appointment/cancel/** — action `cancel`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| deployment mount | installed_plugin_prefix | deployment-selected mount prefix | true |\n\nDirectly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):\n\n| Location | Field | Declared/inferred read type | Requiredness evidence |\n| --- | --- | --- | --- |\n| body | `message` | not declared at read site | not established |\n\n**Authorization:** no literal permission name was resolved in the bounded handler/helper traversal. Authentication, inherited policies, object/facility scoping and middleware still require review; this does not mean public access.\n\n**Class policy declarations:** permission_classes: ; authentication_classes: .\n\n**Explicit response statuses in observed code:** 200, 400, 422. Other branches/framework exception handling may differ."},{"title":"reschedule · POST","body":"**POST /api/{installed_plugin_prefix}/appointment/reschedule/** — action `reschedule`. static contract extracted; runtime/permission/payload behavior review pending.\n\nPath and deployment-context parameters:\n\n| Location | Parameter | Type | Required |\n| --- | --- | --- | --- |\n| deployment mount | installed_plugin_prefix | deployment-selected mount prefix | true |\n\nDirectly observed request reads (these do not constitute a complete accepted-payload or requiredness guarantee):\n\n| Location | Field | Declared/inferred read type | Requiredness evidence |\n| --- | --- | --- | --- |\n| body | `message` | not declared at read site | not established |\n\n**Authorization:** no literal permission name was resolved in the bounded handler/helper traversal. Authentication, inherited policies, object/facility scoping and middleware still require review; this does not mean public access.\n\n**Class policy declarations:** permission_classes: ; authentication_classes: .\n\n**Explicit response statuses in observed code:** 200, 400, 422. Other branches/framework exception handling may differ."},{"title":"Integration review checklist","body":"Confirm the installed route and full schema; review authentication, organization/facility scoping, all accepted fields, value-state and date/time semantics, idempotency, pagination, response/exception branches and the allowed correction/reversal workflow. Test positive and negative cases with synthetic data. This source reference does not establish external certification or replace an illustrated user procedure."}],"troubleshooting":[{"problem":"A declared route is unavailable or a request is rejected","solution":"Compare the installed revision, actual API schema, optional plugin mount, HTTP-method restrictions and recorded validation/permission evidence. Do not bypass a refusal or send a production transaction to test documentation."}],"sources":[{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/urls.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":26,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":32,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":43,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":216,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":97,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":139,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":226,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":162,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":184,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}],"related":["it-api-contract","it-api-auth","security-rcm-roles"],"verification":"Static API contract — behavior review pending","version":"f6e9f05f76d4","apiReferenceIds":["backend-resource-ebc29bafcd857b6e","backend-resource-ebc29bafcd857b6e:GET:search","backend-resource-ebc29bafcd857b6e:POST:select","backend-resource-ebc29bafcd857b6e:POST:confirm","backend-resource-ebc29bafcd857b6e:POST:status","backend-resource-ebc29bafcd857b6e:POST:cancel","backend-resource-ebc29bafcd857b6e:POST:reschedule"]},"backend":{"resources":[{"id":"backend-resource-ebc29bafcd857b6e","localPrefix":"appointment","viewset":"AppointmentViewSet","classId":"repositories/platform/mansoq-ccm-uhi:ccm_uhi.api.appointment.AppointmentViewSet","basename":"mansoq_uhi","source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/urls.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"conditions":[],"repository":"repositories/platform/mansoq-ccm-uhi","classSource":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":26,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"description":"","path":"/api/{installed_plugin_prefix}/appointment/","mountStatus":"plugin/local mount; actual prefix and enablement require deployment verification","operationIds":["backend-resource-ebc29bafcd857b6e:GET:search","backend-resource-ebc29bafcd857b6e:POST:select","backend-resource-ebc29bafcd857b6e:POST:confirm","backend-resource-ebc29bafcd857b6e:POST:status","backend-resource-ebc29bafcd857b6e:POST:cancel","backend-resource-ebc29bafcd857b6e:POST:reschedule"],"unresolvedViewset":false,"reviewStatus":"registered resource enumerated; behavioral review pending"}],"operations":[{"id":"backend-resource-ebc29bafcd857b6e:GET:search","resourceId":"backend-resource-ebc29bafcd857b6e","repository":"repositories/platform/mansoq-ccm-uhi","boundary":"optional-plugin/local-service","method":"GET","path":"/api/{installed_plugin_prefix}/appointment/search/","declaredPattern":"/api/{installed_plugin_prefix}/appointment/search/","action":"search","viewset":"AppointmentViewSet","classId":"repositories/platform/mansoq-ccm-uhi:ccm_uhi.api.appointment.AppointmentViewSet","detail":false,"allowedByDeclaredHttpMethods":true,"mountStatus":"plugin/local mount; actual prefix and enablement require deployment verification","routeEvidence":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/urls.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":32,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"@action declaration","methodEvidenceIds":["repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:32:search"],"schemaIds":{},"classPermissionEvidence":[{"kind":"permission_classes","declaration":[],"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":28,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"kind":"authentication_classes","declaration":[],"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":27,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"filterEvidence":[],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"installed_plugin_prefix","in":"deployment mount","type":"deployment-selected mount prefix","required":true,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/urls.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-ebc29bafcd857b6e:POST:select","resourceId":"backend-resource-ebc29bafcd857b6e","repository":"repositories/platform/mansoq-ccm-uhi","boundary":"optional-plugin/local-service","method":"POST","path":"/api/{installed_plugin_prefix}/appointment/select/","declaredPattern":"/api/{installed_plugin_prefix}/appointment/select/","action":"select","viewset":"AppointmentViewSet","classId":"repositories/platform/mansoq-ccm-uhi:ccm_uhi.api.appointment.AppointmentViewSet","detail":false,"allowedByDeclaredHttpMethods":true,"mountStatus":"plugin/local mount; actual prefix and enablement require deployment verification","routeEvidence":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/urls.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":43,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"@action declaration","methodEvidenceIds":["repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:43:select","repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:216:_resolve_facility"],"schemaIds":{},"classPermissionEvidence":[{"kind":"permission_classes","declaration":[],"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":28,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"kind":"authentication_classes","declaration":[],"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":27,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"filterEvidence":[],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"installed_plugin_prefix","in":"deployment mount","type":"deployment-selected mount prefix","required":true,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/urls.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-ebc29bafcd857b6e:POST:confirm","resourceId":"backend-resource-ebc29bafcd857b6e","repository":"repositories/platform/mansoq-ccm-uhi","boundary":"optional-plugin/local-service","method":"POST","path":"/api/{installed_plugin_prefix}/appointment/confirm/","declaredPattern":"/api/{installed_plugin_prefix}/appointment/confirm/","action":"confirm","viewset":"AppointmentViewSet","classId":"repositories/platform/mansoq-ccm-uhi:ccm_uhi.api.appointment.AppointmentViewSet","detail":false,"allowedByDeclaredHttpMethods":true,"mountStatus":"plugin/local mount; actual prefix and enablement require deployment verification","routeEvidence":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/urls.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":97,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"@action declaration","methodEvidenceIds":["repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:97:confirm","repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:216:_resolve_facility"],"schemaIds":{},"classPermissionEvidence":[{"kind":"permission_classes","declaration":[],"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":28,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"kind":"authentication_classes","declaration":[],"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":27,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"filterEvidence":[],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"installed_plugin_prefix","in":"deployment mount","type":"deployment-selected mount prefix","required":true,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/urls.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-ebc29bafcd857b6e:POST:status","resourceId":"backend-resource-ebc29bafcd857b6e","repository":"repositories/platform/mansoq-ccm-uhi","boundary":"optional-plugin/local-service","method":"POST","path":"/api/{installed_plugin_prefix}/appointment/status/","declaredPattern":"/api/{installed_plugin_prefix}/appointment/status/","action":"status","viewset":"AppointmentViewSet","classId":"repositories/platform/mansoq-ccm-uhi:ccm_uhi.api.appointment.AppointmentViewSet","detail":false,"allowedByDeclaredHttpMethods":true,"mountStatus":"plugin/local mount; actual prefix and enablement require deployment verification","routeEvidence":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/urls.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":139,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"@action declaration","methodEvidenceIds":["repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:139:status","repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:226:_facility_from_booking"],"schemaIds":{},"classPermissionEvidence":[{"kind":"permission_classes","declaration":[],"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":28,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"kind":"authentication_classes","declaration":[],"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":27,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"filterEvidence":[],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"installed_plugin_prefix","in":"deployment mount","type":"deployment-selected mount prefix","required":true,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/urls.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-ebc29bafcd857b6e:POST:cancel","resourceId":"backend-resource-ebc29bafcd857b6e","repository":"repositories/platform/mansoq-ccm-uhi","boundary":"optional-plugin/local-service","method":"POST","path":"/api/{installed_plugin_prefix}/appointment/cancel/","declaredPattern":"/api/{installed_plugin_prefix}/appointment/cancel/","action":"cancel","viewset":"AppointmentViewSet","classId":"repositories/platform/mansoq-ccm-uhi:ccm_uhi.api.appointment.AppointmentViewSet","detail":false,"allowedByDeclaredHttpMethods":true,"mountStatus":"plugin/local mount; actual prefix and enablement require deployment verification","routeEvidence":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/urls.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":162,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"@action declaration","methodEvidenceIds":["repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:162:cancel","repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:226:_facility_from_booking"],"schemaIds":{},"classPermissionEvidence":[{"kind":"permission_classes","declaration":[],"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":28,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"kind":"authentication_classes","declaration":[],"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":27,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"filterEvidence":[],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"installed_plugin_prefix","in":"deployment mount","type":"deployment-selected mount prefix","required":true,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/urls.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]},{"id":"backend-resource-ebc29bafcd857b6e:POST:reschedule","resourceId":"backend-resource-ebc29bafcd857b6e","repository":"repositories/platform/mansoq-ccm-uhi","boundary":"optional-plugin/local-service","method":"POST","path":"/api/{installed_plugin_prefix}/appointment/reschedule/","declaredPattern":"/api/{installed_plugin_prefix}/appointment/reschedule/","action":"reschedule","viewset":"AppointmentViewSet","classId":"repositories/platform/mansoq-ccm-uhi:ccm_uhi.api.appointment.AppointmentViewSet","detail":false,"allowedByDeclaredHttpMethods":true,"mountStatus":"plugin/local mount; actual prefix and enablement require deployment verification","routeEvidence":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/urls.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"handlerSource":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":184,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"registrationConditions":[],"evidenceKind":"@action declaration","methodEvidenceIds":["repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:184:reschedule","repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:226:_facility_from_booking"],"schemaIds":{},"classPermissionEvidence":[{"kind":"permission_classes","declaration":[],"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":28,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"kind":"authentication_classes","declaration":[],"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":27,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"filterEvidence":[],"reviewStatus":"static contract extracted; runtime/permission/payload behavior review pending","pathParameters":[{"name":"installed_plugin_prefix","in":"deployment mount","type":"deployment-selected mount prefix","required":true,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/urls.py","line":16,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}]}],"methodEvidence":[{"id":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:32:search","name":"search","owner":"repositories/platform/mansoq-ccm-uhi:ccm_uhi.api.appointment.AppointmentViewSet","summary":"","source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":32,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[{"name":"provider_id","in":"query","type":"not declared at read site","required":"not established","readStyle":"get","dynamicName":false,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":33,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[{"value":200,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":38,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":422,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":37,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:43:select","name":"select","owner":"repositories/platform/mansoq-ccm-uhi:ccm_uhi.api.appointment.AppointmentViewSet","summary":"","source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":43,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[{"name":"message","in":"body","type":"not declared at read site","required":"not established","readStyle":"get","dynamicName":false,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":49,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[{"value":200,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":66,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":400,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":55,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":400,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":57,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":400,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":47,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":422,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":62,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:216:_resolve_facility","name":"_resolve_facility","owner":"repositories/platform/mansoq-ccm-uhi:ccm_uhi.api.appointment.AppointmentViewSet","summary":"","source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":216,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"provider_id","type":"unspecified","required":true,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":216,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:97:confirm","name":"confirm","owner":"repositories/platform/mansoq-ccm-uhi:ccm_uhi.api.appointment.AppointmentViewSet","summary":"","source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":97,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[{"name":"message","in":"body","type":"not declared at read site","required":"not established","readStyle":"get","dynamicName":false,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":103,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[{"value":200,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":135,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":400,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":109,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":400,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":111,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":400,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":113,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":400,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":101,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":422,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":131,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:139:status","name":"status","owner":"repositories/platform/mansoq-ccm-uhi:ccm_uhi.api.appointment.AppointmentViewSet","summary":"","source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":139,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[{"name":"message","in":"body","type":"not declared at read site","required":"not established","readStyle":"get","dynamicName":false,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":145,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[{"value":200,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":158,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":400,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":149,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":400,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":143,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":422,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":154,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:226:_facility_from_booking","name":"_facility_from_booking","owner":"repositories/platform/mansoq-ccm-uhi:ccm_uhi.api.appointment.AppointmentViewSet","summary":"Extract facility from a booking-based service result for context building.","source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":226,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[{"name":"result","type":"dict","required":true,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":226,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"parametersRead":[],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:162:cancel","name":"cancel","owner":"repositories/platform/mansoq-ccm-uhi:ccm_uhi.api.appointment.AppointmentViewSet","summary":"","source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":162,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[{"name":"message","in":"body","type":"not declared at read site","required":"not established","readStyle":"get","dynamicName":false,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":168,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[{"value":200,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":180,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":400,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":171,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":400,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":166,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":422,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":176,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"},{"id":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py:184:reschedule","name":"reschedule","owner":"repositories/platform/mansoq-ccm-uhi:ccm_uhi.api.appointment.AppointmentViewSet","summary":"","source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":184,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"},"signatureParameters":[],"parametersRead":[{"name":"message","in":"body","type":"not declared at read site","required":"not established","readStyle":"get","dynamicName":false,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":190,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"permissionChecks":[],"declaredErrors":[],"explicitResponseStatuses":[{"value":200,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":213,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":400,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":195,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":400,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":197,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":400,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":188,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}},{"value":422,"symbol":null,"source":{"path":"repositories/platform/mansoq-ccm-uhi/ccm_uhi/api/appointment.py","line":209,"commit":"f6e9f05f76d443b26ebd2369f67d3c3bd52257ca"}}],"conditions":[],"schemaIds":[],"schemaUsages":[],"unconditionalRaise":false,"reviewStatus":"static declaration extracted; behavioral/security review pending"}],"schemas":[],"frameworkSettings":[]},"frontend":{"operations":[],"schemas":[]},"services":{"operations":[]},"boundaries":[]}