arazzo: 1.0.1 info: title: CDK Global Update Service Session Item summary: Create a booking session, query a requested item, and update its details. description: >- Edits a requested service item that already exists on a booking session. The workflow reads the requested service item by its identifier to confirm it is present, then posts an update carrying revised text, comment, and service package details. Every step spells out its request inline so the flow can be read and executed without opening the underlying OpenAPI description. version: 1.0.0 sourceDescriptions: - name: bookingSessionsApi url: ../openapi/fortellis-user-service-openapi.yml type: openapi workflows: - workflowId: update-service-session-item summary: Read a booking session item then apply an update to its details. description: >- Queries an existing requested service item by identifier and, when present, posts an update that revises the item's text, comment, and service package references. inputs: type: object required: - subscriptionId - requestId - authorization - bookingSessionId - itemId - itemText - itemComment - servicePackageId - specificationId properties: subscriptionId: type: string description: The Fortellis Marketplace subscription identifier. requestId: type: string description: A correlation ID echoed back across systems. authorization: type: string description: The Fortellis OAuth 2.0 bearer token (or Basic auth on the simulator). bookingSessionId: type: string description: The identifier of the booking session that owns the item. itemId: type: string description: The identifier of the requested service item to update. itemText: type: string description: The revised text label for the requested service item. itemComment: type: string description: The revised comment describing the requested service item. servicePackageId: type: string description: The service package id, unique when coupled with vehicleSpecId. specificationId: type: string description: The specific instance of the service package. steps: - stepId: loadItem description: >- Query the requested service item by its identifier to confirm it exists before updating it. operationId: queryRequestedServiceItemById parameters: - name: bookingSessionId in: path value: $inputs.bookingSessionId - name: itemId in: path value: $inputs.itemId - name: Request-Id in: header value: $inputs.requestId - name: Subscription-Id in: header value: $inputs.subscriptionId - name: Authorization in: header value: $inputs.authorization successCriteria: - condition: $statusCode == 200 outputs: itemId: $response.body#/itemId - stepId: applyUpdate description: >- Post the update to the requested service item with revised text, comment, and service package references. operationId: updateBookingSessionItem parameters: - name: bookingSessionId in: path value: $inputs.bookingSessionId - name: itemId in: path value: $inputs.itemId - name: Request-Id in: header value: $inputs.requestId - name: Subscription-Id in: header value: $inputs.subscriptionId - name: Authorization in: header value: $inputs.authorization - name: Content-Type in: header value: application/json requestBody: contentType: application/json payload: text: $inputs.itemText comment: $inputs.itemComment id: $inputs.servicePackageId specificationId: $inputs.specificationId successCriteria: - condition: $statusCode == 200 outputs: success: $response.body#/success outputs: itemId: $steps.loadItem.outputs.itemId updateStatus: $steps.applyUpdate.outputs.success