Table of Contents

Class RentalReservationController

Namespace
KadicErp.WebApi.Controllers.RentACar
Assembly
KadicErp.WebApi.dll
[ApiController]
[Route("api/rentcar/[controller]")]
[Authorize]
[RequireModule("RENT_A_CAR")]
public class RentalReservationController : ControllerBase
Inheritance
object
ControllerBase
RentalReservationController

Constructors

RentalReservationController(IMediator, ICurrentUser, IStringLocalizer<RentACarMessages>, IReportExportService)

public RentalReservationController(IMediator mediator, ICurrentUser currentUser, IStringLocalizer<RentACarMessages> localizer, IReportExportService exportService)

Parameters

mediator IMediator
currentUser ICurrentUser
localizer IStringLocalizer<RentACarMessages>
exportService IReportExportService

Methods

Activate(Guid)

[HttpPatch("{id}/activate")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_ACTIVATE")]
public Task<IActionResult> Activate(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>

Cancel(Guid, ReservationCancelRequest)

[HttpPatch("{id}/cancel")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_CANCEL")]
public Task<IActionResult> Cancel(Guid id, ReservationCancelRequest body)

Parameters

id Guid
body ReservationCancelRequest

Returns

Task<IActionResult>

Complete(Guid)

[HttpPost("{id}/complete")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_UPDATE")]
public Task<IActionResult> Complete(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>

ConfirmVehicle(Guid, ReservationConfirmVehicleRequest)

[HttpPost("{id}/confirm-vehicle")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_UPDATE")]
public Task<IActionResult> ConfirmVehicle(Guid id, ReservationConfirmVehicleRequest body)

Parameters

id Guid
body ReservationConfirmVehicleRequest

Returns

Task<IActionResult>

Create(CreateRentalReservationCommand)

[HttpPost]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_CREATE")]
public Task<IActionResult> Create(CreateRentalReservationCommand command)

Parameters

command CreateRentalReservationCommand

Returns

Task<IActionResult>

Deactivate(Guid)

[HttpPatch("{id}/deactivate")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_DEACTIVATE")]
public Task<IActionResult> Deactivate(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>

DeliverVehicle(Guid)

[HttpPost("{id}/deliver-vehicle")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_UPDATE")]
public Task<IActionResult> DeliverVehicle(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>

ExportPaymentSchedule(Guid, CancellationToken)

[HttpGet("{id}/payment-schedule/export")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_VIEW")]
public Task<IActionResult> ExportPaymentSchedule(Guid id, CancellationToken cancellationToken)

Parameters

id Guid
cancellationToken CancellationToken

Returns

Task<IActionResult>

GetAll(PaginatorRequestDto, Guid?, Guid?, Guid?, bool?)

[HttpGet]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_VIEW")]
public Task<IActionResult> GetAll(PaginatorRequestDto request, Guid? branchId = null, Guid? vehicleId = null, Guid? customerId = null, bool? isActive = null)

Parameters

request PaginatorRequestDto
branchId Guid?
vehicleId Guid?
customerId Guid?
isActive bool?

Returns

Task<IActionResult>

GetBillingSummary(Guid, string?, DateOnly?, DateOnly?, DateOnly?)

[HttpGet("billing-summary")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_VIEW")]
public Task<IActionResult> GetBillingSummary(Guid branchId, string? search = null, DateOnly? localToday = null, DateOnly? dateFrom = null, DateOnly? dateTo = null)

Parameters

branchId Guid
search string
localToday DateOnly?
dateFrom DateOnly?
dateTo DateOnly?

Returns

Task<IActionResult>

GetById(Guid)

[HttpGet("{id}")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_VIEW")]
public Task<IActionResult> GetById(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>

GetPaymentSchedule(Guid)

[HttpGet("{id}/payment-schedule")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_VIEW")]
public Task<IActionResult> GetPaymentSchedule(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>

LinkHomeVisit(Guid, ReservationLinkHomeVisitRequest)

[HttpPatch("{id}/link-home-visit")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_UPDATE")]
public Task<IActionResult> LinkHomeVisit(Guid id, ReservationLinkHomeVisitRequest body)

Parameters

id Guid
body ReservationLinkHomeVisitRequest

Returns

Task<IActionResult>

MarkInitialPaymentPaid(Guid, ReservationMarkPaymentRequest)

[HttpPatch("{id}/mark-initial-payment-paid")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_UPDATE")]
public Task<IActionResult> MarkInitialPaymentPaid(Guid id, ReservationMarkPaymentRequest body)

Parameters

id Guid
body ReservationMarkPaymentRequest

Returns

Task<IActionResult>

Reject(Guid, ReservationRejectRequest)

[HttpPatch("{id}/reject")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_REJECT")]
public Task<IActionResult> Reject(Guid id, ReservationRejectRequest body)

Parameters

id Guid
body ReservationRejectRequest

Returns

Task<IActionResult>

UnassignVehicle(Guid)

[HttpPatch("{id}/unassign-vehicle")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_UPDATE")]
public Task<IActionResult> UnassignVehicle(Guid id)

Parameters

id Guid

Returns

Task<IActionResult>

Update(Guid, UpdateRentalReservationCommand)

[HttpPut("{id}")]
[Authorize(Policy = "RENTACAR_RENTAL_RESERVATIONS_UPDATE")]
public Task<IActionResult> Update(Guid id, UpdateRentalReservationCommand command)

Parameters

id Guid
command UpdateRentalReservationCommand

Returns

Task<IActionResult>