Adds comprehensive service detail views and localization
Implements new service detail tabs for prices, duration, and rules Extends localization support for Danish and English translations Adds dynamic view components for managing service-specific configurations Introduces flexible pricing, duration, and booking rule management Enhances service management with granular configuration options
This commit is contained in:
parent
e9f3639c7c
commit
5e3811347c
11 changed files with 1018 additions and 13 deletions
|
|
@ -25,7 +25,44 @@ public static class ServiceDetailCatalog
|
|||
CanBookAsAddon = false,
|
||||
ShowInOnlineBooking = true,
|
||||
IsFeatured = false,
|
||||
Description = "Forkæl dig selv med en komplet forvandling! Vores Klip & Farve behandling inkluderer professionel farverådgivning, farvning tilpasset din hudtone, præcisionsklip og styling. Perfekt til dig der ønsker et helt nyt look."
|
||||
Description = "Forkæl dig selv med en komplet forvandling! Vores Klip & Farve behandling inkluderer professionel farverådgivning, farvning tilpasset din hudtone, præcisionsklip og styling. Perfekt til dig der ønsker et helt nyt look.",
|
||||
// Priser
|
||||
PriceMode = PriceMode.Matrix,
|
||||
PriceMatrix = new()
|
||||
{
|
||||
new("Junior", "795", "895", "995", "1.095"),
|
||||
new("Senior", "895", "995", "1.095", "1.195"),
|
||||
new("Master", "995", "1.095", "1.195", "1.295")
|
||||
},
|
||||
VatRate = "25",
|
||||
ProductCost = "85 kr",
|
||||
Commission = "standard",
|
||||
MemberDiscount = true,
|
||||
GiftCardPayment = true,
|
||||
LoyaltyPoints = true,
|
||||
// Varighed
|
||||
DurationVariants = new()
|
||||
{
|
||||
new("Kort hår", 60),
|
||||
new("Mellem hår", 90),
|
||||
new("Langt hår", 120),
|
||||
new("Ekstra langt hår", 150)
|
||||
},
|
||||
BufferBefore = "15",
|
||||
BufferAfter = "10",
|
||||
CleanupTime = "5",
|
||||
// Regler
|
||||
MinNotice = "24",
|
||||
MaxAdvanceBooking = "3",
|
||||
CancellationDeadline = "24",
|
||||
NoShowFee = "50",
|
||||
RequiresConsultation = false,
|
||||
RequiresPatchTest = true,
|
||||
AgeRestriction = false,
|
||||
ShowInOnlineBookingRules = true,
|
||||
AllowEmployeeSelection = true,
|
||||
ShowPrice = true,
|
||||
ShowDuration = true
|
||||
},
|
||||
["service-2"] = new ServiceDetailRecord
|
||||
{
|
||||
|
|
@ -166,6 +203,42 @@ public record ServiceDetailRecord
|
|||
public required bool ShowInOnlineBooking { get; init; }
|
||||
public required bool IsFeatured { get; init; }
|
||||
public required string Description { get; init; }
|
||||
|
||||
// Priser tab
|
||||
public PriceMode PriceMode { get; init; } = PriceMode.Simple;
|
||||
public string SimplePrice { get; init; } = "995 kr";
|
||||
public List<PriceMatrixRow> PriceMatrix { get; init; } = new();
|
||||
public string VatRate { get; init; } = "25";
|
||||
public string ProductCost { get; init; } = "85 kr";
|
||||
public string Commission { get; init; } = "standard";
|
||||
public bool MemberDiscount { get; init; } = true;
|
||||
public bool GiftCardPayment { get; init; } = true;
|
||||
public bool LoyaltyPoints { get; init; } = true;
|
||||
|
||||
// Varighed tab
|
||||
public List<DurationVariant> DurationVariants { get; init; } = new();
|
||||
public string BufferBefore { get; init; } = "15";
|
||||
public string BufferAfter { get; init; } = "10";
|
||||
public string CleanupTime { get; init; } = "5";
|
||||
|
||||
// Regler tab
|
||||
public string MinNotice { get; init; } = "24";
|
||||
public string MaxAdvanceBooking { get; init; } = "3";
|
||||
public string CancellationDeadline { get; init; } = "24";
|
||||
public string NoShowFee { get; init; } = "50";
|
||||
public bool RequiresConsultation { get; init; } = false;
|
||||
public bool RequiresPatchTest { get; init; } = false;
|
||||
public bool AgeRestriction { get; init; } = false;
|
||||
public bool ShowInOnlineBookingRules { get; init; } = true;
|
||||
public bool AllowEmployeeSelection { get; init; } = true;
|
||||
public bool ShowPrice { get; init; } = true;
|
||||
public bool ShowDuration { get; init; } = true;
|
||||
}
|
||||
|
||||
public enum PriceMode { Simple, Matrix }
|
||||
|
||||
public record PriceMatrixRow(string Level, string ShortHair, string MediumHair, string LongHair, string ExtraLongHair);
|
||||
|
||||
public record DurationVariant(string Name, int Minutes);
|
||||
|
||||
public record ServiceTag(string Text, string CssClass);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue