M39: harden application and acceptance gates
MobilityOps acceptance / backend (push) Failing after 45s
MobilityOps acceptance / frontend (push) Successful in 32s
MobilityOps acceptance / e2e (push) Skipped

This commit is contained in:
NuklearRabbit
2026-08-17 03:17:44 +02:00
parent a9f48d6880
commit ae39a8947f
62 changed files with 5277 additions and 202 deletions
+139 -4
View File
@@ -655,6 +655,70 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/bookings/{public_ref}/complete-requirements:
post:
tags:
- bookings
summary: Complete Booking Requirements
operationId: complete_booking_requirements_api_v1_bookings__public_ref__complete_requirements_post
parameters:
- name: public_ref
in: path
required: true
schema:
type: string
title: Public Ref
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CompleteBookingRequirementsRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BookingOut'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/bookings/{public_ref}/schedule:
patch:
tags:
- bookings
summary: Reschedule Booking
operationId: reschedule_booking_api_v1_bookings__public_ref__schedule_patch
parameters:
- name: public_ref
in: path
required: true
schema:
type: string
title: Public Ref
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RescheduleBookingRequest'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/BookingOut'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
/api/v1/bookings/{public_ref}/cancel:
post:
tags:
@@ -883,6 +947,7 @@ paths:
schema:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Correlation Id
- name: occurred_from
@@ -986,6 +1051,14 @@ paths:
- type: boolean
- type: 'null'
title: Overdue
- name: demo_only
in: query
required: false
schema:
anyOf:
- type: boolean
- type: 'null'
title: Demo Only
- name: page
in: query
required: false
@@ -1441,9 +1514,7 @@ paths:
content:
application/json:
schema:
type: object
additionalProperties: true
title: Body
$ref: '#/components/schemas/ReturnCallbackIn'
responses:
'200':
description: Successful Response
@@ -2635,6 +2706,17 @@ components:
- activated
- attention_reasons
title: CheckoutBookingResult
CompleteBookingRequirementsRequest:
properties:
confirmation:
type: string
maxLength: 500
minLength: 3
title: Confirmation
type: object
required:
- confirmation
title: CompleteBookingRequirementsRequest
CreateBookingRequest:
properties:
customer_ref:
@@ -2658,7 +2740,7 @@ components:
requirements_complete:
type: boolean
title: Requirements Complete
default: true
default: false
type: object
required:
- customer_ref
@@ -3990,6 +4072,9 @@ components:
workflow_event_id:
type: string
title: Workflow Event Id
correlation_id:
type: string
title: Correlation Id
next_booking_risk:
anyOf:
- $ref: '#/components/schemas/NextBookingRisk'
@@ -4003,6 +4088,7 @@ components:
- odometer_regression
- quality_issue_ref
- workflow_event_id
- correlation_id
- next_booking_risk
title: RegisterReturnResult
ReleaseVehicleRequest:
@@ -4016,6 +4102,27 @@ components:
required:
- reason
title: ReleaseVehicleRequest
RescheduleBookingRequest:
properties:
starts_at:
type: string
format: date-time
title: Starts At
ends_at:
type: string
format: date-time
title: Ends At
reason:
type: string
maxLength: 500
minLength: 3
title: Reason
type: object
required:
- starts_at
- ends_at
- reason
title: RescheduleBookingRequest
ResolveOdometerRegressionRequest:
properties:
decision:
@@ -4060,6 +4167,34 @@ components:
required:
- booking_ref
title: ResolveOverlapRequest
ReturnCallbackIn:
properties:
correlation_id:
anyOf:
- type: string
format: uuid
- type: 'null'
title: Correlation Id
follow_up:
anyOf:
- type: string
maxLength: 200
- type: 'null'
title: Follow Up
summary:
anyOf:
- type: string
maxLength: 2000
- type: 'null'
title: Summary
type: object
title: ReturnCallbackIn
description: 'Body of the n8n return follow-up callback.
n8n forwards its whole item (``JSON.stringify($json)``), so unknown keys are ignored;
only the fields we persist are validated and bounded.'
ReturnPreviewResult:
properties:
booking_ref: