package com.tourguide.modules.user.dto;
|
|
import java.math.BigDecimal;
|
import java.util.List;
|
|
public class GuideReceivingOptionResponse {
|
private final boolean premiumEnabled;
|
private final long requiredOrderCount;
|
private final BigDecimal requiredRating;
|
private final List<ScenicOption> scenics;
|
|
public GuideReceivingOptionResponse(boolean premiumEnabled, long requiredOrderCount,
|
BigDecimal requiredRating, List<ScenicOption> scenics) {
|
this.premiumEnabled = premiumEnabled;
|
this.requiredOrderCount = requiredOrderCount;
|
this.requiredRating = requiredRating;
|
this.scenics = scenics;
|
}
|
public boolean isPremiumEnabled() { return premiumEnabled; }
|
public long getRequiredOrderCount() { return requiredOrderCount; }
|
public BigDecimal getRequiredRating() { return requiredRating; }
|
public List<ScenicOption> getScenics() { return scenics; }
|
|
public static class ScenicOption {
|
private final Long id;
|
private final String name;
|
private final List<MeetingPointOption> meetingPoints;
|
private final List<ServiceOption> services;
|
public ScenicOption(Long id, String name, List<MeetingPointOption> meetingPoints, List<ServiceOption> services) {
|
this.id = id; this.name = name; this.meetingPoints = meetingPoints; this.services = services;
|
}
|
public Long getId() { return id; }
|
public String getName() { return name; }
|
public List<MeetingPointOption> getMeetingPoints() { return meetingPoints; }
|
public List<ServiceOption> getServices() { return services; }
|
}
|
|
public static class MeetingPointOption {
|
private final Long id;
|
private final String name;
|
private final BigDecimal longitude;
|
private final BigDecimal latitude;
|
public MeetingPointOption(Long id, String name, BigDecimal longitude, BigDecimal latitude) {
|
this.id = id; this.name = name; this.longitude = longitude; this.latitude = latitude;
|
}
|
public Long getId() { return id; }
|
public String getName() { return name; }
|
public BigDecimal getLongitude() { return longitude; }
|
public BigDecimal getLatitude() { return latitude; }
|
}
|
|
public static class ServiceOption {
|
private final Long id;
|
private final String serviceType;
|
private final Integer durationMinutes;
|
private final Integer minParticipants;
|
private final Integer maxParticipants;
|
private final BigDecimal originalPrice;
|
private final BigDecimal discountPrice;
|
public ServiceOption(Long id, String serviceType, Integer durationMinutes,
|
Integer minParticipants, Integer maxParticipants,
|
BigDecimal originalPrice, BigDecimal discountPrice) {
|
this.id = id; this.serviceType = serviceType; this.durationMinutes = durationMinutes;
|
this.minParticipants = minParticipants; this.maxParticipants = maxParticipants;
|
this.originalPrice = originalPrice; this.discountPrice = discountPrice;
|
}
|
public Long getId() { return id; }
|
public String getServiceType() { return serviceType; }
|
public Integer getDurationMinutes() { return durationMinutes; }
|
public Integer getMinParticipants() { return minParticipants; }
|
public Integer getMaxParticipants() { return maxParticipants; }
|
public BigDecimal getOriginalPrice() { return originalPrice; }
|
public BigDecimal getDiscountPrice() { return discountPrice; }
|
}
|
}
|