{{ "required.cannotBlank" | translate }}
{{ "required.cannotBlank" | translate }}
{{ current.getDate() }}
{{ getDateCellRender(current).lunarDay }}/{{ getDateCellRender(current).lunarMonth }}
{{trip.time}}
0" style="cursor: pointer; height: 100%; width: 100%" >
{{trip.numberCar + ' Chuyến'}}
-
{{car.lecensePlate}}
{{car.remainSlot}}/{{car.totalSlot}}
Chọn chuyến cần chuyển
Chọn chỗ để dán
{{ idx + 1 }}
{{contract?.id}}
{{contract.groupId}}
{{'customer.place-contract.kh-name' | translate}}:
{{contract.customerName}}
{{'customer.place-contract.year-of_birth' | translate}}:
{{contract.customerYOB}}
{{'customer.place-contract.sđt' | translate}}:
{{ contract.phoneNumber }}
{{'customer.place-contract.pick-up-point' | translate}}:
{{contract.pickUpPoint}}
{{'customer.place-contract.drop-off-point' | translate}}:
{{contract.dropOffPoint}}
{{'customer.place-contract.driver-collects' | translate}}:
{{contract.remainingAmount !== 0 ? formatMoney(contract.remainingAmount || 0) : 'Đã thanh toán'}}
{{contract.note ? contract.note : ' '}}
{{'customer.place-contract.confirm' | translate}}
{{'customer.place-contract.edit' | translate}}
{{'customer.place-contract.cancel-ticket' | translate}}
{{'customer.place-contract.export-hd-pt' | translate}}
{{'customer.place-contract.copy' | translate}}
{{'customer.place-contract.send-tt' | translate}}
{{'customer.place-contract.share' | translate}}
{{ (contract.goldenId && contract.golden ? 'customer.place-contract.cancel-golden-ticket' : 'customer.place-contract.golden-ticket') | translate}}
Dán thông tin khách
{{ countdownMap().get(contract.sitNum)?.display }}
{{'vehicle_active.table.plate' | translate}}:
{{listDetailInfoBus.tripInfoDTO?.registerNo || '-'}}
{{'customer.place-contract.driver-name' | translate}}:
{{listDetailInfoBus.tripInfoDTO?.driverName || '-'}}
{{ 'common.phone' | translate }}:
{{ listDetailInfoBus.tripInfoDTO?.phoneNumber || '-' }}
{{'customer.place-contract.number-of-passengers' | translate}}:
{{listDetailInfoBus.tripInfoDTO?.numberOfPassenger + '/' + listDetailInfoBus.tripInfoDTO?.total || '-'}}
{{'customer.place-contract.route-code' | translate}}:
{{listDetailInfoBus.tripInfoDTO?.driverBoardId || '-'}}
{{'customer.place-contract.departure-point' | translate}}:
{{listDetailInfoBus.tripInfoDTO?.departurePoint || '-'}}
{{'customer.place-contract.departure-time' | translate}}:
{{listDetailInfoBus.tripInfoDTO?.startTime || '-'}}
{{'customer.place-contract.end' | translate}}:
@for(endpoint of listDetailInfoBus.lstDropOffPoints; track endpoint) {
{{endpoint}}
}
{{'customer.place-contract.total-revenue' | translate}}:
{{listDetailInfoBus.tripFinancialInfoDTO?.totalAmount | formatMoney}}
{{'customer.place-contract.paid' | translate}}:
{{listDetailInfoBus.tripFinancialInfoDTO?.paidAmount | formatMoney}}
{{'customer.place-contract.driver-collected' | translate}}:
{{listDetailInfoBus.tripFinancialInfoDTO?.remainingAmount| formatMoney}}
Xem hợp đồng vận chuyển
Auto call - báo biển xe tới KH
Gửi thông báo tới KH
Tuỳ chọn: Zalo, Email, hoặc cả hai
Danh sách khách đã huỷ
Chuyển khách
Tạo cảnh báo chuyến đi
Tác vụ
1 && step > 1">
{{ "customer.place-contract.number-of-passengers" | translate }}
{{ "required.cannotBlank" | translate }}
{{ "customer.place-contract.customer-source" | translate }}
{{ "required.cannotBlank" | translate }}
SĐT người đặt
{{ "required.cannotBlank" | translate }}
{{ "pattern.phone_pattern" | translate }}
{{"customer.place-contract.customer-infomation" | translate}}
1" (click)="clearDataCustomerByIdx(i)"> {{"customer.place-contract.delete" | translate}}
*
{{"customer.place-contract.phone-number" | translate}}
{{ "required.cannotBlank" | translate }}
{{ "pattern.phone_pattern" | translate}}
*
{{"customer.place-contract.customer-name" | translate}}
{{ "required.cannotBlank" | translate }}
*
{{"customer.place-contract.year-of_birth" | translate}}
{{ "required.cannotBlank" | translate }}
{{ translate.instant("required.only_number", {label: translate.instant('customer.place-contract.year-of_birth')}) }}
{{ "required.current_birthday" | translate }}
*
{{"customer.place-contract.pick-up-point" | translate}}
{{ item.label }}
{{ "required.cannotBlank" | translate }}
{{ translate.instant("required.maxLength", {label: translate.instant('customer.place-contract.pick-up-point'), numberLength: 255}) }}
*
{{"customer.place-contract.drop-off-point" | translate}}
{{ "required.cannotBlank" | translate }}
{{"customer.place-contract.membership-information" | translate}}
{{"customer.place-contract.tank" | translate}}:
{{getLstContracts.at(i).get('levelName')?.value}}
{{"customer.place-contract.balance" | translate}}:
{{getLstContracts.at(i).get('awardPoints')?.value | formatMoney : '' }}
{{"customer.place-contract.reward-level" | translate}}:
{{getLstContracts.at(i).get('bonusPointsPerTrip')?.value | formatMoney : ''}}
{{"customer.place-contract.number-of-rides" | translate}}:
{{getLstContracts.at(i).get('numTrips')?.value}}
{{"customer.place-contract.number-of-rides-to-upgrade" | translate}}:
{{getLstContracts.at(i).get('numTripsToNextLevel')?.value}}
{{"customer.place-contract.note" | translate}}
{{ "required.cannotBlank" | translate }}
{{ translate.instant("required.maxLength", {label: translate.instant('customer.place-contract.note'), numberLength: 1000}) }}
*
{{"customer.place-contract.customer-source" | translate}}
{{ "required.cannotBlank" | translate }}
{{ "customer.place-contract.round-trip" | translate }}
{{ "customer.place-contract.is-with-child" | translate }}
Tên trẻ em
Năm sinh
Vui lòng nhập thông tin trẻ em (năm sinh/Họ tên)
{{"customer.place-contract.customer-infomation" | translate}}
*
{{"customer.place-contract.date" | translate}}
{{ "required.cannotBlank" | translate }}
*
{{"customer.place-contract.hour" | translate}}
{{ "required.cannotBlank" | translate }}
*
{{"customer.place-contract.route" | translate}}
{{ "required.cannotBlank" | translate }}
*
{{"Chuyến" | translate}}
{{data.lecensePlate}}
{{data.cusNum}}/{{data.totalSit}}
{{selected.nzValue.lecensePlate}}
{{selected.nzValue.cusNum}}/{{selected.nzValue.totalSit}}
Tạo lốt mới
{{ "required.cannotBlank" | translate }}
*
{{"customer.place-contract.pick-up-point" | translate}}
{{ "required.cannotBlank" | translate }}
*
{{"customer.place-contract.drop-off-point" | translate}}
{{ "required.cannotBlank" | translate }}
{{"customer.place-contract.note" | translate}}
{{ "required.cannotBlank" | translate }}
1">
{{idx + 1}}
{{"customer.place-contract.payment-detail" | translate}}
{{"customer.place-contract.payment-account" | translate}}
{{ "required.cannotBlank" | translate }}
{{ translate.instant("required.only_number", {label: translate.instant('customer.place-contract.payment-account')}) }}
0)">
{{'customer.place-contract.transfer' | translate}}
{{'customer.place-contract.cash-payment-at-office' | translate}}
{{'customer.place-contract.collection-agent' | translate}}
{{"customer.place-contract.bonus-usage" | translate}}
{{"customer.place-contract.ticket-price" | translate}}
{{formPlaceContract.get('ticketPrice')?.value | formatMoney : ''}}
{{"customer.place-contract.golden-ticket-money" | translate}}
{{getTotalGoldenDiscountAmount() | formatMoney : ''}}
{{"customer.place-contract.count" | translate}}
{{formPlaceContract.get('numberCustomer')?.value + numberContract || ''}}
{{"customer.place-contract.used-bonus-money" | translate}}
{{(formPlaceContract.get('bonusAmount')?.value ? formPlaceContract.get('bonusAmount')?.value : '0') | formatMoney }}
{{"customer.place-contract.discount-money" | translate}}
{{getTotalDiscountAmount() | formatMoney }}
{{"customer.place-contract.total-revenue-2" | translate}}
{{formPlaceContract.get('remainingAmount')?.value | formatMoney : '0'}}
{{ "customer.place-contract.place-contract-success" | translate }}
{{ "customer.set-up-promotions-tab.cancel" | translate }}
{{ "customer.place-contract.hide" | translate }}
{{ "customer.place-contract.complete" | translate }}
1 && (step < formPlaceContract.controls['numberCustomer'].value)" type="default" class="button-modal btn-save ms-3" [class]="(disableSave || getLstContracts.at(step-1).invalid) ? 'btn-disabled' : ''" (click)="nextStep()" [disabled]="disableSave || getLstContracts.at(step-1).invalid"> {{ "customer.place-contract.continue" | translate }}
{{ "customer.place-contract.ok" | translate }}
{{"customer.place-contract.customer-infomation" | translate}}
*
{{"customer.place-contract.phone-number" | translate}}
{{ "required.cannotBlank" | translate }}
{{ translate.instant("required.only_number", {label: translate.instant('customer.place-contract.phone-number')}) }}
*
{{"customer.place-contract.customer-name" | translate}}
{{ "required.cannotBlank" | translate }}
{{ translate.instant("required.maxLength", {label: translate.instant('customer.place-contract.customer-name'), numberLength: 255}) }}
*
{{"customer.place-contract.year-of_birth" | translate}}
{{ "required.cannotBlank" | translate }}
{{ translate.instant("required.only_number", {label: translate.instant('customer.place-contract.year-of_birth')}) }}
{{ "required.current_birthday" | translate }}
*
{{"customer.place-contract.pick-up-point" | translate}}
{{ "required.cannotBlank" | translate }}
{{ translate.instant("required.maxLength", {label: translate.instant('customer.place-contract.pick-up-point'), numberLength: 255}) }}
*
{{"customer.place-contract.drop-off-point" | translate}}
{{ "required.cannotBlank" | translate }}
{{ translate.instant("required.maxLength", {label: translate.instant('customer.place-contract.drop-off-point'), numberLength: 255}) }}
{{"customer.place-contract.membership-information" | translate}}
{{"customer.place-contract.tank" | translate}}:
{{formUpdateContract.controls['levelName'].value || ''}}
{{"customer.place-contract.balance" | translate}}:
{{formUpdateContract.controls['awardPoints'].value | formatMoney : ''}}
{{"customer.place-contract.reward-level" | translate}}:
{{formUpdateContract.controls['bonusPointsPerTrip'].value | formatMoney : ''}}
{{"customer.place-contract.number-of-rides" | translate}}:
{{formUpdateContract.controls['numTrips'].value || 0}}
{{"customer.place-contract.number-of-rides-to-upgrade" | translate}}:
{{formUpdateContract.controls['numTripsToNextLevel'].value || 0}}
{{"customer.place-contract.note" | translate}}
{{ "required.cannotBlank" | translate }}
{{ translate.instant("required.maxLength", {label: translate.instant('customer.place-contract.note'), numberLength: 255}) }}
*
{{"customer.place-contract.customer-source" | translate}}
{{ "required.cannotBlank" | translate }}
{{ "customer.place-contract.is-with-child" | translate }}
Tên trẻ em
Năm sinh
Vui lòng nhập thông tin trẻ em (năm sinh/Họ tên)
{{"customer.place-contract.payment-detail" | translate}}
{{"customer.place-contract.payment-account" | translate}}
{{ "required.cannotBlank" | translate }}
0)">
{{'customer.place-contract.transfer' | translate}}
{{'customer.place-contract.cash-payment-at-office' | translate}}
{{'customer.place-contract.collection-agent' | translate}}
{{"customer.place-contract.ticket-price" | translate}}
{{formUpdateContract.get('ticketPrice')?.value | formatMoney : ''}}
{{"customer.place-contract.golden-ticket-money" | translate}}
{{formUpdateContract.get('goldenTicketAmount')?.value | formatMoney : ''}}
{{"customer.place-contract.count" | translate}}
{{formUpdateContract.get('numberCustomer')?.value || ''}}
{{"customer.place-contract.used-bonus-money" | translate}}
{{formUpdateContract.get('bonusAmount')?.value | formatMoney : ''}}
{{formUpdateContract.get('discountName')?.value || ''}}
{{formUpdateContract.get('discountAmount')?.value | formatMoney : '' }}
{{"customer.place-contract.total-revenue-2" | translate}}
{{formUpdateContract.get('remainingAmount')?.value | formatMoney : '0'}}
{{ "customer.set-up-promotions-tab.cancel" | translate }}
{{ "common.saveButton" | translate }}
{{"customer.place-contract.confirm-cancel-ticket" | translate}}
{{"customer.place-contract.cancel-ticket" | translate}}
{{"customer.place-contract.support-transfer-bus" | translate}}
{{"customer.place-contract.canceled-ticket" | translate}}
{{ "required.cannotBlank" | translate }}
{{ translate.instant("required.maxLength", {label: translate.instant('customer.place-contract.note'), numberLength: 255}) }}
{{'customer.place-contract.support-transfer-bus' | translate}}
@if(percentDiscountCancelTicket.toString() === '0') {
} @else {
}
{{'customer.place-contract.refund-money' | translate}}
({{percentDiscountCancelTicket}}%)
{{'customer.place-contract.cancel-ticket' | translate}}
{{'customer.place-contract.choose-new-bus' | translate}}
{{'customer.place-contract.add-to-waiting-list' | translate}}
* Thời gian chờ chuyến tối đa 60 phút.
Sau 60 phút sẽ hủy vĩnh viễn
{{ "common.back" | translate }}
{{ "common.continue" | translate }}
{{ "common.confirm" | translate }}
{{ "common.ok" | translate }}
Đặt hợp đồng
{{'customer.place-contract.having-place-contract' | translate}}
{{ "common.back" | translate }}
{{ "customer.place-contract.go-to-place-contract" | translate }}