#import <Foundation/Foundation.h>
#import "BusStatusInfo.h"
#import "BusStop.h"
#import "Product.h"
#import "Sales.h"

@interface SalesEntry : NSObject

@property (nonatomic, assign) NSInteger entry_id;
@property (nonatomic, assign) NSInteger order_id;
@property (nonatomic, assign) NSInteger pid;
@property (nonatomic, strong) NSString *service_date;
@property (nonatomic, assign) NSInteger status;

@property (nonatomic, strong) NSString *itinerary_id;
@property (nonatomic, assign) CGFloat sold_amount;
@property (nonatomic, strong) NSString *status_name;
@property (nonatomic, assign) BOOL enable_reschedule;
@property (nonatomic, assign) BOOL enable_bus_stop_change;
@property (nonatomic, assign) BOOL enable_advanced_reschedule;
@property (nonatomic, assign) BOOL enable_eticket_send;
@property (nonatomic, assign) BOOL enable_flight_info_edit;
@property (nonatomic, assign) BOOL enable_flight_info_record;
@property (nonatomic, assign) BOOL enable_review_write;
@property (nonatomic, assign) CGFloat review_overall_rating;
@property (nonatomic, weak) Sales *order;
@property (nonatomic, strong) Product *product;
@property (nonatomic, strong) NSMutableArray *stocks;
@property (nonatomic, strong) NSArray *rooms;
@property (nonatomic, strong) BusStatusInfo *bus_status_info;

@property (nonatomic, assign, readonly) BOOL confirmed;
@property (nonatomic, assign, readonly) BOOL cancelled;

@property (nonatomic, strong, readonly) NSArray *serialStocks;
@property (nonatomic, strong, readonly) NSArray *optionalLabels;
@property (nonatomic, strong, readonly) NSArray *departureStops;
@property (nonatomic, strong, readonly) NSArray *arrivalStops;
@property (nonatomic, strong, readonly) NSDate *departureDate;
@property (nonatomic, strong, readonly) NSDate *firstDepartureDate;
@property (nonatomic, strong, readonly) NSArray *datedDepartureStops;
@property (nonatomic, strong, readonly) NSArray *datedArrivalStops;
@property (nonatomic, strong, readonly) NSString *localizedDepartureDateString;
@property (nonatomic, strong, readonly) NSString *calendarNote;
@property (nonatomic, strong, readonly) NSString *shortDescription;
@property (nonatomic, strong, readonly) NSString *busRouteName;

- (BOOL)hasOption:(NSString *)alias;
- (NSString *)getOptionText:(NSString *)alias;
- (NSAttributedString *)getOptionAttributedText:(NSString *)alias withFont:(UIFont *)font;

- (NSString *)peopleDescriptionAtRoomNo:(NSInteger)roomNo;

@end
