Add additional services system (v0.5.0)
All checks were successful
Create Release Package / build-release (push) Successful in 1m0s
All checks were successful
Create Release Package / build-release (push) Successful in 1m0s
- Service CPT with pricing types: Included, Per Booking, Per Night - ServiceCategory taxonomy with default categories - Booking-services integration with service selector - Real-time price calculation based on nights and quantity - Services total and grand total display in booking admin Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1088,3 +1088,208 @@
|
||||
color: #646970;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Services Styles
|
||||
========================================================================== */
|
||||
|
||||
/* Services List in Admin */
|
||||
.column-pricing_type,
|
||||
.column-service_status {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
/* Service Status Badges */
|
||||
.bnb-service-status {
|
||||
display: inline-block;
|
||||
padding: 3px 8px;
|
||||
border-radius: 3px;
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.bnb-service-status-active {
|
||||
background: #d4edda;
|
||||
color: #155724;
|
||||
}
|
||||
|
||||
.bnb-service-status-inactive {
|
||||
background: #f6f7f7;
|
||||
color: #646970;
|
||||
}
|
||||
|
||||
.bnb-service-included {
|
||||
color: #00a32a;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* Service Pricing Meta Box */
|
||||
.bnb-service-pricing-type fieldset label {
|
||||
display: block;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.bnb-service-pricing-type fieldset label input {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.bnb-service-pricing-type fieldset p.description {
|
||||
margin-left: 24px;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
/* ==========================================================================
|
||||
Booking Services Selector
|
||||
========================================================================== */
|
||||
|
||||
.bnb-services-selector {
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.bnb-services-list {
|
||||
margin: 15px 0;
|
||||
}
|
||||
|
||||
.bnb-service-item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 12px 15px;
|
||||
background: #f6f7f7;
|
||||
border: 1px solid #c3c4c7;
|
||||
border-radius: 4px;
|
||||
margin-bottom: 8px;
|
||||
transition: background 0.15s ease, border-color 0.15s ease;
|
||||
}
|
||||
|
||||
.bnb-service-item:hover {
|
||||
background: #f0f6fc;
|
||||
}
|
||||
|
||||
.bnb-service-item.selected {
|
||||
background: #d4edda;
|
||||
border-color: #c3e6cb;
|
||||
}
|
||||
|
||||
.bnb-service-checkbox {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
cursor: pointer;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.bnb-service-checkbox input[type="checkbox"] {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.bnb-service-name {
|
||||
font-weight: 600;
|
||||
color: #1d2327;
|
||||
}
|
||||
|
||||
.bnb-service-details {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.bnb-service-price-label {
|
||||
color: #135e96;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.bnb-service-included-badge {
|
||||
display: inline-block;
|
||||
padding: 2px 8px;
|
||||
background: #d4edda;
|
||||
color: #155724;
|
||||
border-radius: 3px;
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.bnb-service-quantity {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
}
|
||||
|
||||
.bnb-service-quantity label {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
font-size: 12px;
|
||||
color: #646970;
|
||||
}
|
||||
|
||||
.bnb-service-qty-input {
|
||||
width: 50px !important;
|
||||
}
|
||||
|
||||
.bnb-service-line-total {
|
||||
color: #1d2327;
|
||||
}
|
||||
|
||||
.bnb-service-total-value {
|
||||
color: #135e96;
|
||||
}
|
||||
|
||||
/* Services Total */
|
||||
.bnb-services-total {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
gap: 15px;
|
||||
padding: 15px;
|
||||
background: #f0f6fc;
|
||||
border: 1px solid #c3c4c7;
|
||||
border-radius: 4px;
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
.bnb-services-total strong {
|
||||
color: #1d2327;
|
||||
}
|
||||
|
||||
#bnb-services-total-amount {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: #135e96;
|
||||
}
|
||||
|
||||
/* No Services Message */
|
||||
.bnb-no-services-message {
|
||||
padding: 20px;
|
||||
text-align: center;
|
||||
color: #646970;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.bnb-no-services-message a {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
/* Booking Pricing with Services */
|
||||
.bnb-booking-services-summary {
|
||||
padding: 8px 12px;
|
||||
background: #d4edda;
|
||||
border: 1px solid #c3e6cb;
|
||||
border-radius: 4px;
|
||||
color: #155724;
|
||||
}
|
||||
|
||||
.bnb-booking-grand-total {
|
||||
padding: 12px 15px;
|
||||
background: #f0f6fc;
|
||||
border: 1px solid #c3c4c7;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.bnb-booking-grand-total strong {
|
||||
font-size: 18px;
|
||||
color: #135e96;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user