POST api/boatyard/NewBooking

Creates a new works order and associated resource bookings. Sends an email to the marina and customer, and an SMS to the customer, if they have an InternalUse value set for them.

Request Information

URI Parameters

None.

Body Parameters

NewBoatyardBookingRequestModel
NameDescriptionTypeAdditional information
BoatNo

The boat to create the works order for.

integer

Required

MarinaCode

The marina to create the works order at.

string

Required

WorksItems

The works items to create for this works order.

Collection of WorksItemModel

Required

Request Formats

application/json, text/json

Sample:
{
  "BoatNo": 1442,
  "MarinaCode": "HM",
  "WorksItems": [
    {
      "BookingDateTime": "2026-03-30T12:00:00+01:00",
      "ServiceCode": "C19",
      "BookingDurationMinutes": 45,
      "PreferredResourceId": 1,
      "Note": null
    },
    {
      "BookingDateTime": "2026-03-31T09:15:00+01:00",
      "ServiceCode": "C21",
      "BookingDurationMinutes": 15,
      "PreferredResourceId": null,
      "Note": null
    }
  ]
}

multipart/form-data

Sample:
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="BoatNo"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="MarinaCode"

sample string 2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="WorksItems[0].BookingDateTime"

2026-03-30T15:50:27.5913589+01:00
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="WorksItems[0].ServiceCode"

sample string 2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="WorksItems[0].BookingDurationMinutes"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="WorksItems[0].PreferredResourceId"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="WorksItems[0].Note"

sample string 3
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="WorksItems[1].BookingDateTime"

2026-03-30T15:50:27.5913589+01:00
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="WorksItems[1].ServiceCode"

sample string 2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="WorksItems[1].BookingDurationMinutes"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="WorksItems[1].PreferredResourceId"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="WorksItems[1].Note"

sample string 3
--MultipartDataMediaFormatterBoundary1q2w3e--

Response Information

Resource Description

NewBoatyardBookingResponseModel
NameDescriptionTypeAdditional information
WorksOrderId

The created works order's ID.

integer

None.

FullWorksOrderId

The created works order's ID with marina code prefix.

string

None.

Response Formats

application/json, text/json

Sample:
{
  "WorksOrderId": 1669,
  "FullWorksOrderId": "MA001669"
}

multipart/form-data

Sample:
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="WorksOrderId"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="FullWorksOrderId"

sample string 2
--MultipartDataMediaFormatterBoundary1q2w3e--