This commit is contained in:
Mauve
2026-09-11 10:10:08 +08:00
parent 078ba3c713
commit 1e995fec4d
15 changed files with 3104 additions and 35 deletions
+1 -1
View File
@@ -133,7 +133,7 @@
<dependency> <dependency>
<groupId>org.jsoup</groupId> <groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId> <artifactId>jsoup</artifactId>
<version>1.15.3</version> <version>1.23.1</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
@@ -122,7 +122,6 @@ public class ApprovalService {
@Autowired @Autowired
private BookingControlMsgSender ctrlMsgSender; private BookingControlMsgSender ctrlMsgSender;
@Lazy @Lazy
@Autowired @Autowired
private BookingService bookingService; private BookingService bookingService;
@@ -52,7 +52,6 @@ import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@Slf4j @Slf4j
@Service @Service
@@ -588,6 +587,9 @@ public class DaylightService {
if (string.contains("InProgress")) { if (string.contains("InProgress")) {
inProgressCount++; inProgressCount++;
} }
// 让进程暂停1.5秒 by Mauve 20260909
TimeUnit.MILLISECONDS.sleep(1500L);
} while ((responseData.contains("InProgress") || responseData.contains("NotRun")) && notRunCount < 20 && inProgressCount < 50); } while ((responseData.contains("InProgress") || responseData.contains("NotRun")) && notRunCount < 20 && inProgressCount < 50);
jsonObject = JSON.parseObject(responseData); jsonObject = JSON.parseObject(responseData);
@@ -161,11 +161,11 @@ public class CreateBookingRequest {
this.requestString.append(" <c:CharacterValue>"+this.booking.getMiscCharge() +"</c:CharacterValue>"); this.requestString.append(" <c:CharacterValue>"+this.booking.getMiscCharge() +"</c:CharacterValue>");
this.requestString.append(" </c:UserDefinedValue>"); this.requestString.append(" </c:UserDefinedValue>");
} }
// if(this.booking.getApprovalReason()!=null) { if(this.booking.getApprovalReason()!=null) {
// this.requestString.append(" <c:UserDefinedValue valueName=\"App.Rea\">"); this.requestString.append(" <c:UserDefinedValue valueName=\"App.Rea\">");
// this.requestString.append(" <c:CharacterValue>"+this.booking.getApprovalReason() +"</c:CharacterValue>"); this.requestString.append(" <c:CharacterValue>"+this.booking.getApprovalReason() +"</c:CharacterValue>");
// this.requestString.append(" </c:UserDefinedValue>"); this.requestString.append(" </c:UserDefinedValue>");
// } }
this.requestString.append(" </r:UserDefinedValues>"); this.requestString.append(" </r:UserDefinedValues>");
this.requestString.append(" </HotelReservation>"); this.requestString.append(" </HotelReservation>");
this.requestString.append(" </CreateBookingRequest>"); this.requestString.append(" </CreateBookingRequest>");
@@ -26,4 +26,5 @@ public class BookingQueryRequest extends BaseQueryRequest {
private String permissionGroup; private String permissionGroup;
private List<Long> searchRoomId; private List<Long> searchRoomId;
private List<Long> searchRoomTypeId; private List<Long> searchRoomTypeId;
private String searchApproverId;
} }
@@ -246,6 +246,18 @@ public class BookingsView implements Serializable {
private Integer bookingTypeId; private Integer bookingTypeId;
@Column(name="opera_profile_id") @Column(name="opera_profile_id")
private Long operaProfileId; private Long operaProfileId;
@Column(name="approval_reason")
private String approvalReason;
@Column(name="approver_id")
private String approverId;
@Column(name="approver_name")
private String approverName;
@Column(name="opera_comment")
private String operaComment;
@Column(name="fail_platform")
private String failPlatform;
@Column(name="booking_approval_reason")
private String bookingApprovalReason;
@Transient @Transient
private String status; private String status;
@@ -240,6 +240,7 @@ public class BookingService {
CfgProperties property = propertyDao.getById(propertyId); CfgProperties property = propertyDao.getById(propertyId);
String miscCharge = param.getMiscCharge(); String miscCharge = param.getMiscCharge();
String etaTime = param.getEtaTime(); String etaTime = param.getEtaTime();
String sectionName = param.getSectionName();
List<Bookings> resultBookings = new ArrayList<>(); List<Bookings> resultBookings = new ArrayList<>();
@@ -306,7 +307,6 @@ public class BookingService {
booking.setRemark(remark); booking.setRemark(remark);
booking.setBookType("0"); booking.setBookType("0");
// booking.setDlBlockId(blockName);
booking.setBlockCode(blockName); booking.setBlockCode(blockName);
booking.setBooker(userName); booking.setBooker(userName);
booking.setBedTypeMasterGroupId(bedTypeMasterGroupId); booking.setBedTypeMasterGroupId(bedTypeMasterGroupId);
@@ -315,8 +315,8 @@ public class BookingService {
booking.setSharer(JSONArray.toJSONString(sharer)); booking.setSharer(JSONArray.toJSONString(sharer));
booking.setBookingTypeId(bookingTypeId); booking.setBookingTypeId(bookingTypeId);
booking.setMember(JSONObject.toJSONString(member)); booking.setMember(JSONObject.toJSONString(member));
booking.setCategory(property.getCategory()); booking.setCategory(property.getCategory());
booking.setSectionName(sectionName);
booking.setEta(etaTime); booking.setEta(etaTime);
// 设置mischarge // 设置mischarge
@@ -575,6 +575,7 @@ public class BookingService {
Integer depositType = param.getDepositType(); Integer depositType = param.getDepositType();
Integer isPost = param.getIsPost(); Integer isPost = param.getIsPost();
Long roomTypeId; Long roomTypeId;
String sectionName = param.getSectionName();
CfgProperties property = propertyDao.getById(propertyId); CfgProperties property = propertyDao.getById(propertyId);
@@ -659,6 +660,7 @@ public class BookingService {
booking.setBookingTypeId(bookingTypeId); booking.setBookingTypeId(bookingTypeId);
booking.setMember(JSONObject.toJSONString(member)); booking.setMember(JSONObject.toJSONString(member));
booking.setCategory(property.getCategory()); booking.setCategory(property.getCategory());
booking.setSectionName(sectionName);
// 设置etaTime // 设置etaTime
if (StringUtils.isNotBlank(etaTime)) if (StringUtils.isNotBlank(etaTime))
@@ -693,7 +695,7 @@ public class BookingService {
} }
String bookRemark = dateItem.getRemark(); String bookRemark = dateItem.getRemark();
if (!StringUtils.isEmpty(bookRemark)) if (StringUtils.isNotEmpty(bookRemark))
booking.setRemark(bookRemark); booking.setRemark(bookRemark);
if (isPost != null) { if (isPost != null) {
dateItem.setIsPost(isPost); dateItem.setIsPost(isPost);
@@ -714,7 +716,6 @@ public class BookingService {
item = itemDao.findByTierIdAndRoomId(tier.getId(), roomId); item = itemDao.findByTierIdAndRoomId(tier.getId(), roomId);
} }
if (item != null) if (item != null)
booking.setItemCode(item.getId() != null ? item.getAmenityPackageCode() : null); booking.setItemCode(item.getId() != null ? item.getAmenityPackageCode() : null);
@@ -4560,6 +4561,10 @@ public class BookingService {
list.add(cb.like(cb.upper(root.get("approvedBy")), list.add(cb.like(cb.upper(root.get("approvedBy")),
"%" + queryFilter.getSearchApproverName().toUpperCase() + "%")); "%" + queryFilter.getSearchApproverName().toUpperCase() + "%"));
} }
if (StringUtils.isNotBlank(queryFilter.getSearchApproverId())) {
list.add(cb.like(cb.upper(root.get("approverId")),
"%" + queryFilter.getSearchApproverId().toUpperCase() + "%"));
}
if (StringUtils.isNotBlank(queryFilter.getSearchBookerName())) { if (StringUtils.isNotBlank(queryFilter.getSearchBookerName())) {
list.add(cb.like(cb.upper(root.get("booker")), list.add(cb.like(cb.upper(root.get("booker")),
"%" + queryFilter.getSearchBookerName().toUpperCase() + "%")); "%" + queryFilter.getSearchBookerName().toUpperCase() + "%"));
+1
View File
@@ -124,6 +124,7 @@ relying_party: MCRM_APP
ad_domain: willtechmacau.com ad_domain: willtechmacau.com
adfs_domain: adserver.willtechmacau.com adfs_domain: adserver.willtechmacau.com
adfs_secret_key: uBdUx82vPHkDKb284d7NkjFoNcKWBuka adfs_secret_key: uBdUx82vPHkDKb284d7NkjFoNcKWBuka
allow_key: U2FsdGVkX19JXgsp9IZ+cr6P67KVShdWWRX5niRURIk=
host_name: mcrm host_name: mcrm
adfs_request_timeout: 10000 adfs_request_timeout: 10000
adfs_login_timeout: 60000 adfs_login_timeout: 60000
+7
View File
@@ -1,3 +1,10 @@
spring: spring:
profiles: profiles:
active: dev active: dev
# Calendar r566 pen-test follow-up; enable explicitly only in a controlled environment.
springdoc:
api-docs:
enabled: false
swagger-ui:
enabled: false
@@ -8,19 +8,19 @@
"ActionDate":"2025-10-20T00:00:00", "ActionDate":"2025-10-20T00:00:00",
"OperaConfirmationNo":"Ascott;ForDefect001,Ascott;ForDefect002", "OperaConfirmationNo":"Ascott;ForDefect001,Ascott;ForDefect002",
"TierName": "A", "TierName": "A",
"ChineseName": "陳大文", "ChineseName": "陳大文",
"EnglishName": "Chan Tai Man", "EnglishName": "Chan Tai Man",
"Salutation": "Mr.", "Salutation": "Mr.",
"HasArrivalRecord": 1, "HasArrivalRecord": 1,
"HasDepartureRecord": 0, "HasDepartureRecord": 0,
"HasInhouseRecord": 0, "HasInhouseRecord": 0,
"HasOthersRecord": 0, "HasOthersRecord": 0,
"HasLimoRecord": 1, "HasLimoRecord": -1,
"HasFlightRecord": 1, "HasFlightRecord": 0,
"ETA": "15:00", "ETA": "15:00",
"BigWinFlag": 0, "BigWinFlag": 0,
"BigLossFlag": 0, "BigLossFlag": 0,
"NoPlayFlag": 0, "NoPlayFlag": 2,
"MAId": 123456, "MAId": 123456,
"MA": "Jojo Chan", "MA": "Jojo Chan",
"Descriptions": [ "Descriptions": [
@@ -35,19 +35,19 @@
"ActionDate":"2025-10-20T00:00:00", "ActionDate":"2025-10-20T00:00:00",
"OperaConfirmationNo":"Ascott;101235,MO;102226", "OperaConfirmationNo":"Ascott;101235,MO;102226",
"TierName": "A", "TierName": "A",
"ChineseName": "梁大文", "ChineseName": "梁大文",
"EnglishName": "Leong Tai Man", "EnglishName": "Leong Tai Man",
"Salutation": "Mr.", "Salutation": "Mr.",
"HasArrivalRecord": 1, "HasArrivalRecord": 1,
"HasDepartureRecord": 1, "HasDepartureRecord": 1,
"HasInhouseRecord": 1, "HasInhouseRecord": 1,
"HasOthersRecord": 0, "HasOthersRecord": 0,
"HasLimoRecord": 0, "HasLimoRecord": -1,
"HasFlightRecord": 1, "HasFlightRecord": 0,
"ETA": "16:40", "ETA": "16:40",
"BigWinFlag": 0, "BigWinFlag": 0,
"BigLossFlag": 0, "BigLossFlag": 0,
"NoPlayFlag": 0, "NoPlayFlag": 2,
"MAId": 123456, "MAId": 123456,
"MA": "Jojo Chan", "MA": "Jojo Chan",
"Descriptions": [ "Descriptions": [
@@ -62,7 +62,7 @@
"ActionDate":"2025-10-20T00:00:00", "ActionDate":"2025-10-20T00:00:00",
"OperaConfirmationNo":"2387461,235612,2134897", "OperaConfirmationNo":"2387461,235612,2134897",
"TierName": "A", "TierName": "A",
"ChineseName": "李美美", "ChineseName": "李美美",
"EnglishName": "Lei MeiMei", "EnglishName": "Lei MeiMei",
"Salutation": "MS.", "Salutation": "MS.",
"HasArrivalRecord": 1, "HasArrivalRecord": 1,
@@ -74,7 +74,7 @@
"ETA": "15:59", "ETA": "15:59",
"BigWinFlag": 0, "BigWinFlag": 0,
"BigLossFlag": 0, "BigLossFlag": 0,
"NoPlayFlag": 0, "NoPlayFlag": 2,
"MAId": 123456, "MAId": 123456,
"MA": "Jojo Chan", "MA": "Jojo Chan",
"Descriptions": [ "Descriptions": [
@@ -88,7 +88,7 @@
"ActionDate":"2025-10-20T00:00:00", "ActionDate":"2025-10-20T00:00:00",
"OperaConfirmationNo":"Ascott;123345", "OperaConfirmationNo":"Ascott;123345",
"TierName": "A", "TierName": "A",
"ChineseName": "李美美", "ChineseName": "李美美",
"EnglishName": "Rebecca", "EnglishName": "Rebecca",
"Salutation": "MS.", "Salutation": "MS.",
"HasArrivalRecord": 0, "HasArrivalRecord": 0,
@@ -100,7 +100,7 @@
"ETA": "17:00", "ETA": "17:00",
"BigWinFlag": 0, "BigWinFlag": 0,
"BigLossFlag": 0, "BigLossFlag": 0,
"NoPlayFlag": 0, "NoPlayFlag": 2,
"MAId": 123456, "MAId": 123456,
"MA": "Jojo Chan", "MA": "Jojo Chan",
"Descriptions": [ "Descriptions": [
@@ -114,7 +114,7 @@
"ActionDate":"2025-10-16T00:00:00", "ActionDate":"2025-10-16T00:00:00",
"OperaConfirmationNo":"2387461,235612,2134897", "OperaConfirmationNo":"2387461,235612,2134897",
"TierName": "A", "TierName": "A",
"ChineseName": "王莉莉", "ChineseName": "王莉莉",
"EnglishName": "Wong Lily", "EnglishName": "Wong Lily",
"Salutation": "MS.", "Salutation": "MS.",
"HasArrivalRecord": 0, "HasArrivalRecord": 0,
@@ -140,7 +140,7 @@
"ActionDate":"2025-10-17T00:00:00", "ActionDate":"2025-10-17T00:00:00",
"OperaConfirmationNo":"2387461,235612,2134897", "OperaConfirmationNo":"2387461,235612,2134897",
"TierName": "A", "TierName": "A",
"ChineseName": "陈旭文", "ChineseName": "陈旭文",
"EnglishName": "Chen XuMan", "EnglishName": "Chen XuMan",
"Salutation": "MS.", "Salutation": "MS.",
"HasArrivalRecord": 1, "HasArrivalRecord": 1,
@@ -166,7 +166,7 @@
"ActionDate":"2025-10-16T00:00:00", "ActionDate":"2025-10-16T00:00:00",
"OperaConfirmationNo":"2387461,235612,2134897", "OperaConfirmationNo":"2387461,235612,2134897",
"TierName": "A", "TierName": "A",
"ChineseName": "陈旭文", "ChineseName": "陈旭文",
"EnglishName": "Chen XuMan", "EnglishName": "Chen XuMan",
"Salutation": "MS.", "Salutation": "MS.",
"HasArrivalRecord": 0, "HasArrivalRecord": 0,
@@ -192,7 +192,7 @@
"ActionDate":"2025-10-15T00:00:00", "ActionDate":"2025-10-15T00:00:00",
"OperaConfirmationNo":"2387461,235612,2134897", "OperaConfirmationNo":"2387461,235612,2134897",
"TierName": "A", "TierName": "A",
"ChineseName": "陈旭文", "ChineseName": "陈旭文",
"EnglishName": "Chen XuMan", "EnglishName": "Chen XuMan",
"Salutation": "MS.", "Salutation": "MS.",
"HasArrivalRecord": 1, "HasArrivalRecord": 1,
@@ -15,8 +15,8 @@
"HasDepartureRecord": 0, "HasDepartureRecord": 0,
"HasInhouseRecord": 1, "HasInhouseRecord": 1,
"HasOthersRecord": 0, "HasOthersRecord": 0,
"HasLimoRecord": 1, "HasLimoRecord": -1,
"HasFlightRecord": 1, "HasFlightRecord": 0,
"ETA": "13:45", "ETA": "13:45",
"BigWinFlag": 0, "BigWinFlag": 0,
"BigLossFlag": 1, "BigLossFlag": 1,
@@ -41,8 +41,8 @@
"HasDepartureRecord": 1, "HasDepartureRecord": 1,
"HasInhouseRecord": 1, "HasInhouseRecord": 1,
"HasOthersRecord": 0, "HasOthersRecord": 0,
"HasLimoRecord": 1, "HasLimoRecord": -1,
"HasFlightRecord": 1, "HasFlightRecord": 0,
"ETA": "13:45", "ETA": "13:45",
"BigWinFlag": 1, "BigWinFlag": 1,
"BigLossFlag": 0, "BigLossFlag": 0,
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,438 @@
{
"StatusCode": "OK",
"StatusDescription": "Success",
"Records": [
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-07-21T00:00:00",
"RoomCriteria": "10000",
"RoomCount": 231,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-07-22T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 230,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-07-23T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 229,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-07-24T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 228,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-07-25T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 227,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-07-26T00:00:00",
"RoomCriteria": null,
"RoomCount": 226,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-07-27T00:00:00",
"RoomCriteria": "Waitlist",
"RoomCount": 225,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-07-28T00:00:00",
"RoomCriteria": "12000",
"RoomCount": 224,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-07-29T00:00:00",
"RoomCriteria": "10000",
"RoomCount": 223,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-07-30T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 222,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-07-31T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 238,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-01T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 237,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-02T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 236,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-03T00:00:00",
"RoomCriteria": null,
"RoomCount": 235,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-04T00:00:00",
"RoomCriteria": "Waitlist",
"RoomCount": 234,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-05T00:00:00",
"RoomCriteria": "12000",
"RoomCount": 233,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-06T00:00:00",
"RoomCriteria": "10000",
"RoomCount": 232,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-07T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 231,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-08T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 230,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-09T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 229,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-10T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 228,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-11T00:00:00",
"RoomCriteria": null,
"RoomCount": 227,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-12T00:00:00",
"RoomCriteria": "Waitlist",
"RoomCount": 226,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-13T00:00:00",
"RoomCriteria": "12000",
"RoomCount": 225,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-14T00:00:00",
"RoomCriteria": "10000",
"RoomCount": 224,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-15T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 223,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-16T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 222,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-17T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 238,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-18T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 237,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-19T00:00:00",
"RoomCriteria": null,
"RoomCount": 236,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-20T00:00:00",
"RoomCriteria": "Waitlist",
"RoomCount": 235,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-21T00:00:00",
"RoomCriteria": "12000",
"RoomCount": 234,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-22T00:00:00",
"RoomCriteria": "10000",
"RoomCount": 233,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-23T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 232,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-24T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 231,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-25T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 230,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-26T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 229,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-27T00:00:00",
"RoomCriteria": null,
"RoomCount": 228,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-28T00:00:00",
"RoomCriteria": "Waitlist",
"RoomCount": 227,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-29T00:00:00",
"RoomCriteria": "12000",
"RoomCount": 226,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-30T00:00:00",
"RoomCriteria": "10000",
"RoomCount": 225,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-08-31T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 224,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-09-01T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 223,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-09-02T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 222,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-09-03T00:00:00",
"RoomCriteria": "1000",
"RoomCount": 238,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-09-04T00:00:00",
"RoomCriteria": null,
"RoomCount": 237,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-09-05T00:00:00",
"RoomCriteria": "Waitlist",
"RoomCount": 236,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
},
{
"Property": "MGM Cotai",
"RoomType": "CR",
"Date": "2026-09-06T00:00:00",
"RoomCriteria": "12000",
"RoomCount": 235,
"PropertyLeader": "Kelvin",
"BookingDateQualificationFlag": 0
}
]
}
File diff suppressed because it is too large Load Diff